Gentoo Archives: gentoo-commits

From: Kent Fredric <kentnl@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/perl/, virtual/perl-Module-CoreList/
Date: Sun, 12 Feb 2017 08:54:04
Message-Id: 1486889525.e9992a8ed2cce6c4564cc1507ec2e68b7bfc2f78.kentnl@gentoo
1 commit: e9992a8ed2cce6c4564cc1507ec2e68b7bfc2f78
2 Author: Kent Fredric <kentnl <AT> gentoo <DOT> org>
3 AuthorDate: Sat Feb 11 20:44:59 2017 +0000
4 Commit: Kent Fredric <kentnl <AT> gentoo <DOT> org>
5 CommitDate: Sun Feb 12 08:52:05 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9992a8e
7
8 dev-lang/perl,virtual/perl-Module-CoreList: Bump to Perl v5.24.1 (final)
9
10 - Patches reworked slightly to give better `perl -V` output and apply
11 cleanly with `git am`
12 - base.pm changes from 5.24.1-RC4 carried on, despite removal
13 upstream in 5.24.1-RC5/Final ( For testing, as this change is
14 likely to come back in 5.24.2 )
15 - Temporarily disable zlib tests affected by bug #606374
16 - Remove bad patch causing bug #608966
17 - Upgrade to perl-cross 1.1.3
18
19 Bug: https://bugs.gentoo.org/606374
20 Bug: https://bugs.gentoo.org/608966
21
22 Package-Manager: Portage-2.3.3, Repoman-2.3.1
23
24 dev-lang/perl/Manifest | 3 +
25 dev-lang/perl/perl-5.24.1.ebuild | 555 +++++++++++++++++++++
26 ...erl-Module-CoreList-5.201.701.142.400_rc.ebuild | 21 +
27 3 files changed, 579 insertions(+)
28
29 diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest
30 index 08eeed3ee9..0e82578217 100644
31 --- a/dev-lang/perl/Manifest
32 +++ b/dev-lang/perl/Manifest
33 @@ -5,4 +5,7 @@ DIST perl-5.22.3-RC4-patches-2.tar.xz 23180 SHA256 d5c6ead7322e5d38f9395589a24fd
34 DIST perl-5.22.3-RC4.tar.xz 11233496 SHA256 cd35050f1a45c48389133285870cf310d1fe5d342c52de10fd47b296e102e4ae SHA512 5c63edcfc319f7946bbee84943a0af78f58d376028c2952d0917fee32c390eae09d4456a82bfa4d0f21c69b7977c2e800c539c487e17a2d102fbceadddd75255 WHIRLPOOL b94e97d1545acc82c82cd1df400e374c2c8a9764ae1d050495eeb99c428bf12923ea36f937e17996e6f885d19bab8ca2a51eb4ad52b639d7b781460b8282777f
35 DIST perl-5.24.1-RC4-patches-2.tar.xz 18464 SHA256 543318d735c2f1951d7c73d4415d1045021f19c69e953cf2d954eea9f84ffecb SHA512 9582a149404c2abc0f8b4329a65063d2022a2b212e68f83550303a5544825fb6b16dd1ee7a8d10bb216b70ded9a899eba931892c66989a78214d8d97c8cdb35f WHIRLPOOL 5c99c07198e7265177a5aa223b92791a744b4bb7990383ee361e1f7042bba146e54688def22e7b51b44f5a6db492f9311d3094937026203a91d2fe7be81edf08
36 DIST perl-5.24.1-RC4.tar.xz 11553836 SHA256 6da6333809eb2b35b17ee3c25b7f0327da32fad7214b296b662ccd9883b8bc59 SHA512 f7108210048c8253a693e32df4b2f2da2cda7d7215c8d104a831554e6b59c7a85c395b14cc33c8939c25cdccd1d441784508a7623e511b8737f74b93a6fcbfc2 WHIRLPOOL f19d3dac9810d284c1661c4aa84550a97ee6786fc210329858f1dead72ac53c7e295e2bc3e5c7c34b43e506fce2d682832eb540d61a0ca34824ff4629ffb77e8
37 +DIST perl-5.24.1-patches-2.tar.xz 21124 SHA256 6b00ee799d0d2b88e641eb49800d0f756802540ec11e5d963bf19cd1de8f70a6 SHA512 c4c128d2ee62f57558f23c63fc12ae7f4159632927e7301de9a9dadd5e7c5894b7fe36f68d361d44b2ddad0b1e526714a99204a34b045ef4d7395a8f1c56f3d2 WHIRLPOOL 226d62663e13a09d7cedd095fec7331449a491618323603912f9f12d130857398967f3f8ac087957523deea374a5905f7f4308f6d85d860b202c93c50a5e232f
38 +DIST perl-5.24.1.tar.xz 11569284 SHA256 03a77bac4505c270f1890ece75afc7d4b555090b41aa41ea478747e23b2afb3f SHA512 9429608eb4d7f6a01b5a7df8601e0757acdf3e6d5af960d5cf710f8e4fd20ffe082bb42eedc2cd079d5173e48cf5574d55477e1c51f7f53b32fb5d1b89f6db8c WHIRLPOOL 26d401f03af54ba61ea8e761f483f3d374737660fa4beaa3bd77951c0f920f88f9e47f327754c32d4c3c49557882a2a531b9eebef420ad6155d62423f7753406
39 DIST perl-cross-1.1.1.tar.gz 88283 SHA256 8ee72f39119b342f3b911266e5c965914a44a484fd18d9c444d106aca4dd7abc SHA512 8ad958d08d8e7ff2b80333959544aaf0e83a74f2e34c9e8aca543052d039c0f4b00cda694ee940874b192b0d83656a9f6854ebbf2c444b212ba9d4417c576591 WHIRLPOOL e6739ca8fc4dcafa14a20585d75931cf6b6a98fad9c732312d15507b29b926452668afc4f27f2b6c5bb6faa623fc506538a53ed9d303d21897f42d47c26e4924
40 +DIST perl-cross-1.1.3.tar.gz 93856 SHA256 181b24ff71815fb2c8065e6ea139d106796eee0964aebfd8081f0b7f69e0696d SHA512 d1ea6ab8a431f831ec9c4c6b71a238a66f021f5610505ebb48c3b0d0b8c9afb0fcb8050779abe1a126afdd92e65f8c86e134832b45a0a6c26ca4b46735e3021d WHIRLPOOL f7313b859031d13516193a88a70fff845987eea93eab3d0d3bac6f3b47c781324acddeed72d6cef8c7d8ee06c8ca5f59a10560b20a53575ffdfd2ce36272a723
41
42 diff --git a/dev-lang/perl/perl-5.24.1.ebuild b/dev-lang/perl/perl-5.24.1.ebuild
43 new file mode 100644
44 index 0000000000..6cbbe0ddd0
45 --- /dev/null
46 +++ b/dev-lang/perl/perl-5.24.1.ebuild
47 @@ -0,0 +1,555 @@
48 +# Copyright 1999-2017 Gentoo Foundation
49 +# Distributed under the terms of the GNU General Public License v2
50 +# $Id$
51 +
52 +EAPI=6
53 +
54 +inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing
55 +
56 +PATCH_VER=2
57 +CROSS_VER=1.1.3
58 +
59 +PERL_OLDVERSEN="5.24.0"
60 +MODULE_AUTHOR=SHAY
61 +
62 +SHORT_PV="${PV%.*}"
63 +MY_P="perl-${PV/_rc/-RC}"
64 +MY_PV="${PV%_rc*}"
65 +
66 +DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
67 +
68 +SRC_URI="
69 + mirror://cpan/src/5.0/${MY_P}.tar.xz
70 + mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MY_P}.tar.xz
71 + https://github.com/gentoo-perl/perl-patchset/releases/download/${MY_P}-patches-${PATCH_VER}/${MY_P}-patches-${PATCH_VER}.tar.xz
72 + mirror://gentoo/${MY_P}-patches-${PATCH_VER}.tar.xz
73 + https://dev.gentoo.org/~kentnl/distfiles/${MY_P}-patches-${PATCH_VER}.tar.xz
74 + https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
75 +"
76 +HOMEPAGE="http://www.perl.org/"
77 +
78 +LICENSE="|| ( Artistic GPL-1+ )"
79 +SLOT="0/${SHORT_PV}"
80 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
81 +IUSE="berkdb debug doc gdbm ithreads"
82 +
83 +RDEPEND="
84 + berkdb? ( sys-libs/db:= )
85 + gdbm? ( >=sys-libs/gdbm-1.8.3 )
86 + app-arch/bzip2
87 + sys-libs/zlib
88 +"
89 +DEPEND="${RDEPEND}
90 + !prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) )
91 +"
92 +PDEPEND="
93 + >=app-admin/perl-cleaner-2.5
94 + >=virtual/perl-File-Temp-0.230.400-r2
95 + >=virtual/perl-Data-Dumper-2.154.0
96 + virtual/perl-Test-Harness
97 +"
98 +# bug 390719, bug 523624
99 +# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker
100 +
101 +S="${WORKDIR}/${MY_P}"
102 +
103 +dual_scripts() {
104 + src_remove_dual perl-core/Archive-Tar 2.40.100_rc ptar ptardiff ptargrep
105 + src_remove_dual perl-core/CPAN 2.110.100_rc cpan
106 + src_remove_dual perl-core/Digest-SHA 5.950.100_rc shasum
107 + src_remove_dual perl-core/Encode 2.800.100_rc enc2xs piconv
108 + src_remove_dual perl-core/ExtUtils-MakeMaker 7.100.200_rc instmodsh
109 + src_remove_dual perl-core/ExtUtils-ParseXS 3.310.0 xsubpp
110 + src_remove_dual perl-core/IO-Compress 2.69.1_rc zipdetails
111 + src_remove_dual perl-core/JSON-PP 2.273.0.100_rc json_pp
112 + src_remove_dual perl-core/Module-CoreList 5.201.701.142.400_rc corelist
113 + src_remove_dual perl-core/Pod-Parser 1.630.0 pod2usage podchecker podselect
114 + src_remove_dual perl-core/Pod-Perldoc 3.250.300_rc perldoc
115 + src_remove_dual perl-core/Test-Harness 3.360.100_rc prove
116 + src_remove_dual perl-core/podlators 4.70.0 pod2man pod2text
117 + src_remove_dual_man perl-core/podlators 4.70.0 /usr/share/man/man1/perlpodstyle.1
118 +}
119 +
120 +check_rebuild() {
121 + # Fresh install
122 + if [[ -z "${REPLACING_VERSIONS}" ]]; then
123 + return 0;
124 + # Major Upgrade
125 + # doesn't matter if there's multiple copies, it still needs a rebuild
126 + # if the string is anything other than "5.CURRENTMAJOR"
127 + elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
128 + echo ""
129 + ewarn "UPDATE THE PERL MODULES:"
130 + ewarn "After updating dev-lang/perl the installed Perl modules"
131 + ewarn "have to be re-installed. In most cases, this is done automatically"
132 + ewarn "by the package manager, but subsequent steps are still recommended"
133 + ewarn "to ensure system consistency."
134 + ewarn
135 + ewarn "You should start with a depclean to remove any unused perl dependencies"
136 + ewarn "that may confuse portage in future. Regular depcleans are also encouraged"
137 + ewarn "as part of your regular update cycle, as that will keep perl upgrades working."
138 + ewarn "Recommended: emerge --depclean -va"
139 + ewarn
140 + ewarn "You should then call perl-cleaner to clean up any old files and trigger any"
141 + ewarn "remaining rebuilds portage may have missed."
142 + ewarn "Use: perl-cleaner --all"
143 + return 0;
144 +
145 + # Reinstall w/ USE Change
146 + elif ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
147 + ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
148 + ( use debug && ! has_version dev-lang/perl[debug] ) || \
149 + ( ! use debug && has_version dev-lang/perl[debug] ) ; then
150 + echo ""
151 + ewarn "TOGGLED USE-FLAGS WARNING:"
152 + ewarn "You changed one of the use-flags ithreads or debug."
153 + ewarn "You must rebuild all perl-modules installed."
154 + ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
155 + fi
156 +}
157 +
158 +pkg_setup() {
159 + case ${CHOST} in
160 + *-freebsd*) osname="freebsd" ;;
161 + *-dragonfly*) osname="dragonfly" ;;
162 + *-netbsd*) osname="netbsd" ;;
163 + *-openbsd*) osname="openbsd" ;;
164 + *-darwin*) osname="darwin" ;;
165 + *-interix*) osname="interix" ;;
166 + *-aix*) osname="aix" ;;
167 + *-cygwin*) osname="cygwin" ;;
168 + *) osname="linux" ;;
169 + esac
170 +
171 + myarch="${CHOST%%-*}-${osname}"
172 + if use debug ; then
173 + myarch+="-debug"
174 + fi
175 + if use ithreads ; then
176 + mythreading="-multi"
177 + myarch+="-thread"
178 + fi
179 +
180 + LIBPERL="libperl$(get_libname ${MY_PV} )"
181 + PRIV_LIB="/usr/$(get_libdir)/perl5/${MY_PV}"
182 + ARCH_LIB="/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}"
183 + SITE_LIB="/usr/local/$(get_libdir)/perl5/${MY_PV}"
184 + SITE_ARCH="/usr/local/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}"
185 + VENDOR_LIB="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}"
186 + VENDOR_ARCH="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}/${myarch}${mythreading}"
187 +
188 + dual_scripts
189 +}
190 +
191 +src_remove_dual_file() {
192 + local i pkg ver
193 + pkg="$1"
194 + ver="$2"
195 + shift 2
196 + case "${EBUILD_PHASE:-none}" in
197 + postinst|postrm)
198 + for i in "$@" ; do
199 + alternatives_auto_makesym "${i}" "${i}-[0-9]*"
200 + done
201 + ;;
202 + setup)
203 + for i in "$@" ; do
204 + if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then
205 + has_version ${pkg} && ewarn "You must reinstall ${pkg} !"
206 + break
207 + fi
208 + done
209 + ;;
210 + install)
211 + for i in "$@" ; do
212 + if ! [[ -f "${ED}"${i} ]] ; then
213 + ewarn "${i} does not exist!"
214 + continue
215 + fi
216 + mv "${ED}"${i}{,-${ver}-${P}} || die
217 + done
218 + ;;
219 + esac
220 +}
221 +
222 +src_remove_dual_man() {
223 + local i pkg ver ff
224 + pkg="$1"
225 + ver="$2"
226 + shift 2
227 + case "${EBUILD_PHASE:-none}" in
228 + postinst|postrm)
229 + for i in "$@" ; do
230 + ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
231 + ff=${ff##*${i#${i%.[0-9]}}}
232 + alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*"
233 + done
234 + ;;
235 + install)
236 + for i in "$@" ; do
237 + if ! [[ -f "${ED}"${i} ]] ; then
238 + ewarn "${i} does not exist!"
239 + continue
240 + fi
241 + mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
242 + done
243 + ;;
244 + esac
245 +}
246 +
247 +src_remove_dual() {
248 + local i pkg ver
249 + pkg="$1"
250 + ver="$2"
251 + shift 2
252 + for i in "$@" ; do
253 + src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}"
254 + src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1"
255 + done
256 +}
257 +
258 +src_prepare_update_patchlevel_h() {
259 + # Copied and modified from debian:
260 + # Copyright 2011 Niko Tyni
261 + # This program is free software; you can redistribute it and/or modify
262 + # it under the same terms as Perl itself.
263 + local patchdir="${WORKDIR}/patches"
264 + local prefix
265 + local patchoutput="patchlevel-gentoo.h"
266 +
267 + [[ -f ${patchdir}/series ]] || return 0
268 +
269 +while read patch
270 +do
271 + patchname=$(echo $patch | sed 's/\.diff$//')
272 + < $patchdir/$patch sed -e '/^Subject:/ { N; s/\n / / }' | sed -n -e '
273 +
274 + # massage the patch headers
275 + s|^Bug: .*https\?://rt\.perl\.org/.*id=\(.*\).*|[perl #\1]|; tprepend;
276 + s|^Bug: .*https\?://rt\.cpan\.org/.*id=\(.*\).*|[rt.cpan.org #\1]|; tprepend;
277 + s|^Bug-Gentoo: ||; tprepend;
278 + s/^\(Subject\|Description\): //; tappend;
279 + s|^Origin: .*http://perl5\.git\.perl\.org/perl\.git/commit\(diff\)\?/\(.......\).*|[\2]|; tprepend;
280 +
281 + # post-process at the end of input
282 + $ { x;
283 + # include the version number in the patchlevel.h description (if available)
284 + s/List packaged patches/&'" for ${PF}(#${PATCH_VER})"'/;
285 +
286 + # escape any backslashes and double quotes
287 + s|\\|\\\\|g; s|"|\\"|g;
288 +
289 + # add a prefix
290 + s|^|\t,"'"$prefix$patchname"' - |;
291 + # newlines away
292 + s/\n/ /g; s/ */ /g;
293 + # add a suffix
294 + s/ *$/"/; p
295 + };
296 + # stop all processing
297 + d;
298 + # label: append to the hold space
299 + :append H; d;
300 + # label: prepend to the hold space
301 + :prepend x; H; d;
302 + '
303 +done < "${WORKDIR}"/patches/series > "${S}/${patchoutput}"
304 +echo "${patchoutput}" >> "${S}/MANIFEST"
305 +}
306 +
307 +src_prepare() {
308 + local patch
309 + EPATCH_OPTS+=" -p1"
310 + einfo "Applying patches from ${MY_P}-${PATCH_VER} ..."
311 + while read patch ; do
312 + EPATCH_SINGLE_MSG=" ${patch} ..."
313 + epatch "${WORKDIR}"/patches/${patch}
314 + done < "${WORKDIR}"/patches/series
315 +
316 + src_prepare_update_patchlevel_h
317 +
318 + if tc-is-cross-compiler; then
319 + cp -a ../perl-cross-${CROSS_VER}/* . || die
320 + touch cpan/CPANPLUS/lib/CPANPLUS.pm || die
321 +
322 + sed -i \
323 + -e 's/(15 + $CLEANUP)/(13 + $CLEANUP)/' \
324 + cnf/diffs/perl5-${PV}/makemaker-test.patch || die
325 +
326 + sed -i \
327 + -e 's/MakeMaker\.pm .*/MakeMaker.pm effd272b3c9224af6fd0f6cae7183f33ec4b1106/' \
328 + -e 's/MM_Unix\.pm .*/MM_Unix.pm 648f834524bcdef67c3b6bae28e8c1ef443d0fc1/' \
329 + cnf/diffs/perl5-${PV}/customized.patch || die
330 + fi
331 +
332 + if ! tc-is-static-only ; then
333 + ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
334 + ln -s ${LIBPERL} libperl$(get_libname ) || die
335 + fi
336 +
337 + if use gdbm; then
338 + sed -i "s:INC => .*:INC => \"-I${EROOT}usr/include/gdbm\":g" \
339 + ext/NDBM_File/Makefile.PL || die
340 + fi
341 +
342 + default
343 +}
344 +
345 +myconf() {
346 + # the myconf array is declared in src_configure
347 + myconf=( "${myconf[@]}" "$@" )
348 +}
349 +
350 +src_configure() {
351 + declare -a myconf
352 +
353 + export LC_ALL="C"
354 + [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
355 +
356 + # some arches and -O do not mix :)
357 + use ppc && replace-flags -O? -O1
358 +
359 + # Perl has problems compiling with -Os in your flags with glibc
360 + use elibc_uclibc || replace-flags "-Os" "-O2"
361 +
362 + # This flag makes compiling crash in interesting ways
363 + filter-flags "-malign-double"
364 +
365 + # Fixes bug #97645
366 + use ppc && filter-flags "-mpowerpc-gpopt"
367 +
368 + # Fixes bug #143895 on gcc-4.1.1
369 + filter-flags "-fsched2-use-superblocks"
370 +
371 + use sparc && myconf -Ud_longdbl
372 +
373 + export BUILD_BZIP2=0
374 + export BZIP2_INCLUDE=${EROOT}/usr/include
375 + export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
376 +
377 + export BUILD_ZLIB=False
378 + export ZLIB_INCLUDE=${EROOT}/usr/include
379 + export ZLIB_LIB=${EROOT}/usr/$(get_libdir)
380 +
381 + # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
382 + myndbm='U'
383 + mygdbm='U'
384 + mydb='U'
385 + if use gdbm ; then
386 + mygdbm='D'
387 + if use berkdb ; then
388 + myndbm='D'
389 + fi
390 + fi
391 + if use berkdb ; then
392 + mydb='D'
393 + has_version '=sys-libs/db-1*' && myndbm='D'
394 + fi
395 +
396 + myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
397 +
398 + if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
399 + ewarn "Perl will not be built with berkdb support, use gcc if you needed it..."
400 + myconf -Ui_db -Ui_ndbm
401 + fi
402 +
403 + use ithreads && myconf -Dusethreads
404 +
405 + if use debug ; then
406 + append-cflags "-g"
407 + myconf -DDEBUGGING
408 + elif [[ ${CFLAGS} == *-g* ]] ; then
409 + myconf -DDEBUGGING=-g
410 + else
411 + myconf -DDEBUGGING=none
412 + fi
413 +
414 + if [[ -n ${PERL_OLDVERSEN} ]] ; then
415 + local inclist=$(for v in ${PERL_OLDVERSEN}; do echo -n "${v}/${myarch}${mythreading} ${v} "; done )
416 + myconf -Dinc_version_list="${inclist}"
417 + fi
418 +
419 + [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
420 +
421 + # Make sure we can do the final link #523730, need to set deployment
422 + # target to override hardcoded 10.3 which breaks on modern OSX
423 + [[ ${CHOST} == *-darwin* ]] && \
424 + myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
425 +
426 + # Prefix: the host system needs not to follow Gentoo multilib stuff, and in
427 + # Prefix itself we don't do multilib either, so make sure perl can find
428 + # something compatible.
429 + if use prefix ; then
430 + # Set a hook to check for each detected library whether it actually works.
431 + export libscheck="
432 + ( echo 'main(){}' > '${T}'/conftest.c &&
433 + $(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null
434 + ) || xxx=/dev/null"
435 +
436 + # Use all host paths that might contain useful stuff, the hook above will filter out bad choices.
437 + local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
438 + myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}"
439 + elif [[ $(get_libdir) != "lib" ]] ; then
440 + # We need to use " and not ', as the written config.sh use ' ...
441 + myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
442 + fi
443 +
444 + # don't try building ODBM, bug #354453
445 + disabled_extensions="ODBM_File"
446 +
447 + if ! use gdbm ; then
448 + # workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm"
449 + disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
450 + fi
451 +
452 + myconf -Dnoextensions="${disabled_extensions}"
453 +
454 + [[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF}
455 + # allow fiddling via EXTRA_ECONF, bug 558070
456 + eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})"
457 +
458 + myconf \
459 + -Duseshrplib \
460 + -Darchname="${myarch}" \
461 + -Dcc="$(tc-getCC)" \
462 + -Doptimize="${CFLAGS}" \
463 + -Dldflags="${LDFLAGS}" \
464 + -Dprefix="${EPREFIX}"'/usr' \
465 + -Dsiteprefix="${EPREFIX}"'/usr/local' \
466 + -Dvendorprefix="${EPREFIX}"'/usr' \
467 + -Dscriptdir="${EPREFIX}"'/usr/bin' \
468 + -Dprivlib="${EPREFIX}${PRIV_LIB}" \
469 + -Darchlib="${EPREFIX}${ARCH_LIB}" \
470 + -Dsitelib="${EPREFIX}${SITE_LIB}" \
471 + -Dsitearch="${EPREFIX}${SITE_ARCH}" \
472 + -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
473 + -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
474 + -Dman1dir="${EPREFIX}"/usr/share/man/man1 \
475 + -Dman3dir="${EPREFIX}"/usr/share/man/man3 \
476 + -Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
477 + -Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
478 + -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
479 + -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
480 + -Dman1ext='1' \
481 + -Dman3ext='3pm' \
482 + -Dlibperl="${LIBPERL}" \
483 + -Dlocincpth="${EPREFIX}"'/usr/include ' \
484 + -Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
485 + -Duselargefiles \
486 + -Dd_semctl_semun \
487 + -Dcf_by='Gentoo' \
488 + -Dmyhostname='localhost' \
489 + -Dperladmin='root@localhost' \
490 + -Ud_csh \
491 + -Dsh="${EPREFIX}"/bin/sh \
492 + -Dtargetsh="${EPREFIX}"/bin/sh \
493 + -Uusenm \
494 + "${myconf[@]}" \
495 + "${EXTRA_ECONF[@]}"
496 +
497 + if tc-is-cross-compiler; then
498 + ./configure \
499 + --target="${CHOST}" \
500 + -Dinstallprefix='' \
501 + -Dinstallusrbinperl='undef' \
502 + -Dusevendorprefix='define' \
503 + "${myconf[@]}" \
504 + || die "Unable to configure"
505 + else
506 + sh Configure \
507 + -des \
508 + -Dinstallprefix="${EPREFIX}"'/usr' \
509 + -Dinstallusrbinperl='n' \
510 + "${myconf[@]}" \
511 + || die "Unable to configure"
512 + fi
513 +}
514 +
515 +src_test() {
516 + export NO_GENTOO_NETWORK_TESTS=1;
517 + if [[ ${EUID} == 0 ]] ; then
518 + ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
519 + return 0
520 + fi
521 + use elibc_uclibc && export MAKEOPTS+=" -j1"
522 + TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed"
523 +}
524 +
525 +src_install() {
526 + local i
527 + local coredir="${ARCH_LIB}/CORE"
528 +
529 + emake DESTDIR="${D}" install
530 +
531 + rm -f "${ED}/usr/bin/perl${MY_PV}"
532 + ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
533 +
534 + if ! tc-is-static-only ; then
535 + dolib.so "${ED}"${coredir}/${LIBPERL}
536 + rm -f "${ED}"${coredir}/${LIBPERL}
537 + ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
538 + ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
539 + ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
540 + ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
541 + ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
542 + fi
543 +
544 + rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
545 +
546 + # This removes ${D} from Config.pm
547 + for i in $(find "${D}" -iname "Config.pm" ) ; do
548 + einfo "Removing ${D} from ${i}..."
549 + sed -i -e "s:${D}::" "${i}" || die "Sed failed"
550 + done
551 +
552 + dodoc Changes* README AUTHORS
553 +
554 + if use doc ; then
555 + # HTML Documentation
556 + # We expect errors, warnings, and such with the following.
557 +
558 + dodir /usr/share/doc/${PF}/html
559 + LD_LIBRARY_PATH=. ./perl installhtml \
560 + --podroot='.' \
561 + --podpath='lib:ext:pod:vms' \
562 + --recurse \
563 + --htmldir="${ED}/usr/share/doc/${PF}/html"
564 + fi
565 +
566 + [[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
567 +
568 + dual_scripts
569 +}
570 +
571 +pkg_preinst() {
572 + check_rebuild
573 +}
574 +
575 +pkg_postinst() {
576 + dual_scripts
577 +
578 + if [[ "${ROOT}" = "/" ]] ; then
579 + local INC DIR file
580 + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }')
581 + einfo "Removing old .ph files"
582 + for DIR in ${INC} ; do
583 + if [[ -d "${DIR}" ]] ; then
584 + for file in $(find "${DIR}" -name "*.ph" -type f ) ; do
585 + rm -f "${file}"
586 + einfo "<< ${file}"
587 + done
588 + fi
589 + done
590 + # Silently remove the now empty dirs
591 + for DIR in ${INC} ; do
592 + if [[ -d "${DIR}" ]] ; then
593 + find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null
594 + fi
595 + done
596 +
597 + fi
598 +}
599 +
600 +pkg_postrm(){
601 + dual_scripts
602 +}
603
604 diff --git a/virtual/perl-Module-CoreList/perl-Module-CoreList-5.201.701.142.400_rc.ebuild b/virtual/perl-Module-CoreList/perl-Module-CoreList-5.201.701.142.400_rc.ebuild
605 new file mode 100644
606 index 0000000000..cabea2ddff
607 --- /dev/null
608 +++ b/virtual/perl-Module-CoreList/perl-Module-CoreList-5.201.701.142.400_rc.ebuild
609 @@ -0,0 +1,21 @@
610 +# Copyright 1999-2017 Gentoo Foundation
611 +# Distributed under the terms of the GNU General Public License v2
612 +# $Id$
613 +
614 +EAPI=6
615 +
616 +DESCRIPTION="Virtual for ${PN#perl-}"
617 +HOMEPAGE=""
618 +SRC_URI=""
619 +
620 +LICENSE=""
621 +SLOT="0"
622 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
623 +IUSE=""
624 +
625 +RDEPEND="
626 + || ( =dev-lang/perl-5.24.1* ~perl-core/${PN#perl-}-${PV} )
627 + dev-lang/perl:=
628 + !<perl-core/${PN#perl-}-${PV}
629 + !>perl-core/${PN#perl-}-${PV}-r999
630 +"