# $Id$ PNAME="ncurses" PVER="6.0" PBUILD="r3" SPLIT_PACKAGES="ncurses ncurses-term" PCAT="sys-libs" HOMEPAGE="http://www.gnu.org/software/ncurses/ncurses.html" DEPEND_x86_64=">= sys-apps/multiarch-wrapper-1" SPECIAL_VARS="DEPEND_x86_64" NCURSES_DEPEND="$(marchdepend) >= virtual/glibc" SDEPEND="${NCURSES_DEPEND}" SRCFILE="${PNAME}-${PVER}.tar.gz" SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" sminclude mtools multilib cleanutils msetfeature "!check" SRC_URI=( gnu://${PNAME}/${SRCFILE} mirror://${PNAME}/${SRCFILE} ) UP2DATE="updatecmd_gnu ${PNAME} gz" split_info_ncurses() { DESCRIPTION="Linux console display library." DEPEND="${NCURSES_DEPEND}" } split_info_ncurses-term() { DESCRIPTION="Additional terminal descriptions for ncurses." DEPEND="== sys-libs/ncurses-${PVER}" } src_prepare() { # non widec munpack ${SRCFILE} || die cd ${BUILDDIR} for abi in ${MULTILIB_ABIS} do mv ${SRCDIR}{,-non-widec}-${abi} || die done # widec munpack ${SRCFILE} || die } src_compile() { # fixes build issues on multilib; do not export any ABI_LDFLAGS EXPORT_ABI_LDFLAGS=false # widec # -hashed-db needs Berkeley DB mconfigure --with-shared --without-debug --without-ada --without-hashed-db --enable-widec || die # fix parallel make builds mmake -j1 sources || die mmake || die # non-widec # -hashed-db needs Berkeley DB SRCDIR="${SRCDIR}-non-widec" mconfigure --with-shared --without-debug --without-ada --without-hashed-db || die # fix parallel make builds SRCDIR="${SRCDIR}-non-widec" mmake -j1 sources || die SRCDIR="${SRCDIR}-non-widec" mmake || die } src_install_ncurses() { mmake DESTDIR=${BINDIR} install || die mchmod 755 /usr/$(mlibdir)/\*.${PVER} || die mchmod 644 /usr/$(mlibdir)/libncurses++w.a || die # install multlib-lib compat curses/curses-widec config if [[ $(mlibdir) != lib ]] then all-abis minstallexec misc/ncurses-config /usr/bin/ncursesw${PVER%%.*}-config-$(mabi) || die all-abis mlink ncursesw${PVER%%.*}-config-$(mabi) /usr/bin/ncurses${PVER%%.*}-config-$(mabi) || die mlink multiarch-wrapper /usr/bin/ncursesw${PVER%%.*}-config || die mlink ncursesw${PVER%%.*}-config /usr/bin/ncurses${PVER%%.*}-config || die fi # non-widec compat for lib in curses ncurses form panel menu do echo "INPUT(-l${lib}w)" > ${BINDIR}/usr/$(mlibdir)/lib${lib}.so || die mlink lib${lib}w.a /usr/$(mlibdir)/lib${lib}.a || die done mlink libcurses.so /usr/$(mlibdir)/libcursesw.so || die mlink libncurses.so /usr/$(mlibdir)/libcurses.so || die mlink libncursesw.a /usr/$(mlibdir)/libcursesw.a || die mlink libncurses.a /usr/$(mlibdir)/libcurses.a || die mlink libncurses++w.a /usr/$(mlibdir)/libncurses++.a || die minstalldir /usr/include/ncursesw || die mlink ../curses.h /usr/include/ncursesw/curses.h || die mlink ../ncurses.h /usr/include/ncursesw/ncurses.h || die # move the -m32 libs also to the right place (multilib) if [[ $(mlibdir) != lib ]] then mchmod 755 /usr/lib/\*.${PVER} || die mchmod 644 /usr/lib/libncurses++w.a || die # non-widec compat for lib in curses ncurses form panel menu do echo "INPUT(-l${lib}w)" > ${BINDIR}/usr/lib/lib${lib}.so || die mlink lib${lib}w.a /usr/lib/lib${lib}.a || die done mlink libcurses.so /usr/lib/libcursesw.so || die mlink libncurses.so /usr/lib/libcurses.so || die mlink libncursesw.a /usr/lib/libcursesw.a || die mlink libncurses.a /usr/lib/libcurses.a || die mlink libncurses++w.a /usr/lib/libncurses++.a || die fi # install non-widec runtime compat library (do not use minstalllib, # we need libcnurses.so with loader hint for libncursesw and not a plain symlink! all-abis minstallexec ${SRCDIR}-non-widec-'$abi'/lib/libncurses.so.${PVER} /usr/'$(mlibdir)' || die all-abis mlink libncurses.so.${PVER} /usr/'$(mlibdir)'/libncurses.so.${PVER%%.*} || die # fixes a small man issue if [ -e ${BINDIR}/usr/share/man/tack.1 ] then mv ${BINDIR}/usr/share/man/tack.1 \ ${BINDIR}/usr/share/man/man1 || die fi # fix to enable colors in the default xterm mv ${BINDIR}/usr/share/terminfo/x/xterm \ ${BINDIR}/usr/share/terminfo/x/xterm.orig || die mlink xterm-color /usr/share/terminfo/x/xterm || die # zapmost uncommon terminfo zapmost ${BINDIR}/usr/share/terminfo \ E/Eterm\* a/aterm a/ansi b/bterm c/cons25 c/cygwin d/dumb e/eterm\* g/gnome g/gnome-256color \ h/hurd j/jfbterm k/konsole k/konsole-256color l/linux\* m/mach\* m/mlterm m/mrxvt n/nsterm \ p/putty\* p/pcansi r/rxvt r/rxvt-\* s/screen s/screen-\*color s/screen.\* s/sun t/teraterm t/teraterm2.3 \ v/vt100 v/vt100-nav v/vt102 v/vt220 v/vt52 v/vte v/vte-256color v/vwmterm w/wsvt25\* \ x/xfce x/xterm x/xterm-\* \ || die minstalldocs ANNOUNCE MANIFEST NEWS README* TO-DO || die } src_install_ncurses-term() { mmake DESTDIR=${BINDIR} install || die # fix to enable colors in the default xterm mv ${BINDIR}/usr/share/terminfo/x/xterm \ ${BINDIR}/usr/share/terminfo/x/xterm.orig || die mlink xterm-color /usr/share/terminfo/x/xterm || die # zap all but terminfo dir zapmost ${BINDIR} usr/share/terminfo || die # search terminals which are included in other packages local i for i in E/Eterm\* a/aterm a/ansi b/bterm c/cons25 c/cygwin d/dumb e/eterm\* g/gnome g/gnome-256color \ h/hurd j/jfbterm k/konsole k/konsole-256color l/linux\* m/mach\* m/mlterm m/mrxvt n/nsterm \ p/putty\* p/pcansi r/rxvt r/rxvt-\* s/screen s/screen-\*color s/screen.\* s/sun t/teraterm t/teraterm2.3 \ v/vt100 v/vt100-nav v/vt102 v/vt220 v/vt52 v/vte v/vte-256color v/vwmterm w/wsvt25\* \ x/xfce x/xterm x/xterm-\* do rm ${BINDIR}/usr/share/terminfo/${i} || die "${i}" done } preinstall_ncurses() { if [ -L ${MROOT}/usr/$(mlibdir)/libncurses.so ] then rm ${MROOT}/usr/$(mlibdir)/libncurses.so || die fi if [ -L ${MROOT}/usr/$(mlibdir)/libncurses.so.5 ] then rm ${MROOT}/usr/$(mlibdir)/libncurses.so.5 || die fi if [ -L ${MROOT}/usr/$(mlibdir)/libcurses.so.5 ] then rm ${MROOT}/usr/$(mlibdir)/libcurses.so.5 || die fi if [ -L ${MROOT}/usr/$(mlibdir)/libncurses.so.6 ] then rm ${MROOT}/usr/$(mlibdir)/libncurses.so.6 || die fi if [ -L ${MROOT}/usr/$(mlibdir)/libcurses.so.6 ] then rm ${MROOT}/usr/$(mlibdir)/libcurses.so.6 || die fi if [[ $(mlibdir) != lib ]] then if [ -L ${MROOT}/usr/lib/libncurses.so ] then rm ${MROOT}/usr/lib/libncurses.so || die fi if [ -L ${MROOT}/usr/lib/libncurses.so.5 ] then rm ${MROOT}/usr/lib/libncurses.so.5 || die fi if [ -L ${MROOT}/usr/lib/libcurses.so.5 ] then rm ${MROOT}/usr/lib/libcurses.so.5 || die fi if [ -L ${MROOT}/usr/lib/libncurses.so.6 ] then rm ${MROOT}/usr/lib/libncurses.so.6 || die fi if [ -L ${MROOT}/usr/lib/libcurses.so.6 ] then rm ${MROOT}/usr/lib/libcurses.so.6 || die fi fi } postinstall_ncurses() { # force ldconfig here if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] then /sbin/ldconfig fi }