Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 May 2006 00:04:30 +0800 (CST)
From:      Rong-En Fan <rafan@infor.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        garga@FreeBSD.org
Subject:   ports/97462: [PATCH] devel/ncurses: install wide character support libraries
Message-ID:  <200605181604.k4IG4Url086752@svm.csie.ntu.edu.tw>
Resent-Message-ID: <200605181610.k4IGAGD0095546@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         97462
>Category:       ports
>Synopsis:       [PATCH] devel/ncurses: install wide character support libraries
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu May 18 16:10:16 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Rong-En Fan
>Release:        FreeBSD 6.1-RELEASE i386
>Organization:
NTU CSIE
>Environment:
System: FreeBSD svm.csie.ntu.edu.tw 6.1-RELEASE FreeBSD 6.1-RELEASE #2: Sun May 14 06:34:47 CST 2006
>Description:
- Install wide character enabled libraries by configure, build, install twice
  According to README and the current maintainer of ncurses, the header
  files are compatible with libraries w/o wide character enabled.
  So we are safe to install libraries w/o widec first, then install those w/
  widec later.

  Wide character support exists since 5.0, and is better >= 5.3.
  Thus, mark < 5.3 as IGNORE.

- remove dependency for libutf-8, not used by current release 
  (according to the current maintainer of ncurses)

- for example files, there are some files different w/ and w/o widec support.
  So I install them into two different directories.

Port maintainer (garga@FreeBSD.org) is cc'd.

Generated with FreeBSD Port Tools 0.77
>How-To-Repeat:
>Fix:

--- ncurses-5.5_1.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/devel/ncurses/Makefile /home/rafan/tmp/ports/ncurses/Makefile
--- /usr/ports/devel/ncurses/Makefile	Wed May 17 03:48:55 2006
+++ /home/rafan/tmp/ports/ncurses/Makefile	Thu May 18 23:40:28 2006
@@ -7,6 +7,7 @@
 
 PORTNAME=		ncurses
 PORTVERSION=		5.5
+PORTREVISION=		1
 CATEGORIES=		devel
 MASTER_SITES=		${MASTER_SITE_GNU}
 MASTER_SITE_SUBDIR=	${PORTNAME}
@@ -14,17 +15,16 @@
 MAINTAINER=		garga@FreeBSD.org
 COMMENT=		Library for terminal-independent, full-screen output
 
-LIB_DEPENDS=		utf-8:${PORTSDIR}/converters/libutf-8
-
 NO_FILTER_SHLIBS=	no
 
 GNU_CONFIGURE=	yes
+CONFIGURE_SCRIPT=../configure
 CONFIGURE_ARGS=	--datadir=${PREFIX}/share/misc --disable-overwrite \
 		--disable-termcap --includedir=${PREFIX}/include/ncurses \
 		--with-profile --with-shared --without-debug \
 		--without-curses-h --with-termlib --program-prefix= \
 		--enable-safe-sprintf --disable-root-environ \
-		--with-manpage-format=gzip  #--enable-widec
+		--with-manpage-format=gzip --srcdir=../
 # needed by devel/py-ncurses port
 .if defined(WITH_TRACE)
 CONFIGURE_ARGS+=	--with-trace
@@ -33,7 +33,18 @@
 CONFIGURE_ENV=	gnat_exists="no" \
 		ac_cv_path_LDCONFIG="${LDCONFIG} -m ${PREFIX}/lib"
 
-PLIST_SUB+=	PORTVERSION=${PORTVERSION}
+WIDEC_WRKSRC=	${WRKSRC}/build.widec
+NOWIDEC_WRKSRC=	${WRKSRC}/build.nowidec
+WIDEC_EXAMPLESDIR=	${EXAMPLESDIR}/widec
+NOWIDEC_EXAMPLESDIR=	${EXAMPLESDIR}/nowidec
+
+CONFIGURE_WRKSRC=	${NOWIDEC_WRKSRC}
+BUILD_WRKSRC=	${NOWIDEC_WRKSRC}
+INSTALL_WRKSRC=	${NOWIDEC_WRKSRC}
+
+PLIST_SUB+=	PORTVERSION=${PORTVERSION} \
+		WIDEC_EXAMPLESDIR=${WIDEC_EXAMPLESDIR:S,${PREFIX}/,,} \
+		NOWIDEC_EXAMPLESDIR=${NOWIDEC_EXAMPLESDIR:S,${PREFIX}/,,}
 
 INSTALLS_SHLIB=	yes
 MANCOMPRESSED=	yes
@@ -207,17 +218,43 @@
 MANUAL_PACKAGE_BUILD=	conflicts with system ncurses
 .endif
 
+.if ${OSVERSION} < 503000
+IGNORE=		requires wide character support after FreeBSD 5.3-RELEASE
+.endif
+
+post-extract:
+	@${MKDIR} ${WIDEC_WRKSRC}
+	@${MKDIR} ${NOWIDEC_WRKSRC}
+
+post-configure:
+	${MAKE} CONFIGURE_WRKSRC=${WIDEC_WRKSRC} \
+	    CONFIGURE_ARGS="${CONFIGURE_ARGS}  --enable-widec" \
+	    do-configure
+.for d in test c++
+	${CP} ${WRKSRC}/${d}/* ${WIDEC_WRKSRC}/${d}/
+	${CP} ${WRKSRC}/${d}/* ${NOWIDEC_WRKSRC}/${d}/
+.endfor
+
+post-build:
+	${MAKE} BUILD_WRKSRC=${WIDEC_WRKSRC} do-build
+
 post-install:
-	${MKDIR} ${EXAMPLESDIR}/c++
+	${MAKE} INSTALL_WRKSRC=${WIDEC_WRKSRC} do-install
+
 	${INSTALL_DATA} ${WRKSRC}/misc/terminfo.src \
 		${PREFIX}/share/misc/terminfo
+
+.for i in WIDEC NOWIDEC
+	${MKDIR} ${${i}_EXAMPLESDIR}/c++
 .for f in ${EXAMPLES}
-	${INSTALL_DATA} ${WRKSRC}/test/${f} ${EXAMPLESDIR}
+	${INSTALL_DATA} ${${i}_WRKSRC}/test/${f} ${${i}_EXAMPLESDIR}
 .endfor
-	${INSTALL_SCRIPT} ${WRKSRC}/test/tracemunch ${EXAMPLESDIR}
+	${INSTALL_SCRIPT} ${${i}_WRKSRC}/test/tracemunch ${${i}_EXAMPLESDIR}
 .for f in ${EXAMPLES_CPP}
-	${INSTALL_DATA} ${WRKSRC}/c++/${f} ${EXAMPLESDIR}/c++
+	${INSTALL_DATA} ${${i}_WRKSRC}/c++/${f} ${${i}_EXAMPLESDIR}/c++
 .endfor
+.endfor
+
 .if !defined(NOPORTDOCS)
 	${MKDIR} ${DOCSDIR}
 . for f in ${DOCS}
diff -ruN --exclude=CVS /usr/ports/devel/ncurses/pkg-plist /home/rafan/tmp/ports/ncurses/pkg-plist
--- /usr/ports/devel/ncurses/pkg-plist	Wed May 17 03:48:55 2006
+++ /home/rafan/tmp/ports/ncurses/pkg-plist	Thu May 18 12:33:09 2006
@@ -50,57 +50,134 @@
 lib/libtinfo.so.5
 lib/libtinfo.so.%%PORTVERSION%%
 lib/libtinfo_p.a
-%%EXAMPLESDIR%%/Makefile
-%%EXAMPLESDIR%%/README
-%%EXAMPLESDIR%%/blue.c
-%%EXAMPLESDIR%%/bs.6
-%%EXAMPLESDIR%%/bs.c
-%%EXAMPLESDIR%%/c++/Makefile
-%%EXAMPLESDIR%%/c++/NEWS
-%%EXAMPLESDIR%%/c++/PROBLEMS
-%%EXAMPLESDIR%%/c++/README-first
-%%EXAMPLESDIR%%/c++/cursesapp.cc
-%%EXAMPLESDIR%%/c++/cursesapp.h
-%%EXAMPLESDIR%%/c++/cursesf.cc
-%%EXAMPLESDIR%%/c++/cursesf.h
-%%EXAMPLESDIR%%/c++/cursesm.cc
-%%EXAMPLESDIR%%/c++/cursesm.h
-%%EXAMPLESDIR%%/c++/cursesmain.cc
-%%EXAMPLESDIR%%/c++/cursesp.cc
-%%EXAMPLESDIR%%/c++/cursesp.h
-%%EXAMPLESDIR%%/c++/cursesw.cc
-%%EXAMPLESDIR%%/c++/cursesw.h
-%%EXAMPLESDIR%%/c++/cursslk.cc
-%%EXAMPLESDIR%%/c++/cursslk.h
-%%EXAMPLESDIR%%/c++/demo.cc
-%%EXAMPLESDIR%%/c++/etip.h
-%%EXAMPLESDIR%%/c++/internal.h
-%%EXAMPLESDIR%%/cardfile.c
-%%EXAMPLESDIR%%/cardfile.dat
-%%EXAMPLESDIR%%/ditto.c
-%%EXAMPLESDIR%%/dots.c
-%%EXAMPLESDIR%%/filter.c
-%%EXAMPLESDIR%%/firework.c
-%%EXAMPLESDIR%%/firstlast.c
-%%EXAMPLESDIR%%/gdc.6
-%%EXAMPLESDIR%%/gdc.c
-%%EXAMPLESDIR%%/hanoi.c
-%%EXAMPLESDIR%%/hashtest.c
-%%EXAMPLESDIR%%/knight.c
-%%EXAMPLESDIR%%/lrtest.c
-%%EXAMPLESDIR%%/ncurses.c
-%%EXAMPLESDIR%%/newdemo.c
-%%EXAMPLESDIR%%/railroad.c
-%%EXAMPLESDIR%%/rain.c
-%%EXAMPLESDIR%%/tclock.c
-%%EXAMPLESDIR%%/test.priv.h
-%%EXAMPLESDIR%%/testaddch.c
-%%EXAMPLESDIR%%/testcurs.c
-%%EXAMPLESDIR%%/testscanw.c
-%%EXAMPLESDIR%%/tracemunch
-%%EXAMPLESDIR%%/view.c
-%%EXAMPLESDIR%%/worm.c
-%%EXAMPLESDIR%%/xmas.c
+lib/libformw.a
+lib/libformw.so
+lib/libformw.so.5
+lib/libformw.so.%%PORTVERSION%%
+lib/libformw_p.a
+lib/libmenuw.a
+lib/libmenuw.so
+lib/libmenuw.so.5
+lib/libmenuw.so.%%PORTVERSION%%
+lib/libmenuw_p.a
+lib/libncurses++w.a
+lib/libncursesw.a
+lib/libncursesw.so
+lib/libncursesw.so.5
+lib/libncursesw.so.%%PORTVERSION%%
+lib/libncursesw_p.a
+lib/libpanelw.a
+lib/libpanelw.so
+lib/libpanelw.so.5
+lib/libpanelw.so.%%PORTVERSION%%
+lib/libpanelw_p.a
+lib/libtinfow.a
+lib/libtinfow.so
+lib/libtinfow.so.5
+lib/libtinfow.so.%%PORTVERSION%%
+lib/libtinfow_p.a
+%%WIDEC_EXAMPLESDIR%%/Makefile
+%%WIDEC_EXAMPLESDIR%%/README
+%%WIDEC_EXAMPLESDIR%%/blue.c
+%%WIDEC_EXAMPLESDIR%%/bs.6
+%%WIDEC_EXAMPLESDIR%%/bs.c
+%%WIDEC_EXAMPLESDIR%%/c++/Makefile
+%%WIDEC_EXAMPLESDIR%%/c++/NEWS
+%%WIDEC_EXAMPLESDIR%%/c++/PROBLEMS
+%%WIDEC_EXAMPLESDIR%%/c++/README-first
+%%WIDEC_EXAMPLESDIR%%/c++/cursesapp.cc
+%%WIDEC_EXAMPLESDIR%%/c++/cursesapp.h
+%%WIDEC_EXAMPLESDIR%%/c++/cursesf.cc
+%%WIDEC_EXAMPLESDIR%%/c++/cursesf.h
+%%WIDEC_EXAMPLESDIR%%/c++/cursesm.cc
+%%WIDEC_EXAMPLESDIR%%/c++/cursesm.h
+%%WIDEC_EXAMPLESDIR%%/c++/cursesmain.cc
+%%WIDEC_EXAMPLESDIR%%/c++/cursesp.cc
+%%WIDEC_EXAMPLESDIR%%/c++/cursesp.h
+%%WIDEC_EXAMPLESDIR%%/c++/cursesw.cc
+%%WIDEC_EXAMPLESDIR%%/c++/cursesw.h
+%%WIDEC_EXAMPLESDIR%%/c++/cursslk.cc
+%%WIDEC_EXAMPLESDIR%%/c++/cursslk.h
+%%WIDEC_EXAMPLESDIR%%/c++/demo.cc
+%%WIDEC_EXAMPLESDIR%%/c++/etip.h
+%%WIDEC_EXAMPLESDIR%%/c++/internal.h
+%%WIDEC_EXAMPLESDIR%%/cardfile.c
+%%WIDEC_EXAMPLESDIR%%/cardfile.dat
+%%WIDEC_EXAMPLESDIR%%/ditto.c
+%%WIDEC_EXAMPLESDIR%%/dots.c
+%%WIDEC_EXAMPLESDIR%%/filter.c
+%%WIDEC_EXAMPLESDIR%%/firework.c
+%%WIDEC_EXAMPLESDIR%%/firstlast.c
+%%WIDEC_EXAMPLESDIR%%/gdc.6
+%%WIDEC_EXAMPLESDIR%%/gdc.c
+%%WIDEC_EXAMPLESDIR%%/hanoi.c
+%%WIDEC_EXAMPLESDIR%%/hashtest.c
+%%WIDEC_EXAMPLESDIR%%/knight.c
+%%WIDEC_EXAMPLESDIR%%/lrtest.c
+%%WIDEC_EXAMPLESDIR%%/ncurses.c
+%%WIDEC_EXAMPLESDIR%%/newdemo.c
+%%WIDEC_EXAMPLESDIR%%/railroad.c
+%%WIDEC_EXAMPLESDIR%%/rain.c
+%%WIDEC_EXAMPLESDIR%%/tclock.c
+%%WIDEC_EXAMPLESDIR%%/test.priv.h
+%%WIDEC_EXAMPLESDIR%%/testaddch.c
+%%WIDEC_EXAMPLESDIR%%/testcurs.c
+%%WIDEC_EXAMPLESDIR%%/testscanw.c
+%%WIDEC_EXAMPLESDIR%%/tracemunch
+%%WIDEC_EXAMPLESDIR%%/view.c
+%%WIDEC_EXAMPLESDIR%%/worm.c
+%%WIDEC_EXAMPLESDIR%%/xmas.c
+%%NOWIDEC_EXAMPLESDIR%%/Makefile
+%%NOWIDEC_EXAMPLESDIR%%/README
+%%NOWIDEC_EXAMPLESDIR%%/blue.c
+%%NOWIDEC_EXAMPLESDIR%%/bs.6
+%%NOWIDEC_EXAMPLESDIR%%/bs.c
+%%NOWIDEC_EXAMPLESDIR%%/c++/Makefile
+%%NOWIDEC_EXAMPLESDIR%%/c++/NEWS
+%%NOWIDEC_EXAMPLESDIR%%/c++/PROBLEMS
+%%NOWIDEC_EXAMPLESDIR%%/c++/README-first
+%%NOWIDEC_EXAMPLESDIR%%/c++/cursesapp.cc
+%%NOWIDEC_EXAMPLESDIR%%/c++/cursesapp.h
+%%NOWIDEC_EXAMPLESDIR%%/c++/cursesf.cc
+%%NOWIDEC_EXAMPLESDIR%%/c++/cursesf.h
+%%NOWIDEC_EXAMPLESDIR%%/c++/cursesm.cc
+%%NOWIDEC_EXAMPLESDIR%%/c++/cursesm.h
+%%NOWIDEC_EXAMPLESDIR%%/c++/cursesmain.cc
+%%NOWIDEC_EXAMPLESDIR%%/c++/cursesp.cc
+%%NOWIDEC_EXAMPLESDIR%%/c++/cursesp.h
+%%NOWIDEC_EXAMPLESDIR%%/c++/cursesw.cc
+%%NOWIDEC_EXAMPLESDIR%%/c++/cursesw.h
+%%NOWIDEC_EXAMPLESDIR%%/c++/cursslk.cc
+%%NOWIDEC_EXAMPLESDIR%%/c++/cursslk.h
+%%NOWIDEC_EXAMPLESDIR%%/c++/demo.cc
+%%NOWIDEC_EXAMPLESDIR%%/c++/etip.h
+%%NOWIDEC_EXAMPLESDIR%%/c++/internal.h
+%%NOWIDEC_EXAMPLESDIR%%/cardfile.c
+%%NOWIDEC_EXAMPLESDIR%%/cardfile.dat
+%%NOWIDEC_EXAMPLESDIR%%/ditto.c
+%%NOWIDEC_EXAMPLESDIR%%/dots.c
+%%NOWIDEC_EXAMPLESDIR%%/filter.c
+%%NOWIDEC_EXAMPLESDIR%%/firework.c
+%%NOWIDEC_EXAMPLESDIR%%/firstlast.c
+%%NOWIDEC_EXAMPLESDIR%%/gdc.6
+%%NOWIDEC_EXAMPLESDIR%%/gdc.c
+%%NOWIDEC_EXAMPLESDIR%%/hanoi.c
+%%NOWIDEC_EXAMPLESDIR%%/hashtest.c
+%%NOWIDEC_EXAMPLESDIR%%/knight.c
+%%NOWIDEC_EXAMPLESDIR%%/lrtest.c
+%%NOWIDEC_EXAMPLESDIR%%/ncurses.c
+%%NOWIDEC_EXAMPLESDIR%%/newdemo.c
+%%NOWIDEC_EXAMPLESDIR%%/railroad.c
+%%NOWIDEC_EXAMPLESDIR%%/rain.c
+%%NOWIDEC_EXAMPLESDIR%%/tclock.c
+%%NOWIDEC_EXAMPLESDIR%%/test.priv.h
+%%NOWIDEC_EXAMPLESDIR%%/testaddch.c
+%%NOWIDEC_EXAMPLESDIR%%/testcurs.c
+%%NOWIDEC_EXAMPLESDIR%%/testscanw.c
+%%NOWIDEC_EXAMPLESDIR%%/tracemunch
+%%NOWIDEC_EXAMPLESDIR%%/view.c
+%%NOWIDEC_EXAMPLESDIR%%/worm.c
+%%NOWIDEC_EXAMPLESDIR%%/xmas.c
 share/misc/tabset/std
 share/misc/tabset/stdcrt
 share/misc/tabset/vt100
@@ -2648,6 +2725,9 @@
 @dirrm share/misc/terminfo/1
 @dirrm share/misc/terminfo
 @dirrm share/misc/tabset
-@dirrm %%EXAMPLESDIR%%/c++
+@dirrm %%WIDEC_EXAMPLESDIR%%/c++
+@dirrm %%WIDEC_EXAMPLESDIR%%
+@dirrm %%NOWIDEC_EXAMPLESDIR%%/c++
+@dirrm %%NOWIDEC_EXAMPLESDIR%%
 @dirrm %%EXAMPLESDIR%%
 @dirrm include/ncurses
--- ncurses-5.5_1.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200605181604.k4IG4Url086752>