diff options
author | 2015-03-31 04:53:04 +0000 | |
---|---|---|
committer | 2015-03-31 04:53:04 +0000 | |
commit | f98c4227a929978a49ff4772324dcd25845ba9f7 (patch) | |
tree | 5166ed659b398c2eaa3a18b6c9cc2e6fb033ea8c /sys-libs | |
parent | old (diff) | |
download | historical-f98c4227a929978a49ff4772324dcd25845ba9f7.tar.gz historical-f98c4227a929978a49ff4772324dcd25845ba9f7.tar.bz2 historical-f98c4227a929978a49ff4772324dcd25845ba9f7.zip |
Fix the inverted leak flag #329537#5 by Arthur Taylor. Fix from upstream for building with -I/usr/include/ncursesw #522586 by Joakim Tjernlund.
Package-Manager: portage-2.2.18/cvs/Linux x86_64
Manifest-Sign-Key: 0xD2E96200
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/ncurses/ChangeLog | 11 | ||||
-rw-r--r-- | sys-libs/ncurses/Manifest | 24 | ||||
-rw-r--r-- | sys-libs/ncurses/files/ncurses-5.9-no-I-usr-include.patch | 45 | ||||
-rw-r--r-- | sys-libs/ncurses/ncurses-5.9-r4.ebuild | 225 |
4 files changed, 302 insertions, 3 deletions
diff --git a/sys-libs/ncurses/ChangeLog b/sys-libs/ncurses/ChangeLog index 462e2801fa87..38aa2cd63c10 100644 --- a/sys-libs/ncurses/ChangeLog +++ b/sys-libs/ncurses/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-libs/ncurses -# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/ncurses/ChangeLog,v 1.231 2014/11/06 19:30:09 mrueg Exp $ +# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/ncurses/ChangeLog,v 1.232 2015/03/31 04:53:02 vapier Exp $ + +*ncurses-5.9-r4 (31 Mar 2015) + + 31 Mar 2015; Mike Frysinger <vapier@gentoo.org> + +files/ncurses-5.9-no-I-usr-include.patch, +ncurses-5.9-r4.ebuild: + Fix the inverted leak flag #329537#5 by Arthur Taylor. Fix from upstream for + building with -I/usr/include/ncursesw #522586 by Joakim Tjernlund. 06 Nov 2014; Manuel Rüger <mrueg@gentoo.org> -files/ncurses-5.6-build.patch, -files/ncurses-5.6-gfbsd.patch, -files/ncurses-5.7-emacs.patch, diff --git a/sys-libs/ncurses/Manifest b/sys-libs/ncurses/Manifest index a1a49bb52047..452fe5f39632 100644 --- a/sys-libs/ncurses/Manifest +++ b/sys-libs/ncurses/Manifest @@ -1,9 +1,31 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + AUX ncurses-5.7-nongnu.patch 361 SHA256 7efcf3daf57d73e348bea1ea7ee77071aef5338631958fd0db595a011570cec4 SHA512 818a3ac1c68c1a11f23471195a32793c5546c5b37a724989cc58f3fad50fd3c8608762efc5d72e986f3c77ccdfbb72f27224f64ef415a96d71924a9f1d3b1b5f WHIRLPOOL a93e22415092ab51f769e42586813c8fed5b502e1dd86d09844f524876ac025ca81399dde483478087bb6241214f85c29a27f8b4ccadc2aec37be99dc7d6da1b AUX ncurses-5.8-gfbsd.patch 695 SHA256 68c405dcd1b2bbad1d4880d906ba9e02ad62691c63edfb363ad767ee01079e82 SHA512 d4c375107415b7eaf5f8e04b697ef16998855b5f1d745766a14a7e9523d12b24d0841e6559217eccf62535f54e0d240eabaa3da1571964f1bb150b0c0cd102a2 WHIRLPOOL 6c2f865bc22a3932f6f973f7b53c5a50254505c4944c656af95c2399933c31acc5d5536d59fe9fe7c59ef537ce0d39ca19c9d0558e4aaacb7122749a575cadac AUX ncurses-5.9-fix-clang-build.patch 1291 SHA256 0ffec4dbc7dc4a2356460c2a001b6ffbd8b060ae0afbdf3551a13575c20830d0 SHA512 d911441e2e2e2a752236f1eee42955b43ffabe37e47c337a86562c3708aca1fc2650ce77fe5aa6197eb8e9a67958a4b4db8f4344d22fe15868e25b933b175bb1 WHIRLPOOL d5d363f6d7cdcc350b195066c8183609bd9351a48603acdae2f374af13afb23a7bd05cbac86b13d2162daf5bd895eb5acce4769fce2f0b4b8da2896e00d1f846 +AUX ncurses-5.9-no-I-usr-include.patch 1431 SHA256 496e5dea489d60078344df651c3c2ea06d3dd083d83add0df60dde9104197154 SHA512 a58aec17e4c2edb3f8ed3f414ec6a89afe9f5fcc7cea898774a1fd7e7e892f9b66b1c2bdc74381dd5e8c9cf6968ad922406974f9ece8b38095b29e32d3ff0805 WHIRLPOOL d390ee0439f89dacaa9b5ea5402fc4e6bcf3d48b4bc77c93ff882fcd93f611f99ebd0ae4ce91eea1bec83b4d0191e0ead3361447448a84fc59496e6295116042 AUX ncurses-5.9-pkg-config.patch 1022 SHA256 8b32d53c4a94eeb78f39c29b1e66813bdb2fd5225f96ab7c26950f96679b58fb SHA512 a5578a4a6c2a334a77084da21d61d4a9edd7b82f027d7f54ed7be194ace5076fe86dc51ada916388feeb970255bf3bfbb09cd33072b1ef21de0dbaa5ee45fdf6 WHIRLPOOL 9056961c1b617ca3286cc4c528a5b5da821a5472da105d82b56c925034454a600e818265627d2f17dbad5184ecf78ea4d14807838bed789ca01a85f39755b656 AUX ncurses-5.9-rxvt-unicode-9.15.patch 3804 SHA256 ae684be42600ac3bbbf6e7be61e085524f65d86c20da8c453b10c27516e30b27 SHA512 82c0a9600f6ca8f36bbdce6f11a96906983fc9efd6b5f1e17134e12283e29b16d04f5e66c10edbcb7087cc4cb8fc23ddd065f9b6c8b0bf72ca684b68383e5131 WHIRLPOOL 1e2fe441d97671b84f49388555c351b235a93704fb7fcf13c14343db569cc91f21d75b60eb635c4c1c3ad18778bcb50e5aa63d25583224ed644edff35356dd2c DIST ncurses-5.9.tar.gz 2826473 SHA256 9046298fb440324c9d4135ecea7879ffed8546dd1b58e59430ea07a4633f563b SHA512 d7c5e54b6d4d8b9211f0006ca8786f7609d180cc1aaebf4f25e7e35e12959779cf66447359a602daed625621ca32b0d910d67aef3eb8b6fdc3c373819a88faa1 WHIRLPOOL 069e98c6392ce9aca960c72a20f1a502387d33a4b237aaeaa95548024ce4d47b129eafbe0288d21c590e725fe71aaca21cacb300f11a660b7234cb39a777672a EBUILD ncurses-5.9-r3.ebuild 7079 SHA256 6469e2e8827f6b56e9eec89c4eeb8c27c05896458b3cb5d2e8c0178c4502362f SHA512 7881efb51872705471ba07c9a3b67c1bc2ecec34e54aaa197ee85486a638887a5f64961f824ac4c1cf9da1a18b89ccad6b99d01dd7e213acc135ddb265bec565 WHIRLPOOL 10d50400d41f67c2d8aad059553b7b6f1fc43ec97faa6fbe12d7f9d1b3002fdc466cf2fea84f523a3b70d25c771a02bfb784f93b306c4ca22d5188befbae5089 -MISC ChangeLog 33592 SHA256 aabbcb4927e6474bf72a15a47b2dd4744566046985b4144fa267e3aed958f206 SHA512 f0983eb0486103c40e5dfd350eaaf10a3313855b816bfc61d7015cc51de8d0c4423a61776cb0cdb4780a905de4dbd743adaae97b1e3d172ce688fcd3c82dd745 WHIRLPOOL da98581841d7696527ab21e2a8be1372603fbb589f5c9874cbf3f175baa72d67a2e1d98fd0cd1d5b55511285e53a7e11e0bfd0bbaf9c2ee244e09ec94dead453 +EBUILD ncurses-5.9-r4.ebuild 7148 SHA256 da41ff54909ad719740508bf4fb0efc61cff6ac74d281c7a74a84f3cfed26fe9 SHA512 0519fe87c4fd23ce27f480099a3b41e57b5b3d8a88aa7aef5b1da0bf75ac5910f6bbb4d736bc24c44cddc90344fcd014aae381d2af0c0c8f998affc15350ffcb WHIRLPOOL 42204c64ab87e492fc406606c02fa46af0e902312477ef05c041e13e4c9283a55ad8753510f61fd272da7b4f37e20f3a79fa0cec1e3227de1ded90844bf51a8b +MISC ChangeLog 33893 SHA256 30bb6ce04962ab99be32a06a31bc20c3d7ac1b6e26b287ee2416ba1ed251c368 SHA512 5756718f9ebd493ba2363844b20974b13cb660760bcd955c676f89ee7aae60315f2e9a5cd32073214f17e63e5b5c39e010d1b8756138799dbf0db1b0fbe65967 WHIRLPOOL 045d0df389982b8bd5c5e9d1f3a4b4343714f9fd328c9277e00eef09138624d9f539dc602eb935face835c3327ef0fdc7dbcd31c6a6864650a6c6949d0d9f4b6 MISC metadata.xml 530 SHA256 3a0f1bf7ab8ec067416e6535c3270113b53716b12aac504a581acf5b27f8114f SHA512 27d968272c8d184804d9764bb2ec8fb86eb5826bfe14e7f445c7c5f0b89cc7fe4271546a6994d830cb1270fa93f187ded1c96b4f4f1fe1b5c417c78a2082dfd3 WHIRLPOOL 54ff921a2a89b19d6d75830033b7d18c0f7643af248bea029b1a7ebe201eded0eff54dde04858be08903cb6607e7cbcb8ca100712d4992324dbb757184150d44 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2 + +iQIcBAEBCAAGBQJVGigxAAoJEPGu1DbS6WIAQw0QAIayPwTEnTmrjjHsfgxNXLPb +ZcJHpgy+VuMAGOpipdSPSMjiEDw2/fQIrSliTxYn9rc3plTcvJbrlaoK4Bb+aPeh +p395PX0vVt6BBj6oliwlsTCzdyj2+2lIwqwgIubj/Erf33KzxAqRhWat9yv4haub +MX8QIWbBL89Sx1RQJmYqD4coEI4uv9PaGpZ1o6BDYpxPPmhjF+gz2UgN7WlrEeiA +NHt7RILj4qJxIBvhbFje+Z0JzJY+a1pDQiEOe5fVwN69VxjBm97zFKvXKLRyXj3O +lzRWN5FroczIdCqbCg6RDjuWigSRV07yl4XaONKcKxyZ8tJSAWlTADdWKkF8eQ5c +ysO4IuMWqJ6aAZm2Ny7likscfOZ5jKfoBne2jC+DXpjZHe42sM5uiFrgPd+gISXW +QWpTL/Qhfnj2l53F/BXgcSOwKJeKebkGXoszxQJ+I9JZWOoYPrbKlQva0+hF6iFN +uCgWEI/WWvhPPagntBGDikEQcZ+mnHE6IwqLndpgLijzC7maidS9PlDk7LJglLAp +1gT270Aa0lcLrsfUYJTgYds/uOIFXQh00LcgbZW8cPnIaGe2fRENr3aBvitcp+oz +jq2DkKz0LcUbTSPSvR4vLtcTXSKUftB0CZcfr9qJvNjXrkzbFj7k1gPX3qrLOdaM +qe9ySJk/1UWymu8Gd15Q +=/dY1 +-----END PGP SIGNATURE----- diff --git a/sys-libs/ncurses/files/ncurses-5.9-no-I-usr-include.patch b/sys-libs/ncurses/files/ncurses-5.9-no-I-usr-include.patch new file mode 100644 index 000000000000..5c968e76c378 --- /dev/null +++ b/sys-libs/ncurses/files/ncurses-5.9-no-I-usr-include.patch @@ -0,0 +1,45 @@ +https://bugs.gentoo.org/522586 + +delete the -I$includedir paths that get added to CPPFLAGS. these are never +needed when building natively or cross-compiling and really get in the way +in both cases (upgrades/cross-compiling/etc...). + +extracted from the upstream change: +http://ncurses.scripts.mit.edu/?p=ncurses.git;a=commitdiff;h=9ee3995474454b7d956885e0fe5c8cac2ae25d42#patch5 + +--- a/configure ++++ b/configure +@@ -18596,33 +18596,11 @@ CPPFLAGS="$CPPFLAGS -I. -I../include" + if test "$srcdir" != "."; then + CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include" + fi +-if test "$GCC" != yes; then +- CPPFLAGS="$CPPFLAGS -I\${includedir}" +-elif test "$includedir" != "/usr/include"; then +- if test "$includedir" = '${prefix}/include' ; then +- if test $prefix != /usr ; then +- CPPFLAGS="$CPPFLAGS -I\${includedir}" +- fi +- else +- CPPFLAGS="$CPPFLAGS -I\${includedir}" +- fi +-fi + + ACPPFLAGS="-I. -I../include -I../../include $ACPPFLAGS" + if test "$srcdir" != "."; then + ACPPFLAGS="-I\${srcdir}/../../include $ACPPFLAGS" + fi +-if test "$GCC" != yes; then +- ACPPFLAGS="$ACPPFLAGS -I\${includedir}" +-elif test "$includedir" != "/usr/include"; then +- if test "$includedir" = '${prefix}/include' ; then +- if test $prefix != /usr ; then +- ACPPFLAGS="$ACPPFLAGS -I\${includedir}" +- fi +- else +- ACPPFLAGS="$ACPPFLAGS -I\${includedir}" +- fi +-fi + + ### Build up pieces for makefile rules + echo "$as_me:18628: checking default library suffix" >&5 diff --git a/sys-libs/ncurses/ncurses-5.9-r4.ebuild b/sys-libs/ncurses/ncurses-5.9-r4.ebuild new file mode 100644 index 000000000000..f86fc3bcf6da --- /dev/null +++ b/sys-libs/ncurses/ncurses-5.9-r4.ebuild @@ -0,0 +1,225 @@ +# Copyright 1999-2015 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.1 2015/03/31 04:53:02 vapier Exp $ + +EAPI="4" +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="http://www.gnu.org/software/ncurses/ http://dickey.his.com/ncurses/" +SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz" + +LICENSE="MIT" +SLOT="5" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" +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 + +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 +} + +src_configure() { + 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 + 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. + --with-shared + --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 + ) + + 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/ +} |