commit:     e5a6726f64605c0f6896b027cc0de56a0fcf9593
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Apr  9 14:20:27 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Apr  9 14:22:16 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e5a6726f

sys-libs/readline: add 8.3_rc1

Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-libs/readline/Manifest                |   2 +
 sys-libs/readline/readline-8.3_rc1.ebuild | 265 ++++++++++++++++++++++++++++++
 2 files changed, 267 insertions(+)

diff --git a/sys-libs/readline/Manifest b/sys-libs/readline/Manifest
index c6c2c99e85d6..0c24a00616f5 100644
--- a/sys-libs/readline/Manifest
+++ b/sys-libs/readline/Manifest
@@ -5,6 +5,8 @@ DIST readline-8.2.tar.gz 3043952 BLAKE2B 
7974322b9c092a756a79e537df08e8532f8e0fc
 DIST readline-8.2.tar.gz.sig 95 BLAKE2B 
dc510459c0c47782ca87364a6677b4d8f0b68a984143122c08bd15aef08a71bff59ac92d3c3ada518dad09f189c144748e840175041eb619f679e2d8b95dc2aa
 SHA512 
0effd273689e5f7fe7e049c8f2c5f3c97149f198a90d053231ee4de34901560a465ab0d4fd71fd07c7d7e233caed7f42e5b668bffaf1e23a7eb373c8f9e150fe
 DIST readline-8.3-beta.tar.gz 3412518 BLAKE2B 
196812d49ad5a56d4163a50e603269e9d7a3e4b28acf0d09103bd64a12845c107ef03fd09812f93a3854cdf0dae201e780b9e71d51ed752233f1b38fef1d87dd
 SHA512 
5a8727420917016ef1be2ec3dff1bff433a62b9e0732707f203a6ffbbaaff6134b3ab67d22a51ee86ed2c4d94b75e0fb2d41bca8018ce52cccb44d27320dfa1d
 DIST readline-8.3-beta.tar.gz.sig 95 BLAKE2B 
af715b9a5e4bcad38aec353c2501b82648544429acd0db6afc19c66c0f19d6b8215e1198b3d54e09a54edb94c8a5438fc07ba80df17fa2dab789ba2201355ac5
 SHA512 
1906eaf283f558a5401bdfe401081ed92c77bf36c5bee19c4460cf907e9578bff6ce29423577e58d9e920760dd3822424426637dce1346569bc3668c7fead104
+DIST readline-8.3-rc1.tar.gz 3415130 BLAKE2B 
08dd19a92b7561ab55bd8b8d6a939bf6c31f5545484133de060555e0fb6fbf17b49b2151918d91e537c9fe4d55a17959967684126fedfb26fececd7ff265c207
 SHA512 
dbaa0eeb2d8bbe8dc89b5ab6d3e47162fd9bad5cf950e33f8f1d3d9baaa9faa014c77ced46b9249c0e56e70b94665f1433ae2e4093dc20f937b19e07bb9fcc74
+DIST readline-8.3-rc1.tar.gz.sig 95 BLAKE2B 
1c2b88ff2b2755e121bbe53b22bee75ce435c365ed513afdd7d9053be5860fab7ba15d51b9a2b9621b3b77674b4f46b60f5591b3ccb057e60f4fd9aa4c59872f
 SHA512 
d8e4bfb03f903d696cf6982066ee2c513f5a8e5fd3426d39a39eed4c661a53cb315f156e7c00b3cdfe6dcb6728f5f849f1eea33e766641e971fc11d0b8e6d50c
 DIST 
readline-8.3_beta_p20250128-5bcabd92f35444fa87ed49bd180a2994fd9449ba.tar.gz 
3475352 BLAKE2B 
7ea7ee7706a4d815e7a60acf96fdb344ef2baeb362d13cd7f5b8e6021e117c18f801ad1788689745739f9c69de2b0da1a1d04078fc2610bbdf212e42583980a3
 SHA512 
7267f9b1a08479f13f721afe03c8a1453ec95404ce9bdcdb3a7d150faf96522542ae26ebbcd54d648855779b60b84fe2e8d14bf78afdb6d391ce9db5642cb90c
 DIST 
readline-8.3_beta_p20250404-10a0a06a6b51db5d6125ecd8f79c1c844dcfc845.tar.gz 
3476495 BLAKE2B 
abb696284e77a596a7a7557de37cb76945ae0b83cf03484a9a26e1b3ad10e1950879e20cd61e6d67db890a09dcd517fd1f2401054fa6df571b01590be9c130df
 SHA512 
988b4fbf2d99c14b59f42ba08720d154850065ff5760e9e204026a3634e91a4d134a3568203974b7e842dbe8767e97abba6d1be568a95dad710c3cc9482c92b5
 DIST readline81-001 2454 BLAKE2B 
7ec4e5c39a224a70643b44b88bcfef5198e199c76f2a34f0b0ce24f1747dd46be49ddf93871c474cda64322b4358127fec4c2401d19422f84934546bbe1f3bf2
 SHA512 
cfbef10bdeb562a302ccf214878d02ebadf799343b3d2d7996a282f81bcfde83997ba6dcc9a8477af4dd7c73bca74105ca00a81e42ed13321672bd2930550e54

diff --git a/sys-libs/readline/readline-8.3_rc1.ebuild 
b/sys-libs/readline/readline-8.3_rc1.ebuild
new file mode 100644
index 000000000000..974757631917
--- /dev/null
+++ b/sys-libs/readline/readline-8.3_rc1.ebuild
@@ -0,0 +1,265 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+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
+inherit flag-o-matic multilib multilib-minimal preserve-libs toolchain-funcs 
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=()
+
+# Determine the patchlevel.
+case ${PV} in
+       9999|*_alpha*|*_beta*|*_rc*)
+               # Set a negative patchlevel to indicate that it's a pre-release.
+               PLEVEL=-1
+               ;;
+       *_p*)
+               PLEVEL=${PV##*_p}
+               ;;
+       *)
+               PLEVEL=0
+esac
+
+DESCRIPTION="Another cute console display library"
+HOMEPAGE="https://tiswww.case.edu/php/chet/readline/rltop.html 
https://git.savannah.gnu.org/cgit/readline.git";
+
+if [[ ${PV} == 9999 ]] ; then
+       EGIT_REPO_URI="https://git.savannah.gnu.org/git/readline.git";
+       EGIT_BRANCH=devel
+       inherit git-r3
+elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
+       # It can be useful to have snapshots in the pre-release period once
+       # the first alpha is out, as various bugs get reported and fixed from
+       # the alpha, and the next pre-release is usually quite far away.
+       #
+       # i.e. if it's worth packaging the alpha, it's worth packaging a 
followup.
+       READLINE_COMMIT="10a0a06a6b51db5d6125ecd8f79c1c844dcfc845"
+       
SRC_URI="https://git.savannah.gnu.org/cgit/readline.git/snapshot/readline-${READLINE_COMMIT}.tar.gz
 -> ${P}-${READLINE_COMMIT}.tar.gz"
+       S=${WORKDIR}/${PN}-${READLINE_COMMIT}
+else
+       SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz"
+       SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig )"
+       S="${WORKDIR}/${MY_P}"
+
+       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=
+
+               upstream_url_base="mirror://gnu/readline"
+               mirror_url_base="ftp://ftp.cwru.edu/pub/readline";
+
+               for ((my_patch_index=1; my_patch_index <= ${PLEVEL} ; 
my_patch_index++)) ; do
+                       printf -v mangled_patch_ver ${my_p}-%03d 
${my_patch_index}
+                       
patch_url="${upstream_url_base}/${MY_P}-patches/${mangled_patch_ver}"
+
+                       SRC_URI+=" ${patch_url}"
+                       SRC_URI+=" verify-sig? ( ${patch_url}.sig )"
+
+                       # Add in the mirror URL too.
+                       SRC_URI+=" 
${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} )
+               done
+
+               unset my_p patch_url my_patch_index upstream_url_base 
mirror_url_base
+       fi
+fi
+
+LICENSE="GPL-3+"
+SLOT="0/8"  # subslot matches SONAME major
+if (( PLEVEL >= 0 )); then
+       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r3:=[static-libs?,unicode(+)?,${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       virtual/pkgconfig
+       verify-sig? ( sec-keys/openpgp-keys-chetramey )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-5.0-no_rpath.patch
+       "${FILESDIR}"/${PN}-7.0-headers.patch
+       "${FILESDIR}"/${PN}-8.0-headers.patch
+
+       # TODO: rebase
+       #"${FILESDIR}"/${PN}-8.0-darwin-shlib-versioning.patch
+)
+
+src_unpack() {
+       local patch
+
+       if [[ ${PV} == 9999 ]]; then
+               git-r3_src_unpack
+       elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
+               default
+       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"
+
+               if [[ ${GENTOO_PATCH_VER} ]]; then
+                       unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
+               fi
+       fi
+}
+
+src_prepare() {
+       (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}"
+
+       default
+
+       #(( PLEVEL < 0 )) && eautoreconf
+
+       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, bug #71420.
+               # Use pkg-config to get the right values, bug #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
+
+       # For local readline headers
+       ln -s ../.. examples/rlfe/readline || die
+}
+
+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`, 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
+
+       # 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"
+               # bug #503312
+               export bash_cv_wcwidth_broken="no"
+       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
+               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 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) \
+               /$(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)
+}

Reply via email to