Gentoo Archives: gentoo-commits

From: Fabian Groffen <grobian@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/prefix:master commit in: sys-libs/ncurses/, sys-libs/ncurses/files/
Date: Fri, 05 Jan 2018 07:29:31
Message-Id: 1515137357.c14cea6ca91442591b6ba6ff167adaab574819cb.grobian@gentoo
1 commit: c14cea6ca91442591b6ba6ff167adaab574819cb
2 Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jan 5 07:29:17 2018 +0000
4 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
5 CommitDate: Fri Jan 5 07:29:17 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=c14cea6c
7
8 sys-libs/ncurses: sync, multijob was removed
9
10 Package-Manager: Portage-2.3.18-prefix, Repoman-2.3.6
11
12 .../ncurses/files/ncurses-6.0-cppflags-cross.patch | 35 +++
13 sys-libs/ncurses/ncurses-5.9-r101.ebuild | 12 +-
14 sys-libs/ncurses/ncurses-5.9-r4.ebuild | 288 --------------------
15 sys-libs/ncurses/ncurses-5.9-r5.ebuild | 291 ---------------------
16 sys-libs/ncurses/ncurses-5.9-r99.ebuild | 21 --
17 sys-libs/ncurses/ncurses-6.0-r1.ebuild | 22 +-
18 ...ncurses-6.0-r1.ebuild => ncurses-6.0-r2.ebuild} | 27 +-
19 sys-libs/ncurses/ncurses-6.0.ebuild | 21 --
20 8 files changed, 60 insertions(+), 657 deletions(-)
21
22 diff --git a/sys-libs/ncurses/files/ncurses-6.0-cppflags-cross.patch b/sys-libs/ncurses/files/ncurses-6.0-cppflags-cross.patch
23 new file mode 100644
24 index 0000000000..decdc26779
25 --- /dev/null
26 +++ b/sys-libs/ncurses/files/ncurses-6.0-cppflags-cross.patch
27 @@ -0,0 +1,35 @@
28 +https://bugs.gentoo.org/601426
29 +https://lists.gnu.org/archive/html/bug-ncurses/2015-02/msg00012.html
30 +
31 +From: John Vogel
32 +Subject: [PATCH] c++ binding missed when cross compiling
33 +Date: Mon, 16 Feb 2015 01:01:48 -0500
34 +
35 +The configure script hard codes the include dir to the prefix'ed include dir,
36 +when checking if c++ compiler works. This breaks the compiler's built-in search
37 +path. I've included two patches. The first works on the configure.in file, which
38 +requires your autoconf stuff to test and I'm not ready to meddle with at the
39 +moment. The other works directly on the configure file. I've tested the second
40 +one; it should mirror what the first patch tries to achieve and works for me.
41 +
42 +--- a/configure
43 ++++ b/configure
44 +@@ -2938,10 +2938,6 @@
45 + echo "$as_me:2938: checking if $CXX works" >&5
46 + echo $ECHO_N "checking if $CXX works... $ECHO_C" >&6
47 +
48 +- save_CPPFLAGS="$CPPFLAGS"
49 +- eval cf_includedir=${includedir}
50 +- CPPFLAGS="$CPPFLAGS -I${cf_includedir}"
51 +-
52 + cat >conftest.$ac_ext <<_ACEOF
53 + #line 2946 "configure"
54 + #include "confdefs.h"
55 +@@ -2978,7 +2974,6 @@
56 + cf_cxx_works=no
57 + fi
58 + rm -f conftest.$ac_objext conftest.$ac_ext
59 +- CPPFLAGS="$save_CPPFLAGS"
60 +
61 + echo "$as_me:2983: result: $cf_cxx_works" >&5
62 + echo "${ECHO_T}$cf_cxx_works" >&6
63
64 diff --git a/sys-libs/ncurses/ncurses-5.9-r101.ebuild b/sys-libs/ncurses/ncurses-5.9-r101.ebuild
65 index fcda07247d..f2cf2869c5 100644
66 --- a/sys-libs/ncurses/ncurses-5.9-r101.ebuild
67 +++ b/sys-libs/ncurses/ncurses-5.9-r101.ebuild
68 @@ -1,12 +1,11 @@
69 -# Copyright 1999-2017 Gentoo Foundation
70 +# Copyright 1999-2018 Gentoo Foundation
71 # Distributed under the terms of the GNU General Public License v2
72 -# $Id$
73
74 # This version is just for the ABI .5 library
75
76 EAPI="5"
77
78 -inherit eutils toolchain-funcs multilib-minimal multiprocessing flag-o-matic libtool
79 +inherit eutils toolchain-funcs multilib-minimal flag-o-matic libtool
80
81 MY_PV=${PV:0:3}
82 MY_P=${PN}-${MY_PV}
83 @@ -108,8 +107,6 @@ src_configure() {
84 $(usex unicode 'ncursesw' '')
85 )
86
87 - multijob_init
88 -
89 # When installing ncurses, we have to use a compatible version of tic.
90 # This comes up when cross-compiling, doing multilib builds, upgrading,
91 # or installing for the first time. Build a local copy of tic whenever
92 @@ -133,16 +130,15 @@ src_configure() {
93 CXXFLAGS=${BUILD_CXXFLAGS} \
94 CPPFLAGS=${BUILD_CPPFLAGS} \
95 LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \
96 - multijob_child_init do_configure cross --without-shared --with-normal
97 + do_configure cross --without-shared --with-normal
98 fi
99 multilib-minimal_src_configure
100 - multijob_finish
101 }
102
103 multilib_src_configure() {
104 local t
105 for t in "${NCURSES_TARGETS[@]}" ; do
106 - multijob_child_init do_configure "${t}"
107 + do_configure "${t}"
108 done
109 }
110
111
112 diff --git a/sys-libs/ncurses/ncurses-5.9-r4.ebuild b/sys-libs/ncurses/ncurses-5.9-r4.ebuild
113 deleted file mode 100644
114 index 2a1aaf81ac..0000000000
115 --- a/sys-libs/ncurses/ncurses-5.9-r4.ebuild
116 +++ /dev/null
117 @@ -1,288 +0,0 @@
118 -# Copyright 1999-2017 Gentoo Foundation
119 -# Distributed under the terms of the GNU General Public License v2
120 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/ncurses/ncurses-5.9-r4.ebuild,v 1.3 2015/04/06 20:11:01 vapier Exp $
121 -
122 -EAPI="4"
123 -inherit eutils flag-o-matic toolchain-funcs multilib-minimal libtool
124 -
125 -MY_PV=${PV:0:3}
126 -PV_SNAP=${PV:4}
127 -MY_P=${PN}-${MY_PV}
128 -DESCRIPTION="console display library"
129 -HOMEPAGE="http://www.gnu.org/software/ncurses/ http://dickey.his.com/ncurses/"
130 -SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz"
131 -
132 -HOSTLTV="0.1.0"
133 -HOSTLT="host-libtool-${HOSTLTV}"
134 -HOSTLT_URI="http://github.com/haubi/host-libtool/releases/download/v${HOSTLTV}/${HOSTLT}.tar.gz"
135 -SRC_URI="${SRC_URI}
136 - kernel_AIX? ( ${HOSTLT_URI} )
137 - kernel_HPUX? ( ${HOSTLT_URI} )
138 -"
139 -
140 -LICENSE="MIT"
141 -SLOT="0"
142 -KEYWORDS="~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
143 -IUSE="ada +cxx debug doc gpm minimal profile static-libs tinfo trace unicode"
144 -
145 -DEPEND="gpm? ( sys-libs/gpm )"
146 -# berkdb? ( sys-libs/db )"
147 -RDEPEND="${DEPEND}
148 - !<x11-terms/rxvt-unicode-9.06-r3
149 - abi_x86_32? (
150 - !<=app-emulation/emul-linux-x86-baselibs-20130224-r12
151 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
152 - )"
153 -# Put the MULTILIB_USEDEP on gpm in PDEPEND only to avoid circular deps.
154 -# We can move it to DEPEND and drop the --with-gpm=libgpm.so.1 from the econf
155 -# line below once we can assume multilib gpm is available everywhere.
156 -PDEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )"
157 -
158 -S=${WORKDIR}/${MY_P}
159 -HOSTTIC_DIR=${WORKDIR}/${P}-host
160 -
161 -need-libtool() {
162 - # need libtool to build aix-style shared objects inside archive libs, but
163 - # cannot depend on libtool, as this would create circular dependencies...
164 - # And libtool-1.5.26 needs (a similar) patch for AIX (DESTDIR) as found in
165 - # http://lists.gnu.org/archive/html/bug-libtool/2008-03/msg00124.html
166 - # Use libtool on hpux too to get some soname.
167 - [[ ${CHOST} == *'-aix'* || ${CHOST} == *'-hpux'* ]]
168 -}
169 -
170 -src_prepare() {
171 - [[ -n ${PV_SNAP} ]] && epatch "${WORKDIR}"/${MY_P}-${PV_SNAP}-patch.sh
172 - epatch "${FILESDIR}"/${PN}-5.8-gfbsd.patch
173 - epatch "${FILESDIR}"/${PN}-5.7-nongnu.patch
174 - epatch "${FILESDIR}"/${PN}-5.9-rxvt-unicode-9.15.patch #192083 #383871
175 - epatch "${FILESDIR}"/${PN}-5.9-fix-clang-build.patch #417763
176 - epatch "${FILESDIR}"/${PN}-5.9-pkg-config.patch
177 - epatch "${FILESDIR}"/${P}-no-I-usr-include.patch #522586
178 - epatch "${FILESDIR}"/${P}-gcc-5.patch #545114
179 -
180 - # /bin/sh is not always good enough
181 - find . -name "*.sh" | xargs sed -i -e '1c\#!/usr/bin/env sh'
182 -
183 - if need-libtool; then
184 - S="${WORKDIR}"/${HOSTLT} elibtoolize
185 -
186 - # Don't need local libraries (-L../lib) for libncurses,
187 - # ends up as insecure runpath in libncurses.so[shr.o] on AIX
188 - sed -i -e '/^SHLIB_LIST[ \t]*=/s/\$(SHLIB_DIRS)//' ncurses/Makefile.in || die
189 - fi
190 -
191 - # Don't mess with _XOPEN_SOURCE for C++ on (Open)Solaris. The compiler
192 - # defines a value for it, and depending on version, a different definition
193 - # is used. Defining this variable on these systems is dangerous any time,
194 - # since the system headers do strict checks on compatibility of flags and
195 - # standards.
196 - # Defining _XOPEN_SOURCE_EXTENDED together with _XOPEN_SOURCE leads to
197 - # pre-_XOPEN_SOURCE=500 stuff, so only do it for non-C++ code.
198 - # See also bug #431352
199 - if [[ ${CHOST} == *-solaris* ]] ; then
200 - sed -i \
201 - -e '/-D__EXTENSIONS__/ s/-D_XOPEN_SOURCE=\$cf_XOPEN_SOURCE//' \
202 - -e '/CPPFLAGS="$CPPFLAGS/s/ -D_XOPEN_SOURCE_EXTENDED//' \
203 - configure || die
204 - # ONLY in C-mode, NOT C++
205 - append-cflags -D_XOPEN_SOURCE_EXTENDED
206 - fi
207 -}
208 -
209 -src_configure() {
210 - if need-libtool; then
211 - cd "${WORKDIR}"/${HOSTLT} || die
212 - econf
213 - export PATH="${WORKDIR}"/${HOSTLT}:${PATH}
214 - cd "${S}" || die
215 - fi
216 -
217 - unset TERMINFO #115036
218 - tc-export_build_env BUILD_{CC,CPP}
219 - BUILD_CPPFLAGS+=" -D_GNU_SOURCE" #214642
220 -
221 - # when cross-compiling, we need to build up our own tic
222 - # because people often don't keep matching host/target
223 - # ncurses versions #249363
224 - if tc-is-cross-compiler && ! ROOT=/ has_version ~sys-libs/${P} ; then
225 - CHOST=${CBUILD} \
226 - CFLAGS=${BUILD_CFLAGS} \
227 - CXXFLAGS=${BUILD_CXXFLAGS} \
228 - CPPFLAGS=${BUILD_CPPFLAGS} \
229 - LDFLAGS="${BUILD_LDFLAGS} -static" \
230 - BUILD_DIR="${HOSTTIC_DIR}" do_configure cross --without-shared --with-normal
231 - fi
232 - multilib-minimal_src_configure
233 -}
234 -
235 -multilib_src_configure() {
236 - do_configure narrowc --includedir="${EPREFIX}"/usr/include
237 - use unicode && do_configure widec --enable-widec --includedir="${EPREFIX}"/usr/include/ncursesw
238 -}
239 -
240 -do_configure() {
241 - ECONF_SOURCE=${S}
242 -
243 - mkdir "${BUILD_DIR}"-$1
244 - cd "${BUILD_DIR}"-$1 || die
245 - shift
246 -
247 - local conf=(
248 - # We need the basic terminfo files in /etc, bug #37026. We will
249 - # add '--with-terminfo-dirs' and then populate /etc/terminfo in
250 - # src_install() ...
251 - --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo"
252 -
253 - # Disabled until #245417 is sorted out.
254 - #$(use_with berkdb hashed-db)
255 -
256 - # ncurses is dumb and doesn't install .pc files unless pkg-config
257 - # is also installed. Force the tests to go our way. Note that it
258 - # doesn't actually use pkg-config ... it just looks for set vars.
259 - --enable-pc-files
260 - --with-pkg-config="$(tc-getPKG_CONFIG)"
261 - # This path is used to control where the .pc files are installed.
262 - PKG_CONFIG_LIBDIR="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
263 -
264 - # Now the rest of the various standard flags.
265 - --$(
266 - if need-libtool ; then
267 - echo with-libtool
268 - elif tc-is-static-only ; then
269 - echo without-shared
270 - else
271 - echo with-shared
272 - fi
273 - )
274 - --without-hashed-db
275 - $(use_with ada)
276 - $(use_with cxx)
277 - $(use_with cxx cxx-binding)
278 - $(use_with debug)
279 - $(use_with profile)
280 - $(use_with gpm)
281 - $(multilib_is_native_abi || use_with gpm gpm libgpm.so.1)
282 - --disable-termcap
283 - --enable-symlinks
284 - --with-rcs-ids
285 - --with-manpage-format=normal
286 - --enable-const
287 - --enable-colorfgbg
288 - --enable-echo
289 - $(use_enable !ada warnings)
290 - $(use_with debug assertions)
291 - $(use_enable !debug leaks)
292 - $(use_with debug expanded)
293 - $(use_with !debug macros)
294 - $(use_with trace)
295 - $(use_with tinfo termlib)
296 -
297 - # The chtype/mmask-t settings below are to retain ABI compat
298 - # with ncurses-5.4 so dont change em !
299 - --with-chtype=long
300 - --with-mmask-t=long
301 - --disable-ext-colors
302 - --disable-ext-mouse
303 - --without-pthread
304 - --without-reentrant
305 - )
306 -
307 - # Force bash until upstream rebuilds the configure script with a newer
308 - # version of autotools. #545532
309 - CONFIG_SHELL="${BASH}" econf "${conf[@]}" "$@"
310 -}
311 -
312 -src_compile() {
313 - # when cross-compiling, we need to build up our own tic
314 - # because people often don't keep matching host/target
315 - # ncurses versions #249363
316 - if tc-is-cross-compiler && ! ROOT=/ has_version ~sys-libs/${P} ; then
317 - make_flags="-C progs tic"
318 - BUILD_DIR="${HOSTTIC_DIR}" do_compile cross
319 - fi
320 -
321 - multilib-minimal_src_compile
322 -}
323 -
324 -multilib_src_compile() {
325 - make_flags=""
326 - multilib_is_native_abi || make_flags="PROGS= "
327 - do_compile narrowc
328 - use unicode && do_compile widec
329 -}
330 -
331 -do_compile() {
332 - cd "${BUILD_DIR}"-$1 || die
333 -
334 - # A little hack to fix parallel builds ... they break when
335 - # generating sources so if we generate the sources first (in
336 - # non-parallel), we can then build the rest of the package
337 - # in parallel. This is not really a perf hit since the source
338 - # generation is quite small.
339 - emake -j1 sources
340 - # For some reason, sources depends on pc-files which depends on
341 - # compiled libraries which depends on sources which ...
342 - # Manually delete the pc-files file so the install step will
343 - # create the .pc files we want.
344 - rm -f misc/pc-files
345 - emake ${make_flags}
346 -}
347 -
348 -multilib_src_install() {
349 - # use the cross-compiled tic (if need be) #249363
350 - export PATH="${HOSTTIC_DIR}-cross/progs:${PATH}"
351 -
352 - # install unicode version second so that the binaries in /usr/bin
353 - # support both wide and narrow
354 - cd "${BUILD_DIR}"-narrowc || die
355 - emake DESTDIR="${D}" install
356 - if use unicode ; then
357 - cd "${BUILD_DIR}"-widec || die
358 - emake DESTDIR="${D}" install
359 - fi
360 -
361 - # Move libncurses{,w} into /lib
362 - multilib_is_native_abi && gen_usr_ldscript -a \
363 - ncurses \
364 - $(usex unicode 'ncursesw' '') \
365 - $(use tinfo && usex unicode 'tinfow' '') \
366 - $(usev tinfo)
367 - if ! tc-is-static-only ; then
368 - ln -sf libncurses$(get_libname) "${ED}"/usr/$(get_libdir)/libcurses$(get_libname) || die
369 - fi
370 - use static-libs || find "${ED}"/usr/ -name '*.a' -a '!' -name '*curses++*.a' -delete
371 -
372 - # Build fails to create this ...
373 - dosym ../share/terminfo /usr/$(get_libdir)/terminfo
374 -}
375 -
376 -multilib_src_install_all() {
377 -# if ! use berkdb ; then
378 - # We need the basic terminfo files in /etc, bug #37026
379 - einfo "Installing basic terminfo files in /etc..."
380 - for x in ansi console dumb linux rxvt rxvt-unicode screen sun vt{52,100,102,200,220} \
381 - xterm xterm-color xterm-xfree86
382 - do
383 - local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null)
384 - local basedir=$(basename $(dirname "${termfile}"))
385 -
386 - if [[ -n ${termfile} ]] ; then
387 - dodir /etc/terminfo/${basedir}
388 - mv ${termfile} "${ED}"/etc/terminfo/${basedir}/
389 - dosym ../../../../etc/terminfo/${basedir}/${x} \
390 - /usr/share/terminfo/${basedir}/${x}
391 - fi
392 - done
393 -# fi
394 -
395 - echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" > "${T}"/50ncurses
396 - doenvd "${T}"/50ncurses
397 -
398 - use minimal && rm -r "${ED}"/usr/share/terminfo*
399 - # Because ncurses5-config --terminfo returns the directory we keep it
400 - keepdir /usr/share/terminfo #245374
401 -
402 - cd "${S}"
403 - dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc
404 - use doc && dohtml -r doc/html/
405 -}
406
407 diff --git a/sys-libs/ncurses/ncurses-5.9-r5.ebuild b/sys-libs/ncurses/ncurses-5.9-r5.ebuild
408 deleted file mode 100644
409 index 5603a42344..0000000000
410 --- a/sys-libs/ncurses/ncurses-5.9-r5.ebuild
411 +++ /dev/null
412 @@ -1,291 +0,0 @@
413 -# Copyright 1999-2017 Gentoo Foundation
414 -# Distributed under the terms of the GNU General Public License v2
415 -# $Id$
416 -
417 -EAPI="5"
418 -
419 -inherit eutils flag-o-matic toolchain-funcs multilib-minimal libtool
420 -
421 -MY_PV=${PV:0:3}
422 -PV_SNAP=${PV:4}
423 -MY_P=${PN}-${MY_PV}
424 -DESCRIPTION="console display library"
425 -HOMEPAGE="http://www.gnu.org/software/ncurses/ http://dickey.his.com/ncurses/"
426 -SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz"
427 -
428 -HOSTLTV="0.1.0"
429 -HOSTLT="host-libtool-${HOSTLTV}"
430 -HOSTLT_URI="http://github.com/haubi/host-libtool/releases/download/v${HOSTLTV}/${HOSTLT}.tar.gz"
431 -SRC_URI="${SRC_URI}
432 - kernel_AIX? ( ${HOSTLT_URI} )
433 - kernel_HPUX? ( ${HOSTLT_URI} )
434 -"
435 -
436 -LICENSE="MIT"
437 -# The subslot reflects the SONAME.
438 -SLOT="0/5"
439 -KEYWORDS="~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
440 -IUSE="ada +cxx debug doc gpm minimal profile static-libs tinfo trace unicode"
441 -
442 -DEPEND="gpm? ( sys-libs/gpm )"
443 -# berkdb? ( sys-libs/db )"
444 -RDEPEND="${DEPEND}
445 - !<=sys-libs/ncurses-5.9-r4:5
446 - !<x11-terms/rxvt-unicode-9.06-r3
447 - abi_x86_32? (
448 - !<=app-emulation/emul-linux-x86-baselibs-20130224-r12
449 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
450 - )"
451 -# Put the MULTILIB_USEDEP on gpm in PDEPEND only to avoid circular deps.
452 -# We can move it to DEPEND and drop the --with-gpm=libgpm.so.1 from the econf
453 -# line below once we can assume multilib gpm is available everywhere.
454 -PDEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )"
455 -
456 -S=${WORKDIR}/${MY_P}
457 -HOSTTIC_DIR=${WORKDIR}/${P}-host
458 -
459 -need-libtool() {
460 - # need libtool to build aix-style shared objects inside archive libs, but
461 - # cannot depend on libtool, as this would create circular dependencies...
462 - # And libtool-1.5.26 needs (a similar) patch for AIX (DESTDIR) as found in
463 - # http://lists.gnu.org/archive/html/bug-libtool/2008-03/msg00124.html
464 - # Use libtool on hpux too to get some soname.
465 - [[ ${CHOST} == *'-aix'* || ${CHOST} == *'-hpux'* ]]
466 -}
467 -
468 -src_prepare() {
469 - [[ -n ${PV_SNAP} ]] && epatch "${WORKDIR}"/${MY_P}-${PV_SNAP}-patch.sh
470 - epatch "${FILESDIR}"/${PN}-5.8-gfbsd.patch
471 - epatch "${FILESDIR}"/${PN}-5.7-nongnu.patch
472 - epatch "${FILESDIR}"/${PN}-5.9-rxvt-unicode-9.15.patch #192083 #383871
473 - epatch "${FILESDIR}"/${PN}-5.9-fix-clang-build.patch #417763
474 - epatch "${FILESDIR}"/${PN}-5.9-pkg-config.patch
475 - epatch "${FILESDIR}"/${P}-no-I-usr-include.patch #522586
476 - epatch "${FILESDIR}"/${P}-gcc-5.patch #545114
477 -
478 - # /bin/sh is not always good enough
479 - find . -name "*.sh" | xargs sed -i -e '1c\#!/usr/bin/env sh'
480 -
481 - if need-libtool; then
482 - S="${WORKDIR}"/${HOSTLT} elibtoolize
483 -
484 - # Don't need local libraries (-L../lib) for libncurses,
485 - # ends up as insecure runpath in libncurses.so[shr.o] on AIX
486 - sed -i -e '/^SHLIB_LIST[ \t]*=/s/\$(SHLIB_DIRS)//' ncurses/Makefile.in || die
487 - fi
488 -
489 - # Don't mess with _XOPEN_SOURCE for C++ on (Open)Solaris. The compiler
490 - # defines a value for it, and depending on version, a different definition
491 - # is used. Defining this variable on these systems is dangerous any time,
492 - # since the system headers do strict checks on compatibility of flags and
493 - # standards.
494 - # Defining _XOPEN_SOURCE_EXTENDED together with _XOPEN_SOURCE leads to
495 - # pre-_XOPEN_SOURCE=500 stuff, so only do it for non-C++ code.
496 - # See also bug #431352
497 - if [[ ${CHOST} == *-solaris* ]] ; then
498 - sed -i \
499 - -e '/-D__EXTENSIONS__/ s/-D_XOPEN_SOURCE=\$cf_XOPEN_SOURCE//' \
500 - -e '/CPPFLAGS="$CPPFLAGS/s/ -D_XOPEN_SOURCE_EXTENDED//' \
501 - configure || die
502 - # ONLY in C-mode, NOT C++
503 - append-cflags -D_XOPEN_SOURCE_EXTENDED
504 - fi
505 -}
506 -
507 -src_configure() {
508 - if need-libtool; then
509 - cd "${WORKDIR}"/${HOSTLT} || die
510 - econf
511 - export PATH="${WORKDIR}"/${HOSTLT}:${PATH}
512 - cd "${S}" || die
513 - fi
514 -
515 - unset TERMINFO #115036
516 - tc-export_build_env BUILD_{CC,CPP}
517 - BUILD_CPPFLAGS+=" -D_GNU_SOURCE" #214642
518 -
519 - # when cross-compiling, we need to build up our own tic
520 - # because people often don't keep matching host/target
521 - # ncurses versions #249363
522 - if tc-is-cross-compiler && ! ROOT=/ has_version ~sys-libs/${P} ; then
523 - CHOST=${CBUILD} \
524 - CFLAGS=${BUILD_CFLAGS} \
525 - CXXFLAGS=${BUILD_CXXFLAGS} \
526 - CPPFLAGS=${BUILD_CPPFLAGS} \
527 - LDFLAGS="${BUILD_LDFLAGS} -static" \
528 - BUILD_DIR="${HOSTTIC_DIR}" do_configure cross --without-shared --with-normal
529 - fi
530 - multilib-minimal_src_configure
531 -}
532 -
533 -multilib_src_configure() {
534 - do_configure narrowc --includedir="${EPREFIX}"/usr/include
535 - use unicode && do_configure widec --enable-widec --includedir="${EPREFIX}"/usr/include/ncursesw
536 -}
537 -
538 -do_configure() {
539 - ECONF_SOURCE=${S}
540 -
541 - mkdir "${BUILD_DIR}"-$1
542 - cd "${BUILD_DIR}"-$1 || die
543 - shift
544 -
545 - local conf=(
546 - # We need the basic terminfo files in /etc, bug #37026. We will
547 - # add '--with-terminfo-dirs' and then populate /etc/terminfo in
548 - # src_install() ...
549 - --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo"
550 -
551 - # Disabled until #245417 is sorted out.
552 - #$(use_with berkdb hashed-db)
553 -
554 - # ncurses is dumb and doesn't install .pc files unless pkg-config
555 - # is also installed. Force the tests to go our way. Note that it
556 - # doesn't actually use pkg-config ... it just looks for set vars.
557 - --enable-pc-files
558 - --with-pkg-config="$(tc-getPKG_CONFIG)"
559 - # This path is used to control where the .pc files are installed.
560 - PKG_CONFIG_LIBDIR="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
561 -
562 - # Now the rest of the various standard flags.
563 - --$(
564 - if need-libtool ; then
565 - echo with-libtool
566 - elif tc-is-static-only ; then
567 - echo without-shared
568 - else
569 - echo with-shared
570 - fi
571 - )
572 - --without-hashed-db
573 - $(use_with ada)
574 - $(use_with cxx)
575 - $(use_with cxx cxx-binding)
576 - $(use_with debug)
577 - $(use_with profile)
578 - $(use_with gpm)
579 - $(multilib_is_native_abi || use_with gpm gpm libgpm.so.1)
580 - --disable-termcap
581 - --enable-symlinks
582 - --with-rcs-ids
583 - --with-manpage-format=normal
584 - --enable-const
585 - --enable-colorfgbg
586 - --enable-echo
587 - $(use_enable !ada warnings)
588 - $(use_with debug assertions)
589 - $(use_enable !debug leaks)
590 - $(use_with debug expanded)
591 - $(use_with !debug macros)
592 - $(use_with trace)
593 - $(use_with tinfo termlib)
594 -
595 - # The chtype/mmask-t settings below are to retain ABI compat
596 - # with ncurses-5.4 so dont change em !
597 - --with-chtype=long
598 - --with-mmask-t=long
599 - --disable-ext-colors
600 - --disable-ext-mouse
601 - --without-pthread
602 - --without-reentrant
603 - )
604 -
605 - # Force bash until upstream rebuilds the configure script with a newer
606 - # version of autotools. #545532
607 - CONFIG_SHELL="${BASH}" econf "${conf[@]}" "$@"
608 -}
609 -
610 -src_compile() {
611 - # when cross-compiling, we need to build up our own tic
612 - # because people often don't keep matching host/target
613 - # ncurses versions #249363
614 - if tc-is-cross-compiler && ! ROOT=/ has_version ~sys-libs/${P} ; then
615 - make_flags="-C progs tic"
616 - BUILD_DIR="${HOSTTIC_DIR}" do_compile cross
617 - fi
618 -
619 - multilib-minimal_src_compile
620 -}
621 -
622 -multilib_src_compile() {
623 - make_flags=""
624 - multilib_is_native_abi || make_flags="PROGS= "
625 - do_compile narrowc
626 - use unicode && do_compile widec
627 -}
628 -
629 -do_compile() {
630 - cd "${BUILD_DIR}"-$1 || die
631 -
632 - # A little hack to fix parallel builds ... they break when
633 - # generating sources so if we generate the sources first (in
634 - # non-parallel), we can then build the rest of the package
635 - # in parallel. This is not really a perf hit since the source
636 - # generation is quite small.
637 - emake -j1 sources
638 - # For some reason, sources depends on pc-files which depends on
639 - # compiled libraries which depends on sources which ...
640 - # Manually delete the pc-files file so the install step will
641 - # create the .pc files we want.
642 - rm -f misc/pc-files
643 - emake ${make_flags}
644 -}
645 -
646 -multilib_src_install() {
647 - # use the cross-compiled tic (if need be) #249363
648 - export PATH="${HOSTTIC_DIR}-cross/progs:${PATH}"
649 -
650 - # install unicode version second so that the binaries in /usr/bin
651 - # support both wide and narrow
652 - cd "${BUILD_DIR}"-narrowc || die
653 - emake DESTDIR="${D}" install
654 - if use unicode ; then
655 - cd "${BUILD_DIR}"-widec || die
656 - emake DESTDIR="${D}" install
657 - fi
658 -
659 - # Move libncurses{,w} into /lib
660 - multilib_is_native_abi && gen_usr_ldscript -a \
661 - ncurses \
662 - $(usex unicode 'ncursesw' '') \
663 - $(use tinfo && usex unicode 'tinfow' '') \
664 - $(usev tinfo)
665 - if ! tc-is-static-only ; then
666 - ln -sf libncurses$(get_libname) "${ED}"/usr/$(get_libdir)/libcurses$(get_libname) || die
667 - fi
668 - use static-libs || find "${ED}"/usr/ -name '*.a' -a '!' -name '*curses++*.a' -delete
669 -
670 - # Build fails to create this ...
671 - dosym ../share/terminfo /usr/$(get_libdir)/terminfo
672 -}
673 -
674 -multilib_src_install_all() {
675 -# if ! use berkdb ; then
676 - # We need the basic terminfo files in /etc, bug #37026
677 - einfo "Installing basic terminfo files in /etc..."
678 - for x in ansi console dumb linux rxvt rxvt-unicode screen sun vt{52,100,102,200,220} \
679 - xterm xterm-color xterm-xfree86
680 - do
681 - local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null)
682 - local basedir=$(basename $(dirname "${termfile}"))
683 -
684 - if [[ -n ${termfile} ]] ; then
685 - dodir /etc/terminfo/${basedir}
686 - mv ${termfile} "${ED}"/etc/terminfo/${basedir}/
687 - dosym ../../../../etc/terminfo/${basedir}/${x} \
688 - /usr/share/terminfo/${basedir}/${x}
689 - fi
690 - done
691 -# fi
692 -
693 - echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" > "${T}"/50ncurses
694 - doenvd "${T}"/50ncurses
695 -
696 - use minimal && rm -r "${ED}"/usr/share/terminfo*
697 - # Because ncurses5-config --terminfo returns the directory we keep it
698 - keepdir /usr/share/terminfo #245374
699 -
700 - cd "${S}"
701 - dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc
702 - use doc && dohtml -r doc/html/
703 -}
704
705 diff --git a/sys-libs/ncurses/ncurses-5.9-r99.ebuild b/sys-libs/ncurses/ncurses-5.9-r99.ebuild
706 deleted file mode 100644
707 index 7ca2f60bee..0000000000
708 --- a/sys-libs/ncurses/ncurses-5.9-r99.ebuild
709 +++ /dev/null
710 @@ -1,21 +0,0 @@
711 -# Copyright 1999-2017 Gentoo Foundation
712 -# Distributed under the terms of the GNU General Public License v2
713 -# $Id$
714 -
715 -# Bridge the old SLOT=5[/5] ebuild to the new SLOT=0/5 since the slotmove
716 -# functionality does not handle implicit subslots correctly. #558856
717 -
718 -EAPI="5"
719 -
720 -inherit multilib-build
721 -
722 -DESCRIPTION="transitional package"
723 -HOMEPAGE="https://www.gnu.org/software/ncurses/ http://dickey.his.com/ncurses/"
724 -
725 -LICENSE="metapackage"
726 -SLOT="5/5"
727 -KEYWORDS="~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
728 -IUSE="ada +cxx gpm static-libs tinfo unicode"
729 -
730 -DEPEND="sys-libs/ncurses:0/5[ada?,cxx?,gpm?,static-libs?,tinfo?,unicode?,${MULTILIB_USEDEP}]"
731 -RDEPEND="${DEPEND}"
732
733 diff --git a/sys-libs/ncurses/ncurses-6.0-r1.ebuild b/sys-libs/ncurses/ncurses-6.0-r1.ebuild
734 index d1da73e1f4..6795bf45fb 100644
735 --- a/sys-libs/ncurses/ncurses-6.0-r1.ebuild
736 +++ b/sys-libs/ncurses/ncurses-6.0-r1.ebuild
737 @@ -1,10 +1,9 @@
738 -# Copyright 1999-2017 Gentoo Foundation
739 +# Copyright 1999-2018 Gentoo Foundation
740 # Distributed under the terms of the GNU General Public License v2
741 -# $Id$
742
743 EAPI="5"
744
745 -inherit eutils flag-o-matic toolchain-funcs multilib-minimal multiprocessing
746 +inherit eutils flag-o-matic toolchain-funcs multilib-minimal
747
748 MY_PV=${PV:0:3}
749 PV_SNAP=${PV:4}
750 @@ -37,6 +36,7 @@ PATCHES=(
751 "${FILESDIR}/${PN}-6.0-pkg-config.patch"
752 "${FILESDIR}/${PN}-5.9-gcc-5.patch" #545114
753 "${FILESDIR}/${PN}-6.0-ticlib.patch" #557360
754 + "${FILESDIR}/${PN}-6.0-cppflags-cross.patch" #601426
755 )
756
757 src_prepare() {
758 @@ -61,8 +61,6 @@ src_configure() {
759 $(use unicode && usex threads 'ncursestw' '')
760 )
761
762 - multijob_init
763 -
764 # When installing ncurses, we have to use a compatible version of tic.
765 # This comes up when cross-compiling, doing multilib builds, upgrading,
766 # or installing for the first time. Build a local copy of tic whenever
767 @@ -71,12 +69,11 @@ src_configure() {
768 local lbuildflags="-static"
769
770 # some toolchains don't quite support static linking
771 - local dbuildflags=
772 + local dbuildflags="-Wl,-rpath,${WORKDIR}/lib"
773 case ${CHOST} in
774 - *-darwin*) ;;
775 - *-aix*) ;;
776 + *-darwin*) dbuildflags= ;;
777 + *-aix*) dbuildflags= ;;
778 *-solaris*) dbuildflags="-Wl,-R,${WORKDIR}/lib" ;;
779 - *) dbuildflags="-Wl,-rpath,${WORKDIR}/lib" ;;
780 esac
781 echo "int main() {}" | \
782 $(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /dev/null \
783 @@ -89,16 +86,15 @@ src_configure() {
784 CXXFLAGS=${BUILD_CXXFLAGS} \
785 CPPFLAGS=${BUILD_CPPFLAGS} \
786 LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \
787 - multijob_child_init do_configure cross --without-shared --with-normal
788 + do_configure cross --without-shared --with-normal
789 fi
790 multilib-minimal_src_configure
791 - multijob_finish
792 }
793
794 multilib_src_configure() {
795 local t
796 for t in "${NCURSES_TARGETS[@]}" ; do
797 - multijob_child_init do_configure "${t}"
798 + do_configure "${t}"
799 done
800 }
801
802 @@ -195,7 +191,7 @@ src_compile() {
803 # See comments in src_configure.
804 if ! ROOT=/ has_version "~sys-libs/${P}:0" ; then
805 BUILD_DIR="${WORKDIR}" \
806 - do_compile cross -C progs GET_PROGS=
807 + do_compile cross -C progs tic
808 fi
809
810 multilib-minimal_src_compile
811
812 diff --git a/sys-libs/ncurses/ncurses-6.0-r1.ebuild b/sys-libs/ncurses/ncurses-6.0-r2.ebuild
813 similarity index 93%
814 copy from sys-libs/ncurses/ncurses-6.0-r1.ebuild
815 copy to sys-libs/ncurses/ncurses-6.0-r2.ebuild
816 index d1da73e1f4..1281b6ceed 100644
817 --- a/sys-libs/ncurses/ncurses-6.0-r1.ebuild
818 +++ b/sys-libs/ncurses/ncurses-6.0-r2.ebuild
819 @@ -1,10 +1,9 @@
820 -# Copyright 1999-2017 Gentoo Foundation
821 +# Copyright 1999-2018 Gentoo Foundation
822 # Distributed under the terms of the GNU General Public License v2
823 -# $Id$
824
825 EAPI="5"
826
827 -inherit eutils flag-o-matic toolchain-funcs multilib-minimal multiprocessing
828 +inherit eutils flag-o-matic toolchain-funcs multilib-minimal
829
830 MY_PV=${PV:0:3}
831 PV_SNAP=${PV:4}
832 @@ -37,6 +36,7 @@ PATCHES=(
833 "${FILESDIR}/${PN}-6.0-pkg-config.patch"
834 "${FILESDIR}/${PN}-5.9-gcc-5.patch" #545114
835 "${FILESDIR}/${PN}-6.0-ticlib.patch" #557360
836 + "${FILESDIR}/${PN}-6.0-cppflags-cross.patch" #601426
837 )
838
839 src_prepare() {
840 @@ -61,8 +61,6 @@ src_configure() {
841 $(use unicode && usex threads 'ncursestw' '')
842 )
843
844 - multijob_init
845 -
846 # When installing ncurses, we have to use a compatible version of tic.
847 # This comes up when cross-compiling, doing multilib builds, upgrading,
848 # or installing for the first time. Build a local copy of tic whenever
849 @@ -71,12 +69,11 @@ src_configure() {
850 local lbuildflags="-static"
851
852 # some toolchains don't quite support static linking
853 - local dbuildflags=
854 + local dbuildflags="-Wl,-rpath,${WORKDIR}/lib"
855 case ${CHOST} in
856 - *-darwin*) ;;
857 - *-aix*) ;;
858 + *-darwin*) dbuildflags= ;;
859 + *-aix*) dbuildflags= ;;
860 *-solaris*) dbuildflags="-Wl,-R,${WORKDIR}/lib" ;;
861 - *) dbuildflags="-Wl,-rpath,${WORKDIR}/lib" ;;
862 esac
863 echo "int main() {}" | \
864 $(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /dev/null \
865 @@ -89,16 +86,15 @@ src_configure() {
866 CXXFLAGS=${BUILD_CXXFLAGS} \
867 CPPFLAGS=${BUILD_CPPFLAGS} \
868 LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \
869 - multijob_child_init do_configure cross --without-shared --with-normal
870 + do_configure cross --without-shared --with-normal
871 fi
872 multilib-minimal_src_configure
873 - multijob_finish
874 }
875
876 multilib_src_configure() {
877 local t
878 for t in "${NCURSES_TARGETS[@]}" ; do
879 - multijob_child_init do_configure "${t}"
880 + do_configure "${t}"
881 done
882 }
883
884 @@ -195,7 +191,7 @@ src_compile() {
885 # See comments in src_configure.
886 if ! ROOT=/ has_version "~sys-libs/${P}:0" ; then
887 BUILD_DIR="${WORKDIR}" \
888 - do_compile cross -C progs GET_PROGS=
889 + do_compile cross -C progs tic
890 fi
891
892 multilib-minimal_src_compile
893 @@ -255,8 +251,9 @@ multilib_src_install_all() {
894 # if ! use berkdb ; then
895 # We need the basic terminfo files in /etc, bug #37026
896 einfo "Installing basic terminfo files in /etc..."
897 - for x in ansi console dumb linux rxvt rxvt-unicode screen sun vt{52,100,102,200,220} \
898 - xterm xterm-color xterm-xfree86
899 + local x
900 + for x in ansi console dumb linux rxvt rxvt-unicode screen{,-256color} vt{52,100,102,200,220} \
901 + xterm xterm-{,256}color
902 do
903 local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null)
904 local basedir=$(basename $(dirname "${termfile}"))
905
906 diff --git a/sys-libs/ncurses/ncurses-6.0.ebuild b/sys-libs/ncurses/ncurses-6.0.ebuild
907 deleted file mode 100644
908 index 902a661c6b..0000000000
909 --- a/sys-libs/ncurses/ncurses-6.0.ebuild
910 +++ /dev/null
911 @@ -1,21 +0,0 @@
912 -# Copyright 1999-2017 Gentoo Foundation
913 -# Distributed under the terms of the GNU General Public License v2
914 -# $Id$
915 -
916 -# Bridge the old SLOT=5[/6] ebuild to the new SLOT=0/6 since the slotmove
917 -# functionality does not handle implicit subslots correctly. #558856
918 -
919 -EAPI="5"
920 -
921 -inherit multilib-build
922 -
923 -DESCRIPTION="transitional package"
924 -HOMEPAGE="https://www.gnu.org/software/ncurses/ http://dickey.his.com/ncurses/"
925 -
926 -LICENSE="metapackage"
927 -SLOT="5/6"
928 -KEYWORDS="~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
929 -IUSE="ada +cxx gpm static-libs tinfo unicode"
930 -
931 -DEPEND="sys-libs/ncurses:0/6[ada?,cxx?,gpm?,static-libs?,tinfo?,unicode?,${MULTILIB_USEDEP}]"
932 -RDEPEND="${DEPEND}"