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