diff options
author | Fabian Groffen <grobian@gentoo.org> | 2018-01-05 08:29:17 +0100 |
---|---|---|
committer | Fabian Groffen <grobian@gentoo.org> | 2018-01-05 08:29:17 +0100 |
commit | c14cea6ca91442591b6ba6ff167adaab574819cb (patch) | |
tree | 7ee9c49856cd796558413c18379078d9c481d66a | |
parent | dev-libs/openssl: add patch for FreeMiNT by Alan Hourihane (diff) | |
download | prefix-c14cea6ca91442591b6ba6ff167adaab574819cb.tar.gz prefix-c14cea6ca91442591b6ba6ff167adaab574819cb.tar.bz2 prefix-c14cea6ca91442591b6ba6ff167adaab574819cb.zip |
sys-libs/ncurses: sync, multijob was removed
Package-Manager: Portage-2.3.18-prefix, Repoman-2.3.6
-rw-r--r-- | sys-libs/ncurses/files/ncurses-6.0-cppflags-cross.patch | 35 | ||||
-rw-r--r-- | sys-libs/ncurses/ncurses-5.9-r101.ebuild | 12 | ||||
-rw-r--r-- | sys-libs/ncurses/ncurses-5.9-r4.ebuild | 288 | ||||
-rw-r--r-- | sys-libs/ncurses/ncurses-5.9-r5.ebuild | 291 | ||||
-rw-r--r-- | sys-libs/ncurses/ncurses-5.9-r99.ebuild | 21 | ||||
-rw-r--r-- | sys-libs/ncurses/ncurses-6.0-r1.ebuild | 22 | ||||
-rw-r--r-- | sys-libs/ncurses/ncurses-6.0-r2.ebuild | 290 | ||||
-rw-r--r-- | sys-libs/ncurses/ncurses-6.0.ebuild | 21 |
8 files changed, 338 insertions, 642 deletions
diff --git a/sys-libs/ncurses/files/ncurses-6.0-cppflags-cross.patch b/sys-libs/ncurses/files/ncurses-6.0-cppflags-cross.patch new file mode 100644 index 0000000000..decdc26779 --- /dev/null +++ b/sys-libs/ncurses/files/ncurses-6.0-cppflags-cross.patch @@ -0,0 +1,35 @@ +https://bugs.gentoo.org/601426 +https://lists.gnu.org/archive/html/bug-ncurses/2015-02/msg00012.html + +From: John Vogel +Subject: [PATCH] c++ binding missed when cross compiling +Date: Mon, 16 Feb 2015 01:01:48 -0500 + +The configure script hard codes the include dir to the prefix'ed include dir, +when checking if c++ compiler works. This breaks the compiler's built-in search +path. I've included two patches. The first works on the configure.in file, which +requires your autoconf stuff to test and I'm not ready to meddle with at the +moment. The other works directly on the configure file. I've tested the second +one; it should mirror what the first patch tries to achieve and works for me. + +--- a/configure ++++ b/configure +@@ -2938,10 +2938,6 @@ + echo "$as_me:2938: checking if $CXX works" >&5 + echo $ECHO_N "checking if $CXX works... $ECHO_C" >&6 + +- save_CPPFLAGS="$CPPFLAGS" +- eval cf_includedir=${includedir} +- CPPFLAGS="$CPPFLAGS -I${cf_includedir}" +- + cat >conftest.$ac_ext <<_ACEOF + #line 2946 "configure" + #include "confdefs.h" +@@ -2978,7 +2974,6 @@ + cf_cxx_works=no + fi + rm -f conftest.$ac_objext conftest.$ac_ext +- CPPFLAGS="$save_CPPFLAGS" + + echo "$as_me:2983: result: $cf_cxx_works" >&5 + echo "${ECHO_T}$cf_cxx_works" >&6 diff --git a/sys-libs/ncurses/ncurses-5.9-r101.ebuild b/sys-libs/ncurses/ncurses-5.9-r101.ebuild index fcda07247d..f2cf2869c5 100644 --- a/sys-libs/ncurses/ncurses-5.9-r101.ebuild +++ b/sys-libs/ncurses/ncurses-5.9-r101.ebuild @@ -1,12 +1,11 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # This version is just for the ABI .5 library EAPI="5" -inherit eutils toolchain-funcs multilib-minimal multiprocessing flag-o-matic libtool +inherit eutils toolchain-funcs multilib-minimal flag-o-matic libtool MY_PV=${PV:0:3} MY_P=${PN}-${MY_PV} @@ -108,8 +107,6 @@ src_configure() { $(usex unicode 'ncursesw' '') ) - multijob_init - # When installing ncurses, we have to use a compatible version of tic. # This comes up when cross-compiling, doing multilib builds, upgrading, # or installing for the first time. Build a local copy of tic whenever @@ -133,16 +130,15 @@ src_configure() { CXXFLAGS=${BUILD_CXXFLAGS} \ CPPFLAGS=${BUILD_CPPFLAGS} \ LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \ - multijob_child_init do_configure cross --without-shared --with-normal + do_configure cross --without-shared --with-normal fi multilib-minimal_src_configure - multijob_finish } multilib_src_configure() { local t for t in "${NCURSES_TARGETS[@]}" ; do - multijob_child_init do_configure "${t}" + do_configure "${t}" done } diff --git a/sys-libs/ncurses/ncurses-5.9-r4.ebuild b/sys-libs/ncurses/ncurses-5.9-r4.ebuild deleted file mode 100644 index 2a1aaf81ac..0000000000 --- a/sys-libs/ncurses/ncurses-5.9-r4.ebuild +++ /dev/null @@ -1,288 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/ncurses/ncurses-5.9-r4.ebuild,v 1.3 2015/04/06 20:11:01 vapier Exp $ - -EAPI="4" -inherit eutils flag-o-matic toolchain-funcs multilib-minimal libtool - -MY_PV=${PV:0:3} -PV_SNAP=${PV:4} -MY_P=${PN}-${MY_PV} -DESCRIPTION="console display library" -HOMEPAGE="http://www.gnu.org/software/ncurses/ http://dickey.his.com/ncurses/" -SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz" - -HOSTLTV="0.1.0" -HOSTLT="host-libtool-${HOSTLTV}" -HOSTLT_URI="http://github.com/haubi/host-libtool/releases/download/v${HOSTLTV}/${HOSTLT}.tar.gz" -SRC_URI="${SRC_URI} - kernel_AIX? ( ${HOSTLT_URI} ) - kernel_HPUX? ( ${HOSTLT_URI} ) -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="ada +cxx debug doc gpm minimal profile static-libs tinfo trace unicode" - -DEPEND="gpm? ( sys-libs/gpm )" -# berkdb? ( sys-libs/db )" -RDEPEND="${DEPEND} - !<x11-terms/rxvt-unicode-9.06-r3 - abi_x86_32? ( - !<=app-emulation/emul-linux-x86-baselibs-20130224-r12 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] - )" -# Put the MULTILIB_USEDEP on gpm in PDEPEND only to avoid circular deps. -# We can move it to DEPEND and drop the --with-gpm=libgpm.so.1 from the econf -# line below once we can assume multilib gpm is available everywhere. -PDEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )" - -S=${WORKDIR}/${MY_P} -HOSTTIC_DIR=${WORKDIR}/${P}-host - -need-libtool() { - # need libtool to build aix-style shared objects inside archive libs, but - # cannot depend on libtool, as this would create circular dependencies... - # And libtool-1.5.26 needs (a similar) patch for AIX (DESTDIR) as found in - # http://lists.gnu.org/archive/html/bug-libtool/2008-03/msg00124.html - # Use libtool on hpux too to get some soname. - [[ ${CHOST} == *'-aix'* || ${CHOST} == *'-hpux'* ]] -} - -src_prepare() { - [[ -n ${PV_SNAP} ]] && epatch "${WORKDIR}"/${MY_P}-${PV_SNAP}-patch.sh - epatch "${FILESDIR}"/${PN}-5.8-gfbsd.patch - epatch "${FILESDIR}"/${PN}-5.7-nongnu.patch - epatch "${FILESDIR}"/${PN}-5.9-rxvt-unicode-9.15.patch #192083 #383871 - epatch "${FILESDIR}"/${PN}-5.9-fix-clang-build.patch #417763 - epatch "${FILESDIR}"/${PN}-5.9-pkg-config.patch - epatch "${FILESDIR}"/${P}-no-I-usr-include.patch #522586 - epatch "${FILESDIR}"/${P}-gcc-5.patch #545114 - - # /bin/sh is not always good enough - find . -name "*.sh" | xargs sed -i -e '1c\#!/usr/bin/env sh' - - if need-libtool; then - S="${WORKDIR}"/${HOSTLT} elibtoolize - - # Don't need local libraries (-L../lib) for libncurses, - # ends up as insecure runpath in libncurses.so[shr.o] on AIX - sed -i -e '/^SHLIB_LIST[ \t]*=/s/\$(SHLIB_DIRS)//' ncurses/Makefile.in || die - fi - - # Don't mess with _XOPEN_SOURCE for C++ on (Open)Solaris. The compiler - # defines a value for it, and depending on version, a different definition - # is used. Defining this variable on these systems is dangerous any time, - # since the system headers do strict checks on compatibility of flags and - # standards. - # Defining _XOPEN_SOURCE_EXTENDED together with _XOPEN_SOURCE leads to - # pre-_XOPEN_SOURCE=500 stuff, so only do it for non-C++ code. - # See also bug #431352 - if [[ ${CHOST} == *-solaris* ]] ; then - sed -i \ - -e '/-D__EXTENSIONS__/ s/-D_XOPEN_SOURCE=\$cf_XOPEN_SOURCE//' \ - -e '/CPPFLAGS="$CPPFLAGS/s/ -D_XOPEN_SOURCE_EXTENDED//' \ - configure || die - # ONLY in C-mode, NOT C++ - append-cflags -D_XOPEN_SOURCE_EXTENDED - fi -} - -src_configure() { - if need-libtool; then - cd "${WORKDIR}"/${HOSTLT} || die - econf - export PATH="${WORKDIR}"/${HOSTLT}:${PATH} - cd "${S}" || die - fi - - unset TERMINFO #115036 - tc-export_build_env BUILD_{CC,CPP} - BUILD_CPPFLAGS+=" -D_GNU_SOURCE" #214642 - - # when cross-compiling, we need to build up our own tic - # because people often don't keep matching host/target - # ncurses versions #249363 - if tc-is-cross-compiler && ! ROOT=/ has_version ~sys-libs/${P} ; then - CHOST=${CBUILD} \ - CFLAGS=${BUILD_CFLAGS} \ - CXXFLAGS=${BUILD_CXXFLAGS} \ - CPPFLAGS=${BUILD_CPPFLAGS} \ - LDFLAGS="${BUILD_LDFLAGS} -static" \ - BUILD_DIR="${HOSTTIC_DIR}" do_configure cross --without-shared --with-normal - fi - multilib-minimal_src_configure -} - -multilib_src_configure() { - do_configure narrowc --includedir="${EPREFIX}"/usr/include - use unicode && do_configure widec --enable-widec --includedir="${EPREFIX}"/usr/include/ncursesw -} - -do_configure() { - ECONF_SOURCE=${S} - - mkdir "${BUILD_DIR}"-$1 - cd "${BUILD_DIR}"-$1 || die - shift - - local conf=( - # We need the basic terminfo files in /etc, bug #37026. We will - # add '--with-terminfo-dirs' and then populate /etc/terminfo in - # src_install() ... - --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo" - - # Disabled until #245417 is sorted out. - #$(use_with berkdb hashed-db) - - # ncurses is dumb and doesn't install .pc files unless pkg-config - # is also installed. Force the tests to go our way. Note that it - # doesn't actually use pkg-config ... it just looks for set vars. - --enable-pc-files - --with-pkg-config="$(tc-getPKG_CONFIG)" - # This path is used to control where the .pc files are installed. - PKG_CONFIG_LIBDIR="${EPREFIX}/usr/$(get_libdir)/pkgconfig" - - # Now the rest of the various standard flags. - --$( - if need-libtool ; then - echo with-libtool - elif tc-is-static-only ; then - echo without-shared - else - echo with-shared - fi - ) - --without-hashed-db - $(use_with ada) - $(use_with cxx) - $(use_with cxx cxx-binding) - $(use_with debug) - $(use_with profile) - $(use_with gpm) - $(multilib_is_native_abi || use_with gpm gpm libgpm.so.1) - --disable-termcap - --enable-symlinks - --with-rcs-ids - --with-manpage-format=normal - --enable-const - --enable-colorfgbg - --enable-echo - $(use_enable !ada warnings) - $(use_with debug assertions) - $(use_enable !debug leaks) - $(use_with debug expanded) - $(use_with !debug macros) - $(use_with trace) - $(use_with tinfo termlib) - - # The chtype/mmask-t settings below are to retain ABI compat - # with ncurses-5.4 so dont change em ! - --with-chtype=long - --with-mmask-t=long - --disable-ext-colors - --disable-ext-mouse - --without-pthread - --without-reentrant - ) - - # Force bash until upstream rebuilds the configure script with a newer - # version of autotools. #545532 - CONFIG_SHELL="${BASH}" econf "${conf[@]}" "$@" -} - -src_compile() { - # when cross-compiling, we need to build up our own tic - # because people often don't keep matching host/target - # ncurses versions #249363 - if tc-is-cross-compiler && ! ROOT=/ has_version ~sys-libs/${P} ; then - make_flags="-C progs tic" - BUILD_DIR="${HOSTTIC_DIR}" do_compile cross - fi - - multilib-minimal_src_compile -} - -multilib_src_compile() { - make_flags="" - multilib_is_native_abi || make_flags="PROGS= " - do_compile narrowc - use unicode && do_compile widec -} - -do_compile() { - cd "${BUILD_DIR}"-$1 || die - - # A little hack to fix parallel builds ... they break when - # generating sources so if we generate the sources first (in - # non-parallel), we can then build the rest of the package - # in parallel. This is not really a perf hit since the source - # generation is quite small. - emake -j1 sources - # For some reason, sources depends on pc-files which depends on - # compiled libraries which depends on sources which ... - # Manually delete the pc-files file so the install step will - # create the .pc files we want. - rm -f misc/pc-files - emake ${make_flags} -} - -multilib_src_install() { - # use the cross-compiled tic (if need be) #249363 - export PATH="${HOSTTIC_DIR}-cross/progs:${PATH}" - - # install unicode version second so that the binaries in /usr/bin - # support both wide and narrow - cd "${BUILD_DIR}"-narrowc || die - emake DESTDIR="${D}" install - if use unicode ; then - cd "${BUILD_DIR}"-widec || die - emake DESTDIR="${D}" install - fi - - # Move libncurses{,w} into /lib - multilib_is_native_abi && gen_usr_ldscript -a \ - ncurses \ - $(usex unicode 'ncursesw' '') \ - $(use tinfo && usex unicode 'tinfow' '') \ - $(usev tinfo) - if ! tc-is-static-only ; then - ln -sf libncurses$(get_libname) "${ED}"/usr/$(get_libdir)/libcurses$(get_libname) || die - fi - use static-libs || find "${ED}"/usr/ -name '*.a' -a '!' -name '*curses++*.a' -delete - - # Build fails to create this ... - dosym ../share/terminfo /usr/$(get_libdir)/terminfo -} - -multilib_src_install_all() { -# if ! use berkdb ; then - # We need the basic terminfo files in /etc, bug #37026 - einfo "Installing basic terminfo files in /etc..." - for x in ansi console dumb linux rxvt rxvt-unicode screen sun vt{52,100,102,200,220} \ - xterm xterm-color xterm-xfree86 - do - local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null) - local basedir=$(basename $(dirname "${termfile}")) - - if [[ -n ${termfile} ]] ; then - dodir /etc/terminfo/${basedir} - mv ${termfile} "${ED}"/etc/terminfo/${basedir}/ - dosym ../../../../etc/terminfo/${basedir}/${x} \ - /usr/share/terminfo/${basedir}/${x} - fi - done -# fi - - echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" > "${T}"/50ncurses - doenvd "${T}"/50ncurses - - use minimal && rm -r "${ED}"/usr/share/terminfo* - # Because ncurses5-config --terminfo returns the directory we keep it - keepdir /usr/share/terminfo #245374 - - cd "${S}" - dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc - use doc && dohtml -r doc/html/ -} diff --git a/sys-libs/ncurses/ncurses-5.9-r5.ebuild b/sys-libs/ncurses/ncurses-5.9-r5.ebuild deleted file mode 100644 index 5603a42344..0000000000 --- a/sys-libs/ncurses/ncurses-5.9-r5.ebuild +++ /dev/null @@ -1,291 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI="5" - -inherit eutils flag-o-matic toolchain-funcs multilib-minimal libtool - -MY_PV=${PV:0:3} -PV_SNAP=${PV:4} -MY_P=${PN}-${MY_PV} -DESCRIPTION="console display library" -HOMEPAGE="http://www.gnu.org/software/ncurses/ http://dickey.his.com/ncurses/" -SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz" - -HOSTLTV="0.1.0" -HOSTLT="host-libtool-${HOSTLTV}" -HOSTLT_URI="http://github.com/haubi/host-libtool/releases/download/v${HOSTLTV}/${HOSTLT}.tar.gz" -SRC_URI="${SRC_URI} - kernel_AIX? ( ${HOSTLT_URI} ) - kernel_HPUX? ( ${HOSTLT_URI} ) -" - -LICENSE="MIT" -# The subslot reflects the SONAME. -SLOT="0/5" -KEYWORDS="~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="ada +cxx debug doc gpm minimal profile static-libs tinfo trace unicode" - -DEPEND="gpm? ( sys-libs/gpm )" -# berkdb? ( sys-libs/db )" -RDEPEND="${DEPEND} - !<=sys-libs/ncurses-5.9-r4:5 - !<x11-terms/rxvt-unicode-9.06-r3 - abi_x86_32? ( - !<=app-emulation/emul-linux-x86-baselibs-20130224-r12 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] - )" -# Put the MULTILIB_USEDEP on gpm in PDEPEND only to avoid circular deps. -# We can move it to DEPEND and drop the --with-gpm=libgpm.so.1 from the econf -# line below once we can assume multilib gpm is available everywhere. -PDEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )" - -S=${WORKDIR}/${MY_P} -HOSTTIC_DIR=${WORKDIR}/${P}-host - -need-libtool() { - # need libtool to build aix-style shared objects inside archive libs, but - # cannot depend on libtool, as this would create circular dependencies... - # And libtool-1.5.26 needs (a similar) patch for AIX (DESTDIR) as found in - # http://lists.gnu.org/archive/html/bug-libtool/2008-03/msg00124.html - # Use libtool on hpux too to get some soname. - [[ ${CHOST} == *'-aix'* || ${CHOST} == *'-hpux'* ]] -} - -src_prepare() { - [[ -n ${PV_SNAP} ]] && epatch "${WORKDIR}"/${MY_P}-${PV_SNAP}-patch.sh - epatch "${FILESDIR}"/${PN}-5.8-gfbsd.patch - epatch "${FILESDIR}"/${PN}-5.7-nongnu.patch - epatch "${FILESDIR}"/${PN}-5.9-rxvt-unicode-9.15.patch #192083 #383871 - epatch "${FILESDIR}"/${PN}-5.9-fix-clang-build.patch #417763 - epatch "${FILESDIR}"/${PN}-5.9-pkg-config.patch - epatch "${FILESDIR}"/${P}-no-I-usr-include.patch #522586 - epatch "${FILESDIR}"/${P}-gcc-5.patch #545114 - - # /bin/sh is not always good enough - find . -name "*.sh" | xargs sed -i -e '1c\#!/usr/bin/env sh' - - if need-libtool; then - S="${WORKDIR}"/${HOSTLT} elibtoolize - - # Don't need local libraries (-L../lib) for libncurses, - # ends up as insecure runpath in libncurses.so[shr.o] on AIX - sed -i -e '/^SHLIB_LIST[ \t]*=/s/\$(SHLIB_DIRS)//' ncurses/Makefile.in || die - fi - - # Don't mess with _XOPEN_SOURCE for C++ on (Open)Solaris. The compiler - # defines a value for it, and depending on version, a different definition - # is used. Defining this variable on these systems is dangerous any time, - # since the system headers do strict checks on compatibility of flags and - # standards. - # Defining _XOPEN_SOURCE_EXTENDED together with _XOPEN_SOURCE leads to - # pre-_XOPEN_SOURCE=500 stuff, so only do it for non-C++ code. - # See also bug #431352 - if [[ ${CHOST} == *-solaris* ]] ; then - sed -i \ - -e '/-D__EXTENSIONS__/ s/-D_XOPEN_SOURCE=\$cf_XOPEN_SOURCE//' \ - -e '/CPPFLAGS="$CPPFLAGS/s/ -D_XOPEN_SOURCE_EXTENDED//' \ - configure || die - # ONLY in C-mode, NOT C++ - append-cflags -D_XOPEN_SOURCE_EXTENDED - fi -} - -src_configure() { - if need-libtool; then - cd "${WORKDIR}"/${HOSTLT} || die - econf - export PATH="${WORKDIR}"/${HOSTLT}:${PATH} - cd "${S}" || die - fi - - unset TERMINFO #115036 - tc-export_build_env BUILD_{CC,CPP} - BUILD_CPPFLAGS+=" -D_GNU_SOURCE" #214642 - - # when cross-compiling, we need to build up our own tic - # because people often don't keep matching host/target - # ncurses versions #249363 - if tc-is-cross-compiler && ! ROOT=/ has_version ~sys-libs/${P} ; then - CHOST=${CBUILD} \ - CFLAGS=${BUILD_CFLAGS} \ - CXXFLAGS=${BUILD_CXXFLAGS} \ - CPPFLAGS=${BUILD_CPPFLAGS} \ - LDFLAGS="${BUILD_LDFLAGS} -static" \ - BUILD_DIR="${HOSTTIC_DIR}" do_configure cross --without-shared --with-normal - fi - multilib-minimal_src_configure -} - -multilib_src_configure() { - do_configure narrowc --includedir="${EPREFIX}"/usr/include - use unicode && do_configure widec --enable-widec --includedir="${EPREFIX}"/usr/include/ncursesw -} - -do_configure() { - ECONF_SOURCE=${S} - - mkdir "${BUILD_DIR}"-$1 - cd "${BUILD_DIR}"-$1 || die - shift - - local conf=( - # We need the basic terminfo files in /etc, bug #37026. We will - # add '--with-terminfo-dirs' and then populate /etc/terminfo in - # src_install() ... - --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo" - - # Disabled until #245417 is sorted out. - #$(use_with berkdb hashed-db) - - # ncurses is dumb and doesn't install .pc files unless pkg-config - # is also installed. Force the tests to go our way. Note that it - # doesn't actually use pkg-config ... it just looks for set vars. - --enable-pc-files - --with-pkg-config="$(tc-getPKG_CONFIG)" - # This path is used to control where the .pc files are installed. - PKG_CONFIG_LIBDIR="${EPREFIX}/usr/$(get_libdir)/pkgconfig" - - # Now the rest of the various standard flags. - --$( - if need-libtool ; then - echo with-libtool - elif tc-is-static-only ; then - echo without-shared - else - echo with-shared - fi - ) - --without-hashed-db - $(use_with ada) - $(use_with cxx) - $(use_with cxx cxx-binding) - $(use_with debug) - $(use_with profile) - $(use_with gpm) - $(multilib_is_native_abi || use_with gpm gpm libgpm.so.1) - --disable-termcap - --enable-symlinks - --with-rcs-ids - --with-manpage-format=normal - --enable-const - --enable-colorfgbg - --enable-echo - $(use_enable !ada warnings) - $(use_with debug assertions) - $(use_enable !debug leaks) - $(use_with debug expanded) - $(use_with !debug macros) - $(use_with trace) - $(use_with tinfo termlib) - - # The chtype/mmask-t settings below are to retain ABI compat - # with ncurses-5.4 so dont change em ! - --with-chtype=long - --with-mmask-t=long - --disable-ext-colors - --disable-ext-mouse - --without-pthread - --without-reentrant - ) - - # Force bash until upstream rebuilds the configure script with a newer - # version of autotools. #545532 - CONFIG_SHELL="${BASH}" econf "${conf[@]}" "$@" -} - -src_compile() { - # when cross-compiling, we need to build up our own tic - # because people often don't keep matching host/target - # ncurses versions #249363 - if tc-is-cross-compiler && ! ROOT=/ has_version ~sys-libs/${P} ; then - make_flags="-C progs tic" - BUILD_DIR="${HOSTTIC_DIR}" do_compile cross - fi - - multilib-minimal_src_compile -} - -multilib_src_compile() { - make_flags="" - multilib_is_native_abi || make_flags="PROGS= " - do_compile narrowc - use unicode && do_compile widec -} - -do_compile() { - cd "${BUILD_DIR}"-$1 || die - - # A little hack to fix parallel builds ... they break when - # generating sources so if we generate the sources first (in - # non-parallel), we can then build the rest of the package - # in parallel. This is not really a perf hit since the source - # generation is quite small. - emake -j1 sources - # For some reason, sources depends on pc-files which depends on - # compiled libraries which depends on sources which ... - # Manually delete the pc-files file so the install step will - # create the .pc files we want. - rm -f misc/pc-files - emake ${make_flags} -} - -multilib_src_install() { - # use the cross-compiled tic (if need be) #249363 - export PATH="${HOSTTIC_DIR}-cross/progs:${PATH}" - - # install unicode version second so that the binaries in /usr/bin - # support both wide and narrow - cd "${BUILD_DIR}"-narrowc || die - emake DESTDIR="${D}" install - if use unicode ; then - cd "${BUILD_DIR}"-widec || die - emake DESTDIR="${D}" install - fi - - # Move libncurses{,w} into /lib - multilib_is_native_abi && gen_usr_ldscript -a \ - ncurses \ - $(usex unicode 'ncursesw' '') \ - $(use tinfo && usex unicode 'tinfow' '') \ - $(usev tinfo) - if ! tc-is-static-only ; then - ln -sf libncurses$(get_libname) "${ED}"/usr/$(get_libdir)/libcurses$(get_libname) || die - fi - use static-libs || find "${ED}"/usr/ -name '*.a' -a '!' -name '*curses++*.a' -delete - - # Build fails to create this ... - dosym ../share/terminfo /usr/$(get_libdir)/terminfo -} - -multilib_src_install_all() { -# if ! use berkdb ; then - # We need the basic terminfo files in /etc, bug #37026 - einfo "Installing basic terminfo files in /etc..." - for x in ansi console dumb linux rxvt rxvt-unicode screen sun vt{52,100,102,200,220} \ - xterm xterm-color xterm-xfree86 - do - local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null) - local basedir=$(basename $(dirname "${termfile}")) - - if [[ -n ${termfile} ]] ; then - dodir /etc/terminfo/${basedir} - mv ${termfile} "${ED}"/etc/terminfo/${basedir}/ - dosym ../../../../etc/terminfo/${basedir}/${x} \ - /usr/share/terminfo/${basedir}/${x} - fi - done -# fi - - echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" > "${T}"/50ncurses - doenvd "${T}"/50ncurses - - use minimal && rm -r "${ED}"/usr/share/terminfo* - # Because ncurses5-config --terminfo returns the directory we keep it - keepdir /usr/share/terminfo #245374 - - cd "${S}" - dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc - use doc && dohtml -r doc/html/ -} diff --git a/sys-libs/ncurses/ncurses-5.9-r99.ebuild b/sys-libs/ncurses/ncurses-5.9-r99.ebuild deleted file mode 100644 index 7ca2f60bee..0000000000 --- a/sys-libs/ncurses/ncurses-5.9-r99.ebuild +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -# Bridge the old SLOT=5[/5] ebuild to the new SLOT=0/5 since the slotmove -# functionality does not handle implicit subslots correctly. #558856 - -EAPI="5" - -inherit multilib-build - -DESCRIPTION="transitional package" -HOMEPAGE="https://www.gnu.org/software/ncurses/ http://dickey.his.com/ncurses/" - -LICENSE="metapackage" -SLOT="5/5" -KEYWORDS="~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="ada +cxx gpm static-libs tinfo unicode" - -DEPEND="sys-libs/ncurses:0/5[ada?,cxx?,gpm?,static-libs?,tinfo?,unicode?,${MULTILIB_USEDEP}]" -RDEPEND="${DEPEND}" diff --git a/sys-libs/ncurses/ncurses-6.0-r1.ebuild b/sys-libs/ncurses/ncurses-6.0-r1.ebuild index d1da73e1f4..6795bf45fb 100644 --- a/sys-libs/ncurses/ncurses-6.0-r1.ebuild +++ b/sys-libs/ncurses/ncurses-6.0-r1.ebuild @@ -1,10 +1,9 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ EAPI="5" -inherit eutils flag-o-matic toolchain-funcs multilib-minimal multiprocessing +inherit eutils flag-o-matic toolchain-funcs multilib-minimal MY_PV=${PV:0:3} PV_SNAP=${PV:4} @@ -37,6 +36,7 @@ PATCHES=( "${FILESDIR}/${PN}-6.0-pkg-config.patch" "${FILESDIR}/${PN}-5.9-gcc-5.patch" #545114 "${FILESDIR}/${PN}-6.0-ticlib.patch" #557360 + "${FILESDIR}/${PN}-6.0-cppflags-cross.patch" #601426 ) src_prepare() { @@ -61,8 +61,6 @@ src_configure() { $(use unicode && usex threads 'ncursestw' '') ) - multijob_init - # When installing ncurses, we have to use a compatible version of tic. # This comes up when cross-compiling, doing multilib builds, upgrading, # or installing for the first time. Build a local copy of tic whenever @@ -71,12 +69,11 @@ src_configure() { local lbuildflags="-static" # some toolchains don't quite support static linking - local dbuildflags= + local dbuildflags="-Wl,-rpath,${WORKDIR}/lib" case ${CHOST} in - *-darwin*) ;; - *-aix*) ;; + *-darwin*) dbuildflags= ;; + *-aix*) dbuildflags= ;; *-solaris*) dbuildflags="-Wl,-R,${WORKDIR}/lib" ;; - *) dbuildflags="-Wl,-rpath,${WORKDIR}/lib" ;; esac echo "int main() {}" | \ $(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /dev/null \ @@ -89,16 +86,15 @@ src_configure() { CXXFLAGS=${BUILD_CXXFLAGS} \ CPPFLAGS=${BUILD_CPPFLAGS} \ LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \ - multijob_child_init do_configure cross --without-shared --with-normal + do_configure cross --without-shared --with-normal fi multilib-minimal_src_configure - multijob_finish } multilib_src_configure() { local t for t in "${NCURSES_TARGETS[@]}" ; do - multijob_child_init do_configure "${t}" + do_configure "${t}" done } @@ -195,7 +191,7 @@ src_compile() { # See comments in src_configure. if ! ROOT=/ has_version "~sys-libs/${P}:0" ; then BUILD_DIR="${WORKDIR}" \ - do_compile cross -C progs GET_PROGS= + do_compile cross -C progs tic fi multilib-minimal_src_compile diff --git a/sys-libs/ncurses/ncurses-6.0-r2.ebuild b/sys-libs/ncurses/ncurses-6.0-r2.ebuild new file mode 100644 index 0000000000..1281b6ceed --- /dev/null +++ b/sys-libs/ncurses/ncurses-6.0-r2.ebuild @@ -0,0 +1,290 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="5" + +inherit eutils flag-o-matic toolchain-funcs multilib-minimal + +MY_PV=${PV:0:3} +PV_SNAP=${PV:4} +MY_P=${PN}-${MY_PV} +DESCRIPTION="console display library" +HOMEPAGE="https://www.gnu.org/software/ncurses/ http://dickey.his.com/ncurses/" +SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz" + +LICENSE="MIT" +# The subslot reflects the SONAME. +SLOT="0/6" +KEYWORDS="~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="ada +cxx debug doc gpm minimal profile static-libs test threads tinfo trace unicode" + +DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )" +# berkdb? ( sys-libs/db )" +# Block the older ncurses that installed all files w/SLOT=5. #557472 +RDEPEND="${DEPEND} + !<=sys-libs/ncurses-5.9-r4:5 + !<x11-terms/rxvt-unicode-9.06-r3 + !<x11-terms/st-0.6-r1 + !app-emulation/emul-linux-x86-baselibs" + +S=${WORKDIR}/${MY_P} + +PATCHES=( + "${FILESDIR}/${PN}-6.0-gfbsd.patch" + "${FILESDIR}/${PN}-5.7-nongnu.patch" + "${FILESDIR}/${PN}-6.0-rxvt-unicode-9.15.patch" #192083 #383871 + "${FILESDIR}/${PN}-6.0-pkg-config.patch" + "${FILESDIR}/${PN}-5.9-gcc-5.patch" #545114 + "${FILESDIR}/${PN}-6.0-ticlib.patch" #557360 + "${FILESDIR}/${PN}-6.0-cppflags-cross.patch" #601426 +) + +src_prepare() { + [[ -n ${PV_SNAP} ]] && epatch "${WORKDIR}"/${MY_P}-${PV_SNAP}-patch.sh + epatch "${PATCHES[@]}" +} + +src_configure() { + unset TERMINFO #115036 + tc-export_build_env BUILD_{CC,CPP} + BUILD_CPPFLAGS+=" -D_GNU_SOURCE" #214642 + + # Build the various variants of ncurses -- narrow, wide, and threaded. #510440 + # Order matters here -- we want unicode/thread versions to come last so that the + # binaries in /usr/bin support both wide and narrow. + # The naming is also important as we use these directly with filenames and when + # checking configure flags. + NCURSES_TARGETS=( + ncurses + $(usex unicode 'ncursesw' '') + $(usex threads 'ncursest' '') + $(use unicode && usex threads 'ncursestw' '') + ) + + # When installing ncurses, we have to use a compatible version of tic. + # This comes up when cross-compiling, doing multilib builds, upgrading, + # or installing for the first time. Build a local copy of tic whenever + # the host version isn't available. #249363 #557598 + if ! ROOT=/ has_version "~sys-libs/${P}:0" ; then + local lbuildflags="-static" + + # some toolchains don't quite support static linking + local dbuildflags="-Wl,-rpath,${WORKDIR}/lib" + case ${CHOST} in + *-darwin*) dbuildflags= ;; + *-aix*) dbuildflags= ;; + *-solaris*) dbuildflags="-Wl,-R,${WORKDIR}/lib" ;; + esac + echo "int main() {}" | \ + $(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /dev/null \ + || lbuildflags="${dbuildflags}" + + # We can't re-use the multilib BUILD_DIR because we run outside of it. + BUILD_DIR="${WORKDIR}" \ + CHOST=${CBUILD} \ + CFLAGS=${BUILD_CFLAGS} \ + CXXFLAGS=${BUILD_CXXFLAGS} \ + CPPFLAGS=${BUILD_CPPFLAGS} \ + LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \ + do_configure cross --without-shared --with-normal + fi + multilib-minimal_src_configure +} + +multilib_src_configure() { + local t + for t in "${NCURSES_TARGETS[@]}" ; do + do_configure "${t}" + done +} + +do_configure() { + local target=$1 + shift + + mkdir "${BUILD_DIR}/${target}" + cd "${BUILD_DIR}/${target}" || die + + local conf=( + # We need the basic terminfo files in /etc, bug #37026. We will + # add '--with-terminfo-dirs' and then populate /etc/terminfo in + # src_install() ... + --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo" + # do not install in subdir (EPREFIX/usr/include/ncurses) + --enable-overwrite + + # Disabled until #245417 is sorted out. + #$(use_with berkdb hashed-db) + + # ncurses is dumb and doesn't install .pc files unless pkg-config + # is also installed. Force the tests to go our way. Note that it + # doesn't actually use pkg-config ... it just looks for set vars. + --enable-pc-files + --with-pkg-config="$(tc-getPKG_CONFIG)" + # This path is used to control where the .pc files are installed. + --with-pkg-config-libdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig" + + # Now the rest of the various standard flags. + --with-shared + --without-hashed-db + $(use_with ada) + $(use_with cxx) + $(use_with cxx cxx-binding) + --with-cxx-shared + $(use_with debug) + $(use_with profile) + # The configure script uses ldd to parse the linked output which + # is flaky for cross-compiling/multilib/ldd versions/etc... + $(use_with gpm gpm libgpm.so.1) + --disable-termcap + --enable-symlinks + --with-rcs-ids + --with-manpage-format=normal + --enable-const + --enable-colorfgbg + --enable-hard-tabs + --enable-echo + $(use_enable !ada warnings) + $(use_with debug assertions) + $(use_enable !debug leaks) + $(use_with debug expanded) + $(use_with !debug macros) + $(multilib_native_with progs) + $(use_with test tests) + $(use_with trace) + $(use_with tinfo termlib) + ) + + if [[ ${target} == ncurses*w ]] ; then + conf+=( --enable-widec ) + else + conf+=( --disable-widec ) + fi + if [[ ${target} == ncursest* ]] ; then + conf+=( --with-{pthread,reentrant} ) + else + conf+=( --without-{pthread,reentrant} ) + fi + # Make sure each variant goes in a unique location. + if [[ ${target} == "ncurses" ]] ; then + # "ncurses" variant goes into "${EPREFIX}"/usr/include + # It is needed on Prefix because the configure script appends + # "ncurses" to "${prefix}/include" if "${prefix}" is not /usr. + conf+=( --enable-overwrite ) + else + conf+=( --includedir="${EPREFIX}"/usr/include/${target} ) + fi + # See comments in src_configure. + if [[ ${target} != "cross" ]] ; then + local cross_path="${WORKDIR}/cross" + [[ -d ${cross_path} ]] && export TIC_PATH="${cross_path}/progs/tic" + fi + + # Force bash until upstream rebuilds the configure script with a newer + # version of autotools. #545532 + CONFIG_SHELL=${BASH} \ + ECONF_SOURCE=${S} \ + econf "${conf[@]}" "$@" +} + +src_compile() { + # See comments in src_configure. + if ! ROOT=/ has_version "~sys-libs/${P}:0" ; then + BUILD_DIR="${WORKDIR}" \ + do_compile cross -C progs tic + fi + + multilib-minimal_src_compile +} + +multilib_src_compile() { + local t + for t in "${NCURSES_TARGETS[@]}" ; do + do_compile "${t}" + done +} + +do_compile() { + local target=$1 + shift + + cd "${BUILD_DIR}/${target}" || die + + # A little hack to fix parallel builds ... they break when + # generating sources so if we generate the sources first (in + # non-parallel), we can then build the rest of the package + # in parallel. This is not really a perf hit since the source + # generation is quite small. + emake -j1 sources + # For some reason, sources depends on pc-files which depends on + # compiled libraries which depends on sources which ... + # Manually delete the pc-files file so the install step will + # create the .pc files we want. + rm -f misc/pc-files + emake "$@" +} + +multilib_src_install() { + local target + for target in "${NCURSES_TARGETS[@]}" ; do + emake -C "${BUILD_DIR}/${target}" DESTDIR="${D}" install + done + + # Move main libraries into /. + if multilib_is_native_abi ; then + gen_usr_ldscript -a \ + "${NCURSES_TARGETS[@]}" \ + $(use tinfo && usex unicode 'tinfow' '') \ + $(usev tinfo) + fi + if ! tc-is-static-only ; then + # Provide a link for -lcurses. + ln -sf libncurses$(get_libname) "${ED}"/usr/$(get_libdir)/libcurses$(get_libname) || die + fi + use static-libs || find "${ED}"/usr/ -name '*.a' -not -name "*$(get_libname)" -delete + + # Build fails to create this ... + dosym ../share/terminfo /usr/$(get_libdir)/terminfo +} + +multilib_src_install_all() { +# if ! use berkdb ; then + # We need the basic terminfo files in /etc, bug #37026 + einfo "Installing basic terminfo files in /etc..." + local x + for x in ansi console dumb linux rxvt rxvt-unicode screen{,-256color} vt{52,100,102,200,220} \ + xterm xterm-{,256}color + do + local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null) + local basedir=$(basename $(dirname "${termfile}")) + + if [[ -n ${termfile} ]] ; then + dodir /etc/terminfo/${basedir} + mv ${termfile} "${ED}"/etc/terminfo/${basedir}/ + dosym ../../../../etc/terminfo/${basedir}/${x} \ + /usr/share/terminfo/${basedir}/${x} + fi + done +# fi + + echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" > "${T}"/50ncurses + doenvd "${T}"/50ncurses + + use minimal && rm -r "${ED}"/usr/share/terminfo* + # Because ncurses5-config --terminfo returns the directory we keep it + keepdir /usr/share/terminfo #245374 + + cd "${S}" + dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc + use doc && dohtml -r doc/html/ +} + +pkg_preinst() { + preserve_old_lib /$(get_libdir)/libncurses.so.5 + use unicode && preserve_old_lib /$(get_libdir)/libncursesw.so.5 +} + +pkg_postinst() { + preserve_old_lib_notify /$(get_libdir)/libncurses.so.5 + use unicode && preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5 +} diff --git a/sys-libs/ncurses/ncurses-6.0.ebuild b/sys-libs/ncurses/ncurses-6.0.ebuild deleted file mode 100644 index 902a661c6b..0000000000 --- a/sys-libs/ncurses/ncurses-6.0.ebuild +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -# Bridge the old SLOT=5[/6] ebuild to the new SLOT=0/6 since the slotmove -# functionality does not handle implicit subslots correctly. #558856 - -EAPI="5" - -inherit multilib-build - -DESCRIPTION="transitional package" -HOMEPAGE="https://www.gnu.org/software/ncurses/ http://dickey.his.com/ncurses/" - -LICENSE="metapackage" -SLOT="5/6" -KEYWORDS="~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="ada +cxx gpm static-libs tinfo unicode" - -DEPEND="sys-libs/ncurses:0/6[ada?,cxx?,gpm?,static-libs?,tinfo?,unicode?,${MULTILIB_USEDEP}]" -RDEPEND="${DEPEND}" |