Added a fix from upstream
authorLars Wendler <polynomial-c@gentoo.org>
Wed, 21 Jan 2015 11:50:45 +0000 (11:50 +0000)
committerLars Wendler <polynomial-c@gentoo.org>
Wed, 21 Jan 2015 11:50:45 +0000 (11:50 +0000)
Package-Manager: portage-2.2.15/cvs/Linux x86_64
Manifest-Sign-Key: 0x981CA6FC

sys-libs/readline/ChangeLog
sys-libs/readline/Manifest
sys-libs/readline/files/readline-6.3-read-eof.patch [new file with mode: 0644]
sys-libs/readline/readline-6.3_p8-r2.ebuild [new file with mode: 0644]

index 3718186660b8aec48be72dea9bec3e74911ecd92..77ae408e87f7003e1c92b7f7242113bf5ac6c78d 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for sys-libs/readline
-# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/readline/ChangeLog,v 1.219 2014/12/29 07:42:08 polynomial-c Exp $
+# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/readline/ChangeLog,v 1.220 2015/01/21 11:50:44 polynomial-c Exp $
+
+*readline-6.3_p8-r2 (21 Jan 2015)
+
+  21 Jan 2015; Lars Wendler <polynomial-c@gentoo.org>
+  +readline-6.3_p8-r2.ebuild, +files/readline-6.3-read-eof.patch:
+  Added a fix from upstream.
 
   29 Dec 2014; Lars Wendler <polynomial-c@gentoo.org> -readline-6.2_p1.ebuild,
   -readline-6.3_p8.ebuild, readline-6.3_p8-r1.ebuild:
index c414953e6007ee6d25ef938d2946602acddf9b52..5da6005dd4d33f12af079b3f3a5421f2140bc9b6 100644 (file)
@@ -5,6 +5,7 @@ AUX readline-5.0-no_rpath.patch 363 SHA256 59df6107772d1a93550bacc267a2c00f9dfd6
 AUX readline-5.2-no-ignore-shlib-errors.patch 688 SHA256 2c585c4e2d69d6b91157f378a3dd11cb49beefab808eef3350cf1b8357b2efc6 SHA512 23f88aee11a9ebe15406293695f3de2a7a6c52b8b138c199c64f9dbb9b59d9063f12f8693656e61611e72f6298f7d919016cd240434e78ea2232876690a8b738 WHIRLPOOL ae87d544fa32dbd2b6f27f164dd4e6d0e8a3f399d4a9bde81bcb631985c6e69db11705dc372c21a4f9d3a26cf4279023aeae97fd0d243ca8e1c0e547b59084a4
 AUX readline-6.2-rlfe-tgoto.patch 379 SHA256 6bd5db93cba1cdf751b424a25a1f08c87bae2b42ff59c6c0aa34d659115cbfc1 SHA512 1d2c3aafc949d92fdf6abbee60a60c80f0327f81694d5d8f3a166f1c24d37346caca3e72c9971106b96b2758a9a01269346954fe20bc381eb9da2e6a2737fc3c WHIRLPOOL daab79312136fa728ea77839d6ad663554055e2acd7acff036b8d168f4a0791d57503aa196be4f834caf32ba72ec73c3125adb9b11b5d6898bb796016e83175a
 AUX readline-6.3-fix-long-prompt-vi-search.patch 669 SHA256 787f9ed371c550aeecfe5c57e250aa9bfc101dfccb19437fbca135e19610ef9b SHA512 19e8a342c305e6f68e13bf3eec619971a5bb8f2a542838a28f72e77f672f5e8e9f501f446facae3528e14646e6e41a29546837f0407a1ddaddf20244914d6d9d WHIRLPOOL 5636b9d0638be1b214b1710d42b7b812e8b8714e9aa0546be6d187992e6c0dc0fe513a11dd9386c1d8949c792775fc26c8d8cbe0b44ca5cba6854089332f4513
+AUX readline-6.3-read-eof.patch 1913 SHA256 508323403e752296a63619e9a3fe4fdcd233f368f0f9944ccdc2c6bd69eebc2c SHA512 99728e35d64b466e2bea570412eec719c70841d205a5190c0000bcae55cf3ac2d659ae18e57b4c332525261d83e160054800cd89f4009ce3c76d1c3b4ac27223 WHIRLPOOL beda5876ea05f69f0b2e8005c60dca8290cc7943475352b6c26ab656273290d06a07ae62f28e3fc21c3c31ae628c744a6e5a8ebbc5328fa896f215d419dea270
 DIST readline-4.3.tar.gz 961662 SHA256 eeaf6f050b9f515b0636e5b4f2c153f9ef78e9061ee5dd74f612fab54c77bf88 SHA512 4dbc4d9f16a453f8cf6adefb5723b0f35ef79b8db7dcdfcdd2d6465cb62ca961035e5e9547bfa46d4cb1370d738b042e0e10f9233c3751925c6bccab41e7d182 WHIRLPOOL bad0852f5a97b747c79923bbef29dc48bb7730b96ba86dd444f63d9ee78fe0dda3edd249607dbaf98b3a8932b69cbcf0f79592cfc3757887791e38673dccb352
 DIST readline-5.2.tar.gz 2037705 SHA256 12e88d96aee2cd1192500356f0535540db499282ca7f76339fb4228c31249f45 SHA512 74318b32c56e888716bda2507228ecc374a24e85b2faeec4778227a9f04eb19de1fc8468c78746954c84f9e616a06dd0f8a4332ba4b438fefb7e222699baa379 WHIRLPOOL 8641abf42316ab278207c0a25d9155d4d4fddaf0e704255b40708875b9f31bd3e6caf903550783c15b160bd2b86ffc129b2eb7a1fb4a641d8d58edc3b53145c3
 DIST readline-6.2.tar.gz 2277926 SHA256 79a696070a058c233c72dd6ac697021cc64abd5ed51e59db867d66d196a89381 SHA512 fa5b4f1b6f81bc0b3be0739adb06dab0668603ff256fe62b59ebfe21d5a9e340a758a8eef569df8c4c4ecb86cdd9698a6dabc2ee8c70a769de2bd5930c32ff59 WHIRLPOOL 5d92645085f253206c16533e3cb35bb382d6fe616bf2144feb06f9ffb9b4d7cc25ceaa846b98f17aa442552a0e80642a62d57fe20982e0ed8fdefb75c2f9bbf0
@@ -45,22 +46,23 @@ EBUILD readline-4.3_p5.ebuild 1591 SHA256 a0f153f8c647359666a214d47647514853a17c
 EBUILD readline-5.2_p14.ebuild 1905 SHA256 170279df1909b218b3c9ff6b9cc3e315b1a72b8f1a6b5615010e903d67c65259 SHA512 1ad3ccb540e9a50c5bcc6e37689b6534371d4038db57cefb826eb112cf8a28ac1b647cead266dbf5b13a14b0da541a4a3e42343ac67461eefae5670adfec947f WHIRLPOOL 9a72cccb826deffed24f144ec1aeceb3b2c5194a0f072bffba1de42eba0708931d9eb75482847316803796ddc6afa5bd0ca1ce71edd4aef0fc0d2cecc9be1a30
 EBUILD readline-6.2_p5-r1.ebuild 4138 SHA256 5dd233e4e9e1d66aabdba6631551eaa174af1af70c5d0110ac8c9784150085ec SHA512 c281c67b15a590a9c9aa0c3a84bdb151ff7fdf3efe33f4a30d4e63ea6cbb29b48c820fbd0b2a233aa8b2349379b464c119b5c793854e36c4b012b53ba986a87d WHIRLPOOL 588bac8a9c53fce242166a6c89644aa42396b2d5922cdcf0de03decdd13d1ce9f1ec4b97259a642edf5f2d520366ef72f088ff5abdc9fa410e02c8054b96836d
 EBUILD readline-6.3_p8-r1.ebuild 4562 SHA256 d77fcecf028f4bbf80e976675051d2401e91af11848d37ebf3630dccebeec397 SHA512 a4c021c3339ac6b34212dcfd19d5abd4028c28aba2e9d0c15c9313832e14aefe1f63545a1e86405fa7ff7f89be08a02e7cdc325b1d4d116a85fc17187d7ef5ad WHIRLPOOL 5f7abb327b5cee3af7db5683dac9956e6c0e633602ec0483ac50e68418b185af7f19b78e6118956111a17891f857819910dfd593f9aecb4c5fdaf370eca756df
-MISC ChangeLog 29530 SHA256 934e1aca1b358253405e04ea357af52e97b1fdcc284179be08f44a585f0d289f SHA512 45d496ac65642d7939578295c4cb6abc3284dee9475bd3e187018c6bfa5d2f24f3476995ddebe65b21a186816d5db0aee6cc15fee4860a8c0b550790408ca39f WHIRLPOOL 34c40c3df42ba3787964681ccf2934d0172329c2e01905f889057de3695bcc61e8f5a80def73b59c0a9d75d351f287054c8d251498c9ffacf7f72f7693e3f939
+EBUILD readline-6.3_p8-r2.ebuild 4609 SHA256 af02922367f70fbb051d5e601c71916e7a880d050e643dfabe46ea605b764dc0 SHA512 1822c8d0de6217bdc96487b73b9c46de79617685dbf42b53334004b3e39c1faa9239fbee19955bd5cc704b57126a25b164897f0a8281043474b59e6b698bb615 WHIRLPOOL fda8e77e7b6aa3368f958c71f753db5002800c509a2f2d2347707d89ece4bb364b97dc6cd350ec0c071224df0f309f37533713a08134da029d950ced9d8c06a5
+MISC ChangeLog 29715 SHA256 7002988928a858554f228a4714e2994e897ea7c9ccc549192a54c6b489e61ace SHA512 dd94ad1d76510455e786da2f65a08ddc216db02709f79b5e3700e9ddcc807db3feee7e2de2fcebd37d04dd318ea8dc2e68b0a1073939788bec8f898eebfa547e WHIRLPOOL 252d2254f13e93cd3d3481f0fc4736fcce0139ff9c35c108bdebccdbe86e661164637de9cd95e739e5c16a6152090a696138a3d645bc5a3f2e9533fb16e40c1f
 MISC metadata.xml 164 SHA256 f5f2891f2a4791cd31350bb2bb572131ad7235cd0eeb124c9912c187ac10ce92 SHA512 8eb0d5153d388f6ea069c64b93882244816a0a09aecc0d73cb872121ce0eb24c5ccafa96aad0b620b2300f319e1af101fa7fa6c5d0d561719d49bb07da0a2eca WHIRLPOOL 11a1441bddb7a6c69653c663902b7da5767ae6ad515ac2aabfc42fe37927a1ccc21472deeee454009ff720201a41c3e4a912df42661a0a87150fb46126da2d52
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
-iQIcBAEBCAAGBQJUoQXRAAoJEPiazRVxLXTFMFYQALcXfaZlAs5P95m4bAGuSAW7
-O/5kfZHnzmYvAzyGm62pqivR88bWZ/qdHTQgpDN2H9hLuzWRCreidxwQThec/cKw
-eNEhnGq4XJR8QbHObIlci3jogeqf7h0HbMFq0mzQZ0GcxJifFfRcHe2z2tpPNkQV
-AOVef0DQep4Ft8rev78e+b+8ukGD4x7yQkDwZS/chnK5ucPOrVgQgxuGdPa2nMI3
-j3clgJSj4nCwFjkPdgXGCvMnToR2bpls+H2ZaS+lFbQdbRyIbbS4rxEu1g4lO18Q
-SmRJo9q34eulzai+fAXxjQxIE3COpOhPZEJN+/1jdXYqBLAm4xd/3YIMD4peiROE
-IDKTgKTnHVCYPe1H7t6omz/rJ1gQOIs12xu/L1Pr1Mm6oZ8DCoJ++VOiwLEVpgfe
-vvyABCk6NaSAZRMwljhedzfEtzpcxHSAJbXFVR0UGSJSerM6tCyi0tEfouzrFkgR
-AAXoefLhXgRZURE9bkP04JZ+5xth+CDSgMJOUWkoW78rQ8n964a58wmqpXRphwtc
-LeBM7vkjEuayWIzCXU4p+npcBQtyjDnox+aqedYxmi6aHYMIXZjIYKnZc/DR0LMw
-g8mHrG4c56FCqmG95LTqw0baioYPSos1oM7gb7eNn1nIeNKUbT7xwr4mIjRhzGLL
-J+Njkapj5XZAjK0/yMM5
-=RNEF
+iQIcBAEBCAAGBQJUv5KVAAoJEPiazRVxLXTFMAYP/jlQfaKzUHALx9X5YIj0jJlZ
+1t1AYdxRv7TYZQVGhg5RRcyP/CNT0JRnZv8A1y6DNzSve1oQ1JThPsa663WvYvZS
+5prkyozNPU+pYCSP9uJ1T3uJfv+EH7pjihLn9KGwWFu7vcx4q7D+IrTMlWzSu7mz
+McBSDcdQ3Tic1/tmlMMdGQ6wVwAfxEHnX04vy6cN1Gaa2/AsVZhmdmWwgPJFXwcF
+yQQ1Mc/856+R/b+/PBbmTfYhRAyMxH/LZSPv5Wxeoml7mvki0yHWZqYQp0FwUOgq
+dzANZDltoC1CEnEOzQ/bS9dlr4z2qvFPxmxSqRjdBUB54WcTWugLzXy0DcCrdkHa
+nEa/+QSlKbXlTQ5uUQ6nnM+AmH0s5A2QhEO2VrnnPi7FKutiY0tUlAQOcCuedKYG
+CmTBdueGkGh6GQ1U8DH8snVSD7hNcRi/+dv7R95B+U634Paits7R7XelmyB7T5FE
+UWim7FhAO3VrhyuxXO+FyymKYkkPF8nA6BAGntn8jTu4703zkBx9nEKgmdwXBefI
+kBaiBMDJfjQ4V8o8jRXMluZ7NlVptDHA2Wy9RAkBKEkcJPAPbjNNvz9mcKrM4TtX
+Awy3zW2EzEVJchuX4jLw92c36dFyaoj+ehuV7uscWkrRGAfFnGGp6EMUZguQ7oVu
+RE1iey1ac73THi4qNMaM
+=IRq5
 -----END PGP SIGNATURE-----
diff --git a/sys-libs/readline/files/readline-6.3-read-eof.patch b/sys-libs/readline/files/readline-6.3-read-eof.patch
new file mode 100644 (file)
index 0000000..f74aad6
--- /dev/null
@@ -0,0 +1,54 @@
+http://lists.gnu.org/archive/html/bug-bash/2014-12/msg00152.html
+
+*** ../bash-4.3-patched/lib/readline/readline.c        2014-10-01 13:08:28.000000000 -0400
+--- lib/readline/readline.c    2014-12-20 22:37:28.000000000 -0500
+***************
+*** 580,592 ****
+       }
+  
+!       /* EOF typed to a non-blank line is a <NL>.  If we want to change this,
+!       to force any existing line to be ignored when read(2) reads EOF,
+!       for example, this is the place to change. */
+        if (c == EOF && rl_end)
+!      c = NEWLINE;
+  
+        /* The character _rl_eof_char typed to blank line, and not as the
+!       previous character is interpreted as EOF. */
+!       if (((c == _rl_eof_char && lastc != c) || c == EOF) && !rl_end)
+       {
+  #if defined (READLINE_CALLBACKS)
+--- 587,620 ----
+       }
+  
+!       /* EOF typed to a non-blank line is ^D the first time, EOF the second
+!       time in a row.  This won't return any partial line read from the tty.
+!       If we want to change this, to force any existing line to be returned
+!       when read(2) reads EOF, for example, this is the place to change. */
+        if (c == EOF && rl_end)
+!      {
+!        if (RL_SIG_RECEIVED ())
+!          {
+!            RL_CHECK_SIGNALS ();
+!            if (rl_signal_event_hook)
+!              (*rl_signal_event_hook) ();             /* XXX */
+!          }
+! 
+!        /* XXX - reading two consecutive EOFs returns EOF */
+!        if (RL_ISSTATE (RL_STATE_TERMPREPPED))
+!          {
+!            if (lastc == _rl_eof_char || lastc == EOF)
+!              rl_end = 0;
+!            else
+!              c = _rl_eof_char;
+!          }
+!        else
+!          c = NEWLINE;
+!      }
+  
+        /* The character _rl_eof_char typed to blank line, and not as the
+!       previous character is interpreted as EOF.  This doesn't work when
+!       READLINE_CALLBACKS is defined, so hitting a series of ^Ds will
+!       erase all the chars on the line and then return EOF. */
+!       if (((c == _rl_eof_char && lastc != c) || c == EOF) && rl_end == 0)
+       {
+  #if defined (READLINE_CALLBACKS)
diff --git a/sys-libs/readline/readline-6.3_p8-r2.ebuild b/sys-libs/readline/readline-6.3_p8-r2.ebuild
new file mode 100644 (file)
index 0000000..22aef25
--- /dev/null
@@ -0,0 +1,164 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/readline/readline-6.3_p8-r2.ebuild,v 1.1 2015/01/21 11:50:44 polynomial-c Exp $
+
+EAPI=4
+
+inherit eutils multilib toolchain-funcs flag-o-matic multilib-minimal
+
+# Official patches
+# See ftp://ftp.cwru.edu/pub/bash/readline-6.3-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="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+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() {
+       [[ ${PLEVEL} -gt 0 ]] && epatch $(patches -s)
+       epatch "${FILESDIR}"/${PN}-5.0-no_rpath.patch
+       epatch "${FILESDIR}"/${PN}-6.2-rlfe-tgoto.patch #385091
+       epatch "${FILESDIR}"/${PN}-6.3-fix-long-prompt-vi-search.patch
+       epatch "${FILESDIR}"/${PN}-6.3-read-eof.patch
+
+       # 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
+
+       # Control cross-compiling cases when we know the right answer.
+       # In cases where the C library doesn't support wide characters, readline
+       # itself won't work correctly, so forcing the answer below should be OK.
+       if tc-is-cross-compiler ; then
+               export bash_cv_func_sigsetjmp='present'
+               export bash_cv_func_ctype_nonascii='yes'
+               export bash_cv_wcwidth_broken='no' #503312
+       fi
+
+       # 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 \
+               --docdir=/usr/share/doc/${PF} \
+               --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}
+}