sys-libs/readline: Sync with Gentoo

It's from Gentoo commit 623c4b1840375ebbf60f11c17116bfcf7b3da037.
This commit is contained in:
Flatcar Buildbot 2024-07-01 07:19:41 +00:00 committed by Mathieu Tortuyaux
parent 19026fc8a0
commit f2d3e2daed
No known key found for this signature in database
GPG Key ID: AC5CCFB52545D9B8
6 changed files with 179 additions and 103 deletions

View File

@ -1,7 +1,10 @@
DIST readline-8.1-rlfe-c99.patch.xz 5756 BLAKE2B fb2df42d2c16bef68a3716c55374da7a9d95c8f4c5645da9a60aa72624d5baa50c70da78292adcb20e5fb11f28d6320d627522bc4c8faf0f7c4c782fd75664e8 SHA512 1bad39eff82212ed2cd5ae4ff574a4cdbe20ee56ecac1bae469c90304573d10ed82fdab75bc09725e400dbb5568a34345f3241a409b7ede5645a3c02c0101018
DIST readline-8.1.tar.gz 2993288 BLAKE2B f0feca1ea3517b2b613adacac8c997cce0e86aa2f410c82a40ce1a2e128067112b4c68dbf25b808291c28c47583345abac994ce10b8d117958afcb96ee5e7c69 SHA512 27790d0461da3093a7fee6e89a51dcab5dc61928ec42e9228ab36493b17220641d5e481ea3d8fee5ee0044c70bf960f55c7d3f1a704cf6b9c42e5c269b797e00 DIST readline-8.1.tar.gz 2993288 BLAKE2B f0feca1ea3517b2b613adacac8c997cce0e86aa2f410c82a40ce1a2e128067112b4c68dbf25b808291c28c47583345abac994ce10b8d117958afcb96ee5e7c69 SHA512 27790d0461da3093a7fee6e89a51dcab5dc61928ec42e9228ab36493b17220641d5e481ea3d8fee5ee0044c70bf960f55c7d3f1a704cf6b9c42e5c269b797e00
DIST readline-8.1.tar.gz.sig 95 BLAKE2B 8a297ef2ebf815ac53f02d6395aa2ff9f24234aef6b9793bfcd5a610cd3a5024182ad8ec8beb75eadd5cf876c57cd56d4226075578a86e0e2421d2e9b1677aa5 SHA512 42a6052d5882f16e5b6f8cd16433d793a9cbb43cf1886b2d858dc65ce067a4c39c8dda7331e52f76426c43de02c358f9ffdaf5c8fd7b089479008c1e5aa19112 DIST readline-8.1.tar.gz.sig 95 BLAKE2B 8a297ef2ebf815ac53f02d6395aa2ff9f24234aef6b9793bfcd5a610cd3a5024182ad8ec8beb75eadd5cf876c57cd56d4226075578a86e0e2421d2e9b1677aa5 SHA512 42a6052d5882f16e5b6f8cd16433d793a9cbb43cf1886b2d858dc65ce067a4c39c8dda7331e52f76426c43de02c358f9ffdaf5c8fd7b089479008c1e5aa19112
DIST readline-8.2.tar.gz 3043952 BLAKE2B 7974322b9c092a756a79e537df08e8532f8e0fcb598f77732e28287c33ebec9e9837ed88b43334c310892d56a871b423903f0f564def2fbe700a1004f2ae7b18 SHA512 0a451d459146bfdeecc9cdd94bda6a6416d3e93abd80885a40b334312f16eb890f8618a27ca26868cebbddf1224983e631b1cbc002c1a4d1cd0d65fba9fea49a DIST readline-8.2.tar.gz 3043952 BLAKE2B 7974322b9c092a756a79e537df08e8532f8e0fcb598f77732e28287c33ebec9e9837ed88b43334c310892d56a871b423903f0f564def2fbe700a1004f2ae7b18 SHA512 0a451d459146bfdeecc9cdd94bda6a6416d3e93abd80885a40b334312f16eb890f8618a27ca26868cebbddf1224983e631b1cbc002c1a4d1cd0d65fba9fea49a
DIST readline-8.2.tar.gz.sig 95 BLAKE2B dc510459c0c47782ca87364a6677b4d8f0b68a984143122c08bd15aef08a71bff59ac92d3c3ada518dad09f189c144748e840175041eb619f679e2d8b95dc2aa SHA512 0effd273689e5f7fe7e049c8f2c5f3c97149f198a90d053231ee4de34901560a465ab0d4fd71fd07c7d7e233caed7f42e5b668bffaf1e23a7eb373c8f9e150fe DIST readline-8.2.tar.gz.sig 95 BLAKE2B dc510459c0c47782ca87364a6677b4d8f0b68a984143122c08bd15aef08a71bff59ac92d3c3ada518dad09f189c144748e840175041eb619f679e2d8b95dc2aa SHA512 0effd273689e5f7fe7e049c8f2c5f3c97149f198a90d053231ee4de34901560a465ab0d4fd71fd07c7d7e233caed7f42e5b668bffaf1e23a7eb373c8f9e150fe
DIST readline-8.3-alpha.tar.gz 3091427 BLAKE2B f40e1db1ea39bbf4183901688733df0c67666eb58a33333f9b57ea7ba5399956f5523748ecce9bc5b6dc1954647c0bceb6ebbb4fe93b0085a595047650ad7c7e SHA512 d3aacd82826f1d1adc7ea846d8b8e70726da925e74a8bb1d141a9093e0d5e375236d1c745f0609f8ba3aff9f5266b1cf3da31d76e414a284b6ed798d92a1a1f6
DIST readline-8.3-alpha.tar.gz.sig 95 BLAKE2B c11d1b4dd8f453bc5f7d19dd25901bfa4796825efa4f07f2043aa94d556a39bc1c928aed7fdc09ed6325c6ef017f72df18bbdd461a52a7122ccdf9b58a345c17 SHA512 fb070ae3dbafa042f591d8a5c24f48b40a672843e41e78f5d6a5ded5228046fe75893be6b10a9634d8852617bfa8b675e68a4c808f06ee95f07a40536fc63769
DIST readline81-001 2454 BLAKE2B 7ec4e5c39a224a70643b44b88bcfef5198e199c76f2a34f0b0ce24f1747dd46be49ddf93871c474cda64322b4358127fec4c2401d19422f84934546bbe1f3bf2 SHA512 cfbef10bdeb562a302ccf214878d02ebadf799343b3d2d7996a282f81bcfde83997ba6dcc9a8477af4dd7c73bca74105ca00a81e42ed13321672bd2930550e54 DIST readline81-001 2454 BLAKE2B 7ec4e5c39a224a70643b44b88bcfef5198e199c76f2a34f0b0ce24f1747dd46be49ddf93871c474cda64322b4358127fec4c2401d19422f84934546bbe1f3bf2 SHA512 cfbef10bdeb562a302ccf214878d02ebadf799343b3d2d7996a282f81bcfde83997ba6dcc9a8477af4dd7c73bca74105ca00a81e42ed13321672bd2930550e54
DIST readline81-001.sig 95 BLAKE2B 7d523d0fc21772cb03aa4b5d66ea58c1a99a6c0e4a8625e89cad015cbff63cd68e08207ca5150819225300ac864806032888104bbbea64ca38ebf89e28c24b7e SHA512 7fa3747e388aecb26f2d4f8346b89b367710ea99a14618c625066b820901dc467bd156ec37340fde1f86f0fe0d6b33044c1ed5768cf8ed1a25386d32dc6419a6 DIST readline81-001.sig 95 BLAKE2B 7d523d0fc21772cb03aa4b5d66ea58c1a99a6c0e4a8625e89cad015cbff63cd68e08207ca5150819225300ac864806032888104bbbea64ca38ebf89e28c24b7e SHA512 7fa3747e388aecb26f2d4f8346b89b367710ea99a14618c625066b820901dc467bd156ec37340fde1f86f0fe0d6b33044c1ed5768cf8ed1a25386d32dc6419a6
DIST readline81-002 1242 BLAKE2B 4ef0404561bd8fc5559e8e5f675ae3f12c467178a8954f54f3204c2d09b88ccec960e807c7af0ec3514b489b676e3be51f98351e377fb18e3d7a14d33d4da69d SHA512 e47c029b82cf3a4d44e85c4348f7e059c56726694c190d84186822e1c893e1c006e7ec75f33c36791112f81abd792a2e2fdae9a65cd128f3c89ff4ffd9a9a1ff DIST readline81-002 1242 BLAKE2B 4ef0404561bd8fc5559e8e5f675ae3f12c467178a8954f54f3204c2d09b88ccec960e807c7af0ec3514b489b676e3be51f98351e377fb18e3d7a14d33d4da69d SHA512 e47c029b82cf3a4d44e85c4348f7e059c56726694c190d84186822e1c893e1c006e7ec75f33c36791112f81abd792a2e2fdae9a65cd128f3c89ff4ffd9a9a1ff

View File

@ -1,14 +0,0 @@
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);

View File

@ -27,6 +27,7 @@ case ${PV} in
*) *)
SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz" SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz"
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/readline-8.1-rlfe-c99.patch.xz"
SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig )" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig )"
if [[ ${PLEVEL} -gt 0 ]] ; then if [[ ${PLEVEL} -gt 0 ]] ; then
@ -48,7 +49,7 @@ case ${PV} in
# Add in the mirror URL too. # Add in the mirror URL too.
SRC_URI+=" ${patch_url/${upstream_url_base}/${mirror_url_base}}" SRC_URI+=" ${patch_url/${upstream_url_base}/${mirror_url_base}}"
SRC_URI+=" verify-sig? ( ${patch_url/${upstream_url_base}/${mirror_url_base}} )" SRC_URI+=" verify-sig? ( ${patch_url/${upstream_url_base}/${mirror_url_base}}.sig )"
MY_PATCHES+=( "${DISTDIR}"/${mangled_patch_ver} ) MY_PATCHES+=( "${DISTDIR}"/${mangled_patch_ver} )
done done
@ -58,6 +59,8 @@ case ${PV} in
;; ;;
esac esac
S="${WORKDIR}/${MY_P}"
LICENSE="GPL-3+" LICENSE="GPL-3+"
SLOT="0/8" # subslot matches SONAME major SLOT="0/8" # subslot matches SONAME major
[[ ${PV} == *_rc* ]] || \ [[ ${PV} == *_rc* ]] || \
@ -69,23 +72,36 @@ DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig BDEPEND="virtual/pkgconfig
verify-sig? ( sec-keys/openpgp-keys-chetramey )" verify-sig? ( sec-keys/openpgp-keys-chetramey )"
S="${WORKDIR}/${MY_P}"
PATCHES=( PATCHES=(
"${FILESDIR}"/${PN}-5.0-no_rpath.patch "${FILESDIR}"/${PN}-5.0-no_rpath.patch
"${FILESDIR}"/${PN}-6.2-rlfe-tgoto.patch #385091
"${FILESDIR}"/${PN}-7.0-headers.patch "${FILESDIR}"/${PN}-7.0-headers.patch
"${FILESDIR}"/${PN}-8.0-headers.patch "${FILESDIR}"/${PN}-8.0-headers.patch
"${FILESDIR}"/${PN}-8.0-darwin-shlib-versioning.patch "${FILESDIR}"/${PN}-8.0-darwin-shlib-versioning.patch
"${FILESDIR}"/${PN}-8.1-windows-signals.patch "${FILESDIR}"/${PN}-8.1-windows-signals.patch
"${WORKDIR}"/${PN}-8.1-rlfe-c99.patch
) )
# Needed because we don't want the patches being unpacked
# (which emits annoying and useless error messages)
src_unpack() { src_unpack() {
verify-sig_src_unpack local patch
unpack ${MY_P}.tar.gz if [[ ${PV} == 9999 ]]; then
git-r3_src_unpack
else
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
for patch in "${MY_PATCHES[@]}"; do
verify-sig_verify_detached "${patch}"{,.sig}
done
fi
unpack "${MY_P}.tar.gz"
unpack readline-8.1-rlfe-c99.patch.xz
#if [[ ${GENTOO_PATCH_VER} ]]; then
# unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
#fi
fi
} }
src_prepare() { src_prepare() {

View File

@ -40,6 +40,7 @@ if [[ ${PV} == 9999 ]] ; then
inherit git-r3 inherit git-r3
elif is_release ; then elif is_release ; then
SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz" SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz"
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/readline-8.1-rlfe-c99.patch.xz"
SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig )" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig )"
if [[ ${PLEVEL} -gt 0 ]] ; then if [[ ${PLEVEL} -gt 0 ]] ; then
@ -61,7 +62,7 @@ elif is_release ; then
# Add in the mirror URL too. # Add in the mirror URL too.
SRC_URI+=" ${patch_url/${upstream_url_base}/${mirror_url_base}}" SRC_URI+=" ${patch_url/${upstream_url_base}/${mirror_url_base}}"
SRC_URI+=" verify-sig? ( ${patch_url/${upstream_url_base}/${mirror_url_base}} )" SRC_URI+=" verify-sig? ( ${patch_url/${upstream_url_base}/${mirror_url_base}}.sig )"
MY_PATCHES+=( "${DISTDIR}"/${mangled_patch_ver} ) MY_PATCHES+=( "${DISTDIR}"/${mangled_patch_ver} )
done done
@ -73,6 +74,8 @@ else
SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig ftp://ftp.cwru.edu/pub/readline/${MY_P}.tar.gz.sig )" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig ftp://ftp.cwru.edu/pub/readline/${MY_P}.tar.gz.sig )"
fi fi
S="${WORKDIR}/${MY_P}"
if ! is_release ; then if ! is_release ; then
inherit autotools inherit autotools
fi fi
@ -80,7 +83,7 @@ fi
LICENSE="GPL-3+" LICENSE="GPL-3+"
SLOT="0/8" # subslot matches SONAME major SLOT="0/8" # subslot matches SONAME major
if is_release ; then if is_release ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi fi
IUSE="static-libs +unicode utils" IUSE="static-libs +unicode utils"
@ -89,26 +92,36 @@ DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig BDEPEND="virtual/pkgconfig
verify-sig? ( sec-keys/openpgp-keys-chetramey )" verify-sig? ( sec-keys/openpgp-keys-chetramey )"
S="${WORKDIR}/${MY_P}"
PATCHES=( PATCHES=(
"${FILESDIR}"/${PN}-5.0-no_rpath.patch "${FILESDIR}"/${PN}-5.0-no_rpath.patch
"${FILESDIR}"/${PN}-6.2-rlfe-tgoto.patch # bug #385091
"${FILESDIR}"/${PN}-7.0-headers.patch "${FILESDIR}"/${PN}-7.0-headers.patch
"${FILESDIR}"/${PN}-8.0-headers.patch "${FILESDIR}"/${PN}-8.0-headers.patch
"${WORKDIR}"/${PN}-8.1-rlfe-c99.patch
# TODO: rebase # TODO: rebase
#"${FILESDIR}"/${PN}-8.0-darwin-shlib-versioning.patch #"${FILESDIR}"/${PN}-8.0-darwin-shlib-versioning.patch
) )
src_unpack() { src_unpack() {
if [[ ${PV} == 9999 ]] ; then local patch
if [[ ${PV} == 9999 ]]; then
git-r3_src_unpack git-r3_src_unpack
else else
# Needed because we don't want the patches being unpacked if use verify-sig; then
# (which emits annoying and useless error messages) verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
verify-sig_src_unpack
unpack ${MY_P}.tar.gz for patch in "${MY_PATCHES[@]}"; do
verify-sig_verify_detached "${patch}"{,.sig}
done
fi
unpack "${MY_P}.tar.gz"
unpack readline-8.1-rlfe-c99.patch.xz
#if [[ ${GENTOO_PATCH_VER} ]]; then
# unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
#fi
fi fi
} }

View File

@ -1,8 +1,12 @@
# Copyright 1999-2024 Gentoo Authors # Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
EAPI=7 EAPI=8
# There's no standard way of versioning the point releases upstream
# make anyway, so while this was added for RC versions, it's fine
# in general.
QA_PKGCONFIG_VERSION=$(ver_cut 1-2)
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc
inherit flag-o-matic multilib multilib-minimal preserve-libs toolchain-funcs verify-sig inherit flag-o-matic multilib multilib-minimal preserve-libs toolchain-funcs verify-sig
@ -14,78 +18,114 @@ MY_PV="${MY_PV/_/-}"
MY_P="${PN}-${MY_PV}" MY_P="${PN}-${MY_PV}"
MY_PATCHES=() MY_PATCHES=()
is_release() {
case ${PV} in
9999|*_alpha*|*_beta*|*_rc*)
return 1
;;
*)
return 0
;;
esac
}
[[ ${PV} != *_p* ]] && PLEVEL=0 [[ ${PV} != *_p* ]] && PLEVEL=0
DESCRIPTION="Another cute console display library" DESCRIPTION="Another cute console display library"
HOMEPAGE="https://tiswww.case.edu/php/chet/readline/rltop.html" HOMEPAGE="https://tiswww.case.edu/php/chet/readline/rltop.html https://git.savannah.gnu.org/cgit/readline.git"
case ${PV} in if [[ ${PV} == 9999 ]] ; then
*_alpha*|*_beta*|*_rc*) EGIT_REPO_URI="https://git.savannah.gnu.org/git/readline.git"
SRC_URI+=" ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz" EGIT_BRANCH=devel
SRC_URI+=" verify-sig? ( ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz.sig )" inherit git-r3
;; elif is_release ; then
SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz"
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/readline-8.1-rlfe-c99.patch.xz"
SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig )"
*) if [[ ${PLEVEL} -gt 0 ]] ; then
SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz" # bash-5.1 -> bash51
SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig )" my_p=${PN}$(ver_rs 1-2 '' $(ver_cut 1-2))
if [[ ${PLEVEL} -gt 0 ]] ; then patch_url=
# bash-5.1 -> bash51 my_patch_index=
my_p=${PN}$(ver_rs 1-2 '' $(ver_cut 1-2))
patch_url= upstream_url_base="mirror://gnu/readline"
my_patch_index= mirror_url_base="ftp://ftp.cwru.edu/pub/readline"
upstream_url_base="mirror://gnu/bash" for ((my_patch_index=1; my_patch_index <= ${PLEVEL} ; my_patch_index++)) ; do
mirror_url_base="ftp://ftp.cwru.edu/pub/bash" printf -v mangled_patch_ver ${my_p}-%03d ${my_patch_index}
patch_url="${upstream_url_base}/${MY_P}-patches/${mangled_patch_ver}"
for ((my_patch_index=1; my_patch_index <= ${PLEVEL} ; my_patch_index++)) ; do SRC_URI+=" ${patch_url}"
printf -v mangled_patch_ver ${my_p}-%03d ${my_patch_index} SRC_URI+=" verify-sig? ( ${patch_url}.sig )"
patch_url="${upstream_url_base}/${MY_P}-patches/${mangled_patch_ver}"
SRC_URI+=" ${patch_url}" # Add in the mirror URL too.
SRC_URI+=" verify-sig? ( ${patch_url}.sig )" SRC_URI+=" ${patch_url/${upstream_url_base}/${mirror_url_base}}"
SRC_URI+=" verify-sig? ( ${patch_url/${upstream_url_base}/${mirror_url_base}}.sig )"
# Add in the mirror URL too. MY_PATCHES+=( "${DISTDIR}"/${mangled_patch_ver} )
SRC_URI+=" ${patch_url/${upstream_url_base}/${mirror_url_base}}" done
SRC_URI+=" verify-sig? ( ${patch_url/${upstream_url_base}/${mirror_url_base}} )"
MY_PATCHES+=( "${DISTDIR}"/${mangled_patch_ver} ) unset my_p patch_url my_patch_index upstream_url_base mirror_url_base
done fi
else
SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz ftp://ftp.cwru.edu/pub/readline/${MY_P}.tar.gz"
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/readline-8.1-rlfe-c99.patch.xz"
SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig ftp://ftp.cwru.edu/pub/readline/${MY_P}.tar.gz.sig )"
fi
unset my_p patch_url my_patch_index upstream_url_base mirror_url_base S="${WORKDIR}/${MY_P}"
fi
;; if ! is_release ; then
esac inherit autotools
fi
LICENSE="GPL-3+" LICENSE="GPL-3+"
SLOT="0/8" # subslot matches SONAME major SLOT="0/8" # subslot matches SONAME major
[[ ${PV} == *_rc* ]] || \ if is_release ; then
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
IUSE="static-libs +unicode utils" IUSE="static-libs +unicode utils"
RDEPEND=">=sys-libs/ncurses-5.9-r3:=[static-libs?,unicode(+)?,${MULTILIB_USEDEP}]" RDEPEND=">=sys-libs/ncurses-5.9-r3:=[static-libs?,unicode(+)?,${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}" DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig BDEPEND="
verify-sig? ( sec-keys/openpgp-keys-chetramey )" virtual/pkgconfig
verify-sig? ( sec-keys/openpgp-keys-chetramey )
S="${WORKDIR}/${MY_P}" "
PATCHES=( PATCHES=(
"${FILESDIR}"/${PN}-5.0-no_rpath.patch "${FILESDIR}"/${PN}-5.0-no_rpath.patch
"${FILESDIR}"/${PN}-6.2-rlfe-tgoto.patch #385091
"${FILESDIR}"/${PN}-7.0-headers.patch "${FILESDIR}"/${PN}-7.0-headers.patch
"${FILESDIR}"/${PN}-8.0-headers.patch "${FILESDIR}"/${PN}-8.0-headers.patch
"${FILESDIR}"/${PN}-8.0-darwin-shlib-versioning.patch "${WORKDIR}"/${PN}-8.1-rlfe-c99.patch
"${FILESDIR}"/${PN}-8.1-windows-signals.patch
# TODO: rebase
#"${FILESDIR}"/${PN}-8.0-darwin-shlib-versioning.patch
) )
# Needed because we don't want the patches being unpacked
# (which emits annoying and useless error messages)
src_unpack() { src_unpack() {
verify-sig_src_unpack local patch
unpack ${MY_P}.tar.gz if [[ ${PV} == 9999 ]]; then
git-r3_src_unpack
else
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
for patch in "${MY_PATCHES[@]}"; do
verify-sig_verify_detached "${patch}"{,.sig}
done
fi
unpack "${MY_P}.tar.gz"
unpack readline-8.1-rlfe-c99.patch.xz
#if [[ ${GENTOO_PATCH_VER} ]]; then
# unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
#fi
fi
} }
src_prepare() { src_prepare() {
@ -93,6 +133,8 @@ src_prepare() {
default default
is_release || eautoreconf
if use prefix && [[ ! -x "${BROOT}"/usr/bin/pkg-config ]] ; then if use prefix && [[ ! -x "${BROOT}"/usr/bin/pkg-config ]] ; then
# If we're bootstrapping, make a guess. We don't have pkg-config # If we're bootstrapping, make a guess. We don't have pkg-config
# around yet. bug #818103. # around yet. bug #818103.
@ -106,8 +148,8 @@ src_prepare() {
ncurses_libs+=" -ltinfo${ncurses_libs_suffix}" ncurses_libs+=" -ltinfo${ncurses_libs_suffix}"
fi fi
else else
# Force ncurses linking. #71420 # Force ncurses linking, bug #71420.
# Use pkg-config to get the right values. #457558 # Use pkg-config to get the right values, bug #457558.
local ncurses_libs=$($(tc-getPKG_CONFIG) ncurses$(usex unicode w '') --libs) local ncurses_libs=$($(tc-getPKG_CONFIG) ncurses$(usex unicode w '') --libs)
fi fi
@ -118,21 +160,22 @@ src_prepare() {
-e "/^[[:space:]]*LIBS=.-lncurses/s:-lncurses:${ncurses_libs}:" \ -e "/^[[:space:]]*LIBS=.-lncurses/s:-lncurses:${ncurses_libs}:" \
examples/rlfe/configure || die examples/rlfe/configure || die
# fix building under Gentoo/FreeBSD; upstream FreeBSD deprecated # Fix building under Gentoo/FreeBSD; upstream FreeBSD deprecated
# objformat for years, so we don't want to rely on that. # 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 sed -i -e '/objformat/s:if .*; then:if true; then:' support/shobj-conf || die
ln -s ../.. examples/rlfe/readline || die # for local readline headers # For local readline headers
ln -s ../.. examples/rlfe/readline || die
} }
src_configure() { src_configure() {
# fix implicit decls with widechar funcs # Fix implicit decls with widechar funcs
append-cppflags -D_GNU_SOURCE append-cppflags -D_GNU_SOURCE
# https://lists.gnu.org/archive/html/bug-readline/2010-07/msg00013.html # https://lists.gnu.org/archive/html/bug-readline/2010-07/msg00013.html
append-cppflags -Dxrealloc=_rl_realloc -Dxmalloc=_rl_malloc -Dxfree=_rl_free append-cppflags -Dxrealloc=_rl_realloc -Dxmalloc=_rl_malloc -Dxfree=_rl_free
# Make sure configure picks a better ar than `ar`. #484866 # Make sure configure picks a better ar than `ar`, bug #484866
export ac_cv_prog_AR=$(tc-getAR) export ac_cv_prog_AR="$(tc-getAR)"
# Force the test since we used sed above to force it. # Force the test since we used sed above to force it.
export bash_cv_termcap_lib=ncurses export bash_cv_termcap_lib=ncurses
@ -141,9 +184,10 @@ src_configure() {
# In cases where the C library doesn't support wide characters, readline # 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. # itself won't work correctly, so forcing the answer below should be OK.
if tc-is-cross-compiler ; then if tc-is-cross-compiler ; then
export bash_cv_func_sigsetjmp='present' export bash_cv_func_sigsetjmp="present"
export bash_cv_func_ctype_nonascii='yes' export bash_cv_func_ctype_nonascii="yes"
export bash_cv_wcwidth_broken='no' #503312 # bug #503312
export bash_cv_wcwidth_broken="no"
fi fi
# This is for rlfe, but we need to make sure LDFLAGS doesn't change # This is for rlfe, but we need to make sure LDFLAGS doesn't change
@ -159,14 +203,15 @@ multilib_src_configure() {
--with-curses --with-curses
$(use_enable static-libs static) $(use_enable static-libs static)
) )
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
if use utils && multilib_is_native_abi && ! tc-is-cross-compiler ; then if use utils && multilib_is_native_abi && ! tc-is-cross-compiler ; then
# code is full of AC_TRY_RUN() # Code is full of AC_TRY_RUN()
mkdir -p examples/rlfe || die mkdir -p examples/rlfe || die
cd examples/rlfe || die cd examples/rlfe || die
ECONF_SOURCE="${S}"/examples/rlfe \
econf --cache-file="${BUILD_DIR}"/config.cache ECONF_SOURCE="${S}"/examples/rlfe econf --cache-file="${BUILD_DIR}"/config.cache
fi fi
} }
@ -174,7 +219,7 @@ multilib_src_compile() {
emake emake
if use utils && multilib_is_native_abi && ! tc-is-cross-compiler ; then if use utils && multilib_is_native_abi && ! tc-is-cross-compiler ; then
# code is full of AC_TRY_RUN() # Code is full of AC_TRY_RUN()
cd examples/rlfe || die cd examples/rlfe || die
local l local l
for l in readline history ; do for l in readline history ; do
@ -197,13 +242,14 @@ multilib_src_install() {
multilib_src_install_all() { multilib_src_install_all() {
HTML_DOCS="doc/history.html doc/readline.html doc/rluserman.html" einstalldocs HTML_DOCS="doc/history.html doc/readline.html doc/rluserman.html" einstalldocs
dodoc USAGE dodoc USAGE
docinto ps docinto ps
dodoc doc/*.ps dodoc doc/*.ps
} }
pkg_preinst() { pkg_preinst() {
# bug #29865 # bug #29865
# Reappeared in #595324 with paludis so keeping this for now... # Reappeared in bug #595324 with paludis so keeping this for now...
preserve_old_lib \ preserve_old_lib \
/$(get_libdir)/lib{history,readline}$(get_libname 4) \ /$(get_libdir)/lib{history,readline}$(get_libname 4) \
/$(get_libdir)/lib{history,readline}$(get_libname 5) \ /$(get_libdir)/lib{history,readline}$(get_libname 5) \

View File

@ -1,7 +1,7 @@
# Copyright 1999-2024 Gentoo Authors # Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
EAPI=7 EAPI=8
# There's no standard way of versioning the point releases upstream # There's no standard way of versioning the point releases upstream
# make anyway, so while this was added for RC versions, it's fine # make anyway, so while this was added for RC versions, it's fine
@ -61,7 +61,7 @@ elif is_release ; then
# Add in the mirror URL too. # Add in the mirror URL too.
SRC_URI+=" ${patch_url/${upstream_url_base}/${mirror_url_base}}" SRC_URI+=" ${patch_url/${upstream_url_base}/${mirror_url_base}}"
SRC_URI+=" verify-sig? ( ${patch_url/${upstream_url_base}/${mirror_url_base}} )" SRC_URI+=" verify-sig? ( ${patch_url/${upstream_url_base}/${mirror_url_base}}.sig )"
MY_PATCHES+=( "${DISTDIR}"/${mangled_patch_ver} ) MY_PATCHES+=( "${DISTDIR}"/${mangled_patch_ver} )
done done
@ -73,6 +73,8 @@ else
SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig ftp://ftp.cwru.edu/pub/readline/${MY_P}.tar.gz.sig )" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig ftp://ftp.cwru.edu/pub/readline/${MY_P}.tar.gz.sig )"
fi fi
S="${WORKDIR}/${MY_P}"
if ! is_release ; then if ! is_release ; then
inherit autotools inherit autotools
fi fi
@ -86,14 +88,13 @@ IUSE="static-libs +unicode utils"
RDEPEND=">=sys-libs/ncurses-5.9-r3:=[static-libs?,unicode(+)?,${MULTILIB_USEDEP}]" RDEPEND=">=sys-libs/ncurses-5.9-r3:=[static-libs?,unicode(+)?,${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}" DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig BDEPEND="
verify-sig? ( sec-keys/openpgp-keys-chetramey )" virtual/pkgconfig
verify-sig? ( sec-keys/openpgp-keys-chetramey )
S="${WORKDIR}/${MY_P}" "
PATCHES=( PATCHES=(
"${FILESDIR}"/${PN}-5.0-no_rpath.patch "${FILESDIR}"/${PN}-5.0-no_rpath.patch
"${FILESDIR}"/${PN}-6.2-rlfe-tgoto.patch # bug #385091
"${FILESDIR}"/${PN}-7.0-headers.patch "${FILESDIR}"/${PN}-7.0-headers.patch
"${FILESDIR}"/${PN}-8.0-headers.patch "${FILESDIR}"/${PN}-8.0-headers.patch
@ -102,13 +103,24 @@ PATCHES=(
) )
src_unpack() { src_unpack() {
if [[ ${PV} == 9999 ]] ; then local patch
if [[ ${PV} == 9999 ]]; then
git-r3_src_unpack git-r3_src_unpack
else else
# Needed because we don't want the patches being unpacked if use verify-sig; then
# (which emits annoying and useless error messages) verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
verify-sig_src_unpack
unpack ${MY_P}.tar.gz for patch in "${MY_PATCHES[@]}"; do
verify-sig_verify_detached "${patch}"{,.sig}
done
fi
unpack "${MY_P}.tar.gz"
#if [[ ${GENTOO_PATCH_VER} ]]; then
# unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
#fi
fi fi
} }