diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-11-25 03:02:44 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-11-25 03:02:44 +0000 |
commit | 7f0b7329b3aa78ea82792fdf68ab48415fe4cc35 (patch) | |
tree | 5c9f3c3f65f2be496e4d9778fdeb4d0da2207c29 /sys-libs | |
parent | 530a5a826feeb71085fb8a01927f4d775a0b131b (diff) |
gentoo auto-resync : 25:11:2024 - 03:02:44
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/Manifest.gz | bin | 14409 -> 14413 bytes | |||
-rw-r--r-- | sys-libs/readline/Manifest | 2 | ||||
-rw-r--r-- | sys-libs/readline/files/readline-8.2-c23.patch | 20 | ||||
-rw-r--r-- | sys-libs/readline/readline-8.2_p13-r1.ebuild | 269 |
4 files changed, 291 insertions, 0 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz Binary files differindex 5bf1ccf3cee7..01b6cd86e8ff 100644 --- a/sys-libs/Manifest.gz +++ b/sys-libs/Manifest.gz diff --git a/sys-libs/readline/Manifest b/sys-libs/readline/Manifest index 1e2211ded548..9bb7ccab6ed8 100644 --- a/sys-libs/readline/Manifest +++ b/sys-libs/readline/Manifest @@ -3,6 +3,7 @@ AUX readline-7.0-headers.patch 550 BLAKE2B 82949940cda6d042923b3dde777fbd66643d8 AUX readline-8.0-darwin-shlib-versioning.patch 1888 BLAKE2B 8263c3b593150e6d31ed877195597a830ab7c8e905a285835a982b0a1c317ac27d6fbbec76f926d0bfdec4b5f36a9549d150b49c2103cd13724e38e231c40398 SHA512 73213d415bd876401e3c4ef52187171117016d9a41c621e2931067369cb2dc4975c43e7acbdb3eaba623685a076374c4c9187adcbe5941ea356514f603c9d3f8 AUX readline-8.0-headers.patch 577 BLAKE2B b8fe6cdf51188f68c852d3c9052e7840a0bcb4cd0cd0b25afa82d6fe8697dcb34aa541279010b308427c411a7133c481dd778551069893ad965ce6d3a4a9ff83 SHA512 81695abab2e9fba1b17a4c194b7c72eeb23bbc3ab84cb0716c08388c0ee60adb770ae8efcbbb6a2c7c6adab93dcff12e3a16d0423cf52a0166b38c9efee5c221 AUX readline-8.1-windows-signals.patch 569 BLAKE2B af1ad52b09a1a49e6045bd640d57f3932f2b8db450b2eb7e0787a4326f6c61445ad83395620caf489da14107e8a51aed5d5fdf8e3268fab83d8ff04d393b1a59 SHA512 37aa778a21e360708d371aaf3f08274f75b15d8b2c42b030bda8d65dda81b1713c748644e45b6662c608da14ad413d6d83e43800ea58309fa60256a18317f5ae +AUX readline-8.2-c23.patch 657 BLAKE2B f7053bf7bb1453ae48c7dede08aef016432b0233fcd4380f41ad16851971b5874c65d04be17197978988e785da2559eba8e10a8388ab01e33cb8a53fad126e4c SHA512 23b0e8917791d05f4166fdd4d13e39d4e8fec417415baf876d6564ee61360c42d9a35993aeb12f20f71287df6d6104df1c4ce63577c9556dd48d519e98446f10 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.sig 95 BLAKE2B 8a297ef2ebf815ac53f02d6395aa2ff9f24234aef6b9793bfcd5a610cd3a5024182ad8ec8beb75eadd5cf876c57cd56d4226075578a86e0e2421d2e9b1677aa5 SHA512 42a6052d5882f16e5b6f8cd16433d793a9cbb43cf1886b2d858dc65ce067a4c39c8dda7331e52f76426c43de02c358f9ffdaf5c8fd7b089479008c1e5aa19112 @@ -42,6 +43,7 @@ DIST readline82-012.sig 95 BLAKE2B c9d69070ebff6b1996cfb5d1559dfdaa56d2e34770f14 DIST readline82-013 5757 BLAKE2B 5af309dc331cdc2fc9c47f8a53c78731885cf70ba22c135929a30c3ab0c6c0a786d1a58b607a7aca9a6522e70aa0e9dc182ad21854d87299e48bf207ee9b02e2 SHA512 9a768946c91e4af31e872fb856b017662cdd5a12ed432d84ba13013fbac327673b655a034dbcfab52da2ff9e45eb1fdb562c3e26c224a5f4e86bff23df25175e DIST readline82-013.sig 95 BLAKE2B 388b707e863c6047fdc92bb29e2c172292b497f53926f6e2534016e5cdb621fd7feb9418c6edd4a693869ea61c16cb64815bf2159d6af0bb3eec5d5dc666e525 SHA512 85bd30dc816d62a2e339c95bf9f243a60a960264e14bc396b34f586afdded2cc43ecc307a7f1a2c03c7eba2d11d2f3a0028107a59c4b2bc8d6dbe77fe9fb81cd EBUILD readline-8.1_p2-r2.ebuild 7095 BLAKE2B 11ec5f6b072d8db6055480a4455b175696183daf1ca38567c8204d0fd0d6b3f85661a1fd446b03a870a8c8f30f5dcb93eb73b30ff893e991d9361c685152a1ce SHA512 6e31f862a872c8f3b0509ac2f2f751ea6b616ea570383e609fcb9ab3fb6f5b578c6316b400fe9384fe1ce40f687d88481fe5d77fcc83315a39b93fa9ae6b7808 +EBUILD readline-8.2_p13-r1.ebuild 7764 BLAKE2B eb1996b6a06ce22ca9027e583b88a607d57daa40cfea3e9731cbc07150811b896a630a9cdecc2868f9c1be859601f1f27e8fda59ce89d0e07eb0021142dd65da SHA512 e366b60198fdb9e159607b7049bbcd914b0779b3e57bc3b612ba2e31f455ffd7569c67012c6c5f3bf2db754984cc50c2ade2fa63cdf5b29954b419c2ead7e6e7 EBUILD readline-8.2_p13.ebuild 7673 BLAKE2B bec06a9c0cf03cf5b739d182f03d98ffd22a5b366d04b4a5ba95002bd05bf67ade0c71cbd09de14b03fc4ad0e6b87efdde5ea8bc52b943c39662b789a3abc414 SHA512 554cb0b86a2e63b41a2e13a7757603d4c81fb150248eb1c620a83cd2bc988d8764ab74205cd50fd69e7850b98e3c4f31f5c94bade455fe5c6c61f7c6c7549e63 EBUILD readline-8.3_alpha.ebuild 7664 BLAKE2B c9c4b48462e671d26ddf981986b0310e88305e24990e1e312cf5bf48ec0e1a5310af059d6c91a3c7ab41ad4350275ddc3a96c517ba7d5fe8916c9468c3078e68 SHA512 6413171f101344d0896aaf5a9d592b7cbe55a337c780b537ab1b3f476a9f35e78446feda3e8bdcbeafa8c212ecce6066d7edeaa8121ed6d00b497df076bed95f EBUILD readline-8.3_alpha_p20241104.ebuild 7811 BLAKE2B 2000b04403b7245eb322a0c6ee6cf1d07061cbd6448f4017870d015071ecbc73ae11d8891487d34ec187ab949529df3c0e38069639f56d86bbd194c8bc32e574 SHA512 6055e75d59b204d1d18920d4875871a8d9569fd0cd5ea8ddaf91df2e5a0f6dbca466b9a27e5368f44902897d244d6b3afd8190d6d841f974c4945f33b5c1b7dd diff --git a/sys-libs/readline/files/readline-8.2-c23.patch b/sys-libs/readline/files/readline-8.2-c23.patch new file mode 100644 index 000000000000..4792bc923a28 --- /dev/null +++ b/sys-libs/readline/files/readline-8.2-c23.patch @@ -0,0 +1,20 @@ +HAVE_STDARG_H isn't defined for readline consumers externally so we always +end up using the ancient non-prototypes. Fix that as all compilers we care +about since forever in Gentoo will support this path. + +This in particular shows up with rl_message in consumers: +https://bugs.gentoo.org/943820 +https://bugs.gentoo.org/944059 +https://bugs.gentoo.org/944300 +https://bugs.gentoo.org/944344 +--- a/rlstdc.h ++++ b/rlstdc.h +@@ -44,7 +44,7 @@ + + /* Moved from config.h.in because readline.h:rl_message depends on these + defines. */ +-#if defined (__STDC__) && defined (HAVE_STDARG_H) ++#if defined (__STDC__) + # define PREFER_STDARG + # define USE_VARARGS + #else diff --git a/sys-libs/readline/readline-8.2_p13-r1.ebuild b/sys-libs/readline/readline-8.2_p13-r1.ebuild new file mode 100644 index 000000000000..45b13024661c --- /dev/null +++ b/sys-libs/readline/readline-8.2_p13-r1.ebuild @@ -0,0 +1,269 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# 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=() + +is_release() { + case ${PV} in + 9999|*_alpha*|*_beta*|*_rc*) + return 1 + ;; + *) + return 0 + ;; + esac +} + +[[ ${PV} != *_p* ]] && PLEVEL=0 + +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 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 + # 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 +else + SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz ftp://ftp.cwru.edu/pub/readline/${MY_P}.tar.gz" + SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig ftp://ftp.cwru.edu/pub/readline/${MY_P}.tar.gz.sig )" +fi + +S="${WORKDIR}/${MY_P}" + +if ! is_release ; then + inherit autotools +fi + +LICENSE="GPL-3+" +SLOT="0/8" # subslot matches SONAME major +if is_release ; 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 + "${WORKDIR}"/${PN}-8.1-rlfe-c99.patch + # Not needed with 8.3 which drops < C89 compat + "${FILESDIR}"/${PN}-8.2-c23.patch + + # TODO: rebase + #"${FILESDIR}"/${PN}-8.0-darwin-shlib-versioning.patch +) + +src_unpack() { + local patch + + 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() { + [[ ${PLEVEL} -gt 0 ]] && eapply -p0 "${MY_PATCHES[@]}" + + default + + is_release || 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() { + # readline-8.3 drops unprototyped functions, earlier versions are + # incompatible with C23. + append-cflags -std=gnu17 + + # 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) +} |