ports/97462: [PATCH] devel/ncurses: install wide character support libraries
Rong-En Fan
rafan at infor.org
Thu May 18 16:10:18 UTC 2006
>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 at 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 at 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
- at dirrm %%EXAMPLESDIR%%/c++
+ at dirrm %%WIDEC_EXAMPLESDIR%%/c++
+ at dirrm %%WIDEC_EXAMPLESDIR%%
+ at dirrm %%NOWIDEC_EXAMPLESDIR%%/c++
+ at dirrm %%NOWIDEC_EXAMPLESDIR%%
@dirrm %%EXAMPLESDIR%%
@dirrm include/ncurses
--- ncurses-5.5_1.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list