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/ncurses/files/, sys-libs/ncurses/
Date: Fri, 05 Nov 2021 12:45:37
Message-Id: 1636114680.8ae5d475ef92ff484629c5393623f655452ff411.polynomial-c@gentoo
1 commit: 8ae5d475ef92ff484629c5393623f655452ff411
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Fri Nov 5 12:18:00 2021 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Fri Nov 5 12:18:00 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8ae5d475
7
8 sys-libs/ncurses: Removed old
9
10 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
11
12 sys-libs/ncurses/files/ncurses-5.9-gcc-5.patch | 46 ---
13 .../ncurses/files/ncurses-6.0-cppflags-cross.patch | 35 ---
14 .../ncurses-6.2-no_user_ldflags_in_libs.patch | 40 ---
15 sys-libs/ncurses/ncurses-6.2-r1.ebuild | 325 ---------------------
16 4 files changed, 446 deletions(-)
17
18 diff --git a/sys-libs/ncurses/files/ncurses-5.9-gcc-5.patch b/sys-libs/ncurses/files/ncurses-5.9-gcc-5.patch
19 deleted file mode 100644
20 index 2448229b88e..00000000000
21 --- a/sys-libs/ncurses/files/ncurses-5.9-gcc-5.patch
22 +++ /dev/null
23 @@ -1,46 +0,0 @@
24 -https://bugs.gentoo.org/545114
25 -
26 -extracted from the upstream change (which had many unrelated commits in one)
27 -
28 -From 97bb4678dc03e753290b39bbff30ba2825df9517 Mon Sep 17 00:00:00 2001
29 -From: "Thomas E. Dickey" <dickey@××××××××××××××××.net>
30 -Date: Sun, 7 Dec 2014 03:10:09 +0000
31 -Subject: [PATCH] ncurses 5.9 - patch 20141206
32 -
33 -+ modify MKlib_gen.sh to work around change in development version of
34 - gcc introduced here:
35 - https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html
36 - https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00236.html
37 - (reports by Marcus Shawcroft, Maohui Lei).
38 -
39 -diff --git a/ncurses/base/MKlib_gen.sh b/ncurses/base/MKlib_gen.sh
40 -index d8cc3c9..b91398c 100755
41 ---- a/ncurses/base/MKlib_gen.sh
42 -+++ b/ncurses/base/MKlib_gen.sh
43 -@@ -474,11 +474,22 @@ sed -n -f $ED1 \
44 - -e 's/gen_$//' \
45 - -e 's/ / /g' >>$TMP
46 -
47 -+cat >$ED1 <<EOF
48 -+s/ / /g
49 -+s/^ //
50 -+s/ $//
51 -+s/P_NCURSES_BOOL/NCURSES_BOOL/g
52 -+EOF
53 -+
54 -+# A patch discussed here:
55 -+# https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html
56 -+# introduces spurious #line markers. Work around that by ignoring the system's
57 -+# attempt to define "bool" and using our own symbol here.
58 -+sed -e 's/bool/P_NCURSES_BOOL/g' $TMP > $ED2
59 -+cat $ED2 >$TMP
60 -+
61 - $preprocessor $TMP 2>/dev/null \
62 --| sed \
63 -- -e 's/ / /g' \
64 -- -e 's/^ //' \
65 -- -e 's/_Bool/NCURSES_BOOL/g' \
66 -+| sed -f $ED1 \
67 - | $AWK -f $AW2 \
68 - | sed -f $ED3 \
69 - | sed \
70
71 diff --git a/sys-libs/ncurses/files/ncurses-6.0-cppflags-cross.patch b/sys-libs/ncurses/files/ncurses-6.0-cppflags-cross.patch
72 deleted file mode 100644
73 index decdc267790..00000000000
74 --- a/sys-libs/ncurses/files/ncurses-6.0-cppflags-cross.patch
75 +++ /dev/null
76 @@ -1,35 +0,0 @@
77 -https://bugs.gentoo.org/601426
78 -https://lists.gnu.org/archive/html/bug-ncurses/2015-02/msg00012.html
79 -
80 -From: John Vogel
81 -Subject: [PATCH] c++ binding missed when cross compiling
82 -Date: Mon, 16 Feb 2015 01:01:48 -0500
83 -
84 -The configure script hard codes the include dir to the prefix'ed include dir,
85 -when checking if c++ compiler works. This breaks the compiler's built-in search
86 -path. I've included two patches. The first works on the configure.in file, which
87 -requires your autoconf stuff to test and I'm not ready to meddle with at the
88 -moment. The other works directly on the configure file. I've tested the second
89 -one; it should mirror what the first patch tries to achieve and works for me.
90 -
91 ---- a/configure
92 -+++ b/configure
93 -@@ -2938,10 +2938,6 @@
94 - echo "$as_me:2938: checking if $CXX works" >&5
95 - echo $ECHO_N "checking if $CXX works... $ECHO_C" >&6
96 -
97 -- save_CPPFLAGS="$CPPFLAGS"
98 -- eval cf_includedir=${includedir}
99 -- CPPFLAGS="$CPPFLAGS -I${cf_includedir}"
100 --
101 - cat >conftest.$ac_ext <<_ACEOF
102 - #line 2946 "configure"
103 - #include "confdefs.h"
104 -@@ -2978,7 +2974,6 @@
105 - cf_cxx_works=no
106 - fi
107 - rm -f conftest.$ac_objext conftest.$ac_ext
108 -- CPPFLAGS="$save_CPPFLAGS"
109 -
110 - echo "$as_me:2983: result: $cf_cxx_works" >&5
111 - echo "${ECHO_T}$cf_cxx_works" >&6
112
113 diff --git a/sys-libs/ncurses/files/ncurses-6.2-no_user_ldflags_in_libs.patch b/sys-libs/ncurses/files/ncurses-6.2-no_user_ldflags_in_libs.patch
114 deleted file mode 100644
115 index 66345b51fe2..00000000000
116 --- a/sys-libs/ncurses/files/ncurses-6.2-no_user_ldflags_in_libs.patch
117 +++ /dev/null
118 @@ -1,40 +0,0 @@
119 -From be554be06475b36da2f69aabfd873ad55f7ef95c Mon Sep 17 00:00:00 2001
120 -From: Lars Wendler <polynomial-c@g.o>
121 -Date: Thu, 13 Feb 2020 11:51:09 +0100
122 -Subject: [PATCH] Don't bleed user LDFLAGS into Libs
123 -
124 -Signed-off-by: Lars Wendler <polynomial-c@g.o>
125 ----
126 - misc/gen-pkgconfig.in | 2 +-
127 - misc/ncurses-config.in | 2 +-
128 - 2 files changed, 2 insertions(+), 2 deletions(-)
129 -
130 -diff --git a/misc/gen-pkgconfig.in b/misc/gen-pkgconfig.in
131 -index 8f00b824..009d2156 100644
132 ---- a/misc/gen-pkgconfig.in
133 -+++ b/misc/gen-pkgconfig.in
134 -@@ -80,7 +80,7 @@ if [ "$includedir" != "/usr/include" ]; then
135 - fi
136 -
137 - lib_flags=
138 --for opt in -L$libdir @LDFLAGS@ @EXTRA_LDFLAGS@ @LIBS@
139 -+for opt in -L$libdir @LIBS@
140 - do
141 - case $opt in
142 - -l*) # LIBS is handled specially below
143 -diff --git a/misc/ncurses-config.in b/misc/ncurses-config.in
144 -index 7f8ba697..2f1915cd 100644
145 ---- a/misc/ncurses-config.in
146 -+++ b/misc/ncurses-config.in
147 -@@ -101,7 +101,7 @@ fi
148 - # There is no portable way to find the list of standard library directories.
149 - # Require a POSIX shell anyway, to keep this simple.
150 - lib_flags=
151 --for opt in -L$libdir @LDFLAGS@ @EXTRA_LDFLAGS@ $LIBS
152 -+for opt in -L$libdir $LIBS
153 - do
154 - case $opt in
155 - -specs*) # ignore linker specs-files which were used to build library
156 ---
157 -2.25.0
158 -
159
160 diff --git a/sys-libs/ncurses/ncurses-6.2-r1.ebuild b/sys-libs/ncurses/ncurses-6.2-r1.ebuild
161 deleted file mode 100644
162 index 6353b40857d..00000000000
163 --- a/sys-libs/ncurses/ncurses-6.2-r1.ebuild
164 +++ /dev/null
165 @@ -1,325 +0,0 @@
166 -# Copyright 1999-2021 Gentoo Authors
167 -# Distributed under the terms of the GNU General Public License v2
168 -
169 -EAPI=7
170 -
171 -inherit toolchain-funcs multilib multilib-minimal preserve-libs usr-ldscript
172 -
173 -MY_PV="${PV:0:3}"
174 -MY_P="${PN}-${MY_PV}"
175 -DESCRIPTION="console display library"
176 -HOMEPAGE="https://www.gnu.org/software/ncurses/ https://invisible-island.net/ncurses/"
177 -SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz"
178 -
179 -if [[ "${PV}" == *_p* ]] ; then
180 - SRC_URI+=" ftp://ftp.invisible-island.net/${PN}/${PV/_p*}/${P/_p/-}-patch.sh.bz2
181 - https://invisible-mirror.net/archives/${PN}/${PV/_p*}/${P/_p/-}-patch.sh.bz2"
182 -fi
183 -
184 -LICENSE="MIT"
185 -# The subslot reflects the SONAME.
186 -SLOT="0/6"
187 -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"
188 -IUSE="ada +cxx debug doc gpm minimal profile static-libs test threads tinfo trace unicode"
189 -RESTRICT="!test? ( test )"
190 -
191 -DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )"
192 -# berkdb? ( sys-libs/db )"
193 -# Block the older ncurses that installed all files w/SLOT=5. #557472
194 -RDEPEND="${DEPEND}
195 - !<=sys-libs/ncurses-5.9-r4:5
196 - !<sys-libs/slang-2.3.2_pre23
197 - !<x11-terms/rxvt-unicode-9.06-r3
198 - !<x11-terms/st-0.6-r1"
199 -
200 -S="${WORKDIR}/${MY_P}"
201 -
202 -PATCHES=(
203 - "${FILESDIR}/${PN}-5.7-nongnu.patch"
204 - "${FILESDIR}/${PN}-6.0-rxvt-unicode-9.15.patch" #192083 #383871
205 - "${FILESDIR}/${PN}-6.0-pkg-config.patch"
206 - "${FILESDIR}/${PN}-5.9-gcc-5.patch" #545114
207 - "${FILESDIR}/${PN}-6.0-ticlib.patch" #557360
208 - "${FILESDIR}/${PN}-6.0-cppflags-cross.patch" #601426
209 - "${FILESDIR}/${PN}-6.2-no_user_ldflags_in_libs.patch"
210 -)
211 -
212 -src_prepare() {
213 - if [[ "${PV}" == *_p* ]] ; then
214 - eapply "${WORKDIR}"/${P/_p/-}-patch.sh
215 - fi
216 - default
217 -}
218 -
219 -src_configure() {
220 - unset TERMINFO #115036
221 - tc-export_build_env BUILD_{CC,CPP}
222 - BUILD_CPPFLAGS+=" -D_GNU_SOURCE" #214642
223 -
224 - # Build the various variants of ncurses -- narrow, wide, and threaded. #510440
225 - # Order matters here -- we want unicode/thread versions to come last so that the
226 - # binaries in /usr/bin support both wide and narrow.
227 - # The naming is also important as we use these directly with filenames and when
228 - # checking configure flags.
229 - NCURSES_TARGETS=(
230 - ncurses
231 - $(usex unicode 'ncursesw' '')
232 - $(usex threads 'ncursest' '')
233 - $(use unicode && usex threads 'ncursestw' '')
234 - )
235 -
236 - # When installing ncurses, we have to use a compatible version of tic.
237 - # This comes up when cross-compiling, doing multilib builds, upgrading,
238 - # or installing for the first time. Build a local copy of tic whenever
239 - # the host version isn't available. #249363 #557598
240 - if ! has_version -b "~sys-libs/${P}:0" ; then
241 - local lbuildflags="-static"
242 -
243 - # some toolchains don't quite support static linking
244 - local dbuildflags="-Wl,-rpath,${WORKDIR}/lib"
245 - case ${CHOST} in
246 - *-darwin*) dbuildflags= ;;
247 - *-solaris*) dbuildflags="-Wl,-R,${WORKDIR}/lib" ;;
248 - esac
249 - echo "int main() {}" | \
250 - $(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /dev/null \
251 - || lbuildflags="${dbuildflags}"
252 -
253 - # We can't re-use the multilib BUILD_DIR because we run outside of it.
254 - BUILD_DIR="${WORKDIR}" \
255 - CHOST=${CBUILD} \
256 - CFLAGS=${BUILD_CFLAGS} \
257 - CXXFLAGS=${BUILD_CXXFLAGS} \
258 - CPPFLAGS=${BUILD_CPPFLAGS} \
259 - LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \
260 - do_configure cross --without-shared --with-normal --with-progs
261 - fi
262 - multilib-minimal_src_configure
263 -}
264 -
265 -multilib_src_configure() {
266 - local t
267 - for t in "${NCURSES_TARGETS[@]}" ; do
268 - do_configure "${t}"
269 - done
270 -}
271 -
272 -do_configure() {
273 - local target=$1
274 - shift
275 -
276 - mkdir "${BUILD_DIR}/${target}" || die
277 - cd "${BUILD_DIR}/${target}" || die
278 -
279 - local conf=(
280 - # We need the basic terminfo files in /etc, bug #37026. We will
281 - # add '--with-terminfo-dirs' and then populate /etc/terminfo in
282 - # src_install() ...
283 - --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo"
284 -
285 - # Disabled until #245417 is sorted out.
286 - #$(use_with berkdb hashed-db)
287 -
288 - # Enable installation of .pc files.
289 - --enable-pc-files
290 - # This path is used to control where the .pc files are installed.
291 - --with-pkg-config-libdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
292 -
293 - # Now the rest of the various standard flags.
294 - --with-shared
295 - --without-hashed-db
296 - $(use_with ada)
297 - $(use_with cxx)
298 - $(use_with cxx cxx-binding)
299 - --with-cxx-shared
300 - $(use_with debug)
301 - $(use_with profile)
302 - # The configure script uses ldd to parse the linked output which
303 - # is flaky for cross-compiling/multilib/ldd versions/etc...
304 - $(use_with gpm gpm libgpm.so.1)
305 - # Required for building on mingw-w64, and possibly other windows
306 - # platforms, bug #639670
307 - $(use_enable kernel_Winnt term-driver)
308 - --disable-termcap
309 - --enable-symlinks
310 - --with-rcs-ids
311 - --with-manpage-format=normal
312 - --enable-const
313 - --enable-colorfgbg
314 - --enable-hard-tabs
315 - --enable-echo
316 - $(use_enable !ada warnings)
317 - $(use_with debug assertions)
318 - $(use_enable !debug leaks)
319 - $(use_with debug expanded)
320 - $(use_with !debug macros)
321 - $(multilib_native_with progs)
322 - $(use_with test tests)
323 - $(use_with trace)
324 - $(use_with tinfo termlib)
325 - --disable-stripping
326 - )
327 -
328 - if [[ ${target} == ncurses*w ]] ; then
329 - conf+=( --enable-widec )
330 - else
331 - conf+=( --disable-widec )
332 - fi
333 - if [[ ${target} == ncursest* ]] ; then
334 - conf+=( --with-{pthread,reentrant} )
335 - else
336 - conf+=( --without-{pthread,reentrant} )
337 - fi
338 - # Make sure each variant goes in a unique location.
339 - if [[ ${target} == "ncurses" ]] ; then
340 - # "ncurses" variant goes into "${EPREFIX}"/usr/include
341 - # It is needed on Prefix because the configure script appends
342 - # "ncurses" to "${prefix}/include" if "${prefix}" is not /usr.
343 - conf+=( --enable-overwrite )
344 - else
345 - conf+=( --includedir="${EPREFIX}"/usr/include/${target} )
346 - fi
347 - # See comments in src_configure.
348 - if [[ ${target} != "cross" ]] ; then
349 - local cross_path="${WORKDIR}/cross"
350 - [[ -d ${cross_path} ]] && export TIC_PATH="${cross_path}/progs/tic"
351 - fi
352 -
353 - # Force bash until upstream rebuilds the configure script with a newer
354 - # version of autotools. #545532
355 - CONFIG_SHELL=${EPREFIX}/bin/bash \
356 - ECONF_SOURCE="${S}" \
357 - econf "${conf[@]}" "$@"
358 -}
359 -
360 -src_compile() {
361 - # See comments in src_configure.
362 - if ! has_version -b "~sys-libs/${P}:0" ; then
363 - # We could possibly merge these two branches but opting to be
364 - # conservative when merging some of the Prefix changes.
365 -
366 - if [[ ${CHOST} == *-cygwin* ]] && ! multilib_is_native_abi ; then
367 - # We make 'tic$(x)' here, for Cygwin having x=".exe".
368 - BUILD_DIR="${WORKDIR}" \
369 - do_compile cross -C progs all PROGS='tic$(x)'
370 - else
371 - BUILD_DIR="${WORKDIR}" \
372 - do_compile cross -C progs tic
373 - fi
374 - fi
375 -
376 - multilib-minimal_src_compile
377 -}
378 -
379 -multilib_src_compile() {
380 - local t
381 - for t in "${NCURSES_TARGETS[@]}" ; do
382 - do_compile "${t}"
383 - done
384 -}
385 -
386 -do_compile() {
387 - local target=$1
388 - shift
389 -
390 - cd "${BUILD_DIR}/${target}" || die
391 -
392 - # A little hack to fix parallel builds ... they break when
393 - # generating sources so if we generate the sources first (in
394 - # non-parallel), we can then build the rest of the package
395 - # in parallel. This is not really a perf hit since the source
396 - # generation is quite small.
397 - emake -j1 sources
398 - # For some reason, sources depends on pc-files which depends on
399 - # compiled libraries which depends on sources which ...
400 - # Manually delete the pc-files file so the install step will
401 - # create the .pc files we want.
402 - rm -f misc/pc-files || die
403 - emake "$@"
404 -}
405 -
406 -multilib_src_install() {
407 - local target
408 - for target in "${NCURSES_TARGETS[@]}" ; do
409 - emake -C "${BUILD_DIR}/${target}" DESTDIR="${D}" install
410 - done
411 -
412 - # Move main libraries into /.
413 - if multilib_is_native_abi ; then
414 - gen_usr_ldscript -a \
415 - "${NCURSES_TARGETS[@]}" \
416 - $(use tinfo && usex unicode 'tinfow' '') \
417 - $(usev tinfo)
418 - fi
419 - if ! tc-is-static-only ; then
420 - # Provide a link for -lcurses.
421 - ln -sf libncurses$(get_libname) "${ED}"/usr/$(get_libdir)/libcurses$(get_libname) || die
422 - fi
423 - # don't delete '*.dll.a', needed for linking #631468
424 - if ! use static-libs; then
425 - find "${ED}"/usr/ -name '*.a' ! -name '*.dll.a' -delete || die
426 - fi
427 -
428 - # Build fails to create this ...
429 - # -FIXME-
430 - # Ugly hackaround for riscv having two parts libdir (#689240)
431 - # Replace this hack with an official solution once we have one...
432 - # -FIXME-
433 - dosym $(sed 's@[^/]\+@..@g' <<< $(get_libdir))/share/terminfo \
434 - /usr/$(get_libdir)/terminfo
435 -}
436 -
437 -multilib_src_install_all() {
438 -# if ! use berkdb ; then
439 - # We need the basic terminfo files in /etc for embedded/recovery. #37026
440 - einfo "Installing basic terminfo files in /etc..."
441 - local terms=(
442 - # Dumb/simple values that show up when using the in-kernel VT.
443 - ansi console dumb linux
444 - vt{52,100,102,200,220}
445 - # [u]rxvt users used to be pretty common. Probably should drop this
446 - # since upstream is dead and people are moving away from it.
447 - rxvt{,-unicode}{,-256color}
448 - # xterm users are common, as is terminals re-using/spoofing it.
449 - xterm xterm-{,256}color
450 - # screen is common (and reused by tmux).
451 - screen{,-256color}
452 - screen.xterm-256color
453 - )
454 - local x
455 - for x in "${terms[@]}"; do
456 - local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null)
457 - local basedir=$(basename "$(dirname "${termfile}")")
458 -
459 - if [[ -n ${termfile} ]] ; then
460 - dodir "/etc/terminfo/${basedir}"
461 - mv "${termfile}" "${ED}/etc/terminfo/${basedir}/" || die
462 - dosym "../../../../etc/terminfo/${basedir}/${x}" \
463 - "/usr/share/terminfo/${basedir}/${x}"
464 - fi
465 - done
466 -# fi
467 -
468 - echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" | newenvd - 50ncurses
469 -
470 - use minimal && rm -r "${ED}"/usr/share/terminfo*
471 - # Because ncurses5-config --terminfo returns the directory we keep it
472 - keepdir /usr/share/terminfo #245374
473 -
474 - cd "${S}" || die
475 - dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc
476 - if use doc ; then
477 - docinto html
478 - dodoc -r doc/html/
479 - fi
480 -}
481 -
482 -pkg_preinst() {
483 - preserve_old_lib /$(get_libdir)/libncurses.so.5
484 - use unicode && preserve_old_lib /$(get_libdir)/libncursesw.so.5
485 -}
486 -
487 -pkg_postinst() {
488 - preserve_old_lib_notify /$(get_libdir)/libncurses.so.5
489 - use unicode && preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5
490 -}