commit:     9c1248d87af0b046b625a9bb744d2eb9fcd71c17
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 21 17:36:35 2014 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Mon Jul 21 17:36:35 2014 +0000
URL:        
http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=9c1248d8

sys-libs/readline: version bump

Package-Manager: portage-2.2.8-r1
RepoMan-Options: --force
Manifest-Sign-Key: 0xF52D4BBA

---
 .../readline/files/readline-6.2-rlfe-tgoto.patch   |  14 ++
 sys-libs/readline/readline-6.2_p5-r99.ebuild       | 154 +++++++++++++++++++++
 2 files changed, 168 insertions(+)

diff --git a/sys-libs/readline/files/readline-6.2-rlfe-tgoto.patch 
b/sys-libs/readline/files/readline-6.2-rlfe-tgoto.patch
new file mode 100644
index 0000000..b898bf0
--- /dev/null
+++ b/sys-libs/readline/files/readline-6.2-rlfe-tgoto.patch
@@ -0,0 +1,14 @@
+https://bugs.gentoo.org/385091
+
+https://lists.gnu.org/archive/html/bug-readline/2011-10/msg00000.html
+
+--- a/examples/rlfe/configure
++++ b/examples/rlfe/configure
+@@ -4062,6 +4062,7 @@ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ 
++extern char *tgoto(char *, int, int);
+ main()
+ {
+  exit(strcmp(tgoto("%p1%d", 0, 1), "1") ? 0 : 1);

diff --git a/sys-libs/readline/readline-6.2_p5-r99.ebuild 
b/sys-libs/readline/readline-6.2_p5-r99.ebuild
new file mode 100644
index 0000000..8cbb007
--- /dev/null
+++ b/sys-libs/readline/readline-6.2_p5-r99.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: 
/var/cvsroot/gentoo-x86/sys-libs/readline/readline-6.2_p5-r1.ebuild,v 1.14 
2014/07/18 10:56:45 pacho Exp $
+
+EAPI="4"
+
+inherit eutils multilib toolchain-funcs flag-o-matic multilib-minimal
+
+# Official patches
+# See ftp://ftp.cwru.edu/pub/bash/readline-6.2-patches/
+PLEVEL=${PV##*_p}
+MY_PV=${PV/_p*}
+MY_PV=${MY_PV/_/-}
+MY_P=${PN}-${MY_PV}
+[[ ${PV} != *_p* ]] && PLEVEL=0
+patches() {
+       [[ ${PLEVEL} -eq 0 ]] && return 1
+       local opt=$1
+       eval set -- {1..${PLEVEL}}
+       set -- $(printf "${PN}${MY_PV/\.}-%03d " "$@")
+       if [[ ${opt} == -s ]] ; then
+               echo "${@/#/${DISTDIR}/}"
+       else
+               local u
+               for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${PN} ; do
+                       printf "${u}/${PN}-${MY_PV}-patches/%s " "$@"
+               done
+       fi
+}
+
+DESCRIPTION="Another cute console display library"
+HOMEPAGE="http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html";
+SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz $(patches)"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 arm ~mips x86"
+IUSE="static-libs"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r3[${MULTILIB_USEDEP}]
+       abi_x86_32? (
+               !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+               !<=app-emulation/emul-linux-x86-baselibs-20131008-r7
+       )"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+       unpack ${MY_P}.tar.gz
+}
+
+src_prepare() {
+       sed -i -e 's:sgtty:termios:' examples/rlfe/os.h # For musl
+       [[ ${PLEVEL} -gt 0 ]] && epatch $(patches -s)
+       epatch "${FILESDIR}"/${PN}-5.0-no_rpath.patch
+       epatch "${FILESDIR}"/${PN}-5.2-no-ignore-shlib-errors.patch #216952
+       epatch "${FILESDIR}"/${PN}-6.2-rlfe-tgoto.patch #385091
+
+       # Force ncurses linking. #71420
+       # Use pkg-config to get the right values. #457558
+       local ncurses_libs=$($(tc-getPKG_CONFIG) ncurses --libs)
+       sed -i \
+               -e "/^SHLIB_LIBS=/s:=.*:='${ncurses_libs}':" \
+               support/shobj-conf || die
+       sed -i \
+               -e "/^[[:space:]]*LIBS=.-lncurses/s:-lncurses:${ncurses_libs}:" 
\
+               examples/rlfe/configure || die
+
+       # fix building under Gentoo/FreeBSD; upstream FreeBSD deprecated
+       # objformat for years, so we don't want to rely on that.
+       sed -i -e '/objformat/s:if .*; then:if true; then:' support/shobj-conf 
|| die
+
+       ln -s ../.. examples/rlfe/readline # for local readline headers
+}
+
+src_configure() {
+       # fix implicit decls with widechar funcs
+       append-cppflags -D_GNU_SOURCE
+       # http://lists.gnu.org/archive/html/bug-readline/2010-07/msg00013.html
+       append-cppflags -Dxrealloc=_rl_realloc -Dxmalloc=_rl_malloc 
-Dxfree=_rl_free
+
+       # Make sure configure picks a better ar than `ar`. #484866
+       export ac_cv_prog_AR=$(tc-getAR)
+
+       # Force the test since we used sed above to force it.
+       export bash_cv_termcap_lib=ncurses
+
+       # This is for rlfe, but we need to make sure LDFLAGS doesn't change
+       # so we can re-use the config cache file between the two.
+       append-ldflags -L.
+
+       multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+       ECONF_SOURCE=${S} \
+       econf \
+               --cache-file="${BUILD_DIR}"/config.cache \
+               --with-curses \
+               $(use_enable static-libs static)
+
+       if multilib_is_native_abi && ! tc-is-cross-compiler ; then
+               # code is full of AC_TRY_RUN()
+               mkdir -p examples/rlfe || die
+               cd examples/rlfe || die
+               ECONF_SOURCE=${S}/examples/rlfe \
+               econf --cache-file="${BUILD_DIR}"/config.cache
+       fi
+}
+
+multilib_src_compile() {
+       emake
+
+       if multilib_is_native_abi && ! tc-is-cross-compiler ; then
+               # code is full of AC_TRY_RUN()
+               cd examples/rlfe || die
+               local l
+               for l in readline history ; do
+                       ln -s ../../shlib/lib${l}$(get_libname)* 
lib${l}$(get_libname)
+                       ln -sf ../../lib${l}.a lib${l}.a
+               done
+               emake
+       fi
+}
+
+multilib_src_install() {
+       default
+
+       if multilib_is_native_abi ; then
+               gen_usr_ldscript -a readline history #4411
+
+               if ! tc-is-cross-compiler; then
+                       dobin examples/rlfe/rlfe
+               fi
+       fi
+}
+
+multilib_src_install_all() {
+       einstalldocs
+       dodoc USAGE
+       dohtml -r doc/.
+       docinto ps
+       dodoc doc/*.ps
+}
+
+pkg_preinst() {
+       preserve_old_lib /$(get_libdir)/lib{history,readline}.so.{4,5} #29865
+}
+
+pkg_postinst() {
+       preserve_old_lib_notify /$(get_libdir)/lib{history,readline}.so.{4,5}
+}

Reply via email to