Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/readline/
Date: Tue, 04 May 2021 19:50:40
Message-Id: 1620157633.19e1ac649c397a728ad0ca0753a3e4bc32ec02aa.polynomial-c@gentoo
1 commit: 19e1ac649c397a728ad0ca0753a3e4bc32ec02aa
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Tue May 4 19:47:13 2021 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Tue May 4 19:47:13 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=19e1ac64
7
8 sys-libs/readline: Bump to version 8.1_p1
9
10 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
11
12 sys-libs/readline/Manifest | 1 +
13 sys-libs/readline/readline-8.1_p1.ebuild | 185 +++++++++++++++++++++++++++++++
14 2 files changed, 186 insertions(+)
15
16 diff --git a/sys-libs/readline/Manifest b/sys-libs/readline/Manifest
17 index db9715837e8..00598ae67ab 100644
18 --- a/sys-libs/readline/Manifest
19 +++ b/sys-libs/readline/Manifest
20 @@ -4,3 +4,4 @@ DIST readline80-001 927 BLAKE2B 95e3ac33ff4adb65813274864c17781056a8ea065f9a7657
21 DIST readline80-002 1401 BLAKE2B a2f511272f6d651208469998330059d6bae17bb8b704b64468685bb0368b76df1ca5b1dcd8e5cb0019e80932130c8a92fd1a305679bf79f0b801532a94c4b4ae SHA512 a941d142a59fe592cc45c1cf4d416e2fc0ab543dd6a0496fb8b2ec6f651cedd6fb9e0c105f14880700b69b2d6912653b3f66371e45cbe4adc0cc9554801afd3c
22 DIST readline80-003 2158 BLAKE2B d8910aef1b796a59500b255df8db71ad1738dd164fd69827759eade74b6d9806ecd364839cfa904fc2f2d48352342155f670e5ec43aac0693f36820fb7139a4d SHA512 85235fca047b4ac87b846d998fffc67ae67ed365b068fd2743e84f11fd00086f85e622955192e07e3560965e32ff5f6d014e0146cde528fb0d0f7b5b829875ca
23 DIST readline80-004 1275 BLAKE2B ac260bab163f17ccc783e0c2a21351b05e9e86ad973383d228d10ec749f265df8588c38946c9da15e987192b50f1bcb81141c2f4e171f65455f58521e864a534 SHA512 301ced2361e7583468f9932038936387a016c20d1c41966658a78c7f7c48c70308bf66b3228de0a3c6fc880427b6a90ee1ac4d2693daed432e5ae970671a7461
24 +DIST readline81-001 2454 BLAKE2B 7ec4e5c39a224a70643b44b88bcfef5198e199c76f2a34f0b0ce24f1747dd46be49ddf93871c474cda64322b4358127fec4c2401d19422f84934546bbe1f3bf2 SHA512 cfbef10bdeb562a302ccf214878d02ebadf799343b3d2d7996a282f81bcfde83997ba6dcc9a8477af4dd7c73bca74105ca00a81e42ed13321672bd2930550e54
25
26 diff --git a/sys-libs/readline/readline-8.1_p1.ebuild b/sys-libs/readline/readline-8.1_p1.ebuild
27 new file mode 100644
28 index 00000000000..f9e927fcc6a
29 --- /dev/null
30 +++ b/sys-libs/readline/readline-8.1_p1.ebuild
31 @@ -0,0 +1,185 @@
32 +# Copyright 1999-2021 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=7
36 +
37 +inherit flag-o-matic multilib-minimal preserve-libs toolchain-funcs usr-ldscript
38 +
39 +# Official patches
40 +# See ftp://ftp.cwru.edu/pub/bash/readline-7.0-patches/
41 +PLEVEL="${PV##*_p}"
42 +MY_PV="${PV/_p*}"
43 +MY_PV="${MY_PV/_/-}"
44 +MY_P="${PN}-${MY_PV}"
45 +[[ ${PV} != *_p* ]] && PLEVEL=0
46 +patches() {
47 + [[ ${PLEVEL} -eq 0 ]] && return 1
48 + local opt=$1
49 + eval set -- {1..${PLEVEL}}
50 + set -- $(printf "${PN}${MY_PV/\.}-%03d " "$@")
51 + if [[ ${opt} == -s ]] ; then
52 + echo "${@/#/${DISTDIR}/}"
53 + else
54 + local u
55 + for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${PN} ; do
56 + printf "${u}/${PN}-${MY_PV}-patches/%s " "$@"
57 + done
58 + fi
59 +}
60 +
61 +DESCRIPTION="Another cute console display library"
62 +HOMEPAGE="https://tiswww.case.edu/php/chet/readline/rltop.html"
63 +
64 +case ${PV} in
65 + *_alpha*|*_beta*|*_rc*)
66 + SRC_URI+=" ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz"
67 + ;;
68 + *)
69 + SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz $(patches)"
70 + ;;
71 +esac
72 +
73 +LICENSE="GPL-3"
74 +SLOT="0/8" # subslot matches SONAME major
75 +[[ "${PV}" == *_rc* ]] || \
76 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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"
77 +IUSE="static-libs +unicode utils"
78 +
79 +RDEPEND=">=sys-libs/ncurses-5.9-r3:0=[static-libs?,unicode?,${MULTILIB_USEDEP}]"
80 +DEPEND="${RDEPEND}"
81 +BDEPEND="
82 + virtual/pkgconfig
83 +"
84 +
85 +S="${WORKDIR}/${MY_P}"
86 +
87 +PATCHES=(
88 + "${FILESDIR}"/${PN}-5.0-no_rpath.patch
89 + "${FILESDIR}"/${PN}-6.2-rlfe-tgoto.patch #385091
90 + "${FILESDIR}"/${PN}-7.0-headers.patch
91 + "${FILESDIR}"/${PN}-8.0-headers.patch
92 + "${FILESDIR}"/${PN}-8.0-darwin-shlib-versioning.patch
93 +)
94 +
95 +# Needed because we don't want the patches being unpacked
96 +# (which emits annoying and useless error messages)
97 +src_unpack() {
98 + unpack ${MY_P}.tar.gz
99 +}
100 +
101 +src_prepare() {
102 + [[ ${PLEVEL} -gt 0 ]] && eapply -p0 $(patches -s)
103 + default
104 +
105 + # Force ncurses linking. #71420
106 + # Use pkg-config to get the right values. #457558
107 + local ncurses_libs=$($(tc-getPKG_CONFIG) ncurses$(usex unicode w '') --libs)
108 + sed -i \
109 + -e "/^SHLIB_LIBS=/s:=.*:='${ncurses_libs}':" \
110 + support/shobj-conf || die
111 + sed -i \
112 + -e "/^[[:space:]]*LIBS=.-lncurses/s:-lncurses:${ncurses_libs}:" \
113 + examples/rlfe/configure || die
114 +
115 + # fix building under Gentoo/FreeBSD; upstream FreeBSD deprecated
116 + # objformat for years, so we don't want to rely on that.
117 + sed -i -e '/objformat/s:if .*; then:if true; then:' support/shobj-conf || die
118 +
119 + ln -s ../.. examples/rlfe/readline || die # for local readline headers
120 +}
121 +
122 +src_configure() {
123 + # fix implicit decls with widechar funcs
124 + append-cppflags -D_GNU_SOURCE
125 + # https://lists.gnu.org/archive/html/bug-readline/2010-07/msg00013.html
126 + append-cppflags -Dxrealloc=_rl_realloc -Dxmalloc=_rl_malloc -Dxfree=_rl_free
127 +
128 + # Make sure configure picks a better ar than `ar`. #484866
129 + export ac_cv_prog_AR=$(tc-getAR)
130 +
131 + # Force the test since we used sed above to force it.
132 + export bash_cv_termcap_lib=ncurses
133 +
134 + # Control cross-compiling cases when we know the right answer.
135 + # In cases where the C library doesn't support wide characters, readline
136 + # itself won't work correctly, so forcing the answer below should be OK.
137 + if tc-is-cross-compiler ; then
138 + use kernel_Winnt || export bash_cv_func_sigsetjmp='present'
139 + export bash_cv_func_ctype_nonascii='yes'
140 + export bash_cv_wcwidth_broken='no' #503312
141 + fi
142 +
143 + # This is for rlfe, but we need to make sure LDFLAGS doesn't change
144 + # so we can re-use the config cache file between the two.
145 + append-ldflags -L.
146 +
147 + multilib-minimal_src_configure
148 +}
149 +
150 +multilib_src_configure() {
151 + local myeconfargs=(
152 + --cache-file="${BUILD_DIR}"/config.cache
153 + --with-curses
154 + $(use_enable static-libs static)
155 + )
156 + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
157 +
158 + if use utils && multilib_is_native_abi && ! tc-is-cross-compiler ; then
159 + # code is full of AC_TRY_RUN()
160 + mkdir -p examples/rlfe || die
161 + cd examples/rlfe || die
162 + ECONF_SOURCE="${S}"/examples/rlfe \
163 + econf --cache-file="${BUILD_DIR}"/config.cache
164 + fi
165 +}
166 +
167 +multilib_src_compile() {
168 + emake
169 +
170 + if use utils && multilib_is_native_abi && ! tc-is-cross-compiler ; then
171 + # code is full of AC_TRY_RUN()
172 + cd examples/rlfe || die
173 + local l
174 + for l in readline history ; do
175 + ln -s ../../shlib/lib${l}$(get_libname)* lib${l}$(get_libname) || die
176 + ln -s ../../lib${l}.a lib${l}.a || die
177 + done
178 + emake
179 + fi
180 +}
181 +
182 +multilib_src_install() {
183 + default
184 +
185 + if multilib_is_native_abi ; then
186 + gen_usr_ldscript -a readline history #4411
187 +
188 + if use utils && ! tc-is-cross-compiler; then
189 + dobin examples/rlfe/rlfe
190 + fi
191 + fi
192 +}
193 +
194 +multilib_src_install_all() {
195 + HTML_DOCS="doc/history.html doc/readline.html doc/rluserman.html" einstalldocs
196 + dodoc USAGE
197 + docinto ps
198 + dodoc doc/*.ps
199 +}
200 +pkg_preinst() {
201 + # bug #29865
202 + # Reappeared in #595324 with paludis so keeping this for now...
203 + preserve_old_lib \
204 + /$(get_libdir)/lib{history,readline}$(get_libname 4) \
205 + /$(get_libdir)/lib{history,readline}$(get_libname 5) \
206 + /$(get_libdir)/lib{history,readline}$(get_libname 6) \
207 + /$(get_libdir)/lib{history,readline}$(get_libname 7)
208 +}
209 +
210 +pkg_postinst() {
211 + preserve_old_lib_notify \
212 + /$(get_libdir)/lib{history,readline}$(get_libname 4) \
213 + /$(get_libdir)/lib{history,readline}$(get_libname 5) \
214 + /$(get_libdir)/lib{history,readline}$(get_libname 6) \
215 + /$(get_libdir)/lib{history,readline}$(get_libname 7)
216 +}