Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/ncurses/
Date: Fri, 26 Aug 2022 10:03:28
Message-Id: 1661508075.51a4147b2cd38cfd331aa1f80bc08708eee54897.sam@gentoo
1 commit: 51a4147b2cd38cfd331aa1f80bc08708eee54897
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Fri Aug 26 08:45:00 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Fri Aug 26 10:01:15 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=51a4147b
7
8 sys-libs/ncurses: drop versions
9
10 Signed-off-by: Sam James <sam <AT> gentoo.org>
11
12 sys-libs/ncurses/Manifest | 2 -
13 sys-libs/ncurses/ncurses-6.2_p20210619.ebuild | 326 ---------------------
14 sys-libs/ncurses/ncurses-6.3.ebuild | 328 ---------------------
15 sys-libs/ncurses/ncurses-6.3_p20211106-r1.ebuild | 357 -----------------------
16 sys-libs/ncurses/ncurses-6.3_p20211106.ebuild | 354 ----------------------
17 5 files changed, 1367 deletions(-)
18
19 diff --git a/sys-libs/ncurses/Manifest b/sys-libs/ncurses/Manifest
20 index 5bb87254f0a1..6eb8bcc753a5 100644
21 --- a/sys-libs/ncurses/Manifest
22 +++ b/sys-libs/ncurses/Manifest
23 @@ -1,5 +1,3 @@
24 -DIST ncurses-6.2-20210619-patch.sh.bz2 836967 BLAKE2B f210bf25c33f11d67e54a6f416aae75f0a976880ea543408780fd3a8dc992ee8d9999bf15c925c79504be0f30ade4bbfaed763abedd2b2d6b35de65b353a6314 SHA512 b8392bf6c0b7570766ae31a043df311660201265dfe3e2e49425b1e2aa08c72030b5f5b6c7871532897596262c88a7192e3ff2adfdc618f1b9c13c22c373eeb3
25 -DIST ncurses-6.2.tar.gz 3425862 BLAKE2B 6680cd7a369a4cb8234442a70869c283f0db6db9d7da1da2a7a5c519eb862a2c9b9411957d99f9ebb5089cad00b42e1ca6bc0784327461113df2eeaec695913c SHA512 4c1333dcc30e858e8a9525d4b9aefb60000cfc727bc4a1062bace06ffc4639ad9f6e54f6bdda0e3a0e5ea14de995f96b52b3327d9ec633608792c99a1e8d840d
26 DIST ncurses-6.3-20211026.patch.gz 117363 BLAKE2B 74c6c80271edc3b69d17c891436e48ee0579b3d16dd1bbd42f953be5b6ef07596343abd34f4d508b0cb371c1c0febfec12d65e938739892a617c8b141f599753 SHA512 25a99bc9cb7a18eb8fd16a0f887bae90c2551e0228b077d28f7217e58190f4b19a526350c999922f7394a1b749e834643c1bf5f339248b842717c146a3ec1df4
27 DIST ncurses-6.3-20211026.patch.gz.asc 729 BLAKE2B 470aa4aad00d0dfa9924ca3247d720b720563bfe5a3b5c9571acb4c74a7b3fb55adbae6b0aa854eb0e29c56d7949fa1e3b6d959c25681f1b46c23c96a3c0e054 SHA512 276e8a09ee6fddf20be38b9d8a6f93cbafcec51ed17de375b9d2f4f6c34ff546fdbd81083f54aba1a5aaea5c2c691c25754dfca47568c5b70197437420dd2581
28 DIST ncurses-6.3-20211030.patch.gz 46304 BLAKE2B 6fa0f5223c97dc045117c208b92e75aad61638585506aeed0fa5cd6b215f67d212fc780e527f1281ae77063edb1ef9b3a3671b00d306fe322c3ca1b34c1d4d81 SHA512 90440af3959a17388999f07a3b40f770c5511bceda6a39d4c56f867dc5ae8494e49cfb700eb79e31422ebfd1b1990f6d7912083c688963139446f1e43e9d08c8
29
30 diff --git a/sys-libs/ncurses/ncurses-6.2_p20210619.ebuild b/sys-libs/ncurses/ncurses-6.2_p20210619.ebuild
31 deleted file mode 100644
32 index 464f7ca0bcc2..000000000000
33 --- a/sys-libs/ncurses/ncurses-6.2_p20210619.ebuild
34 +++ /dev/null
35 @@ -1,326 +0,0 @@
36 -# Copyright 1999-2021 Gentoo Authors
37 -# Distributed under the terms of the GNU General Public License v2
38 -
39 -EAPI=7
40 -
41 -inherit toolchain-funcs multilib multilib-minimal preserve-libs usr-ldscript
42 -
43 -MY_PV="${PV:0:3}"
44 -MY_P="${PN}-${MY_PV}"
45 -DESCRIPTION="console display library"
46 -HOMEPAGE="https://www.gnu.org/software/ncurses/ https://invisible-island.net/ncurses/"
47 -SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz"
48 -
49 -if [[ "${PV}" == *_p* ]] ; then
50 - SRC_URI+=" ftp://ftp.invisible-island.net/${PN}/${PV/_p*}/${P/_p/-}-patch.sh.bz2
51 - https://invisible-mirror.net/archives/${PN}/${PV/_p*}/${P/_p/-}-patch.sh.bz2"
52 - #SRC_URI+=" https://dev.gentoo.org/~polynomial-c/dist/${P}.patch.xz"
53 -fi
54 -
55 -LICENSE="MIT"
56 -# The subslot reflects the SONAME.
57 -SLOT="0/6"
58 -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"
59 -IUSE="ada +cxx debug doc gpm minimal profile static-libs test tinfo trace"
60 -RESTRICT="!test? ( test )"
61 -
62 -DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )"
63 -# berkdb? ( sys-libs/db )"
64 -# Block the older ncurses that installed all files w/SLOT=5. #557472
65 -RDEPEND="${DEPEND}
66 - !<=sys-libs/ncurses-5.9-r4:5
67 - !<sys-libs/slang-2.3.2_pre23
68 - !<x11-terms/rxvt-unicode-9.06-r3
69 - !<x11-terms/st-0.6-r1"
70 -
71 -S="${WORKDIR}/${MY_P}"
72 -
73 -PATCHES=(
74 - "${FILESDIR}/${PN}-5.7-nongnu.patch"
75 - "${FILESDIR}/${PN}-6.0-rxvt-unicode-9.15.patch" #192083 #383871
76 - "${FILESDIR}/${PN}-6.0-pkg-config.patch"
77 - "${FILESDIR}/${PN}-6.0-ticlib.patch" #557360
78 - "${FILESDIR}/${PN}-6.2_p20210123-cppflags-cross.patch" #601426
79 -)
80 -
81 -src_prepare() {
82 - if [[ "${PV}" == *_p* ]] ; then
83 - eapply "${WORKDIR}"/${P/_p/-}-patch.sh
84 - #eapply "${WORKDIR}/${P}.patch"
85 - fi
86 - default
87 -}
88 -
89 -src_configure() {
90 - unset TERMINFO #115036
91 - tc-export_build_env BUILD_{CC,CPP}
92 - BUILD_CPPFLAGS+=" -D_GNU_SOURCE" #214642
93 -
94 - # Build the various variants of ncurses -- narrow, wide, and threaded. #510440
95 - # Order matters here -- we want unicode/thread versions to come last so that the
96 - # binaries in /usr/bin support both wide and narrow.
97 - # The naming is also important as we use these directly with filenames and when
98 - # checking configure flags.
99 - NCURSES_TARGETS=(
100 - ncurses
101 - ncursesw
102 - ncursest
103 - ncursestw
104 - )
105 -
106 - # When installing ncurses, we have to use a compatible version of tic.
107 - # This comes up when cross-compiling, doing multilib builds, upgrading,
108 - # or installing for the first time. Build a local copy of tic whenever
109 - # the host version isn't available. #249363 #557598
110 - if ! has_version -b "~sys-libs/${P}:0" ; then
111 - local lbuildflags="-static"
112 -
113 - # some toolchains don't quite support static linking
114 - local dbuildflags="-Wl,-rpath,${WORKDIR}/lib"
115 - case ${CHOST} in
116 - *-darwin*) dbuildflags= ;;
117 - *-solaris*) dbuildflags="-Wl,-R,${WORKDIR}/lib" ;;
118 - esac
119 - echo "int main() {}" | \
120 - $(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /dev/null \
121 - || lbuildflags="${dbuildflags}"
122 -
123 - # We can't re-use the multilib BUILD_DIR because we run outside of it.
124 - BUILD_DIR="${WORKDIR}" \
125 - CC=${BUILD_CC} \
126 - CHOST=${CBUILD} \
127 - CFLAGS=${BUILD_CFLAGS} \
128 - CXXFLAGS=${BUILD_CXXFLAGS} \
129 - CPPFLAGS=${BUILD_CPPFLAGS} \
130 - LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \
131 - do_configure cross --without-shared --with-normal --with-progs
132 - fi
133 - multilib-minimal_src_configure
134 -}
135 -
136 -multilib_src_configure() {
137 - local t
138 - for t in "${NCURSES_TARGETS[@]}" ; do
139 - do_configure "${t}"
140 - done
141 -}
142 -
143 -do_configure() {
144 - local target=$1
145 - shift
146 -
147 - mkdir "${BUILD_DIR}/${target}" || die
148 - cd "${BUILD_DIR}/${target}" || die
149 -
150 - local conf=(
151 - # We need the basic terminfo files in /etc, bug #37026. We will
152 - # add '--with-terminfo-dirs' and then populate /etc/terminfo in
153 - # src_install() ...
154 - --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo"
155 -
156 - # Disabled until #245417 is sorted out.
157 - #$(use_with berkdb hashed-db)
158 -
159 - # Enable installation of .pc files.
160 - --enable-pc-files
161 - # This path is used to control where the .pc files are installed.
162 - --with-pkg-config-libdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
163 -
164 - # Now the rest of the various standard flags.
165 - --with-shared
166 - --without-hashed-db
167 - $(use_with ada)
168 - $(use_with cxx)
169 - $(use_with cxx cxx-binding)
170 - --with-cxx-shared
171 - $(use_with debug)
172 - $(use_with profile)
173 - # The configure script uses ldd to parse the linked output which
174 - # is flaky for cross-compiling/multilib/ldd versions/etc...
175 - $(use_with gpm gpm libgpm.so.1)
176 - # Required for building on mingw-w64, and possibly other windows
177 - # platforms, bug #639670
178 - $(use_enable kernel_Winnt term-driver)
179 - --disable-termcap
180 - --enable-symlinks
181 - --with-rcs-ids
182 - --with-manpage-format=normal
183 - --enable-const
184 - --enable-colorfgbg
185 - --enable-hard-tabs
186 - --enable-echo
187 - $(use_enable !ada warnings)
188 - $(use_with debug assertions)
189 - $(use_enable !debug leaks)
190 - $(use_with debug expanded)
191 - $(use_with !debug macros)
192 - $(multilib_native_with progs)
193 - $(use_with test tests)
194 - $(use_with trace)
195 - $(use_with tinfo termlib)
196 - --disable-stripping
197 - --disable-pkg-ldflags
198 - )
199 -
200 - if [[ ${target} == ncurses*w ]] ; then
201 - conf+=( --enable-widec )
202 - else
203 - conf+=( --disable-widec )
204 - fi
205 - if [[ ${target} == ncursest* ]] ; then
206 - conf+=( --with-{pthread,reentrant} )
207 - else
208 - conf+=( --without-{pthread,reentrant} )
209 - fi
210 - # Make sure each variant goes in a unique location.
211 - if [[ ${target} == "ncurses" ]] ; then
212 - # "ncurses" variant goes into "${EPREFIX}"/usr/include
213 - # It is needed on Prefix because the configure script appends
214 - # "ncurses" to "${prefix}/include" if "${prefix}" is not /usr.
215 - conf+=( --enable-overwrite )
216 - else
217 - conf+=( --includedir="${EPREFIX}"/usr/include/${target} )
218 - fi
219 - # See comments in src_configure.
220 - if [[ ${target} != "cross" ]] ; then
221 - local cross_path="${WORKDIR}/cross"
222 - [[ -d ${cross_path} ]] && export TIC_PATH="${cross_path}/progs/tic"
223 - fi
224 -
225 - # Force bash until upstream rebuilds the configure script with a newer
226 - # version of autotools. #545532
227 - #CONFIG_SHELL=${EPREFIX}/bin/bash \
228 - ECONF_SOURCE="${S}" \
229 - econf "${conf[@]}" "$@"
230 -}
231 -
232 -src_compile() {
233 - # See comments in src_configure.
234 - if ! has_version -b "~sys-libs/${P}:0" ; then
235 - # We could possibly merge these two branches but opting to be
236 - # conservative when merging some of the Prefix changes.
237 -
238 - if [[ ${CHOST} == *-cygwin* ]] && ! multilib_is_native_abi ; then
239 - # We make 'tic$(x)' here, for Cygwin having x=".exe".
240 - BUILD_DIR="${WORKDIR}" \
241 - do_compile cross -C progs all PROGS='tic$(x)'
242 - else
243 - BUILD_DIR="${WORKDIR}" \
244 - do_compile cross -C progs tic
245 - fi
246 - fi
247 -
248 - multilib-minimal_src_compile
249 -}
250 -
251 -multilib_src_compile() {
252 - local t
253 - for t in "${NCURSES_TARGETS[@]}" ; do
254 - do_compile "${t}"
255 - done
256 -}
257 -
258 -do_compile() {
259 - local target=$1
260 - shift
261 -
262 - cd "${BUILD_DIR}/${target}" || die
263 -
264 - # A little hack to fix parallel builds ... they break when
265 - # generating sources so if we generate the sources first (in
266 - # non-parallel), we can then build the rest of the package
267 - # in parallel. This is not really a perf hit since the source
268 - # generation is quite small.
269 - emake -j1 sources
270 - # For some reason, sources depends on pc-files which depends on
271 - # compiled libraries which depends on sources which ...
272 - # Manually delete the pc-files file so the install step will
273 - # create the .pc files we want.
274 - rm -f misc/pc-files || die
275 - emake "$@"
276 -}
277 -
278 -multilib_src_install() {
279 - local target
280 - for target in "${NCURSES_TARGETS[@]}" ; do
281 - emake -C "${BUILD_DIR}/${target}" DESTDIR="${D}" install
282 - done
283 -
284 - # Move main libraries into /.
285 - if multilib_is_native_abi ; then
286 - gen_usr_ldscript -a \
287 - "${NCURSES_TARGETS[@]}" \
288 - $(usex tinfo 'tinfow tinfo' '')
289 - fi
290 - if ! tc-is-static-only ; then
291 - # Provide a link for -lcurses.
292 - ln -sf libncurses$(get_libname) "${ED}"/usr/$(get_libdir)/libcurses$(get_libname) || die
293 - fi
294 - # don't delete '*.dll.a', needed for linking #631468
295 - if ! use static-libs; then
296 - find "${ED}"/usr/ -name '*.a' ! -name '*.dll.a' -delete || die
297 - fi
298 -
299 - # Build fails to create this ...
300 - # -FIXME-
301 - # Ugly hackaround for riscv having two parts libdir (#689240)
302 - # Replace this hack with an official solution once we have one...
303 - # -FIXME-
304 - dosym $(sed 's@[^/]\+@..@g' <<< $(get_libdir))/share/terminfo \
305 - /usr/$(get_libdir)/terminfo
306 -}
307 -
308 -multilib_src_install_all() {
309 -# if ! use berkdb ; then
310 - # We need the basic terminfo files in /etc for embedded/recovery. #37026
311 - einfo "Installing basic terminfo files in /etc..."
312 - local terms=(
313 - # Dumb/simple values that show up when using the in-kernel VT.
314 - ansi console dumb linux
315 - vt{52,100,102,200,220}
316 - # [u]rxvt users used to be pretty common. Probably should drop this
317 - # since upstream is dead and people are moving away from it.
318 - rxvt{,-unicode}{,-256color}
319 - # xterm users are common, as is terminals re-using/spoofing it.
320 - xterm xterm-{,256}color
321 - # screen is common (and reused by tmux).
322 - screen{,-256color}
323 - screen.xterm-256color
324 - )
325 - local x
326 - for x in "${terms[@]}"; do
327 - local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null)
328 - local basedir=$(basename "$(dirname "${termfile}")")
329 -
330 - if [[ -n ${termfile} ]] ; then
331 - dodir "/etc/terminfo/${basedir}"
332 - mv "${termfile}" "${ED}/etc/terminfo/${basedir}/" || die
333 - dosym "../../../../etc/terminfo/${basedir}/${x}" \
334 - "/usr/share/terminfo/${basedir}/${x}"
335 - fi
336 - done
337 -# fi
338 -
339 - echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" | newenvd - 50ncurses
340 -
341 - use minimal && rm -r "${ED}"/usr/share/terminfo*
342 - # Because ncurses5-config --terminfo returns the directory we keep it
343 - keepdir /usr/share/terminfo #245374
344 -
345 - cd "${S}" || die
346 - dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc
347 - if use doc ; then
348 - docinto html
349 - dodoc -r doc/html/
350 - fi
351 -}
352 -
353 -pkg_preinst() {
354 - preserve_old_lib /$(get_libdir)/libncurses.so.5
355 - preserve_old_lib /$(get_libdir)/libncursesw.so.5
356 -}
357 -
358 -pkg_postinst() {
359 - preserve_old_lib_notify /$(get_libdir)/libncurses.so.5
360 - preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5
361 -}
362
363 diff --git a/sys-libs/ncurses/ncurses-6.3.ebuild b/sys-libs/ncurses/ncurses-6.3.ebuild
364 deleted file mode 100644
365 index 0faa70d2aa52..000000000000
366 --- a/sys-libs/ncurses/ncurses-6.3.ebuild
367 +++ /dev/null
368 @@ -1,328 +0,0 @@
369 -# Copyright 1999-2021 Gentoo Authors
370 -# Distributed under the terms of the GNU General Public License v2
371 -
372 -EAPI=7
373 -
374 -inherit toolchain-funcs multilib multilib-minimal preserve-libs usr-ldscript
375 -
376 -MY_PV="${PV:0:3}"
377 -MY_P="${PN}-${MY_PV}"
378 -DESCRIPTION="console display library"
379 -HOMEPAGE="https://www.gnu.org/software/ncurses/ https://invisible-island.net/ncurses/"
380 -SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz
381 - https://invisible-mirror.net/archives/${PN}/${MY_P}.tar.gz
382 - ftp://ftp.invisible-island.net/${PN}/${MY_P}.tar.gz"
383 -
384 -if [[ "${PV}" == *_p* ]] ; then
385 - SRC_URI+=" ftp://ftp.invisible-island.net/${PN}/${PV/_p*}/${P/_p/-}-patch.sh.bz2
386 - https://invisible-mirror.net/archives/${PN}/${PV/_p*}/${P/_p/-}-patch.sh.bz2"
387 - #SRC_URI+=" https://dev.gentoo.org/~polynomial-c/dist/${P}.patch.xz"
388 -fi
389 -
390 -LICENSE="MIT"
391 -# The subslot reflects the SONAME.
392 -SLOT="0/6"
393 -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"
394 -IUSE="ada +cxx debug doc gpm minimal profile static-libs test tinfo trace"
395 -RESTRICT="!test? ( test )"
396 -
397 -DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )"
398 -# berkdb? ( sys-libs/db )"
399 -# Block the older ncurses that installed all files w/SLOT=5. #557472
400 -RDEPEND="${DEPEND}
401 - !<=sys-libs/ncurses-5.9-r4:5
402 - !<sys-libs/slang-2.3.2_pre23
403 - !<x11-terms/rxvt-unicode-9.06-r3
404 - !<x11-terms/st-0.6-r1"
405 -
406 -S="${WORKDIR}/${MY_P}"
407 -
408 -PATCHES=(
409 - "${FILESDIR}/${PN}-5.7-nongnu.patch"
410 - "${FILESDIR}/${PN}-6.0-rxvt-unicode-9.15.patch" #192083 #383871
411 - "${FILESDIR}/${PN}-6.0-pkg-config.patch"
412 - "${FILESDIR}/${PN}-6.0-ticlib.patch" #557360
413 - "${FILESDIR}/${PN}-6.2_p20210123-cppflags-cross.patch" #601426
414 -)
415 -
416 -src_prepare() {
417 - if [[ "${PV}" == *_p* ]] ; then
418 - eapply "${WORKDIR}"/${P/_p/-}-patch.sh
419 - #eapply "${WORKDIR}/${P}.patch"
420 - fi
421 - default
422 -}
423 -
424 -src_configure() {
425 - unset TERMINFO #115036
426 - tc-export_build_env BUILD_{CC,CPP}
427 - BUILD_CPPFLAGS+=" -D_GNU_SOURCE" #214642
428 -
429 - # Build the various variants of ncurses -- narrow, wide, and threaded. #510440
430 - # Order matters here -- we want unicode/thread versions to come last so that the
431 - # binaries in /usr/bin support both wide and narrow.
432 - # The naming is also important as we use these directly with filenames and when
433 - # checking configure flags.
434 - NCURSES_TARGETS=(
435 - ncurses
436 - ncursesw
437 - ncursest
438 - ncursestw
439 - )
440 -
441 - # When installing ncurses, we have to use a compatible version of tic.
442 - # This comes up when cross-compiling, doing multilib builds, upgrading,
443 - # or installing for the first time. Build a local copy of tic whenever
444 - # the host version isn't available. #249363 #557598
445 - if ! has_version -b "~sys-libs/${P}:0" ; then
446 - local lbuildflags="-static"
447 -
448 - # some toolchains don't quite support static linking
449 - local dbuildflags="-Wl,-rpath,${WORKDIR}/lib"
450 - case ${CHOST} in
451 - *-darwin*) dbuildflags= ;;
452 - *-solaris*) dbuildflags="-Wl,-R,${WORKDIR}/lib" ;;
453 - esac
454 - echo "int main() {}" | \
455 - $(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /dev/null \
456 - || lbuildflags="${dbuildflags}"
457 -
458 - # We can't re-use the multilib BUILD_DIR because we run outside of it.
459 - BUILD_DIR="${WORKDIR}" \
460 - CC=${BUILD_CC} \
461 - CHOST=${CBUILD} \
462 - CFLAGS=${BUILD_CFLAGS} \
463 - CXXFLAGS=${BUILD_CXXFLAGS} \
464 - CPPFLAGS=${BUILD_CPPFLAGS} \
465 - LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \
466 - do_configure cross --without-shared --with-normal --with-progs
467 - fi
468 - multilib-minimal_src_configure
469 -}
470 -
471 -multilib_src_configure() {
472 - local t
473 - for t in "${NCURSES_TARGETS[@]}" ; do
474 - do_configure "${t}"
475 - done
476 -}
477 -
478 -do_configure() {
479 - local target=$1
480 - shift
481 -
482 - mkdir "${BUILD_DIR}/${target}" || die
483 - cd "${BUILD_DIR}/${target}" || die
484 -
485 - local conf=(
486 - # We need the basic terminfo files in /etc, bug #37026. We will
487 - # add '--with-terminfo-dirs' and then populate /etc/terminfo in
488 - # src_install() ...
489 - --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo"
490 -
491 - # Disabled until #245417 is sorted out.
492 - #$(use_with berkdb hashed-db)
493 -
494 - # Enable installation of .pc files.
495 - --enable-pc-files
496 - # This path is used to control where the .pc files are installed.
497 - --with-pkg-config-libdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
498 -
499 - # Now the rest of the various standard flags.
500 - --with-shared
501 - --without-hashed-db
502 - $(use_with ada)
503 - $(use_with cxx)
504 - $(use_with cxx cxx-binding)
505 - --with-cxx-shared
506 - $(use_with debug)
507 - $(use_with profile)
508 - # The configure script uses ldd to parse the linked output which
509 - # is flaky for cross-compiling/multilib/ldd versions/etc...
510 - $(use_with gpm gpm libgpm.so.1)
511 - # Required for building on mingw-w64, and possibly other windows
512 - # platforms, bug #639670
513 - $(use_enable kernel_Winnt term-driver)
514 - --disable-termcap
515 - --enable-symlinks
516 - --with-rcs-ids
517 - --with-manpage-format=normal
518 - --enable-const
519 - --enable-colorfgbg
520 - --enable-hard-tabs
521 - --enable-echo
522 - $(use_enable !ada warnings)
523 - $(use_with debug assertions)
524 - $(use_enable !debug leaks)
525 - $(use_with debug expanded)
526 - $(use_with !debug macros)
527 - $(multilib_native_with progs)
528 - $(use_with test tests)
529 - $(use_with trace)
530 - $(use_with tinfo termlib)
531 - --disable-stripping
532 - --disable-pkg-ldflags
533 - )
534 -
535 - if [[ ${target} == ncurses*w ]] ; then
536 - conf+=( --enable-widec )
537 - else
538 - conf+=( --disable-widec )
539 - fi
540 - if [[ ${target} == ncursest* ]] ; then
541 - conf+=( --with-{pthread,reentrant} )
542 - else
543 - conf+=( --without-{pthread,reentrant} )
544 - fi
545 - # Make sure each variant goes in a unique location.
546 - if [[ ${target} == "ncurses" ]] ; then
547 - # "ncurses" variant goes into "${EPREFIX}"/usr/include
548 - # It is needed on Prefix because the configure script appends
549 - # "ncurses" to "${prefix}/include" if "${prefix}" is not /usr.
550 - conf+=( --enable-overwrite )
551 - else
552 - conf+=( --includedir="${EPREFIX}"/usr/include/${target} )
553 - fi
554 - # See comments in src_configure.
555 - if [[ ${target} != "cross" ]] ; then
556 - local cross_path="${WORKDIR}/cross"
557 - [[ -d ${cross_path} ]] && export TIC_PATH="${cross_path}/progs/tic"
558 - fi
559 -
560 - # Force bash until upstream rebuilds the configure script with a newer
561 - # version of autotools. #545532
562 - #CONFIG_SHELL=${EPREFIX}/bin/bash \
563 - ECONF_SOURCE="${S}" \
564 - econf "${conf[@]}" "$@"
565 -}
566 -
567 -src_compile() {
568 - # See comments in src_configure.
569 - if ! has_version -b "~sys-libs/${P}:0" ; then
570 - # We could possibly merge these two branches but opting to be
571 - # conservative when merging some of the Prefix changes.
572 -
573 - if [[ ${CHOST} == *-cygwin* ]] && ! multilib_is_native_abi ; then
574 - # We make 'tic$(x)' here, for Cygwin having x=".exe".
575 - BUILD_DIR="${WORKDIR}" \
576 - do_compile cross -C progs all PROGS='tic$(x)'
577 - else
578 - BUILD_DIR="${WORKDIR}" \
579 - do_compile cross -C progs tic
580 - fi
581 - fi
582 -
583 - multilib-minimal_src_compile
584 -}
585 -
586 -multilib_src_compile() {
587 - local t
588 - for t in "${NCURSES_TARGETS[@]}" ; do
589 - do_compile "${t}"
590 - done
591 -}
592 -
593 -do_compile() {
594 - local target=$1
595 - shift
596 -
597 - cd "${BUILD_DIR}/${target}" || die
598 -
599 - # A little hack to fix parallel builds ... they break when
600 - # generating sources so if we generate the sources first (in
601 - # non-parallel), we can then build the rest of the package
602 - # in parallel. This is not really a perf hit since the source
603 - # generation is quite small.
604 - emake -j1 sources
605 - # For some reason, sources depends on pc-files which depends on
606 - # compiled libraries which depends on sources which ...
607 - # Manually delete the pc-files file so the install step will
608 - # create the .pc files we want.
609 - rm -f misc/pc-files || die
610 - emake "$@"
611 -}
612 -
613 -multilib_src_install() {
614 - local target
615 - for target in "${NCURSES_TARGETS[@]}" ; do
616 - emake -C "${BUILD_DIR}/${target}" DESTDIR="${D}" install
617 - done
618 -
619 - # Move main libraries into /.
620 - if multilib_is_native_abi ; then
621 - gen_usr_ldscript -a \
622 - "${NCURSES_TARGETS[@]}" \
623 - $(usex tinfo 'tinfow tinfo' '')
624 - fi
625 - if ! tc-is-static-only ; then
626 - # Provide a link for -lcurses.
627 - ln -sf libncurses$(get_libname) "${ED}"/usr/$(get_libdir)/libcurses$(get_libname) || die
628 - fi
629 - # don't delete '*.dll.a', needed for linking #631468
630 - if ! use static-libs; then
631 - find "${ED}"/usr/ -name '*.a' ! -name '*.dll.a' -delete || die
632 - fi
633 -
634 - # Build fails to create this ...
635 - # -FIXME-
636 - # Ugly hackaround for riscv having two parts libdir (#689240)
637 - # Replace this hack with an official solution once we have one...
638 - # -FIXME-
639 - dosym $(sed 's@[^/]\+@..@g' <<< $(get_libdir))/share/terminfo \
640 - /usr/$(get_libdir)/terminfo
641 -}
642 -
643 -multilib_src_install_all() {
644 -# if ! use berkdb ; then
645 - # We need the basic terminfo files in /etc for embedded/recovery. #37026
646 - einfo "Installing basic terminfo files in /etc..."
647 - local terms=(
648 - # Dumb/simple values that show up when using the in-kernel VT.
649 - ansi console dumb linux
650 - vt{52,100,102,200,220}
651 - # [u]rxvt users used to be pretty common. Probably should drop this
652 - # since upstream is dead and people are moving away from it.
653 - rxvt{,-unicode}{,-256color}
654 - # xterm users are common, as is terminals re-using/spoofing it.
655 - xterm xterm-{,256}color
656 - # screen is common (and reused by tmux).
657 - screen{,-256color}
658 - screen.xterm-256color
659 - )
660 - local x
661 - for x in "${terms[@]}"; do
662 - local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null)
663 - local basedir=$(basename "$(dirname "${termfile}")")
664 -
665 - if [[ -n ${termfile} ]] ; then
666 - dodir "/etc/terminfo/${basedir}"
667 - mv "${termfile}" "${ED}/etc/terminfo/${basedir}/" || die
668 - dosym "../../../../etc/terminfo/${basedir}/${x}" \
669 - "/usr/share/terminfo/${basedir}/${x}"
670 - fi
671 - done
672 -# fi
673 -
674 - echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" | newenvd - 50ncurses
675 -
676 - use minimal && rm -r "${ED}"/usr/share/terminfo*
677 - # Because ncurses5-config --terminfo returns the directory we keep it
678 - keepdir /usr/share/terminfo #245374
679 -
680 - cd "${S}" || die
681 - dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc
682 - if use doc ; then
683 - docinto html
684 - dodoc -r doc/html/
685 - fi
686 -}
687 -
688 -pkg_preinst() {
689 - preserve_old_lib /$(get_libdir)/libncurses.so.5
690 - preserve_old_lib /$(get_libdir)/libncursesw.so.5
691 -}
692 -
693 -pkg_postinst() {
694 - preserve_old_lib_notify /$(get_libdir)/libncurses.so.5
695 - preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5
696 -}
697
698 diff --git a/sys-libs/ncurses/ncurses-6.3_p20211106-r1.ebuild b/sys-libs/ncurses/ncurses-6.3_p20211106-r1.ebuild
699 deleted file mode 100644
700 index fbcbf40d9c66..000000000000
701 --- a/sys-libs/ncurses/ncurses-6.3_p20211106-r1.ebuild
702 +++ /dev/null
703 @@ -1,357 +0,0 @@
704 -# Copyright 1999-2022 Gentoo Authors
705 -# Distributed under the terms of the GNU General Public License v2
706 -
707 -EAPI=7
708 -
709 -inherit toolchain-funcs multilib multilib-minimal preserve-libs usr-ldscript
710 -
711 -MY_PV="${PV:0:3}"
712 -MY_P="${PN}-${MY_PV}"
713 -DESCRIPTION="console display library"
714 -HOMEPAGE="https://www.gnu.org/software/ncurses/ https://invisible-island.net/ncurses/"
715 -SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz
716 - https://invisible-mirror.net/archives/${PN}/${MY_P}.tar.gz
717 - ftp://ftp.invisible-island.net/${PN}/${MY_P}.tar.gz"
718 -
719 -if [[ "${PV}" == *_p* ]] ; then
720 - # Sometimes, after releases, there's no megapatch available yet.
721 - #
722 - # From upstream README at e.g. https://invisible-mirror.net/archives/ncurses/6.3/:
723 - #
724 - # "At times (generally to mark a relatively stable point), I create a rollup
725 - # patch, which consists of all changes from the release through the current date."
726 - #
727 - # This array should contain a list of all the snapshots since the last
728 - # release if there's no megapatch available yet.
729 - PATCH_DATES=(
730 - 20211026
731 - 20211030
732 - # Latest patch is just _pN = $(ver_cut 4)
733 - $(ver_cut 4)
734 - )
735 -
736 - if [[ -z ${PATCH_DATES[@]} ]] ; then
737 - SRC_URI+=" ftp://ftp.invisible-island.net/${PN}/${PV/_p*}/${P/_p/-}.patch.sh.bz2
738 - https://invisible-mirror.net/archives/${PN}/${PV/_p*}/${P/_p/-}.patch.sh.bz2"
739 - else
740 - patch_date=
741 - for patch_date in "${PATCH_DATES[@]}" ; do
742 - SRC_URI+=" ftp://ftp.invisible-island.net/${PN}/${PV/_p*}/${MY_P}-${patch_date}.patch.gz"
743 - SRC_URI+=" https://invisible-mirror.net/archives/${PN}/${PV/_p*}/${MY_P}-${patch_date}.patch.gz"
744 - done
745 - unset patch_date
746 - fi
747 -
748 - #SRC_URI+=" https://dev.gentoo.org/~polynomial-c/dist/${P}.patch.xz"
749 -fi
750 -
751 -LICENSE="MIT"
752 -# The subslot reflects the SONAME.
753 -SLOT="0/6"
754 -KEYWORDS=""
755 -IUSE="ada +cxx debug doc gpm minimal profile static-libs test tinfo trace"
756 -RESTRICT="!test? ( test )"
757 -
758 -DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )"
759 -# berkdb? ( sys-libs/db )"
760 -# Block the older ncurses that installed all files w/SLOT=5. #557472
761 -RDEPEND="${DEPEND}
762 - !<=sys-libs/ncurses-5.9-r4:5
763 - !<sys-libs/slang-2.3.2_pre23
764 - !<x11-terms/rxvt-unicode-9.06-r3
765 - !<x11-terms/st-0.6-r1"
766 -
767 -S="${WORKDIR}/${MY_P}"
768 -
769 -PATCHES=(
770 - "${FILESDIR}/${PN}-5.7-nongnu.patch"
771 - "${FILESDIR}/${PN}-6.0-rxvt-unicode-9.15.patch" #192083 #383871
772 - "${FILESDIR}/${PN}-6.0-pkg-config.patch"
773 - "${FILESDIR}/${PN}-6.0-ticlib.patch" #557360
774 - "${FILESDIR}/${PN}-6.2_p20210123-cppflags-cross.patch" #601426
775 -)
776 -
777 -src_prepare() {
778 - if [[ "${PV}" == *_p* ]] ; then
779 - #eapply "${WORKDIR}"/${P/_p/-}-patch.sh
780 - eapply "${WORKDIR}"/
781 - fi
782 - default
783 -}
784 -
785 -src_configure() {
786 - unset TERMINFO #115036
787 - tc-export_build_env BUILD_{CC,CPP}
788 - BUILD_CPPFLAGS+=" -D_GNU_SOURCE" #214642
789 -
790 - # Build the various variants of ncurses -- narrow, wide, and threaded. #510440
791 - # Order matters here -- we want unicode/thread versions to come last so that the
792 - # binaries in /usr/bin support both wide and narrow.
793 - # The naming is also important as we use these directly with filenames and when
794 - # checking configure flags.
795 - NCURSES_TARGETS=(
796 - ncurses
797 - ncursesw
798 - ncursest
799 - ncursestw
800 - )
801 -
802 - # When installing ncurses, we have to use a compatible version of tic.
803 - # This comes up when cross-compiling, doing multilib builds, upgrading,
804 - # or installing for the first time. Build a local copy of tic whenever
805 - # the host version isn't available. #249363 #557598
806 - if ! has_version -b "~sys-libs/${P}:0" ; then
807 - local lbuildflags="-static"
808 -
809 - # some toolchains don't quite support static linking
810 - local dbuildflags="-Wl,-rpath,${WORKDIR}/lib"
811 - case ${CHOST} in
812 - *-darwin*) dbuildflags= ;;
813 - *-solaris*) dbuildflags="-Wl,-R,${WORKDIR}/lib" ;;
814 - esac
815 - echo "int main() {}" | \
816 - $(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /dev/null \
817 - || lbuildflags="${dbuildflags}"
818 -
819 - # We can't re-use the multilib BUILD_DIR because we run outside of it.
820 - BUILD_DIR="${WORKDIR}" \
821 - CC=${BUILD_CC} \
822 - CHOST=${CBUILD} \
823 - CFLAGS=${BUILD_CFLAGS} \
824 - CXXFLAGS=${BUILD_CXXFLAGS} \
825 - CPPFLAGS=${BUILD_CPPFLAGS} \
826 - LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \
827 - do_configure cross --without-shared --with-normal --with-progs
828 - fi
829 - multilib-minimal_src_configure
830 -}
831 -
832 -multilib_src_configure() {
833 - local t
834 - for t in "${NCURSES_TARGETS[@]}" ; do
835 - do_configure "${t}"
836 - done
837 -}
838 -
839 -do_configure() {
840 - local target=$1
841 - shift
842 -
843 - mkdir "${BUILD_DIR}/${target}" || die
844 - cd "${BUILD_DIR}/${target}" || die
845 -
846 - local conf=(
847 - # We need the basic terminfo files in /etc, bug #37026. We will
848 - # add '--with-terminfo-dirs' and then populate /etc/terminfo in
849 - # src_install() ...
850 - --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo"
851 -
852 - # Disabled until #245417 is sorted out.
853 - #$(use_with berkdb hashed-db)
854 -
855 - # Enable installation of .pc files.
856 - --enable-pc-files
857 - # This path is used to control where the .pc files are installed.
858 - --with-pkg-config-libdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
859 -
860 - # Now the rest of the various standard flags.
861 - --with-shared
862 - --without-hashed-db
863 - $(use_with ada)
864 - $(use_with cxx)
865 - $(use_with cxx cxx-binding)
866 - --with-cxx-shared
867 - $(use_with debug)
868 - $(use_with profile)
869 - # The configure script uses ldd to parse the linked output which
870 - # is flaky for cross-compiling/multilib/ldd versions/etc...
871 - $(use_with gpm gpm libgpm.so.1)
872 - # Required for building on mingw-w64, and possibly other windows
873 - # platforms, bug #639670
874 - $(use_enable kernel_Winnt term-driver)
875 - --disable-termcap
876 - --enable-symlinks
877 - --with-rcs-ids
878 - --with-manpage-format=normal
879 - --enable-const
880 - --enable-colorfgbg
881 - --enable-hard-tabs
882 - --enable-echo
883 - $(use_enable !ada warnings)
884 - $(use_with debug assertions)
885 - $(use_enable !debug leaks)
886 - $(use_with debug expanded)
887 - $(use_with !debug macros)
888 - $(multilib_native_with progs)
889 - $(use_with test tests)
890 - $(use_with trace)
891 - $(use_with tinfo termlib)
892 - --disable-stripping
893 - --disable-pkg-ldflags
894 - )
895 -
896 - if [[ ${target} == ncurses*w ]] ; then
897 - conf+=( --enable-widec )
898 - else
899 - conf+=( --disable-widec )
900 - fi
901 - if [[ ${target} == ncursest* ]] ; then
902 - conf+=( --with-{pthread,reentrant} )
903 - else
904 - conf+=( --without-{pthread,reentrant} )
905 - fi
906 - # Make sure each variant goes in a unique location.
907 - if [[ ${target} == "ncurses" ]] ; then
908 - # "ncurses" variant goes into "${EPREFIX}"/usr/include
909 - # It is needed on Prefix because the configure script appends
910 - # "ncurses" to "${prefix}/include" if "${prefix}" is not /usr.
911 - conf+=( --enable-overwrite )
912 - else
913 - conf+=( --includedir="${EPREFIX}"/usr/include/${target} )
914 - fi
915 - # See comments in src_configure.
916 - if [[ ${target} != "cross" ]] ; then
917 - local cross_path="${WORKDIR}/cross"
918 - [[ -d ${cross_path} ]] && export TIC_PATH="${cross_path}/progs/tic"
919 - fi
920 -
921 - # Force bash until upstream rebuilds the configure script with a newer
922 - # version of autotools. #545532
923 - #CONFIG_SHELL=${EPREFIX}/bin/bash \
924 - ECONF_SOURCE="${S}" \
925 - econf "${conf[@]}" "$@"
926 -}
927 -
928 -src_compile() {
929 - # See comments in src_configure.
930 - if ! has_version -b "~sys-libs/${P}:0" ; then
931 - # We could possibly merge these two branches but opting to be
932 - # conservative when merging some of the Prefix changes.
933 -
934 - if [[ ${CHOST} == *-cygwin* ]] && ! multilib_is_native_abi ; then
935 - # We make 'tic$(x)' here, for Cygwin having x=".exe".
936 - BUILD_DIR="${WORKDIR}" \
937 - do_compile cross -C progs all PROGS='tic$(x)'
938 - else
939 - BUILD_DIR="${WORKDIR}" \
940 - do_compile cross -C progs tic
941 - fi
942 - fi
943 -
944 - multilib-minimal_src_compile
945 -}
946 -
947 -multilib_src_compile() {
948 - local t
949 - for t in "${NCURSES_TARGETS[@]}" ; do
950 - do_compile "${t}"
951 - done
952 -}
953 -
954 -do_compile() {
955 - local target=$1
956 - shift
957 -
958 - cd "${BUILD_DIR}/${target}" || die
959 -
960 - # A little hack to fix parallel builds ... they break when
961 - # generating sources so if we generate the sources first (in
962 - # non-parallel), we can then build the rest of the package
963 - # in parallel. This is not really a perf hit since the source
964 - # generation is quite small.
965 - emake -j1 sources
966 - # For some reason, sources depends on pc-files which depends on
967 - # compiled libraries which depends on sources which ...
968 - # Manually delete the pc-files file so the install step will
969 - # create the .pc files we want.
970 - rm -f misc/pc-files || die
971 - emake "$@"
972 -}
973 -
974 -multilib_src_install() {
975 - local target
976 - for target in "${NCURSES_TARGETS[@]}" ; do
977 - emake -C "${BUILD_DIR}/${target}" DESTDIR="${D}" install
978 - done
979 -
980 - # Move main libraries into /.
981 - if multilib_is_native_abi ; then
982 - gen_usr_ldscript -a \
983 - "${NCURSES_TARGETS[@]}" \
984 - $(usex tinfo 'tinfow tinfo' '')
985 - fi
986 - # don't delete '*.dll.a', needed for linking #631468
987 - if ! use static-libs; then
988 - find "${ED}"/usr/ -name '*.a' ! -name '*.dll.a' -delete || die
989 - fi
990 -
991 - # Build fails to create this ...
992 - # -FIXME-
993 - # Ugly hackaround for riscv having two parts libdir (#689240)
994 - # Replace this hack with an official solution once we have one...
995 - # -FIXME-
996 - dosym $(sed 's@[^/]\+@..@g' <<< $(get_libdir))/share/terminfo \
997 - /usr/$(get_libdir)/terminfo
998 -
999 - # Remove obsolete libcurses symlink that is created by the build
1000 - # system. Technically, this could be also achieved
1001 - # via --disable-overwrite but it also moves headers implicitly,
1002 - # and we do not want to do this yet.
1003 - # https://bugs.gentoo.org/836696
1004 - rm "${ED}"/usr/$(get_libdir)/libcurses* || die
1005 -}
1006 -
1007 -multilib_src_install_all() {
1008 -# if ! use berkdb ; then
1009 - # We need the basic terminfo files in /etc for embedded/recovery. #37026
1010 - einfo "Installing basic terminfo files in /etc..."
1011 - local terms=(
1012 - # Dumb/simple values that show up when using the in-kernel VT.
1013 - ansi console dumb linux
1014 - vt{52,100,102,200,220}
1015 - # [u]rxvt users used to be pretty common. Probably should drop this
1016 - # since upstream is dead and people are moving away from it.
1017 - rxvt{,-unicode}{,-256color}
1018 - # xterm users are common, as is terminals re-using/spoofing it.
1019 - xterm xterm-{,256}color
1020 - # screen is common (and reused by tmux).
1021 - screen{,-256color}
1022 - screen.xterm-256color
1023 - )
1024 - local x
1025 - for x in "${terms[@]}"; do
1026 - local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null)
1027 - local basedir=$(basename "$(dirname "${termfile}")")
1028 -
1029 - if [[ -n ${termfile} ]] ; then
1030 - dodir "/etc/terminfo/${basedir}"
1031 - mv "${termfile}" "${ED}/etc/terminfo/${basedir}/" || die
1032 - dosym "../../../../etc/terminfo/${basedir}/${x}" \
1033 - "/usr/share/terminfo/${basedir}/${x}"
1034 - fi
1035 - done
1036 -# fi
1037 -
1038 - echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" | newenvd - 50ncurses
1039 -
1040 - use minimal && rm -r "${ED}"/usr/share/terminfo*
1041 - # Because ncurses5-config --terminfo returns the directory we keep it
1042 - keepdir /usr/share/terminfo #245374
1043 -
1044 - cd "${S}" || die
1045 - dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc
1046 - if use doc ; then
1047 - docinto html
1048 - dodoc -r doc/html/
1049 - fi
1050 -}
1051 -
1052 -pkg_preinst() {
1053 - preserve_old_lib /$(get_libdir)/libncurses.so.5
1054 - preserve_old_lib /$(get_libdir)/libncursesw.so.5
1055 -}
1056 -
1057 -pkg_postinst() {
1058 - preserve_old_lib_notify /$(get_libdir)/libncurses.so.5
1059 - preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5
1060 -}
1061
1062 diff --git a/sys-libs/ncurses/ncurses-6.3_p20211106.ebuild b/sys-libs/ncurses/ncurses-6.3_p20211106.ebuild
1063 deleted file mode 100644
1064 index 5794b0aceb63..000000000000
1065 --- a/sys-libs/ncurses/ncurses-6.3_p20211106.ebuild
1066 +++ /dev/null
1067 @@ -1,354 +0,0 @@
1068 -# Copyright 1999-2022 Gentoo Authors
1069 -# Distributed under the terms of the GNU General Public License v2
1070 -
1071 -EAPI=7
1072 -
1073 -inherit toolchain-funcs multilib multilib-minimal preserve-libs usr-ldscript
1074 -
1075 -MY_PV="${PV:0:3}"
1076 -MY_P="${PN}-${MY_PV}"
1077 -DESCRIPTION="console display library"
1078 -HOMEPAGE="https://www.gnu.org/software/ncurses/ https://invisible-island.net/ncurses/"
1079 -SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz
1080 - https://invisible-mirror.net/archives/${PN}/${MY_P}.tar.gz
1081 - ftp://ftp.invisible-island.net/${PN}/${MY_P}.tar.gz"
1082 -
1083 -if [[ "${PV}" == *_p* ]] ; then
1084 - # Sometimes, after releases, there's no megapatch available yet.
1085 - #
1086 - # From upstream README at e.g. https://invisible-mirror.net/archives/ncurses/6.3/:
1087 - #
1088 - # "At times (generally to mark a relatively stable point), I create a rollup
1089 - # patch, which consists of all changes from the release through the current date."
1090 - #
1091 - # This array should contain a list of all the snapshots since the last
1092 - # release if there's no megapatch available yet.
1093 - PATCH_DATES=(
1094 - 20211026
1095 - 20211030
1096 - # Latest patch is just _pN = $(ver_cut 4)
1097 - $(ver_cut 4)
1098 - )
1099 -
1100 - if [[ -z ${PATCH_DATES[@]} ]] ; then
1101 - SRC_URI+=" ftp://ftp.invisible-island.net/${PN}/${PV/_p*}/${P/_p/-}.patch.sh.bz2
1102 - https://invisible-mirror.net/archives/${PN}/${PV/_p*}/${P/_p/-}.patch.sh.bz2"
1103 - else
1104 - patch_date=
1105 - for patch_date in "${PATCH_DATES[@]}" ; do
1106 - SRC_URI+=" ftp://ftp.invisible-island.net/${PN}/${PV/_p*}/${MY_P}-${patch_date}.patch.gz"
1107 - SRC_URI+=" https://invisible-mirror.net/archives/${PN}/${PV/_p*}/${MY_P}-${patch_date}.patch.gz"
1108 - done
1109 - unset patch_date
1110 - fi
1111 -
1112 - #SRC_URI+=" https://dev.gentoo.org/~polynomial-c/dist/${P}.patch.xz"
1113 -fi
1114 -
1115 -LICENSE="MIT"
1116 -# The subslot reflects the SONAME.
1117 -SLOT="0/6"
1118 -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"
1119 -IUSE="ada +cxx debug doc gpm minimal profile static-libs test tinfo trace"
1120 -RESTRICT="!test? ( test )"
1121 -
1122 -DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )"
1123 -# berkdb? ( sys-libs/db )"
1124 -# Block the older ncurses that installed all files w/SLOT=5. #557472
1125 -RDEPEND="${DEPEND}
1126 - !<=sys-libs/ncurses-5.9-r4:5
1127 - !<sys-libs/slang-2.3.2_pre23
1128 - !<x11-terms/rxvt-unicode-9.06-r3
1129 - !<x11-terms/st-0.6-r1"
1130 -
1131 -S="${WORKDIR}/${MY_P}"
1132 -
1133 -PATCHES=(
1134 - "${FILESDIR}/${PN}-5.7-nongnu.patch"
1135 - "${FILESDIR}/${PN}-6.0-rxvt-unicode-9.15.patch" #192083 #383871
1136 - "${FILESDIR}/${PN}-6.0-pkg-config.patch"
1137 - "${FILESDIR}/${PN}-6.0-ticlib.patch" #557360
1138 - "${FILESDIR}/${PN}-6.2_p20210123-cppflags-cross.patch" #601426
1139 -)
1140 -
1141 -src_prepare() {
1142 - if [[ "${PV}" == *_p* ]] ; then
1143 - #eapply "${WORKDIR}"/${P/_p/-}-patch.sh
1144 - eapply "${WORKDIR}"/
1145 - fi
1146 - default
1147 -}
1148 -
1149 -src_configure() {
1150 - unset TERMINFO #115036
1151 - tc-export_build_env BUILD_{CC,CPP}
1152 - BUILD_CPPFLAGS+=" -D_GNU_SOURCE" #214642
1153 -
1154 - # Build the various variants of ncurses -- narrow, wide, and threaded. #510440
1155 - # Order matters here -- we want unicode/thread versions to come last so that the
1156 - # binaries in /usr/bin support both wide and narrow.
1157 - # The naming is also important as we use these directly with filenames and when
1158 - # checking configure flags.
1159 - NCURSES_TARGETS=(
1160 - ncurses
1161 - ncursesw
1162 - ncursest
1163 - ncursestw
1164 - )
1165 -
1166 - # When installing ncurses, we have to use a compatible version of tic.
1167 - # This comes up when cross-compiling, doing multilib builds, upgrading,
1168 - # or installing for the first time. Build a local copy of tic whenever
1169 - # the host version isn't available. #249363 #557598
1170 - if ! has_version -b "~sys-libs/${P}:0" ; then
1171 - local lbuildflags="-static"
1172 -
1173 - # some toolchains don't quite support static linking
1174 - local dbuildflags="-Wl,-rpath,${WORKDIR}/lib"
1175 - case ${CHOST} in
1176 - *-darwin*) dbuildflags= ;;
1177 - *-solaris*) dbuildflags="-Wl,-R,${WORKDIR}/lib" ;;
1178 - esac
1179 - echo "int main() {}" | \
1180 - $(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /dev/null \
1181 - || lbuildflags="${dbuildflags}"
1182 -
1183 - # We can't re-use the multilib BUILD_DIR because we run outside of it.
1184 - BUILD_DIR="${WORKDIR}" \
1185 - CC=${BUILD_CC} \
1186 - CHOST=${CBUILD} \
1187 - CFLAGS=${BUILD_CFLAGS} \
1188 - CXXFLAGS=${BUILD_CXXFLAGS} \
1189 - CPPFLAGS=${BUILD_CPPFLAGS} \
1190 - LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \
1191 - do_configure cross --without-shared --with-normal --with-progs
1192 - fi
1193 - multilib-minimal_src_configure
1194 -}
1195 -
1196 -multilib_src_configure() {
1197 - local t
1198 - for t in "${NCURSES_TARGETS[@]}" ; do
1199 - do_configure "${t}"
1200 - done
1201 -}
1202 -
1203 -do_configure() {
1204 - local target=$1
1205 - shift
1206 -
1207 - mkdir "${BUILD_DIR}/${target}" || die
1208 - cd "${BUILD_DIR}/${target}" || die
1209 -
1210 - local conf=(
1211 - # We need the basic terminfo files in /etc, bug #37026. We will
1212 - # add '--with-terminfo-dirs' and then populate /etc/terminfo in
1213 - # src_install() ...
1214 - --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo"
1215 -
1216 - # Disabled until #245417 is sorted out.
1217 - #$(use_with berkdb hashed-db)
1218 -
1219 - # Enable installation of .pc files.
1220 - --enable-pc-files
1221 - # This path is used to control where the .pc files are installed.
1222 - --with-pkg-config-libdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
1223 -
1224 - # Now the rest of the various standard flags.
1225 - --with-shared
1226 - --without-hashed-db
1227 - $(use_with ada)
1228 - $(use_with cxx)
1229 - $(use_with cxx cxx-binding)
1230 - --with-cxx-shared
1231 - $(use_with debug)
1232 - $(use_with profile)
1233 - # The configure script uses ldd to parse the linked output which
1234 - # is flaky for cross-compiling/multilib/ldd versions/etc...
1235 - $(use_with gpm gpm libgpm.so.1)
1236 - # Required for building on mingw-w64, and possibly other windows
1237 - # platforms, bug #639670
1238 - $(use_enable kernel_Winnt term-driver)
1239 - --disable-termcap
1240 - --enable-symlinks
1241 - --with-rcs-ids
1242 - --with-manpage-format=normal
1243 - --enable-const
1244 - --enable-colorfgbg
1245 - --enable-hard-tabs
1246 - --enable-echo
1247 - $(use_enable !ada warnings)
1248 - $(use_with debug assertions)
1249 - $(use_enable !debug leaks)
1250 - $(use_with debug expanded)
1251 - $(use_with !debug macros)
1252 - $(multilib_native_with progs)
1253 - $(use_with test tests)
1254 - $(use_with trace)
1255 - $(use_with tinfo termlib)
1256 - --disable-stripping
1257 - --disable-pkg-ldflags
1258 - )
1259 -
1260 - if [[ ${target} == ncurses*w ]] ; then
1261 - conf+=( --enable-widec )
1262 - else
1263 - conf+=( --disable-widec )
1264 - fi
1265 - if [[ ${target} == ncursest* ]] ; then
1266 - conf+=( --with-{pthread,reentrant} )
1267 - else
1268 - conf+=( --without-{pthread,reentrant} )
1269 - fi
1270 - # Make sure each variant goes in a unique location.
1271 - if [[ ${target} == "ncurses" ]] ; then
1272 - # "ncurses" variant goes into "${EPREFIX}"/usr/include
1273 - # It is needed on Prefix because the configure script appends
1274 - # "ncurses" to "${prefix}/include" if "${prefix}" is not /usr.
1275 - conf+=( --enable-overwrite )
1276 - else
1277 - conf+=( --includedir="${EPREFIX}"/usr/include/${target} )
1278 - fi
1279 - # See comments in src_configure.
1280 - if [[ ${target} != "cross" ]] ; then
1281 - local cross_path="${WORKDIR}/cross"
1282 - [[ -d ${cross_path} ]] && export TIC_PATH="${cross_path}/progs/tic"
1283 - fi
1284 -
1285 - # Force bash until upstream rebuilds the configure script with a newer
1286 - # version of autotools. #545532
1287 - #CONFIG_SHELL=${EPREFIX}/bin/bash \
1288 - ECONF_SOURCE="${S}" \
1289 - econf "${conf[@]}" "$@"
1290 -}
1291 -
1292 -src_compile() {
1293 - # See comments in src_configure.
1294 - if ! has_version -b "~sys-libs/${P}:0" ; then
1295 - # We could possibly merge these two branches but opting to be
1296 - # conservative when merging some of the Prefix changes.
1297 -
1298 - if [[ ${CHOST} == *-cygwin* ]] && ! multilib_is_native_abi ; then
1299 - # We make 'tic$(x)' here, for Cygwin having x=".exe".
1300 - BUILD_DIR="${WORKDIR}" \
1301 - do_compile cross -C progs all PROGS='tic$(x)'
1302 - else
1303 - BUILD_DIR="${WORKDIR}" \
1304 - do_compile cross -C progs tic
1305 - fi
1306 - fi
1307 -
1308 - multilib-minimal_src_compile
1309 -}
1310 -
1311 -multilib_src_compile() {
1312 - local t
1313 - for t in "${NCURSES_TARGETS[@]}" ; do
1314 - do_compile "${t}"
1315 - done
1316 -}
1317 -
1318 -do_compile() {
1319 - local target=$1
1320 - shift
1321 -
1322 - cd "${BUILD_DIR}/${target}" || die
1323 -
1324 - # A little hack to fix parallel builds ... they break when
1325 - # generating sources so if we generate the sources first (in
1326 - # non-parallel), we can then build the rest of the package
1327 - # in parallel. This is not really a perf hit since the source
1328 - # generation is quite small.
1329 - emake -j1 sources
1330 - # For some reason, sources depends on pc-files which depends on
1331 - # compiled libraries which depends on sources which ...
1332 - # Manually delete the pc-files file so the install step will
1333 - # create the .pc files we want.
1334 - rm -f misc/pc-files || die
1335 - emake "$@"
1336 -}
1337 -
1338 -multilib_src_install() {
1339 - local target
1340 - for target in "${NCURSES_TARGETS[@]}" ; do
1341 - emake -C "${BUILD_DIR}/${target}" DESTDIR="${D}" install
1342 - done
1343 -
1344 - # Move main libraries into /.
1345 - if multilib_is_native_abi ; then
1346 - gen_usr_ldscript -a \
1347 - "${NCURSES_TARGETS[@]}" \
1348 - $(usex tinfo 'tinfow tinfo' '')
1349 - fi
1350 - if ! tc-is-static-only ; then
1351 - # Provide a link for -lcurses.
1352 - ln -sf libncurses$(get_libname) "${ED}"/usr/$(get_libdir)/libcurses$(get_libname) || die
1353 - fi
1354 - # don't delete '*.dll.a', needed for linking #631468
1355 - if ! use static-libs; then
1356 - find "${ED}"/usr/ -name '*.a' ! -name '*.dll.a' -delete || die
1357 - fi
1358 -
1359 - # Build fails to create this ...
1360 - # -FIXME-
1361 - # Ugly hackaround for riscv having two parts libdir (#689240)
1362 - # Replace this hack with an official solution once we have one...
1363 - # -FIXME-
1364 - dosym $(sed 's@[^/]\+@..@g' <<< $(get_libdir))/share/terminfo \
1365 - /usr/$(get_libdir)/terminfo
1366 -}
1367 -
1368 -multilib_src_install_all() {
1369 -# if ! use berkdb ; then
1370 - # We need the basic terminfo files in /etc for embedded/recovery. #37026
1371 - einfo "Installing basic terminfo files in /etc..."
1372 - local terms=(
1373 - # Dumb/simple values that show up when using the in-kernel VT.
1374 - ansi console dumb linux
1375 - vt{52,100,102,200,220}
1376 - # [u]rxvt users used to be pretty common. Probably should drop this
1377 - # since upstream is dead and people are moving away from it.
1378 - rxvt{,-unicode}{,-256color}
1379 - # xterm users are common, as is terminals re-using/spoofing it.
1380 - xterm xterm-{,256}color
1381 - # screen is common (and reused by tmux).
1382 - screen{,-256color}
1383 - screen.xterm-256color
1384 - )
1385 - local x
1386 - for x in "${terms[@]}"; do
1387 - local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null)
1388 - local basedir=$(basename "$(dirname "${termfile}")")
1389 -
1390 - if [[ -n ${termfile} ]] ; then
1391 - dodir "/etc/terminfo/${basedir}"
1392 - mv "${termfile}" "${ED}/etc/terminfo/${basedir}/" || die
1393 - dosym "../../../../etc/terminfo/${basedir}/${x}" \
1394 - "/usr/share/terminfo/${basedir}/${x}"
1395 - fi
1396 - done
1397 -# fi
1398 -
1399 - echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" | newenvd - 50ncurses
1400 -
1401 - use minimal && rm -r "${ED}"/usr/share/terminfo*
1402 - # Because ncurses5-config --terminfo returns the directory we keep it
1403 - keepdir /usr/share/terminfo #245374
1404 -
1405 - cd "${S}" || die
1406 - dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc
1407 - if use doc ; then
1408 - docinto html
1409 - dodoc -r doc/html/
1410 - fi
1411 -}
1412 -
1413 -pkg_preinst() {
1414 - preserve_old_lib /$(get_libdir)/libncurses.so.5
1415 - preserve_old_lib /$(get_libdir)/libncursesw.so.5
1416 -}
1417 -
1418 -pkg_postinst() {
1419 - preserve_old_lib_notify /$(get_libdir)/libncurses.so.5
1420 - preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5
1421 -}