Gentoo Archives: gentoo-commits

From: "Christian Hartmann (ian)" <ian@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-lang/perl: ChangeLog perl-5.8.8-r4.ebuild
Date: Mon, 19 Nov 2007 09:56:04
Message-Id: E1Iu3MC-0003v1-Qx@stork.gentoo.org
1 ian 07/11/19 09:55:56
2
3 Modified: ChangeLog
4 Added: perl-5.8.8-r4.ebuild
5 Log:
6 Revbump to make sure everybody got a working perl as suggested in bug #199518 in comment 22; keeping keywords to speed up the progress for bug #198196
7 (Portage version: 2.1.3.19, RepoMan options: --force)
8
9 Revision Changes Path
10 1.262 dev-lang/perl/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/perl/ChangeLog?rev=1.262&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/perl/ChangeLog?rev=1.262&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/perl/ChangeLog?r1=1.261&r2=1.262
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/dev-lang/perl/ChangeLog,v
19 retrieving revision 1.261
20 retrieving revision 1.262
21 diff -u -r1.261 -r1.262
22 --- ChangeLog 18 Nov 2007 17:46:35 -0000 1.261
23 +++ ChangeLog 19 Nov 2007 09:55:56 -0000 1.262
24 @@ -1,6 +1,13 @@
25 # ChangeLog for dev-lang/perl
26 # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/ChangeLog,v 1.261 2007/11/18 17:46:35 ian Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/ChangeLog,v 1.262 2007/11/19 09:55:56 ian Exp $
29 +
30 +*perl-5.8.8-r4 (19 Nov 2007)
31 +
32 + 19 Nov 2007; Christian Hartmann <ian@g.o> +perl-5.8.8-r4.ebuild:
33 + Revbump to make sure everybody got a working perl as suggested in bug
34 + #199518 in comment 22; keeping keywords to speed up the progress for bug
35 + #198196
36
37 18 Nov 2007; Christian Hartmann <ian@g.o>
38 +files/perl-5.8.8-lib64.patch:
39
40
41
42 1.1 dev-lang/perl/perl-5.8.8-r4.ebuild
43
44 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/perl/perl-5.8.8-r4.ebuild?rev=1.1&view=markup
45 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/perl/perl-5.8.8-r4.ebuild?rev=1.1&content-type=text/plain
46
47 Index: perl-5.8.8-r4.ebuild
48 ===================================================================
49 # Copyright 1999-2007 Gentoo Foundation
50 # Distributed under the terms of the GNU General Public License v2
51 # $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.8.8-r4.ebuild,v 1.1 2007/11/19 09:55:56 ian Exp $
52
53 inherit eutils flag-o-matic toolchain-funcs multilib
54
55 # The slot of this binary compat version of libperl.so
56 PERLSLOT="1"
57
58 SHORT_PV="${PV%.*}"
59 MY_P="perl-${PV/_rc/-RC}"
60 MY_PV="${PV%_rc*}"
61 DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
62 S="${WORKDIR}/${MY_P}"
63 SRC_URI="mirror://cpan/src/${MY_P}.tar.bz2"
64 HOMEPAGE="http://www.perl.org/"
65 LIBPERL="libperl$(get_libname ${PERLSLOT}.${SHORT_PV})"
66
67 LICENSE="|| ( Artistic GPL-2 )"
68 SLOT="0"
69 KEYWORDS="alpha amd64 ~arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc ~sparc-fbsd x86 ~x86-fbsd"
70 IUSE="berkdb debug doc gdbm ithreads perlsuid build elibc_FreeBSD"
71 PERL_OLDVERSEN="5.8.0 5.8.2 5.8.4 5.8.5 5.8.6 5.8.7"
72
73 DEPEND="berkdb? ( sys-libs/db )
74 gdbm? ( >=sys-libs/gdbm-1.8.3 )
75 >=sys-devel/libperl-${PV}-r1
76 elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs )
77 <sys-devel/libperl-5.9
78 !<perl-core/File-Spec-0.87
79 !<perl-core/Test-Simple-0.47-r1"
80
81 RDEPEND="~sys-devel/libperl-${PV}
82 berkdb? ( sys-libs/db )
83 gdbm? ( >=sys-libs/gdbm-1.8.3 )
84 build? (
85 !perl-core/Test-Harness
86 !perl-core/PodParser
87 !dev-perl/Locale-gettext
88 )"
89
90 PDEPEND=">=app-admin/perl-cleaner-1.03
91 !build? (
92 >=perl-core/PodParser-1.32
93 >=perl-core/Test-Harness-2.56
94 )"
95
96 pkg_setup() {
97 # I think this should rather be displayed if you *have* 'ithreads'
98 # in USE if it could break things ...
99 if use ithreads
100 then
101 ewarn "PLEASE NOTE: You are compiling ${MY_P} with"
102 ewarn "interpreter-level threading enabled."
103 ewarn "Threading is not supported by all applications "
104 ewarn "that compile against perl. You use threading at "
105 ewarn "your own discretion. "
106 epause 5
107 fi
108
109 if [[ ! -f "${ROOT}/usr/$(get_libdir)/${LIBPERL}" ]]
110 then
111 # Make sure we have libperl installed ...
112 eerror "Cannot find ${ROOT}/usr/$(get_libdir)/${LIBPERL}! Make sure that you"
113 eerror "have sys-libs/libperl installed properly ..."
114 die "Cannot find ${ROOT}/usr/$(get_libdir)/${LIBPERL}!"
115 fi
116 }
117
118 src_unpack() {
119 unpack ${A}
120
121 # Get -lpthread linked before -lc. This is needed
122 # when using glibc >= 2.3, or else runtime signal
123 # handling breaks. Fixes bug #14380.
124 # <rac@g.o> (14 Feb 2003)
125 # reinstated to try to avoid sdl segfaults 03.10.02
126 cd "${S}"; epatch "${FILESDIR}"/${PN}-prelink-lpthread.patch
127
128 # Patch perldoc to not abort when it attempts to search
129 # nonexistent directories; fixes bug #16589.
130 # <rac@g.o> (28 Feb 2003)
131
132 cd "${S}"; epatch "${FILESDIR}"/${PN}-perldoc-emptydirs.patch
133
134 # this lays the groundwork for solving the issue of what happens
135 # when people (or ebuilds) install different versiosn of modules
136 # that are in the core, by rearranging the @INC directory to look
137 # site -> vendor -> core.
138 cd "${S}"; epatch "${FILESDIR}"/${P}-reorder-INC.patch
139
140 # some well-intentioned stuff in http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&selm=Pine.SOL.4.10.10205231231200.5399-100000%40maxwell.phys.lafayette.edu
141 # attempts to avoid bringing cccdlflags to bear on static
142 # extensions (like DynaLoader). i believe this is
143 # counterproductive on a Gentoo system which has both a shared
144 # and static libperl, so effectively revert this here.
145 cd "${S}"; epatch "${FILESDIR}"/${PN}-picdl.patch
146
147 # Configure makes an unwarranted assumption that /bin/ksh is a
148 # good shell. This patch makes it revert to using /bin/sh unless
149 # /bin/ksh really is executable. Should fix bug 42665.
150 # rac 2004.06.09
151 cd "${S}"; epatch "${FILESDIR}"/${PN}-noksh.patch
152
153 # makedepend.SH contains a syntax error which is ignored by bash but causes
154 # dash to abort
155 epatch "${FILESDIR}"/${P}-makedepend-syntax.patch
156
157 # We do not want the build root in the linked perl module's RUNPATH, so
158 # strip paths containing PORTAGE_TMPDIR if its set. This is for the
159 # MakeMaker module, bug #105054.
160 epatch "${FILESDIR}"/${PN}-5.8.7-MakeMaker-RUNPATH.patch
161
162 # Starting and hopefully ending with 5.8.7 we observe stack
163 # corruption with the regexp handling in perls DynaLoader code
164 # with ssp enabled. This become fatal during compile time so we
165 # temporally disable ssp on two regexp files till upstream has a
166 # chance to work it out. Bug #97452
167 [[ -n $(test-flags -fno-stack-protector) ]] && \
168 epatch "${FILESDIR}"/${PN}-regexp-nossp.patch
169
170 # On PA7200, uname -a contains a single quote and we need to
171 # filter it otherwise configure fails. See #125535.
172 epatch "${FILESDIR}"/perl-hppa-pa7200-configure.patch
173
174 #[[ ${get_libdir} == lib64 ]] && cd ${S} && epatch ${FILESDIR}/${P}-lib64.patch
175 use amd64 || use ppc64 && cd "${S}" && epatch "${FILESDIR}"/${P}-lib64.patch
176
177 [[ ${CHOST} == *-dragonfly* ]] && cd "${S}" && epatch "${FILESDIR}"/${P}-dragonfly-clean.patch
178 [[ ${CHOST} == *-freebsd* ]] && cd "${S}" && epatch "${FILESDIR}"/${P}-fbsdhints.patch
179 cd "${S}"; epatch "${FILESDIR}"/${P}-USE_MM_LD_RUN_PATH.patch
180 cd "${S}"; epatch "${FILESDIR}"/${P}-links.patch
181 # c++ patch - should address swig related items
182 cd "${S}"; epatch "${FILESDIR}"/${P}-cplusplus.patch
183
184 epatch "${FILESDIR}"/${P}-gcc42-command-line.patch
185
186 # Newer linux-headers don't include asm/page.h. Fix this.
187 # Patch from bug 168312, thanks Peter!
188 has_version '>sys-kernel/linux-headers-2.6.20' && epatch "${FILESDIR}"/${P}-asm-page-h-compile-failure.patch
189
190 # perlcc fix patch - bug #181229
191 epatch "${FILESDIR}"/${P}-perlcc.patch
192
193 # patch to fix bug #198196
194 # UTF/Regular expressions boundary error (CVE-2007-5116)
195 epatch "${FILESDIR}"/${P}-utf8-boundary.patch
196 }
197
198 myconf() {
199 # the myconf array is declared in src_configure
200 myconf=( "${myconf[@]}" "$@" )
201 }
202
203 src_configure() {
204 declare -a myconf
205
206 # some arches and -O do not mix :)
207 use arm && replace-flags -O? -O1
208 use ppc && replace-flags -O? -O1
209 use ia64 && replace-flags -O? -O1
210 # Perl has problems compiling with -Os in your flags with glibc
211 use elibc_uclibc || replace-flags "-Os" "-O2"
212 ( gcc-specs-ssp && use ia64 ) && append-flags -fno-stack-protector
213 # This flag makes compiling crash in interesting ways
214 filter-flags -malign-double
215 # Fixes bug #97645
216 use ppc && filter-flags -mpowerpc-gpopt
217 # Fixes bug #143895 on gcc-4.1.1
218 filter-flags "-fsched2-use-superblocks"
219
220 export LC_ALL="C"
221
222 case ${CHOST} in
223 *-freebsd*) osname="freebsd" ;;
224 *-dragonfly*) osname="dragonfly" ;;
225 *-netbsd*) osname="netbsd" ;;
226 *-openbsd*) osname="openbsd" ;;
227 *-darwin*) osname="darwin" ;;
228
229 *) osname="linux" ;;
230 esac
231
232 if use ithreads
233 then
234 einfo "using ithreads"
235 mythreading="-multi"
236 myconf -Dusethreads
237 myarch=${CHOST}
238 myarch="${myarch%%-*}-${osname}-thread"
239 else
240 myarch=${CHOST}
241 myarch="${myarch%%-*}-${osname}"
242 fi
243
244 local inclist=$(for v in $PERL_OLDVERSEN; do echo -n "$v $v/$myarch$mythreading "; done)
245
246 # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
247
248 myndbm='U'
249 mygdbm='U'
250 mydb='U'
251
252 if use gdbm
253 then
254 mygdbm='D'
255 myndbm='D'
256 fi
257 if use berkdb
258 then
259 mydb='D'
260 has_version '=sys-libs/db-1*' && myndbm='D'
261 fi
262
263 myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
264
265 if use mips
266 then
267 # this is needed because gcc 3.3-compiled kernels will hang
268 # the machine trying to run this test - check with `Kumba
269 # <rac@g.o> 2003.06.26
270 myconf -Dd_u32align
271 fi
272
273 if use perlsuid
274 then
275 myconf -Dd_dosuid
276 ewarn "You have enabled Perl's suid compile. Please"
277 ewarn "read http://perldoc.com/perl5.8.2/INSTALL.html#suidperl"
278 epause 3
279 fi
280
281 if use debug
282 then
283 CFLAGS="${CFLAGS} -g"
284 myconf -DDEBUGGING
285 fi
286
287 if use sparc
288 then
289 myconf -Ud_longdbl
290 fi
291
292 if use alpha && "$(tc-getCC)" == "ccc"
293 then
294 ewarn "Perl will not be built with berkdb support, use gcc if you needed it..."
295 myconf -Ui_db -Ui_ndbm
296 fi
297
298 [[ -n "${ABI}" ]] && myconf "-Dusrinc=$(get_ml_incdir)"
299
300 [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
301
302 if [[ $(get_libdir) != "lib" ]] ; then
303 # We need to use " and not ', as the written config.sh use ' ...
304 myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
305 fi
306
307 sh Configure -des \
308 -Darchname="${myarch}" \
309 -Dcccdlflags='-fPIC' \
310 -Dccdlflags='-rdynamic' \
311 -Dcc="$(tc-getCC)" \
312 -Dprefix='/usr' \
313 -Dvendorprefix='/usr' \
314 -Dsiteprefix='/usr' \
315 -Dlocincpth=' ' \
316 -Doptimize="${CFLAGS}" \
317 -Duselargefiles \
318 -Dd_semctl_semun \
319 -Dscriptdir=/usr/bin \
320 -Dman1dir=/usr/share/man/man1 \
321 -Dman3dir=/usr/share/man/man3 \
322 -Dinstallman1dir=/usr/share/man/man1 \
323 -Dinstallman3dir=/usr/share/man/man3 \
324 -Dman1ext='1' \
325 -Dman3ext='3pm' \
326 -Dinc_version_list="$inclist" \
327 -Dcf_by='Gentoo' \
328 -Ud_csh \
329 -Dusenm \
330 "${myconf[@]}" || die "Unable to configure"
331 }
332
333 src_compile() {
334
335 # would like to bracket this with a test for the existence of a
336 # dotfile, but can't clean it automatically now.
337
338 src_configure
339
340 emake -j1 || die "Unable to make"
341 }
342
343 src_test() {
344 use elibc_uclibc && export MAKEOPTS="${MAKEOPTS} -j1"
345 emake -i test CCDLFLAGS= || die "test failed"
346 }
347
348 src_install() {
349
350 export LC_ALL="C"
351
352 # Need to do this, else apps do not link to dynamic version of
353 # the library ...
354 local coredir="/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}/CORE"
355 dodir ${coredir}
356 dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/${LIBPERL}
357 dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname ${PERLSLOT})
358 dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname)
359
360 # Fix for "stupid" modules and programs
361 dodir /usr/$(get_libdir)/perl5/site_perl/${MY_PV}/${myarch}${mythreading}
362
363 local installtarget=install
364 if use build ; then
365 installtarget=install.perl
366 fi
367 make DESTDIR="${D}" ${installtarget} || die "Unable to make ${installtarget}"
368
369 rm "${D}"/usr/bin/perl
370 ln -s perl${MY_PV} "${D}"/usr/bin/perl
371
372 cp -f utils/h2ph utils/h2ph_patched
373 epatch "${FILESDIR}"/${PN}-h2ph-ansi-header.patch
374
375 LD_LIBRARY_PATH=. ./perl -Ilib utils/h2ph_patched \
376 -a -d "${D}"/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading} <<EOF
377 asm/termios.h
378 syscall.h
379 syslimits.h
380 syslog.h
381 sys/ioctl.h
382 sys/socket.h
383 sys/time.h
384 wait.h
385 EOF
386
387 # This is to fix a missing c flag for backwards compat
388 for i in `find "${D}"/usr/$(get_libdir)/perl5 -iname "Config.pm"`;do
389 sed -e "s:ccflags=':ccflags='-DPERL5 :" \
390 -e "s:cppflags=':cppflags='-DPERL5 :" \
391 ${i} > ${i}.new &&\
392 mv ${i}.new ${i} || die "Sed failed"
393 done
394
395 # A poor fix for the miniperl issues
396 dosed 's:./miniperl:/usr/bin/perl:' /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp
397 fperms 0444 /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp
398 dosed 's:./miniperl:/usr/bin/perl:' /usr/bin/xsubpp
399 fperms 0755 /usr/bin/xsubpp
400
401 # This removes ${D} from Config.pm and .packlist
402 for i in `find "${D}" -iname "Config.pm"` `find "${D}" -iname ".packlist"`;do
403 einfo "Removing ${D} from ${i}..."
404 sed -e "s:${D}::" ${i} > ${i}.new &&\
405 mv ${i}.new ${i} || die "Sed failed"
406 done
407
408 # Note: find out from psm why we would need/want this.
409 # ( use berkdb && has_version '=sys-libs/db-1*' ) ||
410 # find ${D} -name "*NDBM*" | xargs rm -f
411
412 dodoc Changes* Artistic Copying README Todo* AUTHORS
413
414 if use doc
415 then
416 # HTML Documentation
417 # We expect errors, warnings, and such with the following.
418
419 dodir /usr/share/doc/${PF}/html
420 ./perl installhtml \
421 --podroot='.' \
422 --podpath='lib:ext:pod:vms' \
423 --recurse \
424 --htmldir="${D}/usr/share/doc/${PF}/html" \
425 --libpods='perlfunc:perlguts:perlvar:perlrun:perlop'
426 fi
427 cd `find "${D}" -name Path.pm|sed -e 's/Path.pm//'`
428 # CAN patch in bug 79685
429 epatch "${FILESDIR}"/${P}-CAN-2005-0448-rmtree.patch
430
431 # Remove those items we PDPEND on
432 rm -f "${D}"/usr/bin/pod2usage
433 rm -f "${D}"/usr/bin/podchecker
434 rm -f "${D}"/usr/bin/podselect
435 rm -f "${D}"/usr/bin/prove
436 rm -f "${D}"/usr/share/man/man1/pod2usage*
437 rm -f "${D}"/usr/share/man/man1/podchecker*
438 rm -f "${D}"/usr/share/man/man1/podselect*
439 rm -f "${D}"/usr/share/man/man1/prove*
440 if use build ; then
441 src_remove_extra_files
442 fi
443
444 }
445
446 src_remove_extra_files()
447 {
448 local prefix="./usr" # ./ is important
449 local bindir="${prefix}/bin"
450 local perlroot="${prefix}/$(get_libdir)/perl5" # perl installs per-arch dirs
451 local prV="${perlroot}/${MY_PV}"
452 # myarch and mythreading are defined inside src_configure()
453 local prVA="${prV}/${myarch}${mythreading}"
454
455 # I made this list from the Mandr*, Debian and ex-Connectiva perl-base list
456 # Then, I added several files to get GNU autotools running
457 # FIXME: should this be in a separated file to be sourced?
458 local MINIMAL_PERL_INSTALL="
459 ${bindir}/h2ph
460 ${bindir}/perl
461 ${bindir}/perl${MY_PV}
462 ${bindir}/pod2man
463 ${prV}/attributes.pm
464 ${prV}/AutoLoader.pm
465 ${prV}/autouse.pm
466 ${prV}/base.pm
467 ${prV}/bigint.pm
468 ${prV}/bignum.pm
469 ${prV}/bigrat.pm
470 ${prV}/blib.pm
471 ${prV}/bytes_heavy.pl
472 ${prV}/bytes.pm
473 ${prV}/Carp/Heavy.pm
474 ${prV}/Carp.pm
475 ${prV}/charnames.pm
476 ${prV}/Class/Struct.pm
477 ${prV}/constant.pm
478 ${prV}/diagnostics.pm
479 ${prV}/DirHandle.pm
480 ${prV}/Exporter/Heavy.pm
481 ${prV}/Exporter.pm
482 ${prV}/ExtUtils/Command.pm
483 ${prV}/ExtUtils/Constant.pm
484 ${prV}/ExtUtils/Embed.pm
485 ${prV}/ExtUtils/Installed.pm
486 ${prV}/ExtUtils/Install.pm
487 ${prV}/ExtUtils/Liblist.pm
488 ${prV}/ExtUtils/MakeMaker.pm
489 ${prV}/ExtUtils/Manifest.pm
490 ${prV}/ExtUtils/Mkbootstrap.pm
491 ${prV}/ExtUtils/Mksymlists.pm
492 ${prV}/ExtUtils/MM_Any.pm
493 ${prV}/ExtUtils/MM_MacOS.pm
494 ${prV}/ExtUtils/MM.pm
495 ${prV}/ExtUtils/MM_Unix.pm
496 ${prV}/ExtUtils/MY.pm
497 ${prV}/ExtUtils/Packlist.pm
498 ${prV}/ExtUtils/testlib.pm
499 ${prV}/ExtUtils/Miniperl.pm
500 ${prV}/ExtUtils/Command/MM.pm
501 ${prV}/ExtUtils/Constant/Base.pm
502 ${prV}/ExtUtils/Constant/Utils.pm
503 ${prV}/ExtUtils/Constant/XS.pm
504 ${prV}/ExtUtils/Liblist/Kid.pm
505 ${prV}/ExtUtils/MakeMaker/bytes.pm
506 ${prV}/ExtUtils/MakeMaker/vmsish.pm
507 ${prV}/fields.pm
508 ${prV}/File/Basename.pm
509 ${prV}/File/Compare.pm
510 ${prV}/File/Copy.pm
511 ${prV}/File/Find.pm
512 ${prV}/FileHandle.pm
513 ${prV}/File/Path.pm
514 ${prV}/File/Spec.pm
515 ${prV}/File/Spec/Unix.pm
516 ${prV}/File/stat.pm
517 ${prV}/filetest.pm
518 ${prVA}/attrs.pm
519 ${prVA}/auto/attrs
520 ${prVA}/auto/Cwd/Cwd$(get_libname)
521 ${prVA}/auto/Data/Dumper/Dumper$(get_libname)
522 ${prVA}/auto/DynaLoader/dl_findfile.al
523 ${prVA}/auto/Fcntl/Fcntl$(get_libname)
524 ${prVA}/auto/File/Glob/Glob$(get_libname)
525 ${prVA}/auto/IO/IO$(get_libname)
526 ${prVA}/auto/POSIX/autosplit.ix
527 ${prVA}/auto/POSIX/fstat.al
528 ${prVA}/auto/POSIX/load_imports.al
529 ${prVA}/auto/POSIX/POSIX.bs
530 ${prVA}/auto/POSIX/POSIX$(get_libname)
531 ${prVA}/auto/POSIX/assert.al
532 ${prVA}/auto/POSIX/stat.al
533 ${prVA}/auto/POSIX/tmpfile.al
534 ${prVA}/auto/re/re$(get_libname)
535 ${prVA}/auto/Socket/Socket$(get_libname)
536 ${prVA}/auto/Storable/autosplit.ix
537 ${prVA}/auto/Storable/_retrieve.al
538 ${prVA}/auto/Storable/retrieve.al
539 ${prVA}/auto/Storable/Storable$(get_libname)
540 ${prVA}/auto/Storable/_store.al
541 ${prVA}/auto/Storable/store.al
542 ${prVA}/B/Deparse.pm
543 ${prVA}/B.pm
544 ${prVA}/Config.pm
545 ${prVA}/Config_heavy.pl
546 ${prVA}/CORE/libperl$(get_libname)
547 ${prVA}/Cwd.pm
548 ${prVA}/Data/Dumper.pm
549 ${prVA}/DynaLoader.pm
550 ${prVA}/encoding.pm
551 ${prVA}/Errno.pm
552 ${prVA}/Fcntl.pm
553 ${prVA}/File/Glob.pm
554 ${prVA}/_h2ph_pre.ph
555 ${prVA}/IO/File.pm
556 ${prVA}/IO/Handle.pm
557 ${prVA}/IO/Pipe.pm
558 ${prVA}/IO.pm
559 ${prVA}/IO/Seekable.pm
560 ${prVA}/IO/Select.pm
561 ${prVA}/IO/Socket.pm
562 ${prVA}/lib.pm
563 ${prVA}/NDBM_File.pm
564 ${prVA}/ops.pm
565 ${prVA}/POSIX.pm
566 ${prVA}/re.pm
567 ${prVA}/Socket.pm
568 ${prVA}/Storable.pm
569 ${prVA}/threads
570 ${prVA}/threads.pm
571 ${prVA}/XSLoader.pm
572 ${prV}/Getopt/Long.pm
573 ${prV}/Getopt/Std.pm
574 ${prV}/if.pm
575 ${prV}/integer.pm
576 ${prV}/IO/Socket/INET.pm
577 ${prV}/IO/Socket/UNIX.pm
578 ${prV}/IPC/Open2.pm
579 ${prV}/IPC/Open3.pm
580 ${prV}/less.pm
581 ${prV}/List/Util.pm
582 ${prV}/locale.pm
583 ${prV}/open.pm
584 ${prV}/overload.pm
585 ${prV}/Pod/InputObjects.pm
586 ${prV}/Pod/Man.pm
587 ${prV}/Pod/ParseLink.pm
588 ${prV}/Pod/Parser.pm
589 ${prV}/Pod/Select.pm
590 ${prV}/Pod/Text.pm
591 ${prV}/Pod/Usage.pm
592 ${prV}/PerlIO.pm
593 ${prV}/Scalar/Util.pm
594 ${prV}/SelectSaver.pm
595 ${prV}/sigtrap.pm
596 ${prV}/sort.pm
597 ${prV}/stat.pl
598 ${prV}/strict.pm
599 ${prV}/subs.pm
600 ${prV}/Symbol.pm
601 ${prV}/Text/ParseWords.pm
602 ${prV}/Text/Tabs.pm
603 ${prV}/Text/Wrap.pm
604 ${prV}/Time/Local.pm
605 ${prV}/unicore/Canonical.pl
606 ${prV}/unicore/Exact.pl
607 ${prV}/unicore/lib/gc_sc/Digit.pl
608 ${prV}/unicore/lib/gc_sc/Word.pl
609 ${prV}/unicore/PVA.pl
610 ${prV}/unicore/To/Fold.pl
611 ${prV}/unicore/To/Lower.pl
612 ${prV}/unicore/To/Upper.pl
613 ${prV}/utf8_heavy.pl
614 ${prV}/utf8.pm
615 ${prV}/vars.pm
616 ${prV}/vmsish.pm
617 ${prV}/warnings
618 ${prV}/warnings.pm
619 ${prV}/warnings/register.pm"
620
621 if use perlsuid ; then
622 MINIMAL_PERL_INSTALL="${MINIMAL_PERL_INSTALL}
623 ${bindir}/suidperl
624 ${bindir}/sperl${MY_PV}"
625 fi
626
627 pushd "${D}" > /dev/null
628 # Remove cruft
629 einfo "Removing files that are not in the minimal install"
630 echo "${MINIMAL_PERL_INSTALL}"
631 for f in $(find . -type f); do
632 has ${f} ${MINIMAL_PERL_INSTALL} || rm -f ${f}
633 done
634 # Remove empty directories
635 find . -depth -type d | xargs -r rmdir &> /dev/null
636 popd > /dev/null
637 }
638
639 pkg_postinst() {
640 INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${MY_PV}'|etc|local|perl$/; print "$line\n" }')
641 if [[ "${ROOT}" = "/" ]]
642 then
643 ebegin "Removing old .ph files"
644 for DIR in $INC; do
645 if [[ -d "${ROOT}"/$DIR ]]; then
646 for file in $(find "${ROOT}"/$DIR -name "*.ph" -type f); do
647 rm "${ROOT}"/$file
648 einfo "<< $file"
649 done
650 fi
651 done
652 # Silently remove the now empty dirs
653 for DIR in $INC; do
654 if [[ -d "${ROOT}"/$DIR ]]; then
655 find "${ROOT}"/$DIR -depth -type d | xargs -r rmdir &> /dev/null
656 fi
657 done
658 ebegin "Generating ConfigLocal.pm (ignore any error)"
659 enc2xs -C
660 ebegin "Converting C header files to the corresponding Perl format"
661 cd /usr/include;
662 h2ph *
663 h2ph -r sys/* arpa/* netinet/* bits/* security/* asm/* gnu/* linux/* gentoo*
664 cd /usr/include/linux
665 h2ph *
666 fi
667
668 # This has been moved into a function because rumor has it that a future release
669 # of portage will allow us to check what version was just removed - which means
670 # we will be able to invoke this only as needed :)
671 # Tried doing this via -z, but $INC is too big...
672 if [[ "${INC}x" != "x" ]]; then
673 cleaner_msg
674 epause 5
675 fi
676 }
677
678 cleaner_msg() {
679 eerror "You have had multiple versions of perl. It is recommended"
680 eerror "that you run perl-cleaner now. perl-cleaner will"
681 eerror "assist with this transition. This script is capable"
682 eerror "of cleaning out old .ph files, rebuilding modules for "
683 eerror "your new version of perl, as well as re-emerging"
684 eerror "applications that compiled against your old libperl$(get_libname)"
685 eerror
686 eerror "PLEASE DO NOT INTERRUPT THE RUNNING OF THIS SCRIPT."
687 eerror "Part of the rebuilding of applications compiled against "
688 eerror "your old libperl involves temporarily unmerging"
689 eerror "them - interruptions could leave you with unmerged"
690 eerror "packages before they can be remerged."
691 eerror ""
692 eerror "If you have run perl-cleaner and a package still gives"
693 eerror "you trouble, and re-emerging it fails to correct"
694 eerror "the problem, please check http://bugs.gentoo.org/"
695 eerror "for more information or to report a bug."
696 eerror ""
697 eerror ""
698
699 }
700
701
702
703 --
704 gentoo-commits@g.o mailing list