diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-08-27 02:53:16 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-08-27 02:53:16 +0100 |
commit | f1aa825b8483db57bf28d0772acfa10aeebe83c3 (patch) | |
tree | d56ade77461ea49cbbb4943bd2e100eb6b97bb76 /sys-libs/readline | |
parent | 0e83ee97d831abe38c8e764fb9bbfef9de04daf2 (diff) |
gentoo auto-resync : 27:08:2022 - 02:53:16
Diffstat (limited to 'sys-libs/readline')
-rw-r--r-- | sys-libs/readline/Manifest | 9 | ||||
-rw-r--r-- | sys-libs/readline/readline-8.1_p2-r1.ebuild | 215 | ||||
-rw-r--r-- | sys-libs/readline/readline-8.2_rc3.ebuild (renamed from sys-libs/readline/readline-8.2_rc2.ebuild) | 90 | ||||
-rw-r--r-- | sys-libs/readline/readline-9999.ebuild | 90 |
4 files changed, 328 insertions, 76 deletions
diff --git a/sys-libs/readline/Manifest b/sys-libs/readline/Manifest index 2efbc011d4cd..7fc8562b84b9 100644 --- a/sys-libs/readline/Manifest +++ b/sys-libs/readline/Manifest @@ -6,14 +6,15 @@ AUX readline-8.0-headers.patch 577 BLAKE2B b8fe6cdf51188f68c852d3c9052e7840a0bcb AUX readline-8.1-windows-signals.patch 569 BLAKE2B af1ad52b09a1a49e6045bd640d57f3932f2b8db450b2eb7e0787a4326f6c61445ad83395620caf489da14107e8a51aed5d5fdf8e3268fab83d8ff04d393b1a59 SHA512 37aa778a21e360708d371aaf3f08274f75b15d8b2c42b030bda8d65dda81b1713c748644e45b6662c608da14ad413d6d83e43800ea58309fa60256a18317f5ae 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.2-rc2.tar.gz 3041602 BLAKE2B 1a9ad2c2d52486fd47b7aada15eae186bf5538cc0864a8a102306b4150ad0e560f4b09d3098f9905cb00918e5b119ad472acaf0d1814a63be8cab90192e880fa SHA512 cc327569e138a6d4a5fd41c6092d6229fba89befd2d68996b6b2b60baa2d2f7805666260327779571a5f82670c55daa36c9bd773ea818e5722ad808bbc6eeddd -DIST readline-8.2-rc2.tar.gz.sig 95 BLAKE2B 57bcfb4493d1323bf30bdff221b967b69f90392feab6c869f4f3a40b6991f1db40ee05f2928a821c5230850cf7471224aa89cf007228a2e92279671c4b8f6153 SHA512 a244b46c1f33fbb230ae71ea0e8f408a1598d9aa2d01f3a7480bd4a395b79307ac7e28fba4bc2eb32056fd62cd786301893780d7d6eb87bfd8e2c5332eeb3baf +DIST readline-8.2-rc3.tar.gz 3043957 BLAKE2B 49d68306f84add2f4e07a151c417aae9829761d0c94aaab5c2ec4dde49bcfdbd8c43907a5f5a00366850309c30a725f2628641e7105257108569efbc70420588 SHA512 136a04e070457b7152325951cd9e414d5598bcc28e41d31f6651d21b584a08282bab7c0e07edf786ef6855a6cdc346ab55ee670d06de7fdda7847a1c9b551e03 +DIST readline-8.2-rc3.tar.gz.sig 95 BLAKE2B 4af655b0a4d3faf5f9be011459f56737f48204d7d6757cd8571f5a3cfd7bc1e820def8fb7227b5431d19660a48713e5a04c95d8f5ea43439483f3ce858cb1d77 SHA512 06aec40b24f67eff72dc53b902b6f1c5df926a56b4d67df530b6243200d261747d3d2112b16ff83f921376437cfd941b8ddbe157babf9302ce60ff54a022e65d DIST readline81-001 2454 BLAKE2B 7ec4e5c39a224a70643b44b88bcfef5198e199c76f2a34f0b0ce24f1747dd46be49ddf93871c474cda64322b4358127fec4c2401d19422f84934546bbe1f3bf2 SHA512 cfbef10bdeb562a302ccf214878d02ebadf799343b3d2d7996a282f81bcfde83997ba6dcc9a8477af4dd7c73bca74105ca00a81e42ed13321672bd2930550e54 DIST readline81-001.sig 95 BLAKE2B 7d523d0fc21772cb03aa4b5d66ea58c1a99a6c0e4a8625e89cad015cbff63cd68e08207ca5150819225300ac864806032888104bbbea64ca38ebf89e28c24b7e SHA512 7fa3747e388aecb26f2d4f8346b89b367710ea99a14618c625066b820901dc467bd156ec37340fde1f86f0fe0d6b33044c1ed5768cf8ed1a25386d32dc6419a6 DIST readline81-002 1242 BLAKE2B 4ef0404561bd8fc5559e8e5f675ae3f12c467178a8954f54f3204c2d09b88ccec960e807c7af0ec3514b489b676e3be51f98351e377fb18e3d7a14d33d4da69d SHA512 e47c029b82cf3a4d44e85c4348f7e059c56726694c190d84186822e1c893e1c006e7ec75f33c36791112f81abd792a2e2fdae9a65cd128f3c89ff4ffd9a9a1ff DIST readline81-002.sig 95 BLAKE2B f85d8a65a7326d6e18b32a603c8082952e4b81c53b6a1bd1668c7b0064ecce6ef04a41e2a042f100424dbf152e4db32c0e07ff166d528aa4ac4a9bd7daf4c7a9 SHA512 9ffb6cc697499f57df133f5ebaa5e43e24d33df5eb450d94a02144e94c833424218594c366f21101bc63331c1d532299c9327bd447d0a9849b0bbedce206a5b7 EBUILD readline-8.1_p1-r1.ebuild 5901 BLAKE2B 4819d05f4e9fd9d9b737eeabf14cedb8e9879f554b5bb3cf2d1635ca2f3e07382e16dec40693aa183d51cd2d362f77942614f5129392363ce5097fd401b59795 SHA512 54c1365e53e218e3a404fffe2343627218b4230db5be183ce7c79c417ae8c083ac00cf5f619c7344284635155ff2dbf6071ba631283c0f3c2ace8aa1cd7b2581 +EBUILD readline-8.1_p2-r1.ebuild 6493 BLAKE2B c1ee458f0da6071892662004573330e9efe9d2c99542fca89cb6aae781f05c44ddd46426aaead49ab476ee00023e6ce2b5a69a66ee2cebb38e9d29a713ba9453 SHA512 b7f6bb49afba91e657363a84310a7d6a22f839c68a70d1041594c842b2bd0004873760bfb894896a894f19ea9f5acc409e99cbf03380d2aa94de410f4106c423 EBUILD readline-8.1_p2.ebuild 6266 BLAKE2B df1a758c63118e9f8b23bbc6831cc2d3fb975e332fd4212d5b94cb6b43885d4d3713a664d4b11729d6a447b5c57808b07d40a426d1738b85874da7c7d7880006 SHA512 e8a21619d26dd11d4fa0b2d8accb9ba89405a9ae66f6ef7c73a3122bb25b769f013691ff1688583a560911da303c15bd85f2a7863b41ec802607ec5f7df444ae -EBUILD readline-8.2_rc2.ebuild 6873 BLAKE2B 610cc7f4aca1eb9f7b60c67f1e1733767bcec8e992f88297f1b74d87f304a4f7a593903e242e5107d92eb95e8bc620c264865c50d46c1814c9c8e12e7d7470bb SHA512 65fa964b499ec9996ff26f16dcdf9c187ceb3b8f924d187dac023ba7d0e2c639324ac4793a34ed81d95b853709e82426356ccb4aae8fefc484ffe018ffce5284 -EBUILD readline-9999.ebuild 6873 BLAKE2B 610cc7f4aca1eb9f7b60c67f1e1733767bcec8e992f88297f1b74d87f304a4f7a593903e242e5107d92eb95e8bc620c264865c50d46c1814c9c8e12e7d7470bb SHA512 65fa964b499ec9996ff26f16dcdf9c187ceb3b8f924d187dac023ba7d0e2c639324ac4793a34ed81d95b853709e82426356ccb4aae8fefc484ffe018ffce5284 +EBUILD readline-8.2_rc3.ebuild 7133 BLAKE2B a01b5f0750a279f668f93f466c197a89b679d8a60502aaebaf8cb99d78dfe60687e37904528e73af82955e2a4e2af8e088d494c78c041400af64e15f2827f2c4 SHA512 815112467350989b6ffb353ffe403b254a160c8f6620f77cfc6cccf3d82ad27cae44bbd3b6efe366d7db0511c94225e7a54b8ac81f10c826e9705593ff76fb69 +EBUILD readline-9999.ebuild 7133 BLAKE2B a01b5f0750a279f668f93f466c197a89b679d8a60502aaebaf8cb99d78dfe60687e37904528e73af82955e2a4e2af8e088d494c78c041400af64e15f2827f2c4 SHA512 815112467350989b6ffb353ffe403b254a160c8f6620f77cfc6cccf3d82ad27cae44bbd3b6efe366d7db0511c94225e7a54b8ac81f10c826e9705593ff76fb69 MISC metadata.xml 473 BLAKE2B 95401399d6edc2a1a28f9c0f42123b07568d5c517c49be38eff09e1f23a9b5df4d5b302495db8880c8ed65081ea2920f194e6b32402ab0d6049221e9ee6a4eed SHA512 e54e4ce57f3178aa8646acb6798f46074eb33173ab63d61f62bc9ab1d35ef823ce9ee3e173234f8866e2cb635519869c76a449f5073c3a5b7cfd29cd23c16462 diff --git a/sys-libs/readline/readline-8.1_p2-r1.ebuild b/sys-libs/readline/readline-8.1_p2-r1.ebuild new file mode 100644 index 000000000000..2732f7d7ae6a --- /dev/null +++ b/sys-libs/readline/readline-8.1_p2-r1.ebuild @@ -0,0 +1,215 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/chetramey.asc +inherit flag-o-matic multilib multilib-minimal preserve-libs toolchain-funcs usr-ldscript verify-sig + +# Official patches +# See ftp://ftp.cwru.edu/pub/bash/readline-8.1-patches/ +PLEVEL="${PV##*_p}" +MY_PV="${PV/_p*}" +MY_PV="${MY_PV/_/-}" +MY_P="${PN}-${MY_PV}" +MY_PATCHES=() + +[[ ${PV} != *_p* ]] && PLEVEL=0 + +DESCRIPTION="Another cute console display library" +HOMEPAGE="https://tiswww.case.edu/php/chet/readline/rltop.html" + +case ${PV} in + *_alpha*|*_beta*|*_rc*) + SRC_URI+=" ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz" + SRC_URI+=" verify-sig? ( ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz.sig )" + ;; + + *) + SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz" + SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig )" + + if [[ ${PLEVEL} -gt 0 ]] ; then + # bash-5.1 -> bash51 + my_p=${PN}$(ver_rs 1-2 '' $(ver_cut 1-2)) + + patch_url= + my_patch_index= + + for ((my_patch_index=1; my_patch_index <= ${PLEVEL} ; my_patch_index++)) ; do + for url in mirror://gnu/${pn} ftp://ftp.cwru.edu/pub/bash ; do + patch_url=$(printf "${url}/${PN}-$(ver_cut 1-2)-patches/${my_p}-%03d" ${my_patch_index}) + SRC_URI+=" ${patch_url}" + SRC_URI+=" verify-sig? ( ${patch_url}.sig )" + done + + MY_PATCHES+=( "${DISTDIR}"/$(printf ${my_p}-%03d ${my_patch_index}) ) + done + + unset my_pn patch_url my_patch_index + fi + ;; +esac + +LICENSE="GPL-3" +SLOT="0/8" # subslot matches SONAME major +[[ ${PV} == *_rc* ]] || \ +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="static-libs +unicode utils" + +RDEPEND=">=sys-libs/ncurses-5.9-r3:=[static-libs?,unicode(+)?,${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-chetramey )" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}"/${PN}-5.0-no_rpath.patch + "${FILESDIR}"/${PN}-6.2-rlfe-tgoto.patch #385091 + "${FILESDIR}"/${PN}-7.0-headers.patch + "${FILESDIR}"/${PN}-8.0-headers.patch + "${FILESDIR}"/${PN}-8.0-darwin-shlib-versioning.patch + "${FILESDIR}"/${PN}-8.1-windows-signals.patch +) + +# Needed because we don't want the patches being unpacked +# (which emits annoying and useless error messages) +src_unpack() { + verify-sig_src_unpack + + unpack ${MY_P}.tar.gz +} + +src_prepare() { + [[ ${PLEVEL} -gt 0 ]] && eapply -p0 "${MY_PATCHES[@]}" + + default + + if use prefix && [[ ! -x "${BROOT}"/usr/bin/pkg-config ]] ; then + # If we're bootstrapping, make a guess. We don't have pkg-config + # around yet. bug #818103. + # Incorrectly populating this leads to underlinked libreadline. + local ncurses_libs + local ncurses_libs_suffix=$(usex unicode w '') + + ncurses_libs="-lncurses${ncurses_libs_suffix}" + + if has_version "sys-libs/ncurses[tinfo(+)]" ; then + ncurses_libs+=" -ltinfo${ncurses_libs_suffix}" + fi + else + # Force ncurses linking. #71420 + # Use pkg-config to get the right values. #457558 + local ncurses_libs=$($(tc-getPKG_CONFIG) ncurses$(usex unicode w '') --libs) + fi + + 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 || die # for local readline headers +} + +src_configure() { + # fix implicit decls with widechar funcs + append-cppflags -D_GNU_SOURCE + # https://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 + use kernel_Winnt || 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() { + local myeconfargs=( + --cache-file="${BUILD_DIR}"/config.cache + --with-curses + $(use_enable static-libs static) + ) + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" + + if use utils && 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 use utils && 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) || die + ln -s ../../lib${l}.a lib${l}.a || die + done + emake + fi +} + +multilib_src_install() { + default + + if multilib_is_native_abi ; then + gen_usr_ldscript -a readline history #4411 + + if use utils && ! tc-is-cross-compiler; then + dobin examples/rlfe/rlfe + fi + fi +} + +multilib_src_install_all() { + HTML_DOCS="doc/history.html doc/readline.html doc/rluserman.html" einstalldocs + dodoc USAGE + docinto ps + dodoc doc/*.ps +} +pkg_preinst() { + # bug #29865 + # Reappeared in #595324 with paludis so keeping this for now... + preserve_old_lib \ + /$(get_libdir)/lib{history,readline}$(get_libname 4) \ + /$(get_libdir)/lib{history,readline}$(get_libname 5) \ + /$(get_libdir)/lib{history,readline}$(get_libname 6) \ + /$(get_libdir)/lib{history,readline}$(get_libname 7) +} + +pkg_postinst() { + preserve_old_lib_notify \ + /$(get_libdir)/lib{history,readline}$(get_libname 4) \ + /$(get_libdir)/lib{history,readline}$(get_libname 5) \ + /$(get_libdir)/lib{history,readline}$(get_libname 6) \ + /$(get_libdir)/lib{history,readline}$(get_libname 7) +} diff --git a/sys-libs/readline/readline-8.2_rc2.ebuild b/sys-libs/readline/readline-8.2_rc3.ebuild index 934a8b1ce368..4bc9fb0d90a8 100644 --- a/sys-libs/readline/readline-8.2_rc2.ebuild +++ b/sys-libs/readline/readline-8.2_rc3.ebuild @@ -16,28 +16,20 @@ PLEVEL="${PV##*_p}" MY_PV="${PV/_p*}" MY_PV="${MY_PV/_/-}" MY_P="${PN}-${MY_PV}" +MY_PATCHES=() + is_release() { case ${PV} in - 9999|*_alpha*|*_beta*|*_rc*) return 1 ;; - *) return 0 ;; + 9999|*_alpha*|*_beta*|*_rc*) + return 1 + ;; + *) + return 0 + ;; esac } + [[ ${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 mirror://gnu/${PN} ftp://ftp.cwru.edu/pub/bash ; do - printf "${u}/${PN}-${MY_PV}-patches/%s " "$@" - printf "${u}/${PN}-${MY_PV}-patches/%s.sig " "$@" - done - fi -} DESCRIPTION="Another cute console display library" HOMEPAGE="https://tiswww.case.edu/php/chet/readline/rltop.html https://git.savannah.gnu.org/cgit/readline.git" @@ -47,8 +39,28 @@ if [[ ${PV} == 9999 ]] ; then EGIT_BRANCH=devel inherit git-r3 elif is_release ; then - SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz $(patches)" + SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig )" + + if [[ ${PLEVEL} -gt 0 ]] ; then + # bash-5.1 -> bash51 + my_p=${PN}$(ver_rs 1-2 '' $(ver_cut 1-2)) + + patch_url= + my_patch_index= + + for ((my_patch_index=1; my_patch_index <= ${PLEVEL} ; my_patch_index++)) ; do + for url in mirror://gnu/${pn} ftp://ftp.cwru.edu/pub/bash ; do + patch_url=$(printf "${url}/${PN}-$(ver_cut 1-2)-patches/${my_p}-%03d" ${my_patch_index}) + SRC_URI+=" ${patch_url}" + SRC_URI+=" verify-sig? ( ${patch_url}.sig )" + done + + MY_PATCHES+=( "${DISTDIR}"/$(printf ${my_p}-%03d ${my_patch_index}) ) + done + + unset my_pn patch_url my_patch_index + fi else SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz.sig )" @@ -74,7 +86,7 @@ S="${WORKDIR}/${MY_P}" PATCHES=( "${FILESDIR}"/${PN}-5.0-no_rpath.patch - "${FILESDIR}"/${PN}-6.2-rlfe-tgoto.patch #385091 + "${FILESDIR}"/${PN}-6.2-rlfe-tgoto.patch # bug #385091 "${FILESDIR}"/${PN}-7.0-headers.patch "${FILESDIR}"/${PN}-8.0-headers.patch @@ -94,7 +106,8 @@ src_unpack() { } src_prepare() { - [[ ${PLEVEL} -gt 0 ]] && eapply -p0 $(patches -s) + [[ ${PLEVEL} -gt 0 ]] && eapply -p0 "${MY_PATCHES[@]}" + default is_release || eautoreconf @@ -112,8 +125,8 @@ src_prepare() { ncurses_libs+=" -ltinfo${ncurses_libs_suffix}" fi else - # Force ncurses linking. #71420 - # Use pkg-config to get the right values. #457558 + # Force ncurses linking, bug #71420. + # Use pkg-config to get the right values, bug #457558. local ncurses_libs=$($(tc-getPKG_CONFIG) ncurses$(usex unicode w '') --libs) fi @@ -124,21 +137,22 @@ src_prepare() { -e "/^[[:space:]]*LIBS=.-lncurses/s:-lncurses:${ncurses_libs}:" \ 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. 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() { - # fix implicit decls with widechar funcs + # Fix implicit decls with widechar funcs append-cppflags -D_GNU_SOURCE # https://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) + # Make sure configure picks a better ar than `ar`, bug #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 @@ -147,9 +161,10 @@ src_configure() { # 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 - use kernel_Winnt || export bash_cv_func_sigsetjmp='present' - export bash_cv_func_ctype_nonascii='yes' - export bash_cv_wcwidth_broken='no' #503312 + use kernel_Winnt || export bash_cv_func_sigsetjmp="present" + export bash_cv_func_ctype_nonascii="yes" + # bug #503312 + export bash_cv_wcwidth_broken="no" fi # This is for rlfe, but we need to make sure LDFLAGS doesn't change @@ -165,14 +180,15 @@ multilib_src_configure() { --with-curses $(use_enable static-libs static) ) + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" 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 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 } @@ -180,7 +196,7 @@ multilib_src_compile() { emake 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 local l for l in readline history ; do @@ -195,7 +211,8 @@ multilib_src_install() { default if multilib_is_native_abi ; then - gen_usr_ldscript -a readline history #4411 + # bug #4411 + gen_usr_ldscript -a readline history if use utils && ! tc-is-cross-compiler; then dobin examples/rlfe/rlfe @@ -205,13 +222,14 @@ multilib_src_install() { multilib_src_install_all() { HTML_DOCS="doc/history.html doc/readline.html doc/rluserman.html" einstalldocs + dodoc USAGE docinto ps dodoc doc/*.ps } pkg_preinst() { # 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 \ /$(get_libdir)/lib{history,readline}$(get_libname 4) \ /$(get_libdir)/lib{history,readline}$(get_libname 5) \ diff --git a/sys-libs/readline/readline-9999.ebuild b/sys-libs/readline/readline-9999.ebuild index 934a8b1ce368..4bc9fb0d90a8 100644 --- a/sys-libs/readline/readline-9999.ebuild +++ b/sys-libs/readline/readline-9999.ebuild @@ -16,28 +16,20 @@ PLEVEL="${PV##*_p}" MY_PV="${PV/_p*}" MY_PV="${MY_PV/_/-}" MY_P="${PN}-${MY_PV}" +MY_PATCHES=() + is_release() { case ${PV} in - 9999|*_alpha*|*_beta*|*_rc*) return 1 ;; - *) return 0 ;; + 9999|*_alpha*|*_beta*|*_rc*) + return 1 + ;; + *) + return 0 + ;; esac } + [[ ${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 mirror://gnu/${PN} ftp://ftp.cwru.edu/pub/bash ; do - printf "${u}/${PN}-${MY_PV}-patches/%s " "$@" - printf "${u}/${PN}-${MY_PV}-patches/%s.sig " "$@" - done - fi -} DESCRIPTION="Another cute console display library" HOMEPAGE="https://tiswww.case.edu/php/chet/readline/rltop.html https://git.savannah.gnu.org/cgit/readline.git" @@ -47,8 +39,28 @@ if [[ ${PV} == 9999 ]] ; then EGIT_BRANCH=devel inherit git-r3 elif is_release ; then - SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz $(patches)" + SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig )" + + if [[ ${PLEVEL} -gt 0 ]] ; then + # bash-5.1 -> bash51 + my_p=${PN}$(ver_rs 1-2 '' $(ver_cut 1-2)) + + patch_url= + my_patch_index= + + for ((my_patch_index=1; my_patch_index <= ${PLEVEL} ; my_patch_index++)) ; do + for url in mirror://gnu/${pn} ftp://ftp.cwru.edu/pub/bash ; do + patch_url=$(printf "${url}/${PN}-$(ver_cut 1-2)-patches/${my_p}-%03d" ${my_patch_index}) + SRC_URI+=" ${patch_url}" + SRC_URI+=" verify-sig? ( ${patch_url}.sig )" + done + + MY_PATCHES+=( "${DISTDIR}"/$(printf ${my_p}-%03d ${my_patch_index}) ) + done + + unset my_pn patch_url my_patch_index + fi else SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz.sig )" @@ -74,7 +86,7 @@ S="${WORKDIR}/${MY_P}" PATCHES=( "${FILESDIR}"/${PN}-5.0-no_rpath.patch - "${FILESDIR}"/${PN}-6.2-rlfe-tgoto.patch #385091 + "${FILESDIR}"/${PN}-6.2-rlfe-tgoto.patch # bug #385091 "${FILESDIR}"/${PN}-7.0-headers.patch "${FILESDIR}"/${PN}-8.0-headers.patch @@ -94,7 +106,8 @@ src_unpack() { } src_prepare() { - [[ ${PLEVEL} -gt 0 ]] && eapply -p0 $(patches -s) + [[ ${PLEVEL} -gt 0 ]] && eapply -p0 "${MY_PATCHES[@]}" + default is_release || eautoreconf @@ -112,8 +125,8 @@ src_prepare() { ncurses_libs+=" -ltinfo${ncurses_libs_suffix}" fi else - # Force ncurses linking. #71420 - # Use pkg-config to get the right values. #457558 + # Force ncurses linking, bug #71420. + # Use pkg-config to get the right values, bug #457558. local ncurses_libs=$($(tc-getPKG_CONFIG) ncurses$(usex unicode w '') --libs) fi @@ -124,21 +137,22 @@ src_prepare() { -e "/^[[:space:]]*LIBS=.-lncurses/s:-lncurses:${ncurses_libs}:" \ 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. 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() { - # fix implicit decls with widechar funcs + # Fix implicit decls with widechar funcs append-cppflags -D_GNU_SOURCE # https://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) + # Make sure configure picks a better ar than `ar`, bug #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 @@ -147,9 +161,10 @@ src_configure() { # 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 - use kernel_Winnt || export bash_cv_func_sigsetjmp='present' - export bash_cv_func_ctype_nonascii='yes' - export bash_cv_wcwidth_broken='no' #503312 + use kernel_Winnt || export bash_cv_func_sigsetjmp="present" + export bash_cv_func_ctype_nonascii="yes" + # bug #503312 + export bash_cv_wcwidth_broken="no" fi # This is for rlfe, but we need to make sure LDFLAGS doesn't change @@ -165,14 +180,15 @@ multilib_src_configure() { --with-curses $(use_enable static-libs static) ) + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" 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 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 } @@ -180,7 +196,7 @@ multilib_src_compile() { emake 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 local l for l in readline history ; do @@ -195,7 +211,8 @@ multilib_src_install() { default if multilib_is_native_abi ; then - gen_usr_ldscript -a readline history #4411 + # bug #4411 + gen_usr_ldscript -a readline history if use utils && ! tc-is-cross-compiler; then dobin examples/rlfe/rlfe @@ -205,13 +222,14 @@ multilib_src_install() { multilib_src_install_all() { HTML_DOCS="doc/history.html doc/readline.html doc/rluserman.html" einstalldocs + dodoc USAGE docinto ps dodoc doc/*.ps } pkg_preinst() { # 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 \ /$(get_libdir)/lib{history,readline}$(get_libname 4) \ /$(get_libdir)/lib{history,readline}$(get_libname 5) \ |