summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2018-01-05 08:29:17 +0100
committerFabian Groffen <grobian@gentoo.org>2018-01-05 08:29:17 +0100
commitc14cea6ca91442591b6ba6ff167adaab574819cb (patch)
tree7ee9c49856cd796558413c18379078d9c481d66a /sys-libs
parentdev-libs/openssl: add patch for FreeMiNT by Alan Hourihane (diff)
downloadprefix-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
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/ncurses/files/ncurses-6.0-cppflags-cross.patch35
-rw-r--r--sys-libs/ncurses/ncurses-5.9-r101.ebuild12
-rw-r--r--sys-libs/ncurses/ncurses-5.9-r4.ebuild288
-rw-r--r--sys-libs/ncurses/ncurses-5.9-r5.ebuild291
-rw-r--r--sys-libs/ncurses/ncurses-5.9-r99.ebuild21
-rw-r--r--sys-libs/ncurses/ncurses-6.0-r1.ebuild22
-rw-r--r--sys-libs/ncurses/ncurses-6.0-r2.ebuild290
-rw-r--r--sys-libs/ncurses/ncurses-6.0.ebuild21
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}"