public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/readline/
Date: Thu,  6 Oct 2022 14:45:49 +0000 (UTC)	[thread overview]
Message-ID: <1665067527.f8657f60e851330609c5a32bffadb82c0c147dd4.sam@gentoo> (raw)

commit:     f8657f60e851330609c5a32bffadb82c0c147dd4
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Oct  6 14:38:08 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Oct  6 14:45:27 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f8657f60

sys-libs/readline: add 8.2_p1

Changes:
* Readline-8.2 patch 1: fix crash when readline is started with an invalid locale specification
  (https://git.savannah.gnu.org/cgit/readline.git/commit/?id=7274faabe97ce53d6b464272d7e6ab6c1392837b)
  (https://lists.gnu.org/archive/html/bug-readline/2022-10/msg00002.html)

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

 sys-libs/readline/Manifest               |   2 +
 sys-libs/readline/readline-8.2_p1.ebuild | 246 +++++++++++++++++++++++++++++++
 2 files changed, 248 insertions(+)

diff --git a/sys-libs/readline/Manifest b/sys-libs/readline/Manifest
index d0b84cedaf74..0153b051aeca 100644
--- a/sys-libs/readline/Manifest
+++ b/sys-libs/readline/Manifest
@@ -6,3 +6,5 @@ DIST readline81-001 2454 BLAKE2B 7ec4e5c39a224a70643b44b88bcfef5198e199c76f2a34f
 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
+DIST readline82-001 1198 BLAKE2B 2e8f3d2aa14c4c4c4f9621f80f4ffae9bbd6f46c3561e87aaf684c759ffd82e3c46843cf4c4224533b28a847d83f7b8b254813f8a306d438e9f7cb457516c4e0 SHA512 ea3800a62e992b3e594d78e77b6c4b662fb8c501b81010277e478656bb3b56db7747ba40c6c3d68c3ec5ab8e9e41be104788ec52268135d7e642ff40dea421a8
+DIST readline82-001.sig 94 BLAKE2B 542ac331a7da3702b47f4828b3264bc7bf996f473807d675044beeb9688c4ca3645bcba0898d3ea9447c1cde540eb8a6b1934008b0a11baef33235e43f44c6c7 SHA512 01ad9769fee42dc601b511c87bd39e15c74226e1747c4ae8914e303213706005780135add180dbfe538fe847533dc56cfe8f51a3ad9ec55d1fde2cb2e096bfb5

diff --git a/sys-libs/readline/readline-8.2_p1.ebuild b/sys-libs/readline/readline-8.2_p1.ebuild
new file mode 100644
index 000000000000..dfd3b540f41f
--- /dev/null
+++ b/sys-libs/readline/readline-8.2_p1.ebuild
@@ -0,0 +1,246 @@
+# Copyright 1999-2022 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="${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=()
+
+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+=" 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 )"
+fi
+
+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 ~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"
+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 )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-5.0-no_rpath.patch
+	"${FILESDIR}"/${PN}-6.2-rlfe-tgoto.patch # bug #385091
+	"${FILESDIR}"/${PN}-7.0-headers.patch
+	"${FILESDIR}"/${PN}-8.0-headers.patch
+
+	# TODO: rebase
+	#"${FILESDIR}"/${PN}-8.0-darwin-shlib-versioning.patch
+)
+
+src_unpack() {
+	if [[ ${PV} == 9999 ]] ; then
+		git-r3_src_unpack
+	else
+		# Needed because we don't want the patches being unpacked
+		# (which emits annoying and useless error messages)
+		verify-sig_src_unpack
+		unpack ${MY_P}.tar.gz
+	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() {
+	# 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
+		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
+	# 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
+		# bug #4411
+		gen_usr_ldscript -a readline history
+
+		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	other threads:[~2022-10-06 14:45 UTC|newest]

Thread overview: 165+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-06 14:45 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-11-05  1:21 [gentoo-commits] repo/gentoo:master commit in: sys-libs/readline/ Sam James
2024-10-15  5:22 Sam James
2024-10-12 23:45 Sam James
2024-10-10 12:20 Arthur Zamarin
2024-10-08 21:50 Jakov Smolić
2024-10-05 11:48 Arthur Zamarin
2024-10-05  9:44 Sam James
2024-10-05  9:21 Arthur Zamarin
2024-10-05  8:50 Arthur Zamarin
2024-08-30 14:59 Ionen Wolkens
2024-08-03 22:51 Sam James
2024-06-21  4:23 Arthur Zamarin
2024-06-20 21:46 Sam James
2024-06-20 21:46 Sam James
2024-06-20 20:17 Arthur Zamarin
2024-06-20 20:16 Arthur Zamarin
2024-06-20 20:14 Arthur Zamarin
2024-06-20 19:36 Arthur Zamarin
2024-05-11  2:17 Sam James
2024-04-23 14:02 Sam James
2024-04-23 13:56 Sam James
2024-04-23 13:56 Sam James
2024-03-19  3:42 Ionen Wolkens
2024-03-14  2:25 Sam James
2024-03-04 10:24 Sam James
2024-03-03  2:48 Sam James
2024-03-02 22:14 Sam James
2024-02-29 22:17 Sam James
2024-02-27 23:57 Sam James
2024-02-27 23:21 Sam James
2024-02-27 23:04 Sam James
2024-02-27 23:04 Sam James
2024-02-07 19:20 Sam James
2024-01-14 21:35 Sam James
2023-12-28 14:58 Sam James
2023-11-25  4:49 Sam James
2023-08-29 23:23 Sam James
2023-06-25 19:17 Sam James
2023-06-02 21:47 Sam James
2022-11-30  7:48 Sam James
2022-11-23 14:12 Jakov Smolić
2022-11-18 10:53 Arthur Zamarin
2022-11-18  7:00 Sam James
2022-11-18  6:50 Arthur Zamarin
2022-11-18  6:47 Arthur Zamarin
2022-11-18  6:45 Sam James
2022-11-18  6:43 Arthur Zamarin
2022-11-18  6:38 Arthur Zamarin
2022-10-18  2:47 Sam James
2022-10-06 14:45 Sam James
2022-09-26 17:54 Sam James
2022-09-26 17:53 Sam James
2022-09-23  2:09 Sam James
2022-09-10  0:29 Sam James
2022-08-26 22:57 Sam James
2022-08-26 22:54 Sam James
2022-08-26 22:54 Sam James
2022-07-26  4:10 Sam James
2022-07-26  4:10 Sam James
2022-07-26  2:17 Sam James
2022-06-17 19:33 Sam James
2022-04-19 18:59 Sam James
2022-04-13 17:51 Sam James
2022-04-07  0:09 Sam James
2022-02-08 19:38 Arthur Zamarin
2022-02-08 19:38 Arthur Zamarin
2022-02-08 19:37 Arthur Zamarin
2022-02-08  7:24 Agostino Sarubbo
2022-02-08  7:23 Agostino Sarubbo
2022-02-08  7:22 Agostino Sarubbo
2022-02-08  5:50 Sam James
2022-02-08  5:50 Sam James
2022-01-21 23:43 Sam James
2022-01-06 20:21 Sam James
2022-01-06 19:51 Lars Wendler
2021-11-18  4:30 Sam James
2021-10-14  8:57 Sam James
2021-10-14  8:39 Sam James
2021-09-03  1:53 Sam James
2021-07-17 21:30 David Seifert
2021-06-06 15:42 David Seifert
2021-05-14  9:20 Sam James
2021-05-14  9:20 Sam James
2021-05-14  9:19 Sam James
2021-05-14  9:01 Sam James
2021-05-14  9:01 Sam James
2021-05-14  9:01 Sam James
2021-05-14  8:56 Sam James
2021-05-14  8:56 Sam James
2021-05-13 19:02 Sam James
2021-05-13 18:56 Sam James
2021-05-13 16:59 Sam James
2021-05-13 16:55 Sam James
2021-05-13 16:54 Sam James
2021-05-13 16:44 Sam James
2021-05-13 16:29 Sam James
2021-05-04 19:50 Lars Wendler
2021-01-06 15:35 Fabian Groffen
2020-12-26 13:23 Fabian Groffen
2020-12-07 11:50 Lars Wendler
2020-11-18  8:29 Lars Wendler
2020-11-18  8:26 Lars Wendler
2020-11-04 15:49 Lars Wendler
2020-06-06 11:49 Lars Wendler
2020-05-30 19:20 Sergei Trofimovich
2020-05-11 11:38 Agostino Sarubbo
2020-05-06  6:28 Agostino Sarubbo
2020-05-06  6:27 Agostino Sarubbo
2020-05-04  6:16 Mart Raudsepp
2020-05-03 10:25 Agostino Sarubbo
2020-05-03 10:22 Agostino Sarubbo
2020-02-12 15:22 David Seifert
2020-02-09  0:35 Lars Wendler
2020-02-09  0:35 Lars Wendler
2019-10-14  7:51 Lars Wendler
2019-10-14  7:36 Lars Wendler
2019-10-07  8:10 Lars Wendler
2019-08-18 23:09 Lars Wendler
2019-08-18 23:02 Lars Wendler
2019-08-15 10:50 Lars Wendler
2019-08-15 10:50 Lars Wendler
2019-05-13 17:57 Aaron Bauman
2019-05-03 23:59 Mikle Kolyada
2019-02-16 13:39 Mikle Kolyada
2019-02-16 13:39 Mikle Kolyada
2019-01-31 14:23 Tobias Klausmann
2019-01-29 11:40 Mikle Kolyada
2019-01-23 13:41 Mikle Kolyada
2019-01-17 22:41 Sergei Trofimovich
2019-01-17  8:29 Sergei Trofimovich
2019-01-17  8:08 Sergei Trofimovich
2019-01-17  8:01 Sergei Trofimovich
2019-01-17  7:23 Sergei Trofimovich
2019-01-16 10:50 Mikle Kolyada
2019-01-15 22:10 Thomas Deutschmann
2019-01-15 10:36 Mart Raudsepp
2019-01-13 11:18 Lars Wendler
2018-06-07  8:09 Lars Wendler
2018-05-11 19:52 Mikle Kolyada
2018-04-21 20:54 Mart Raudsepp
2018-04-12 15:45 Lars Wendler
2018-03-22 17:34 Mikle Kolyada
2018-03-04  8:16 Tobias Klausmann
2018-01-10  6:19 Markus Meier
2018-01-05  9:35 Lars Wendler
2018-01-03 17:19 Mikle Kolyada
2018-01-03  9:28 Sergei Trofimovich
2018-01-03  9:04 Sergei Trofimovich
2017-06-17 21:54 Lars Wendler
2017-02-14 12:19 Lars Wendler
2016-12-05  8:36 Lars Wendler
2016-12-04 12:44 Lars Wendler
2016-10-07  9:06 Lars Wendler
2016-09-28  5:43 Lars Wendler
2016-09-16  7:44 Lars Wendler
2016-09-15 18:38 Lars Wendler
2016-09-15 18:38 Lars Wendler
2016-08-23  9:07 Lars Wendler
2016-08-23  9:07 Lars Wendler
2016-05-21 13:28 Benda XU
2016-02-24 16:01 Mike Frysinger
2015-10-24 23:35 Mike Frysinger
2015-10-15 16:22 Mike Frysinger
2015-08-16 11:30 Justin Lecher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1665067527.f8657f60e851330609c5a32bffadb82c0c147dd4.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox