# $Id$ PNAME="ncurses" PVER="5.9" PBUILD="r1" PCATEGORIE="sys-libs" DESCRIPTION="Linux console display library." HOMEPAGE="http://www.gnu.org/software/ncurses/ncurses.html" DEPEND=">= virtual/glibc" SRCFILE="${PNAME}-${PVER}.tar.gz" SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" MCORE_ONLY_KEEP="$(mlibdir)/*.so $(mlibdir)/*.so.* usr/$(mlibdir)/*.so usr/$(mlibdir)/*.so.* usr/$(mlibdir)/terminfo usr/share/tabset usr/share/terminfo/l/linux usr/share/terminfo/r/rxvt usr/share/terminfo/v/vt100 usr/share/terminfo/x/xterm usr/share/terminfo/x/xterm-color" sminclude mtools multilib mcore-split SRC_URI=( gnu://${PNAME}/${SRCFILE} mirror://${PNAME}/${SRCFILE} ) UP2DATE="updatecmd_gnu ${PNAME} gz" src_prepare() { # non widec munpack ${SRCFILE} || die 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-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-hashed-db || die # fix parallel make builds SRCDIR="${SRCDIR}-non-widec" mmake -j1 sources || die SRCDIR="${SRCDIR}-non-widec" mmake || die } mcore_generic_src_install() { # needed directories minstalldir /$(mlibdir) || die minstall_destdir || die mchmod 755 /usr/$(mlibdir)/\*.${PVER} || die mchmod 644 /usr/$(mlibdir)/libncurses++w.a || die mv ${BINDIR}/usr/$(mlibdir)/libncursesw.so.5* ${BINDIR}/$(mlibdir) || die mlink ../../$(mlibdir)/libncursesw.so.5 /usr/$(mlibdir)/libncursesw.so || die mlink libncursesw.so /usr/$(mlibdir)/libcursesw.so || die # 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 # curses-config too mlink ncursesw5-config /usr/bin/ncurses5-config || die # move the -m32 libs also to the right place (multilib) if [[ $(mlibdir) != lib ]] then minstalldir /lib || die mchmod 755 /usr/lib/\*.${PVER} || die mchmod 644 /usr/lib/libncurses++w.a || die mv ${BINDIR}/usr/lib/libncursesw.so.5* ${BINDIR}/lib || die mlink ../../lib/libncursesw.so.5 /usr/lib/libncursesw.so || die mlink libncursesw.so /usr/lib/libcursesw.so || 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 minstalldocs ANNOUNCE MANIFEST NEWS README* TO-DO || die } preinstall() { 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 [[ $(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 fi } postinstall() { # force ldconfig here if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] then /sbin/ldconfig fi }