diff options
author | Mike Frysinger <vapier@gentoo.org> | 2009-10-11 07:30:29 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2009-10-11 07:30:29 +0000 |
commit | 82af2b564dd0460e3d81e635709ebeae8fbdc2d6 (patch) | |
tree | 00da213dd400b64f91ec454f04f3b240d776b018 /sys-libs/ncurses | |
parent | version bump (diff) | |
download | historical-82af2b564dd0460e3d81e635709ebeae8fbdc2d6.tar.gz historical-82af2b564dd0460e3d81e635709ebeae8fbdc2d6.tar.bz2 historical-82af2b564dd0460e3d81e635709ebeae8fbdc2d6.zip |
Add fix from upstream for db issues #245370 by Graham Murray. Fix cross-compiling hang with tic and older ncurses #249363.
Package-Manager: portage-2.2_rc42/cvs/Linux x86_64
Diffstat (limited to 'sys-libs/ncurses')
-rw-r--r-- | sys-libs/ncurses/ChangeLog | 9 | ||||
-rw-r--r-- | sys-libs/ncurses/Manifest | 10 | ||||
-rw-r--r-- | sys-libs/ncurses/files/ncurses-5.7-hashdb-open.patch | 88 | ||||
-rw-r--r-- | sys-libs/ncurses/ncurses-5.7-r2.ebuild | 169 |
4 files changed, 271 insertions, 5 deletions
diff --git a/sys-libs/ncurses/ChangeLog b/sys-libs/ncurses/ChangeLog index d3d29ed96559..8fbcdd462235 100644 --- a/sys-libs/ncurses/ChangeLog +++ b/sys-libs/ncurses/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-libs/ncurses # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/ncurses/ChangeLog,v 1.164 2009/10/11 05:38:15 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/ncurses/ChangeLog,v 1.165 2009/10/11 07:30:28 vapier Exp $ + +*ncurses-5.7-r2 (11 Oct 2009) + + 11 Oct 2009; Mike Frysinger <vapier@gentoo.org> +ncurses-5.7-r2.ebuild, + +files/ncurses-5.7-hashdb-open.patch: + Add fix from upstream for db issues #245370 by Graham Murray. Fix + cross-compiling hang with tic and older ncurses #249363. 11 Oct 2009; Mike Frysinger <vapier@gentoo.org> ncurses-5.6-r2.ebuild: Force gawk #259510 by Linubie. diff --git a/sys-libs/ncurses/Manifest b/sys-libs/ncurses/Manifest index ee7b6bc67f0c..892e7fcca771 100644 --- a/sys-libs/ncurses/Manifest +++ b/sys-libs/ncurses/Manifest @@ -4,18 +4,20 @@ Hash: SHA1 AUX ncurses-5.6-build.patch 265 RMD160 9958f375f7b305f1b8d52b27d9da746be9175263 SHA1 16990ca2cef127711074d70f9d40d256458969e9 SHA256 51cc2319ad1f854500d76ec978897f6af92d31cebb7f454c1fd649568ad4a251 AUX ncurses-5.6-gfbsd.patch 817 RMD160 2d5a96174730a93320e391cb057880df4996854e SHA1 b6798815c44059a00a2bcd4f9f28bbf74dfc0e2d SHA256 d9e94c5068a22d32f52c5db6aadc3793af11bb0c08b006e375921726931e0065 AUX ncurses-5.7-emacs.patch 1934 RMD160 07b7cdb8f0975441e9823959533285f35f31e35c SHA1 c6e4259c455e83e0c166cf89d8c7d23ee77effde SHA256 daf300b7ba0bef6fc685b63f657dc4d864b53da77454129783d767522f1374b0 +AUX ncurses-5.7-hashdb-open.patch 1893 RMD160 4dbe84dc24cd727f17ff591b73b96bc4322bcf1f SHA1 585f0a2512f2ada00ee364b3336e521234c46083 SHA256 f9ab706816b270e06629ace613fcffb8ad78532075dc7ae52e27c77071b2aa66 AUX ncurses-5.7-nongnu.patch 490 RMD160 fc755ed90de37c6492c346c4630d0fd92f720c45 SHA1 1e843d97e0f2640f6eeb2a874ad019e61aa06328 SHA256 d6fbf11c63aa872bf9553f832c8071a161b2c7bc106f0f76c4471b01025c9422 DIST ncurses-5.6-coverity.patch.gz 6196 RMD160 b11682ae9e043be8d6c50f040d8531f80fc26ce8 SHA1 fee27bdd55c1c316248643e168865b55235d79c7 SHA256 3deeef017c739116c17574e7fd235b1b05053f5c50c7bfeeee2e3f8e4332380e DIST ncurses-5.6.tar.gz 2402592 RMD160 1a878819c43e6426500fd74ccedf0a032ef399d8 SHA1 4d54d8ad0b90fffa2780a0a45edb6fcb027ef18d SHA256 f9cac2b31683a37d65bc37119599752198a0691e462d0d1a252cf9815f5724d5 DIST ncurses-5.7.tar.gz 2445052 RMD160 a19ca026d32255f5a4d22eb006d65182041e0234 SHA1 8233ee56ed84ae05421e4e6d6db6c1fe72ee6797 SHA256 0a9bdea5c7de8ded5c9327ed642915f2cc380753f12d4ad120ef7da3ea3498f4 EBUILD ncurses-5.6-r2.ebuild 4746 RMD160 2d0c4b141d8bc51c7bbe0745817e2d5b4b51147b SHA1 ed1e10beb9f436b298b9f59e6b0b7fdfd3ae144c SHA256 57d0c3a8058ddbb1bbed9d3d65be56b7947aa1e3459fe847de3cce456fa7a61e EBUILD ncurses-5.7-r1.ebuild 4511 RMD160 337ebf710ea03791b4a13aa52615cd03ccf9c7b4 SHA1 4c4e091d14dd481011d7911c1e5ec6bb41d33848 SHA256 8e771b299a6b87e6fb8597fcf3756b5890aeb92d002f18fe9eafd04b0f9ed40b -MISC ChangeLog 23889 RMD160 fa1432f5526fa93c412d0407269a58eed40fafde SHA1 0290695c73cc26c4cd92d1e7fdd559663d734272 SHA256 95b0a6a642e111ac0d9553861f4735180f11497301a47746aaad0f1b6b4c2b89 +EBUILD ncurses-5.7-r2.ebuild 5090 RMD160 f53727b590b388731b4dd537e5f59518e9813f9e SHA1 b6f71906cb2826efaa01798e33f8b0843d2bcd88 SHA256 ebc3ab1232246f541835f061185a7a104fd4944260895afe3a04b2b7928f1b5e +MISC ChangeLog 24162 RMD160 9fed28d97358969c01287bde2d6b8e4e07440692 SHA1 91fecacfeb400b8e207fb8cd41e82f82e36577c3 SHA256 0867c1b052d49ac4ad0be20bb00705af274455b24cea00f848468f59977f4a16 MISC metadata.xml 320 RMD160 cd60b146f09101932293157c33ac98f273c92783 SHA1 47c720e1ec7ce4a1c4de36edeac9cfd10004bbae SHA256 906f778ea6ad65cad63404d3bd4126d32dcaef8fa0dd81d0108fd20630594779 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) -iEYEARECAAYFAkrRb00ACgkQlPl3HsVfCDoBHwCcDI2ryKzv4wnzY0e8dhPahCVJ -/lMAn0aMY/JX9sRRyqyNE6HT4ykbhzX+ -=00qC +iEYEARECAAYFAkrRiZoACgkQlPl3HsVfCDrQoQCdGaAzkRwdxaEpVdPVoQlqC0MZ +aiAAnjAyc0aQOFTV7g54AiGsmcsmClJf +=4nu2 -----END PGP SIGNATURE----- diff --git a/sys-libs/ncurses/files/ncurses-5.7-hashdb-open.patch b/sys-libs/ncurses/files/ncurses-5.7-hashdb-open.patch new file mode 100644 index 000000000000..d2575fd45cce --- /dev/null +++ b/sys-libs/ncurses/files/ncurses-5.7-hashdb-open.patch @@ -0,0 +1,88 @@ +http://bugs.gentoo.org/245370 + +ripped from ncurses-5.7-20081213.patch + +20081213 + + add check for failure to open hashed-database needed for db4.6 + (GenToo #245370). + +--- ncurses-5.7-20081206+/ncurses/tinfo/hashed_db.c 2006-08-19 19:48:38.000000000 +0000 ++++ ncurses-5.7-20081213/ncurses/tinfo/hashed_db.c 2008-12-13 20:59:02.000000000 +0000 +@@ -49,27 +49,30 @@ + _nc_db_open(const char *path, bool modify) + { + DB *result = 0; ++ int code; + + #if HASHED_DB_API >= 4 + db_create(&result, NULL, 0); +- result->open(result, +- NULL, +- path, +- NULL, +- DB_HASH, +- modify ? DB_CREATE : DB_RDONLY, +- 0644); ++ if ((code = result->open(result, ++ NULL, ++ path, ++ NULL, ++ DB_HASH, ++ modify ? DB_CREATE : DB_RDONLY, ++ 0644)) != 0) { ++ result = 0; ++ } + #elif HASHED_DB_API >= 3 + db_create(&result, NULL, 0); +- result->open(result, +- path, +- NULL, +- DB_HASH, +- modify ? DB_CREATE : DB_RDONLY, +- 0644); ++ if ((code = result->open(result, ++ path, ++ NULL, ++ DB_HASH, ++ modify ? DB_CREATE : DB_RDONLY, ++ 0644)) != 0) { ++ result = 0; ++ } + #elif HASHED_DB_API >= 2 +- int code; +- + if ((code = db_open(path, + DB_HASH, + modify ? DB_CREATE : DB_RDONLY, +@@ -77,21 +80,22 @@ + (DB_ENV *) 0, + (DB_INFO *) 0, + &result)) != 0) { +- T(("cannot open %s: %s", path, strerror(code))); + result = 0; +- } else { +- T(("opened %s", path)); + } + #else +- result = dbopen(path, +- modify ? (O_CREAT | O_RDWR) : O_RDONLY, +- 0644, +- DB_HASH, +- NULL); ++ if ((result = dbopen(path, ++ modify ? (O_CREAT | O_RDWR) : O_RDONLY, ++ 0644, ++ DB_HASH, ++ NULL)) == 0) { ++ code = errno; ++ } ++#endif + if (result != 0) { + T(("opened %s", path)); ++ } else { ++ T(("cannot open %s: %s", path, strerror(code))); + } +-#endif + return result; + } + diff --git a/sys-libs/ncurses/ncurses-5.7-r2.ebuild b/sys-libs/ncurses/ncurses-5.7-r2.ebuild new file mode 100644 index 000000000000..519ced50af3a --- /dev/null +++ b/sys-libs/ncurses/ncurses-5.7-r2.ebuild @@ -0,0 +1,169 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/ncurses/ncurses-5.7-r2.ebuild,v 1.1 2009/10/11 07:30:28 vapier Exp $ + +EAPI="1" +inherit eutils flag-o-matic toolchain-funcs + +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 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" +IUSE="ada +cxx debug doc gpm minimal profile trace unicode" + +DEPEND="gpm? ( sys-libs/gpm )" +# berkdb? ( sys-libs/db )" + +S=${WORKDIR}/${MY_P} + +src_unpack() { + unpack ${A} + cd "${S}" + [[ -n ${PV_SNAP} ]] && epatch "${WORKDIR}"/${MY_P}-${PV_SNAP}-patch.sh + epatch "${FILESDIR}"/${PN}-5.6-gfbsd.patch + epatch "${FILESDIR}"/${PN}-5.7-emacs.patch #270527 + epatch "${FILESDIR}"/${PN}-5.7-nongnu.patch + epatch "${FILESDIR}"/${P}-hashdb-open.patch #245370 +} + +src_compile() { + unset TERMINFO #115036 + tc-export BUILD_CC + export 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 ; then + make_flags="-C progs tic" + CHOST=${CBUILD} \ + CFLAGS=${BUILD_CFLAGS} \ + CXXFLAGS=${BUILD_CXXFLAGS} \ + CPPFLAGS=${BUILD_CPPFLAGS} \ + LDFLAGS="${BUILD_LDFLAGS} -static" \ + do_compile cross --without-shared + fi + + make_flags="" + do_compile narrowc + use unicode && do_compile widec --enable-widec --includedir=/usr/include/ncursesw +} +do_compile() { + ECONF_SOURCE=${S} + + mkdir "${WORKDIR}"/$1 + cd "${WORKDIR}"/$1 + shift + + # The chtype/mmask-t settings below are to retain ABI compat + # with ncurses-5.4 so dont change em ! + local conf_abi=" + --with-chtype=long \ + --with-mmask-t=long \ + --disable-ext-colors \ + --disable-ext-mouse \ + --without-pthread \ + --without-reentrant \ + " + # We need the basic terminfo files in /etc, bug #37026. We will + # add '--with-terminfo-dirs' and then populate /etc/terminfo in + # src_install() ... +# $(use_with berkdb hashed-db) + econf \ + --libdir="/$(get_libdir)" \ + --with-terminfo-dirs="/etc/terminfo:/usr/share/terminfo" \ + --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) \ + --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_with !debug leaks) \ + $(use_with debug expanded) \ + $(use_with !debug macros) \ + $(use_with trace) \ + ${conf_abi} \ + "$@" \ + || die "configure failed" + + # 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. -vapier + emake -j1 sources || die "make sources failed" + emake ${make_flags} || die "make ${make_flags} failed" +} + +src_install() { + # use the cross-compiled tic (if need be) #249363 + export PATH=${WORKDIR}/cross/progs:${PATH} + + # install unicode version second so that the binaries in /usr/bin + # support both wide and narrow + cd "${WORKDIR}"/narrowc + emake DESTDIR="${D}" install || die "make narrowc install failed" + if use unicode ; then + cd "${WORKDIR}"/widec + emake DESTDIR="${D}" install || die "make widec install failed" + fi + + # Move static and extraneous ncurses libraries out of /lib + dodir /usr/$(get_libdir) + cd "${D}"/$(get_libdir) + mv lib{form,menu,panel}.so* *.a "${D}"/usr/$(get_libdir)/ + gen_usr_ldscript lib{,n}curses.so + if use unicode ; then + mv lib{form,menu,panel}w.so* "${D}"/usr/$(get_libdir)/ + gen_usr_ldscript libncursesw.so + fi + +# 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 screen sun vt{52,100,102,200,220} \ + xterm xterm-color xterm-xfree86 + do + local termfile=$(find "${D}"/usr/share/terminfo/ -name "${x}" 2>/dev/null) + local basedir=$(basename $(dirname "${termfile}")) + + if [[ -n ${termfile} ]] ; then + dodir /etc/terminfo/${basedir} + mv ${termfile} "${D}"/etc/terminfo/${basedir}/ + dosym ../../../../etc/terminfo/${basedir}/${x} \ + /usr/share/terminfo/${basedir}/${x} + fi + done + + # Build fails to create this ... + dosym ../share/terminfo /usr/$(get_libdir)/terminfo +# fi + + echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" > "${T}"/50ncurses + doenvd "${T}"/50ncurses + + use minimal && rm -r "${D}"/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/ +} |