diff options
author | 2013-09-30 22:32:58 +0900 | |
---|---|---|
committer | 2013-09-30 22:32:58 +0900 | |
commit | ca8b722d736e84e4a21b7555b1ca0a905cb7693f (patch) | |
tree | fef91ff96d8fc8718265f73c7f36fe01b3a54f22 /dev-lang | |
parent | clean up profiles (diff) | |
download | heroxbd-ca8b722d736e84e4a21b7555b1ca0a905cb7693f.tar.gz heroxbd-ca8b722d736e84e4a21b7555b1ca0a905cb7693f.tar.bz2 heroxbd-ca8b722d736e84e4a21b7555b1ca0a905cb7693f.zip |
RAP update, for profiles and glibc
Diffstat (limited to 'dev-lang')
69 files changed, 12366 insertions, 0 deletions
diff --git a/dev-lang/perl/ChangeLog b/dev-lang/perl/ChangeLog new file mode 100644 index 0000000..34b9332 --- /dev/null +++ b/dev-lang/perl/ChangeLog @@ -0,0 +1,2006 @@ +# ChangeLog for dev-lang/perl +# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/ChangeLog,v 1.395 2013/03/14 12:46:31 tove Exp $ + + 14 Mar 2013; Torsten Veller <tove@gentoo.org> + files/eblits/src_install-v50160001.eblit: + Use ED to remove empty directory in /usr/local (#455926) + +*perl-5.16.3 (12 Mar 2013) + + 12 Mar 2013; Torsten Veller <tove@gentoo.org> +perl-5.16.3.ebuild: + Version bump + +*perl-5.16.2-r1 (04 Mar 2013) +*perl-5.12.5 (04 Mar 2013) + + 04 Mar 2013; Torsten Veller <tove@gentoo.org> +perl-5.12.5.ebuild, + +files/perl-5.12.5-rehash-5.12.5.patch, +perl-5.16.2-r1.ebuild: + Bump. Fixes CVE-2013-1667 and adds subslots. + + 18 Feb 2013; Zac Medico <zmedico@gentoo.org> perl-5.16.2.ebuild: + Add ~arm-linux keyword. + + 21 Jan 2013; Mike Gilbert <floppym@gentoo.org> perl-5.16.2.ebuild: + Add IUSE=build as a workaround for bug 453268. + +*perl-5.16.2 (20 Jan 2013) + + 20 Jan 2013; Torsten Veller <tove@gentoo.org> + files/eblits/src_install-v50160001.eblit, +perl-5.16.2.ebuild: + Version bump (#449640). + * Does not create directories in /usr/local (#422981) + * CGI: Newline injection due to improper CRLF escaping in Set-Cookie and P3P + headers (#443446,CVE-2012-5526) + * Locale::Maketext: Two Code Injection Vulnerabilities (#446376,SA51498) + + 20 Sep 2012; Tim Harder <radhermit@gentoo.org> metadata.xml: + Remove redundant maintainer from metadata. + + 16 Aug 2012; Fabian Groffen <grobian@gentoo.org> + files/eblits/src_configure-v50160001.eblit: + Handle libdir detection when libdir is a symlink, such as /lib/64 on Solaris + + 15 Aug 2012; Fabian Groffen <grobian@gentoo.org> + files/eblits/src_configure-v50160001.eblit: + Improve libdir detection for Prefix platforms, in particular Solaris, bug + #427072 + + 13 Aug 2012; Fabian Groffen <grobian@gentoo.org> + files/eblits/src_configure-v50160001.eblit: + Fix misdetection of lib dirs on certain Prefix hosts, bug #425538 + +*perl-5.16.1 (09 Aug 2012) + + 09 Aug 2012; Torsten Veller <tove@gentoo.org> +perl-5.16.1.ebuild: + Version bump + + 08 Jul 2012; Fabian Groffen <grobian@gentoo.org> + files/eblits/src_configure-v50160001.eblit: + Adapt library path searching on Prefix for Ubuntu, bug #400839 + + 07 Jun 2012; Torsten Veller <tove@gentoo.org> perl-5.16.0.ebuild: + Inherit new multiprocessing for makeopts_jobs. + + 06 Jun 2012; Torsten Veller <tove@gentoo.org> perl-5.16.0.ebuild: + Fix IO-Compress version in dual_scripts + +*perl-5.16.0 (05 Jun 2012) + + 05 Jun 2012; Torsten Veller <tove@gentoo.org> + +files/eblits/common-v50160001.eblit, + +files/eblits/pkg_postinst-v50160001.eblit, + +files/eblits/pkg_postrm-v50160001.eblit, + +files/eblits/pkg_setup-v50160001.eblit, + +files/eblits/src_configure-v50160001.eblit, + +files/eblits/src_install-v50160001.eblit, + +files/eblits/src_prepare-v50160001.eblit, + +files/eblits/src_test-v50160001.eblit, +perl-5.16.0.ebuild: + Version bump. + - Use eblits + - Move prefix patches to the patchset. + - Use debian patch list for -V + - Fix Dsiteprefix, Dsiteman1dir and Dsiteman3dir + - Move perllocal.pod from site_install to DESTINSTALLSITEARCH + - Remove the rebuild-modules-before-system-is-usable-again warning from + pkg-pretend again (#389771) + - Drop the build useflag + + 26 Apr 2012; Alexis Ballier <aballier@gentoo.org> perl-5.12.4-r2.ebuild: + keyword ~amd64-fbsd + +*perl-5.12.4-r2 (03 Mar 2012) + + 03 Mar 2012; Fabian Groffen <grobian@gentoo.org> + +files/perl-5.10.1-cleanup-paths.patch, +files/perl-5.10.1-hpux.patch, + +files/perl-5.12.3-aix-soname.patch, +files/perl-5.12.3-interix.patch, + +files/perl-5.12.3-mint.patch, +files/perl-5.14.1-cleanup-paths.patch, + +files/perl-5.8.8-darwin-cc-ld.patch, + +files/perl-5.8.8-solaris-relocation.patch, +files/perl-5.8.8-solaris11.patch, + +files/perl-5.8.8-usr-local.patch, +perl-5.12.4-r2.ebuild, perl-5.14.2.ebuild: + Revbump of 5.12.4 for Prefix changes, same changes in 5.14.2, transferred + Prefix keywords, bug #395685 + + 02 Jan 2012; Zac Medico <zmedico@gentoo.org> perl-5.10.1.ebuild, + perl-5.12.3-r1.ebuild, perl-5.12.4-r1.ebuild, perl-5.12.4.ebuild, + perl-5.14.1-r1.ebuild, perl-5.14.1.ebuild, perl-5.14.2.ebuild, + perl-5.8.8-r8.ebuild: + Bug #394091 - Handle invalid COLUMNS. + + 07 Nov 2011; Kacper Kowalik <xarthisius@gentoo.org> perl-5.12.4-r1.ebuild: + ppc/ppc64 stable wrt #384593 + + 23 Oct 2011; Raúl Porcel <armin76@gentoo.org> perl-5.12.4-r1.ebuild: + alpha/ia64/m68k/s390/sh/sparc stable wrt #384593 + + 16 Oct 2011; Matt Turner <mattst88@gentoo.org> perl-5.12.4-r1.ebuild, + perl-5.14.2.ebuild: + Remove mips d_u32align hack from the gcc-3.3 days (circa 2003) + + 10 Oct 2011; Markus Meier <maekke@gentoo.org> perl-5.12.4-r1.ebuild: + arm/x86 stable, bug #384593 + + 05 Oct 2011; Jeroen Roovers <jer@gentoo.org> perl-5.12.4-r1.ebuild: + Stable for HPPA (bug #384593). + + 27 Sep 2011; Tony Vroon <chainsaw@gentoo.org> perl-5.12.4-r1.ebuild: + Marked stable on AMD64 based on arch testing by Agostino "ago" Sarubbo & + Elijah "Armageddon" El Lazkani in bug #384593. + +*perl-5.14.2 (27 Sep 2011) + + 27 Sep 2011; Torsten Veller <tove@gentoo.org> +perl-5.14.2.ebuild: + Version bump + +*perl-5.14.1-r1 (09 Aug 2011) +*perl-5.12.4-r1 (09 Aug 2011) + + 09 Aug 2011; Torsten Veller <tove@gentoo.org> -perl-5.12.2-r6.ebuild, + -perl-5.12.3.ebuild, +perl-5.12.4-r1.ebuild, +perl-5.14.1-r1.ebuild: + Add xsubpp to the dual-life scripts list. Cleanup + +*perl-5.12.4 (24 Jun 2011) + + 24 Jun 2011; Torsten Veller <tove@gentoo.org> +perl-5.12.4.ebuild: + Version bump + +*perl-5.14.1 (18 Jun 2011) + + 18 Jun 2011; Torsten Veller <tove@gentoo.org> +perl-5.14.1.ebuild: + Version bump (tracker bug #356171) + + 07 May 2011; Raúl Porcel <armin76@gentoo.org> perl-5.12.3-r1.ebuild: + arm/ia64/m68k/s390/sh/sparc stable wrt #362025 + + 02 May 2011; Tobias Klausmann <klausman@gentoo.org> perl-5.12.3-r1.ebuild: + Stable on alpha, bug #362025 + + 27 Apr 2011; Jeroen Roovers <jer@gentoo.org> perl-5.12.3-r1.ebuild: + Stable for HPPA (bug #362025). + + 26 Apr 2011; Christoph Mende <angelos@gentoo.org> perl-5.12.3-r1.ebuild: + Stable on amd64 wrt bug #362025 + + 26 Apr 2011; Pawel Hajdan jr <phajdan.jr@gentoo.org> + perl-5.12.3-r1.ebuild: + x86 stable wrt security bug #362025 + + 26 Apr 2011; Kacper Kowalik <xarthisius@gentoo.org> perl-5.12.3-r1.ebuild: + ppc/ppc64 stable wrt #362025 + +*perl-5.12.3-r1 (25 Apr 2011) + + 25 Apr 2011; Torsten Veller <tove@gentoo.org> +perl-5.12.3-r1.ebuild: + Fix unwanted taint laundering in lc(), uc() et al. CVE-2011-1487 (#362025) + + 07 Mar 2011; Torsten Veller <tove@gentoo.org> perl-5.8.8-r8.ebuild, + perl-5.10.1.ebuild, -perl-5.12.2-r4.ebuild, -perl-5.12.2-r5.ebuild, + perl-5.12.2-r6.ebuild, perl-5.12.3.ebuild: + Drop -Dusrinc=$(get_ml_incdir) (#357737). Cleanup + + 22 Jan 2011; Raúl Porcel <armin76@gentoo.org> perl-5.12.2-r6.ebuild: + alpha/arm/ia64/m68k/s390/sh/sparc stable wrt #351699 + +*perl-5.12.3 (22 Jan 2011) + + 22 Jan 2011; Torsten Veller <tove@gentoo.org> +perl-5.12.3.ebuild: + Version bump + + 18 Jan 2011; Jeroen Roovers <jer@gentoo.org> perl-5.12.2-r6.ebuild: + Stable for HPPA (bug #351699). + + 18 Jan 2011; Christian Faulhammer <fauli@gentoo.org> + perl-5.12.2-r6.ebuild: + stable x86, security bug 351699 + + 15 Jan 2011; Markos Chandras <hwoarang@gentoo.org> perl-5.12.2-r6.ebuild: + Stable on amd64 wrt bug #351699 + + 15 Jan 2011; Kacper Kowalik <xarthisius@gentoo.org> perl-5.12.2-r6.ebuild: + ppc/ppc64 stable wrt #351699 + +*perl-5.12.2-r6 (15 Jan 2011) + + 15 Jan 2011; Torsten Veller <tove@gentoo.org> +perl-5.12.2-r6.ebuild: + Bump core CGI-3.51 (#351699) + + 13 Dec 2010; Torsten Veller <tove@gentoo.org> -perl-5.12.2-r1.ebuild, + -perl-5.12.2-r2.ebuild, -perl-5.12.2-r3.ebuild: + Cleanup + +*perl-5.12.2-r5 (13 Dec 2010) + + 13 Dec 2010; Torsten Veller <tove@gentoo.org> +perl-5.12.2-r5.ebuild: + Don't force -fstack-protector on everyone (#348557) + + 10 Dec 2010; Brent Baude <ranger@gentoo.org> perl-5.12.2-r4.ebuild: + Marking perl-5.12.2-r4 ppc64 for bug 345845 + + 04 Dec 2010; Raúl Porcel <armin76@gentoo.org> perl-5.12.2-r4.ebuild: + alpha/ia64/m68k/s390/sh/sparc stable wrt #345845 + + 01 Dec 2010; Markus Meier <maekke@gentoo.org> perl-5.12.2-r4.ebuild: + arm stable, bug #345845 + + 29 Nov 2010; Jeroen Roovers <jer@gentoo.org> perl-5.12.2-r4.ebuild: + Stable for HPPA (bug #345845). + + 29 Nov 2010; Jeroen Roovers <jer@gentoo.org> perl-5.12.2-r4.ebuild: + Stable for PPC (bug #345845). + + 29 Nov 2010; Markos Chandras <hwoarang@gentoo.org> perl-5.12.2-r4.ebuild: + Stable on amd64 wrt bug #345845 + + 29 Nov 2010; Pawel Hajdan jr <phajdan.jr@gentoo.org> + perl-5.12.2-r4.ebuild: + x86 stable wrt security bug #345845 + +*perl-5.12.2-r4 (28 Nov 2010) + + 28 Nov 2010; Torsten Veller <tove@gentoo.org> +perl-5.12.2-r4.ebuild: + Bump core CGI-3.50 (#345845) + + 15 Nov 2010; Torsten Veller <tove@gentoo.org> -perl-5.12.1-r1.ebuild, + -perl-5.12.1-r2.ebuild, -perl-5.12.2.ebuild: + Cleanup + + 13 Nov 2010; Raúl Porcel <armin76@gentoo.org> perl-5.12.2-r2.ebuild: + alpha/ia64/m68k/s390/sh/sparc stable wrt #340023 + +*perl-5.12.2-r3 (08 Nov 2010) + + 08 Nov 2010; Torsten Veller <tove@gentoo.org> +perl-5.12.2-r3.ebuild: + Remove the unneeded autoload section from Compress::Zlib (#344553) + + 06 Nov 2010; Markus Meier <maekke@gentoo.org> perl-5.12.2-r2.ebuild: + arm stable, bug #343795 + + 05 Nov 2010; Markos Chandras <hwoarang@gentoo.org> perl-5.12.2-r2.ebuild: + Stable on amd64 wrt bug #343795 + + 05 Nov 2010; Jeroen Roovers <jer@gentoo.org> perl-5.12.2-r2.ebuild: + Stable for HPPA PPC (bug #343795). + + 04 Nov 2010; Christian Faulhammer <fauli@gentoo.org> + perl-5.12.2-r2.ebuild: + stable x86, bug 343795 + +*perl-5.12.2-r2 (31 Oct 2010) + + 31 Oct 2010; Torsten Veller <tove@gentoo.org> +perl-5.12.2-r2.ebuild: + Fix regression: Add /usr/local/lib/site_perl and /etc/perl to INC + (#343225). enc2xs ignores missing @INC directories (#338802). Cleanup + MINIMAL_PERL_INSTALL. Backport patch for deprecated use of "goto" to jump + into a construct in h2ph + + 28 Oct 2010; Torsten Veller <tove@gentoo.org> perl-5.12.2-r1.ebuild: + Add Tie::Hash to MINIMAL_PERL_INSTALL + + 24 Oct 2010; Markus Meier <maekke@gentoo.org> perl-5.12.2-r1.ebuild: + arm stable, bug #340023 + + 24 Oct 2010; Jeroen Roovers <jer@gentoo.org> perl-5.12.2-r1.ebuild: + Stable for HPPA (bug #340023). + + 24 Oct 2010; Brent Baude <ranger@gentoo.org> perl-5.12.2-r1.ebuild: + Marking perl-5.12.2-r1 ppc for bug 340023 + + 22 Oct 2010; Samuli Suominen <ssuominen@gentoo.org> perl-5.12.2-r1.ebuild: + ppc64 stable wrt #340023 + + 22 Oct 2010; Markos Chandras <hwoarang@gentoo.org> perl-5.12.2-r1.ebuild: + Stable on amd64 wrt bug #340023 + + 22 Oct 2010; Christian Faulhammer <fauli@gentoo.org> + perl-5.12.2-r1.ebuild: + stable x86, bug 340023 + + 07 Oct 2010; Torsten Veller <tove@gentoo.org> perl-5.12.2-r1.ebuild: + Create VENDOR_ARCH to shut up a enc2xs file not found warning (#338802). + Raise perl-cleaner version + + 24 Sep 2010; Torsten Veller <tove@gentoo.org> perl-5.12.2-r1.ebuild: + Disable tests if run as root until there is a solution (#328793). Don't + try to create a link for missing cpan-run-perl manpage (#307179) + +*perl-5.12.2-r1 (21 Sep 2010) + + 21 Sep 2010; Torsten Veller <tove@gentoo.org> +perl-5.12.2-r1.ebuild: + Add LDFLAGS to ldflags and to lddlflags via config.over. Fixes bug #181435 + + 20 Sep 2010; Mart Raudsepp <leio@gentoo.org> perl-5.12.2.ebuild: + Add back ~mips wrt #288028 + +*perl-5.12.2 (07 Sep 2010) + + 07 Sep 2010; Torsten Veller <tove@gentoo.org> +perl-5.12.2.ebuild: + Version bump + +*perl-5.12.1-r2 (30 Aug 2010) + + 30 Aug 2010; Torsten Veller <tove@gentoo.org> +perl-5.12.1-r2.ebuild: + Only add debugging code if USE=debug is set. See bug 335213 + + 28 Jul 2010; Torsten Veller <tove@gentoo.org> -perl-5.12.1.ebuild, + perl-5.12.1-r1.ebuild: + Set scriptdir (#330119,#13920) + +*perl-5.12.1-r1 (20 Jul 2010) + + 20 Jul 2010; Torsten Veller <tove@gentoo.org> +perl-5.12.1-r1.ebuild: + Bump patchset. Fixes #329021 - Unquoted string "c" may clash with future + reserved word + + 15 Jul 2010; Torsten Veller <tove@gentoo.org> perl-5.12.1.ebuild: + Raise perl-cleaner version + +*perl-5.12.1 (19 Jun 2010) + + 19 Jun 2010; Torsten Veller <tove@gentoo.org> +perl-5.12.1.ebuild: + Version bump + + 31 Mar 2010; Raúl Porcel <armin76@gentoo.org> perl-5.8.8-r8.ebuild, + perl-5.10.1.ebuild: + Drop -O1 on arm/ia64 as it works fine + + 14 Mar 2010; Alexis Ballier <aballier@gentoo.org> perl-5.10.1.ebuild: + keyword ~x86-fbsd + + 15 Feb 2010; Torsten Veller <tove@gentoo.org> perl-5.10.1.ebuild: + Remind to run perl-cleaner (#305139) + + 13 Feb 2010; Torsten Veller <tove@gentoo.org> perl-5.10.1.ebuild: + Define man{1,3}{dir,ext} again + + 03 Feb 2010; Hanno Boeck <hanno@gentoo.org> perl-5.8.8-r8.ebuild, + perl-5.10.1.ebuild: + Change license, Perl is Artistic or GPL-1 or later. We can't express or + later for now, so adding all GPL-1/2/3. + + 24 Jan 2010; Brent Baude <ranger@gentoo.org> perl-5.10.1.ebuild: + Marking perl-5.10.1 ~ppc64 for bug 288028 + + 17 Jan 2010; Torsten Veller <tove@gentoo.org> -perl-5.8.8-r5.ebuild, + -perl-5.8.8-r6.ebuild, -files/perl-5.8.8-CAN-2005-0448-rmtree.patch: + Cleanup + + 10 Dec 2009; Brent Baude <ranger@gentoo.org> perl-5.8.8-r8.ebuild: + Marking perl-5.8.8-r8 ppc64 for bug 295028 + + 10 Dec 2009; Raúl Porcel <armin76@gentoo.org> perl-5.8.8-r8.ebuild: + alpha/ia64/m68k/s390/sh stable wrt #295028 + + 09 Dec 2009; nixnut <nixnut@gentoo.org> perl-5.8.8-r8.ebuild: + ppc stable #295028 + + 09 Dec 2009; Raúl Porcel <armin76@gentoo.org> perl-5.10.1.ebuild: + Add ~sh wrt #288028 + + 08 Dec 2009; Jeroen Roovers <jer@gentoo.org> perl-5.8.8-r8.ebuild: + Stable for HPPA (bug #295028). + + 08 Dec 2009; Tiago Cunha <tcunha@gentoo.org> perl-5.8.8-r8.ebuild: + stable sparc, bug 295028 + + 03 Dec 2009; Markus Meier <maekke@gentoo.org> perl-5.8.8-r8.ebuild: + amd64/arm/x86 stable, bug #295028 + + 16 Nov 2009; Raúl Porcel <armin76@gentoo.org> perl-5.10.1.ebuild: + Add ~alpha/~ia64/~s390/~sparc wrt #288028 + + 15 Nov 2009; Torsten Veller <tove@gentoo.org> perl-5.10.1.ebuild: + Add patch for ICE on ia64 (#293312) + + 15 Nov 2009; Raúl Porcel <armin76@gentoo.org> perl-5.10.1.ebuild: + Add ~m68k wrt #288028, thanks to kolla for testing + + 15 Nov 2009; Torsten Veller <tove@gentoo.org> perl-5.10.1.ebuild: + Disable parallel tests (#293241) + + 15 Nov 2009; Torsten Veller <tove@gentoo.org> perl-5.8.8-r8.ebuild, + +files/perl-5.8.8-libnet-hostname.patch: + Add libnet hostname patch from perl-core/libnet + + 14 Nov 2009; Torsten Veller <tove@gentoo.org> perl-5.8.8-r8.ebuild, + perl-5.10.1.ebuild: + Check for alternative scripts in ROOT + +*perl-5.8.8-r8 (14 Nov 2009) + + 14 Nov 2009; Torsten Veller <tove@gentoo.org> +perl-5.8.8-r8.ebuild: + Add alternatives script linking to perl-5.8.8 + + 11 Nov 2009; Christian Ruppert <idl0r@gentoo.org> + -files/perl-5.8.8-libbits.patch: + Remove obsolete patch. + + 04 Nov 2009; Michael Haubenwallner <haubi@gentoo.org> + files/perl-5.8.8-ccld-cflags.patch: + Respect CFLAGS also when linking executables, not just for libperl + + 04 Nov 2009; Michael Haubenwallner <haubi@gentoo.org> + perl-5.8.8-r6.ebuild, +files/perl-5.8.8-ccld-cflags.patch: + Respect CFLAGS even for linking when done with compiler + + 27 Oct 2009; Mounir Lamouri <volkmar@gentoo.org> perl-5.10.1.ebuild: + Keywording for ppc, bug 288028 + + 27 Oct 2009; Torsten Veller <tove@gentoo.org> perl-5.10.1.ebuild: + Fix RT69973: disable non-unicode case insensitive trie matching (#290194) + + 22 Oct 2009; Torsten Veller <tove@gentoo.org> perl-5.10.1.ebuild: + Fix warning: Rebuild packages linking libperl.so after toggling use flags + + 21 Oct 2009; Markus Meier <maekke@gentoo.org> perl-5.10.1.ebuild: + add ~amd64/~arm/~x86, bug #288028 + + 13 Oct 2009; Jeroen Roovers <jer@gentoo.org> perl-5.10.1.ebuild: + Marked ~hppa (bug #288028). + + 29 Sep 2009; Torsten Veller <tove@gentoo.org> perl-5.10.1.ebuild: + Rename and link the scripts from podlators too: pod2man and pod2text (#286962) + + 28 Sep 2009; Torsten Veller <tove@gentoo.org> perl-5.10.1.ebuild: + Bump perl patchset. Fixes bugs #286840, #286841 + + 28 Sep 2009; Torsten Veller <tove@gentoo.org> perl-5.8.8-r5.ebuild, + perl-5.8.8-r6.ebuild, perl-5.10.1.ebuild: + Bump perl-5.10.1 patchset. + Fix asm/page.h failure. Thanks to Alon Bar-Lev and Diego Pettenò. + (#259923, #286656, #249827, #265268) + +*perl-5.10.1 (27 Sep 2009) + + 27 Sep 2009; Torsten Veller <tove@gentoo.org> +perl-5.10.1.ebuild: + Version bump + + 30 Jul 2009; Torsten Veller <tove@gentoo.org> -perl-5.8.8-r7.ebuild: + Remove 5.8.8-r7 again + + 29 May 2009; Torsten Veller <tove@gentoo.org> perl-5.8.8-r6.ebuild, + perl-5.8.8-r7.ebuild, +files/perl-5.8.8-fix_file_path_chdir.patch: + Add another File-Path fix + + 27 May 2009; Torsten Veller <tove@gentoo.org> -perl-5.8.8-r2.ebuild, + -perl-5.8.8-r3.ebuild, -perl-5.8.8-r4.ebuild: + Cleanup + +*perl-5.8.8-r7 (27 May 2009) + + 27 May 2009; Torsten Veller <tove@gentoo.org> +perl-5.8.8-r7.ebuild: + PDEPENDS on CPAN, Encode, ExtUtils-MakeMaker + + 08 May 2009; Torsten Veller <tove@gentoo.org> + +files/perl-fix_h2ph_include_quote.patch, perl-5.8.8-r6.ebuild: + Fix h2ph to handle system headers with quotes + + 26 Apr 2009; Friedrich Oslage <bluebird@gentoo.org> + +files/perl-5.8.8-lib32.patch, files/perl-5.8.8-lib64.patch, + perl-5.8.8-r5, perl-5.8.8-r6: + Install libraries into the correct directory if libdir is lib32, simplify + the patches, bug #266052 + + 11 Mar 2009; Diego E. Pettenò <flameeyes@gentoo.org> + perl-5.8.8-r5.ebuild: + Backport to stable, too. + + 11 Mar 2009; Diego E. Pettenò <flameeyes@gentoo.org> + perl-5.8.8-r6.ebuild: + Fix logic for applying the lib64 patch, use get_libdir to decide (should + fix 32-bit userland profiles). + +*perl-5.8.8-r6 (28 Jan 2009) + + 28 Jan 2009; Torsten Veller <tove@gentoo.org> + +files/perl-5.8.8-CAN-2005-0448-rmtree-2.patch, +perl-5.8.8-r6.ebuild: + Fix #249629 - File::Path multiple symlink attack vulnerabilities + + 23 Aug 2008; Jeroen Roovers <jer@gentoo.org> metadata.xml: + Add GLEP 56 USE flag descriptions. Remove empty tag. + + 18 Jul 2008; Javier Villavicencio <the_paya@gentoo.org> + files/perl-5.8.8-fbsdhints.patch: + Updated fbsdhints patch, bug 225323. + + 05 Jul 2008; Stephanie Lockwood-Childs <wormo@gentoo.org> + perl-5.8.8-r2.ebuild, perl-5.8.8-r3.ebuild, perl-5.8.8-r4.ebuild, + perl-5.8.8-r5.ebuild: + Replaced reference to dead site http://perldoc.com with an equivalent + http://search.cpan.org url (bug #230881) + + 16 May 2008; Tobias Scherbaum <dertobi123@gentoo.org> + perl-5.8.8-r5.ebuild: + ppc stable, bug #219203 + + 15 May 2008; Raúl Porcel <armin76@gentoo.org> perl-5.8.8-r5.ebuild: + alpha/ia64 stable wrt security #219203 + + 14 May 2008; Markus Meier <maekke@gentoo.org> perl-5.8.8-r5.ebuild: + amd64 stable, bug #219203 + + 14 May 2008; Christian Faulhammer <opfer@gentoo.org> perl-5.8.8-r5.ebuild: + stable x86, security bug 219203 + + 14 May 2008; Markus Rothe <corsair@gentoo.org> perl-5.8.8-r5.ebuild: + Stable on ppc64; bug #219203 + + 14 May 2008; Ferris McCormick <fmccor@gentoo.org> perl-5.8.8-r5.ebuild: + Sparc stable, Security Bug #219203 (UTF regex problem) --- all tests good. + + 14 May 2008; Jeroen Roovers <jer@gentoo.org> perl-5.8.8-r5.ebuild: + Stable for HPPA (bug #219203). + +*perl-5.8.8-r5 (09 May 2008) + + 09 May 2008; Torsten Veller <tove@gentoo.org> + +files/perl-5.8.8-CVE-2008-1927.patch, +perl-5.8.8-r5.ebuild: + #219203 - Fix for CVE-2008-1927 + +*perl-5.8.8-r4 (19 Nov 2007) + + 19 Nov 2007; Christian Hartmann <ian@gentoo.org> +perl-5.8.8-r4.ebuild: + 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 + + 18 Nov 2007; Christian Hartmann <ian@gentoo.org> + +files/perl-5.8.8-lib64.patch: + Readding perl-5.8.8-lib64.patch; thanks angelos + + 18 Nov 2007; Christian Hartmann <ian@gentoo.org> perl-5.8.8-r2.ebuild, + perl-5.8.8-r3.ebuild: + Reverting solars changes; bug #199518 + + 18 Nov 2007; <solar@gentoo.org> -files/perl-5.8.8-lib64.patch, + +files/perl-5.8.8-libbits.patch, perl-5.8.8-r2.ebuild, + perl-5.8.8-r3.ebuild: + - fixed the lib64 patch that was breaking on amd64 32ul. + + 14 Nov 2007; Chris Gianelloni <wolf31o2@gentoo.org> perl-5.8.8-r3.ebuild: + Stable on amd64 wrt bug #198196. + + 13 Nov 2007; Tobias Scherbaum <dertobi123@gentoo.org> + perl-5.8.8-r3.ebuild: + ppc stable, bug #198196 + + 13 Nov 2007; Markus Rothe <corsair@gentoo.org> perl-5.8.8-r3.ebuild: + Stable on ppc64; bug #198196 + + 13 Nov 2007; Raúl Porcel <armin76@gentoo.org> perl-5.8.8-r3.ebuild: + alpha/ia64 stable wrt security #198196 + + 13 Nov 2007; Markus Meier <maekke@gentoo.org> perl-5.8.8-r3.ebuild: + x86 stable, security bug #198196 + + 13 Nov 2007; Jeroen Roovers <jer@gentoo.org> perl-5.8.8-r3.ebuild: + Stable for HPPA (bug #198196). Fixed many quoting issues. + + 12 Nov 2007; Ferris McCormick <fmccor@gentoo.org> perl-5.8.8-r3.ebuild: + Sparc stable --- Security Bug #198196 --- All tests and autotools good. + +*perl-5.8.8-r3 (12 Nov 2007) + + 12 Nov 2007; <cab@gentoo.org> +files/perl-5.8.8-utf8-boundary.patch, + +perl-5.8.8-r3.ebuild: + patch for bug #198196 + + 17 Oct 2007; Christian Hartmann <ian@gentoo.org> perl-5.8.8-r2.ebuild: + Fixed bug #194384 + + 19 Aug 2007; Christian Hartmann <ian@gentoo.org> + +files/perl-5.8.8-perlcc.patch, perl-5.8.8-r2.ebuild: + Fixed bug #181229 + + 16 Aug 2007; Zac Medico <zmedico@gentoo.org> perl-5.8.8-r2.ebuild: + Bug #187866 - Block Test-Harness, PodParser, and Locale-gettext when + the "build" flag is enabled since perl needs to be rebuilt first. + + 08 Aug 2007; Mike Frysinger <vapier@gentoo.org> perl-5.8.8-r2.ebuild: + Apply gcc-4.2 patch to everyone. + + 06 Aug 2007; Harald van Dijk <truedfx@gentoo.org> + +files/perl-5.8.8-makedepend-syntax.patch, perl-5.8.8-r2.ebuild: + Fix syntax error in makedepend.SH + + 06 Aug 2007; Christian Hartmann <ian@gentoo.org> perl-5.8.8-r2.ebuild: + Bug #187866 - added suggested fix + + 30 Apr 2007; <solar@gentoo.org> perl-5.8.8-r2.ebuild: + - filter ssp on ia64 due to ICE in compiler. revisit when we have a working + hardened gcc-4.x + + 30 Mar 2007; Michael Cummings <mcummings@gentoo.org> perl-5.8.8-r2.ebuild: + Bug 147184, thanks to jweckhart for the patch :) + + 08 Mar 2007; Michael Cummings <mcummings@gentoo.org> perl-5.8.8-r2.ebuild: + Change to the call for the lib64 patch to enable it for ppc64 - helps with + stage 1 building problems. Thanks ranger :) + + 07 Mar 2007; Chris Gianelloni <wolf31o2@gentoo.org> perl-5.8.8-r2.ebuild: + Change all instances of [ to [[. + + 04 Mar 2007; Michael Cummings <mcummings@gentoo.org> + +files/perl-5.8.8-asm-page-h-compile-failure.patch, perl-5.8.8-r2.ebuild: + Bug 168312, patch from Peter for >=2.6.20 kernel headers. + + 11 Feb 2007; Fabian Groffen <grobian@gentoo.org> perl-5.8.8-r2.ebuild: + Dropped ppc-macos keyword, see you in prefix + + 11 Jan 2007; Michael Cummings <mcummings@gentoo.org> perl-5.8.8-r2.ebuild: + Reverting changes made for bug 59328 until we can figure out why this breaks + under catalyst + + 09 Jan 2007; Michael Cummings <mcummings@gentoo.org> perl-5.8.8-r2.ebuild: + Bug 144965, adjusted gcc patch line + + 07 Jan 2007; Michael Cummings <mcummings@gentoo.org> perl-5.8.8-r2.ebuild: + Bug 160623, mistakenly removed the else block for noman + + 05 Jan 2007; Michael Cummings <mcummings@gentoo.org> perl-5.8.8-r2.ebuild: + Bug 59328, features=noman support + + 19 Nov 2006; Michael Cummings <mcummings@gentoo.org> + +files/perl-5.8.8-gcc42-command-line.patch, perl-5.8.8-r2.ebuild: + Bug 144965, gcc-4.2 bug/patch, patch provided by dirtyepic + + 18 Nov 2006; Michael Cummings <mcummings@gentoo.org> + -files/perl-5.8.7-CAN-2005-0448-rmtree.patch, + -files/perl-5.8.7-regexp-nossp.patch, -files/perl-5.8.7-tempfiles.patch, + -files/perl-exp_intwrap.patch, -files/perl-nonblock.patch, + -files/perl-reorder-INC.patch, perl-5.8.8-r2.ebuild: + Bug 150702; also cleaned up unused patches + + 23 Oct 2006; Michael Cummings <mcummings@gentoo.org> + -perl-5.8.7-r3.ebuild: + Removing old perl + + 17 Oct 2006; Roy Marples <uberlord@gentoo.org> perl-5.8.8-r2.ebuild: + Added ~sparc-fbsd keyword. + + 07 Oct 2006; Diego Pettenò <flameeyes@gentoo.org> perl-5.8.8-r2.ebuild: + Add a dependency on freebsd-mk-defs on FreeBSD. + + 18 Aug 2006; Michael Cummings <mcummings@gentoo.org> + -perl-5.8.7-r2.ebuild, perl-5.8.7-r3.ebuild, perl-5.8.8-r2.ebuild: + Cleaning up; bug 142940, updating h2ph options for multilib boxes + + 15 Aug 2006; Christian Hartmann <ian@gentoo.org> perl-5.8.8-r2.ebuild: + Fix bug #143895 + + 13 Aug 2006; <yuval@gentoo.org> perl-5.8.7-r2.ebuild, + perl-5.8.7-r3.ebuild, perl-5.8.8-r2.ebuild: + Bug #139478 - changed description. Thanks Marko Horvat for 'reporting'! ;) + + 11 Jul 2006; Michael Cummings <mcummings@gentoo.org> -perl-5.8.8.ebuild, + -perl-5.8.8-r1.ebuild: + Cleaning up + + 25 Jun 2006; Christian Hartmann <ian@gentoo.org> Manifest: + Removed obsolete patchfiles + + 24 Jun 2006; Michael Cummings <mcummings@gentoo.org> perl-5.8.7-r2.ebuild, + perl-5.8.7-r3.ebuild, perl-5.8.8.ebuild, perl-5.8.8-r1.ebuild, + perl-5.8.8-r2.ebuild: + Removing perl-core/ExtUtils-MakeMaker + + 18 Jun 2006; Bryan Østergaard <kloeri@gentoo.org> perl-5.8.8-r2.ebuild: + Stable on ia64. + + 14 Jun 2006; Michael Cummings <mcummings@gentoo.org> -files/perl-cleaner, + -perl-5.8.6-r5.ebuild, -perl-5.8.6-r6.ebuild, -perl-5.8.6-r7.ebuild, + -perl-5.8.6-r8.ebuild, -perl-5.8.7.ebuild, -perl-5.8.7-r1.ebuild: + Cleaning up + + 08 Jun 2006; Michael Cummings <mcummings@gentoo.org> perl-5.8.8-r2.ebuild: + Fixed pdepend to exclude build folks + + 07 Jun 2006; Joshua Kinard <kumba@gentoo.org> perl-5.8.8-r2.ebuild: + Marked stable on mips. + + 07 Jun 2006; <mcummings@gentoo.org> perl-5.8.8-r2.ebuild: + Following a conversation with agaffney, removed code that is dup'd from + libperl that was causing a loop in catalyst building - fixes help2man bugs - + bug 130248 in particular + + 03 Jun 2006; Guy Martin <gmsoft@gentoo.org> + +files/perl-hppa-pa7200-configure.patch, perl-5.8.8-r2.ebuild: + On PA7200, uname -a contains a single quote and we need to filter it + otherwise configure fails. See #125535. + + 30 May 2006; <mcummings@gentoo.org> perl-5.8.8-r2.ebuild: + Bug 134859, fixed USE=build removals on lib64 + + 27 May 2006; Bryan Østergaard <kloeri@gentoo.org> perl-5.8.8-r2.ebuild: + Stable on alpha. + + 27 May 2006; <mcummings@gentoo.org> perl-5.8.8-r2.ebuild: + Marking sparc stable + + 26 May 2006; Tobias Scherbaum <dertobi123@gentoo.org> + perl-5.8.8-r2.ebuild: + hppa stable + + 26 May 2006; Chris Gianelloni <wolf31o2@gentoo.org> perl-5.8.8-r2.ebuild: + Stable on amd64 and x86 wrt bug #133989. + + 26 May 2006; Diego Pettenò <flameeyes@gentoo.org> perl-5.8.8-r2.ebuild: + Re-add ~x86-fbsd keyword. + + 26 May 2006; Markus Rothe <corsair@gentoo.org> perl-5.8.8-r2.ebuild: + Stable on ppc64; bug #133989 + + 26 May 2006; <nixnut@gentoo.org> perl-5.8.8-r2.ebuild: + Stable on ppc. Bug #133989 + + 26 May 2006; <mcummings@gentoo.org> perl-5.8.8-r2.ebuild: + Bug 134359, -Dusenm + +*perl-5.8.8-r2 (26 May 2006) + + 26 May 2006; <mcummings@gentoo.org> +perl-5.8.8-r2.ebuild: + Bug 134363 - pdepends got lost. + + 25 May 2006; Guy Martin <gmsoft@gentoo.org> perl-5.8.8-r1.ebuild: + Stable on hppa. + + 24 May 2006; <nixnut@gentoo.org> perl-5.8.8-r1.ebuild: + Stable on ppc. bug #133989 + + 23 May 2006; Chris Gianelloni <wolf31o2@gentoo.org> perl-5.8.8-r1.ebuild: + Stable on x86 wrt bug #133989. + + 23 May 2006; <mcummings@gentoo.org> perl-5.8.8-r1.ebuild: + Marking stable sparc, bug 133989 + + 23 May 2006; Markus Rothe <corsair@gentoo.org> perl-5.8.8-r1.ebuild: + Stable on ppc64; bug #133989 + + 20 Apr 2006; Diego Pettenò <flameeyes@gentoo.org> perl-5.8.8-r1.ebuild: + Use realpath when available, rather than readlink -f, to support + Gentoo/FreeBSD. + + 31 Mar 2006; Diego Pettenò <flameeyes@gentoo.org> perl-5.8.8-r1.ebuild: + Add ~x86-fbsd keyword. + +*perl-5.8.8-r1 (29 Mar 2006) + + 29 Mar 2006; <mcumming@gentoo.org> +files/perl-5.8.8-cplusplus.patch, + +perl-5.8.8-r1.ebuild: + Patch 27203 in blead - fixes c++ problems in XS code :) + + 20 Feb 2006; Michael Cummings <mcummings@gentoo.org> + +files/perl-5.8.8-fbsdhints.patch, perl-5.8.8.ebuild: + Bug 122780, freebsd hints via flameeyes + + 20 Feb 2006; Michael Cummings <mcummings@gentoo.org> + +files/perl-5.8.8-dragonfly-clean.patch, perl-5.8.8.ebuild: + Bug 122706, dragonfly patches. Patch submitted upstream and here by + Robert Sebastian Gerus, should be available in blead now. + + 20 Feb 2006; Michael Cummings <mcummings@gentoo.org> perl-5.8.8.ebuild: + Updated perl-cleaner dep + + 15 Feb 2006; Michael Cummings <mcummings@gentoo.org> perl-5.8.8.ebuild: + Dropping PROVIDE, repoman rejoices, people return to normalcy + + 13 Feb 2006; Michael Cummings <mcummings@gentoo.org> perl-5.8.8.ebuild: + Updated virtuals per ciarnm's input + + 07 Feb 2006; Aron Griffis <agriffis@gentoo.org> perl-5.8.8.ebuild: + Prefer to avoid eval and use a bash array for myconf instead, it's less + error-prone + + 07 Feb 2006; Michael Cummings <mcummings@gentoo.org> perl-5.8.8.ebuild: + src update + + 07 Feb 2006; <mcumming@gentoo.org> perl-5.8.8.ebuild: + Style fixes to 5.8.8, thanks az + +*perl-5.8.8 (07 Feb 2006) + + 07 Feb 2006; Michael Cummings <mcummings@gentoo.org> + +files/perl-5.8.8-CAN-2005-0448-rmtree.patch, + +files/perl-5.8.8-USE_MM_LD_RUN_PATH.patch, +files/perl-5.8.8-lib64.patch, + +files/perl-5.8.8-links.patch, +files/perl-5.8.8-reorder-INC.patch, + -files/perl-5.8.8_rc1-CAN-2005-0448-rmtree.patch, + -files/perl-5.8.8_rc1-reorder-INC.patch, -perl-5.8.8_rc1.ebuild, + +perl-5.8.8.ebuild: + Perl 5.8.8, with amd64 fixes, RUNPATH fixes, a completely reversed INC, and + a shiny set of changes. + + 24 Jan 2006; Michael Cummings <mcummings@gentoo.org> + +files/perl-5.8.8_rc1-reorder-INC.patch, perl-5.8.8_rc1.ebuild: + Some tweaks to perl-5.8.8 installation + +*perl-5.8.8_rc1 (22 Jan 2006) + + 22 Jan 2006; Michael Cummings <mcummings@gentoo.org> + +files/perl-5.8.8_rc1-CAN-2005-0448-rmtree.patch, + +files/perl-regexp-nossp.patch, +perl-5.8.8_rc1.ebuild: + RC1 of perl 5.8.8 + + 21 Jan 2006; Markus Rothe <corsair@gentoo.org> perl-5.8.7-r3.ebuild: + Stable on ppc64 + + 16 Jan 2006; Michael Cummings <mcummings@gentoo.org> perl-5.8.6-r8.ebuild, + perl-5.8.7-r3.ebuild: + Minor addition of enc2xs, doesn't impact anything, just placing into ebuild + for later reference + + 15 Jan 2006; Michael Cummings <mcummings@gentoo.org> perl-5.8.7-r3.ebuild: + Bug 110363, thanks to Nathan and Rene for noting the typo in the minimal + section + + 14 Jan 2006; Torsten Veller <tove@gentoo.org> perl-5.8.7-r3.ebuild: + Stable on x86 (#118938) + + 25 Dec 2005; Joshua Kinard <kumba@gentoo.org> perl-5.8.6-r8.ebuild, + perl-5.8.7-r3.ebuild: + Mark 5.8.6-r8 && 5.8.7-r3 stable on mips. + + 14 Dec 2005; <mcumming@gentoo.org> perl-5.8.7-r3.ebuild: + Bug 115503, better if-clause for nossp patch + + 07 Dec 2005; Jason Wever <weeve@gentoo.org> perl-5.8.7-r3.ebuild: + Stable on SPARC wrt bug #114113. + + 07 Dec 2005; Mark Loeser <halcy0n@gentoo.org> perl-5.8.6-r8.ebuild: + Stable on x86; bug #114113 + + 07 Dec 2005; Jose Luis Rivero <yoswink@gentoo.org> perl-5.8.7-r3.ebuild: + Stable on alpha wrt security bug #114113 + + 06 Dec 2005; Michael Hanselmann <hansmi@gentoo.org> perl-5.8.7-r3.ebuild: + Stable on hppa, ppc. + + 06 Dec 2005; Marcus D. Hanwell <cryos@gentoo.org> perl-5.8.7-r3.ebuild: + Stable on amd64, bug 114113. + + 06 Dec 2005; Markus Rothe <corsair@gentoo.org> perl-5.8.6-r8.ebuild: + Stable on ppc64; bug #114113 + +*perl-5.8.7-r3 (06 Dec 2005) + + 06 Dec 2005; <mcumming@gentoo.org> files/perl-exp_intwrap.patch, + +perl-5.8.7-r3.ebuild: + More bug 114113 work. Patch updated, segfaults are all handled now with + cleaner exit/messages. test with perl -e 'printf("%2147483647$n");' or perl + -e 'printf "%4294967295d"' before and after upgrading to demonstrate + + 05 Dec 2005; <mcumming@gentoo.org> perl-5.8.6-r5.ebuild, + perl-5.8.6-r6.ebuild, perl-5.8.6-r7.ebuild, perl-5.8.7-r1.ebuild, + perl-5.8.7-r2.ebuild, perl-5.8.7.ebuild: + Bug 113930, case statement for non-linux. Also (finally) a fix for the + installmanpaths (personal bug) + + 05 Dec 2005; <mcummings@gentoo.org> perl-5.8.6-r7.ebuild, + perl-5.8.7-r2.ebuild: + Mistaken commit missed the picdl patch (was working on bug 65624, which this + patch appears to cause a seg fault with) + + 02 Dec 2005; Joseph Jezak <josejx@gentoo.org> perl-5.8.6-r7.ebuild: + Marked ppc stable for bug #114113. + + 01 Dec 2005; Andrej Kacian <ticho@gentoo.org> perl-5.8.6-r7.ebuild: + Stable on x86, bug #114113. + + 01 Dec 2005; <dang@gentoo.org> perl-5.8.7-r2.ebuild: + Marked stable on amd64 + + 01 Dec 2005; Markus Rothe <corsair@gentoo.org> perl-5.8.7-r2.ebuild: + Stable on ppc64; bug #114113 + + 01 Dec 2005; Gustavo Zacarias <gustavoz@gentoo.org> perl-5.8.7-r2.ebuild: + Stable on sparc wrt security #114113 + +*perl-5.8.7-r2 (01 Dec 2005) + + 01 Dec 2005; <mcumming@gentoo.org> +files/perl-exp_intwrap.patch, + +perl-5.8.6-r7.ebuild, +perl-5.8.7-r2.ebuild: + Bug 114113, perl-exp_intwrap patch + + 14 Nov 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.6-r5.ebuild, + perl-5.8.6-r6.ebuild, perl-5.8.7.ebuild, perl-5.8.7-r1.ebuild: + NetBSD for osname per thunder + + 12 Nov 2005; Chris White <chriswhite@gentoo.org> perl-5.8.6-r6.ebuild: + Backported some get_libdir functionality from 5.8.7 to 5.8.6-r6 to resolve + bug #112243. This is mainly a multi-lib support fix it seems. + + 02 Oct 2005; Bryan Østergaard <kloeri@gentoo.org> perl-5.8.7-r1.ebuild: + Stable on ia64, bug 106678. + + 29 Sep 2005; Aaron Walker <ka0ttic@gentoo.org> perl-5.8.6-r6.ebuild: + Stable on mips for bug #106678. + + 23 Sep 2005; Bryan Østergaard <kloeri@gentoo.org> perl-5.8.7-r1.ebuild: + Stable on alpha, bug 106678. + + 21 Sep 2005; Seemant Kulleen <seemant@gentoo.org> perl-5.8.6-r6.ebuild: + stable on amd64 wrt bug #106678 + + 21 Sep 2005; Gustavo Zacarias <gustavoz@gentoo.org> perl-5.8.7-r1.ebuild: + Stable on sparc wrt #106678 + + 20 Sep 2005; Chris Gianelloni <wolf31o2@gentoo.org> perl-5.8.6-r6.ebuild: + Marking stable on x86 for bug #106678. + + 20 Sep 2005; Rene Nussbaumer <killerfox@gentoo.org> perl-5.8.6-r6.ebuild: + Stable on hppa. bug #106678 + + 20 Sep 2005; Markus Rothe <corsair@gentoo.org> perl-5.8.7-r1.ebuild: + Stable on ppc64 (bug #106678) + + 20 Sep 2005; Michael Hanselmann <hansmi@gentoo.org> perl-5.8.6-r6.ebuild: + Stable on ppc. + +*perl-5.8.7-r1 (20 Sep 2005) +*perl-5.8.6-r6 (20 Sep 2005) + + 20 Sep 2005; Martin Schlemmer <azarah@gentoo.org> + +files/perl-5.8.7-MakeMaker-RUNPATH.patch, +perl-5.8.6-r6.ebuild, + +perl-5.8.7-r1.ebuild: + We do not want the build root in the linked perl module's RUNPATH, so + strip paths containing PORTAGE_TMPDIR if its set. This is for the + MakeMaker module, bug #105054. + + 05 Sep 2005; Herbie Hopkins <herbs@gentoo.org> perl-5.8.7.ebuild: + More multilib fixes thanks to Christophe Saout, bug 104509. + + 04 Sep 2005; Elfyn McBratney <beu@gentoo.org> + files/perl-5.8.7-regexp-nossp.patch: + Fix patch to cflags.SH (don't assume /bin/sh is bash). + + 04 Sep 2005; Elfyn McBratney <beu@gentoo.org> perl-5.8.6-r5.ebuild, + perl-5.8.7.ebuild: + Drop DEPEND on sys-apps/groff. + + 01 Sep 2005; Joseph Jezak <josejx@gentoo.org> perl-5.8.6-r5.ebuild, + perl-5.8.7.ebuild: + Filtered -mpowerpc-gpopt on ppc to fix bug #97645. + + 14 Aug 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.7.ebuild: + The rest of the patch for bug 58931 + + 14 Aug 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.6-r5.ebuild, + perl-5.8.7.ebuild: + Bug #97894 - added note regarding minimal means minimal + + 12 Aug 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.7.ebuild: + Further bug #58931 - mistake on my part for the LIBPERL= syntax + + 12 Aug 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.7.ebuild: + getlibdir changes for 5.8.7, bug #58931 + + 08 Aug 2005; Thierry Carrez <koon@gentoo.org> perl-5.8.6-r5.ebuild, + perl-5.8.7.ebuild: + Reverting vapier's features_noman change on the groff dependency, which + results in bug 101088. + + 28 Jul 2005; Michael Cummings <mcummings@gentoo.org> + files/perl-reorder-INC.patch, -perl-5.8.5-r5.ebuild, -perl-5.8.6-r4.ebuild: + Update to reorder patch, tested with 5.8.6 and 5.8.7, resolves bug 95770 + + 28 Jul 2005; Michael Cummings <mcummings@gentoo.org> -perl-5.8.5-r5.ebuild, + -perl-5.8.6-r4.ebuild: + Cleaning up now that we have keywords up to date + + 28 Jul 2005; Herbie Hopkins <herbs@gentoo.org> perl-5.8.6-r5.ebuild: + Stable on amd64. + + 07 Jul 2005; Markus Rothe <corsair@gentoo.org> perl-5.8.6-r5.ebuild: + Stable on ppc64 + + 06 Jul 2005; <plasmaroo@gentoo.org> perl-5.8.6-r5.ebuild: + Stable on IA64. + + 06 Jul 2005; Chris Gianelloni <wolf31o2@gentoo.org> perl-5.8.6-r5.ebuild: + Stable on arm, m68k, s390, and sh. + + 05 Jul 2005; Hardave Riar <hardave@gentoo.org> perl-5.8.6-r5.ebuild: + Stable on mips. + + 03 Jul 2005; Michael Hanselmann <hansmi@gentoo.org> perl-5.8.6-r5.ebuild: + Stable on ppc. + + 02 Jul 2005; Bryan Østergaard <kloeri@gentoo.org> perl-5.8.6-r5.ebuild: + Stable on alpha. + + 02 Jul 2005; Rene Nussbaumer <killerfox@gentoo.org> perl-5.8.6-r5.ebuild: + Stable on hppa. + +*perl-5.8.6-r5 (30 Jun 2005) + + 30 Jun 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.6-r4.ebuild, + +perl-5.8.6-r5.ebuild: + Sorry folks, there was a typo in libperl-5.8.6s ebuild that made this + necessary. + +*perl-5.8.7 (29 Jun 2005) + + 29 Jun 2005; Michael Cummings <mcummings@gentoo.org> + -files/perl-5.8.0-RC2-special-h2ph-not-failing-on-machine_ansi_header.patc + h, -files/perl-5.8.2-perldoc-emptydirs.patch, + -files/perl-5.8.2-picdl.patch, -files/perl-5.8.2-prelink-lpthread.patch, + -files/perl-5.8.2-reorder-INC.patch, -files/perl-5.8.2-uclibc.patch, + -files/perl-5.8.4-noksh.patch, -files/perl-5.8.4-nonblock.patch, + -files/perl-5.8.4-perldoc-emptydirs.patch, -files/perl-5.8.4-picdl.patch, + -files/perl-5.8.4-prelink-lpthread.patch, + -files/perl-5.8.4-reorder-INC.patch, -files/perl-5.8.5-noksh.patch, + -files/perl-5.8.5-nonblock.patch, + -files/perl-5.8.5-perldoc-emptydirs.patch, -files/perl-5.8.5-picdl.patch, + -files/perl-5.8.5-prelink-lpthread.patch, + -files/perl-5.8.5-reorder-INC.patch, -files/perl-5.8.6-noksh.patch, + -files/perl-5.8.6-perldoc-emptydirs.patch, -files/perl-5.8.6-picdl.patch, + -files/perl-5.8.6-prelink-lpthread.patch, + -files/perl-5.8.6-reorder-INC.patch, + +files/perl-5.8.7-CAN-2005-0448-rmtree.patch, + +files/perl-5.8.7-tempfiles.patch, -files/libperl_rebuilder, + +files/perl-h2ph-ansi-header.patch, +files/perl-noksh.patch, + +files/perl-nonblock.patch, +files/perl-perldoc-emptydirs.patch, + +files/perl-picdl.patch, +files/perl-prelink-lpthread.patch, + +files/perl-reorder-INC.patch, +files/perl-tempfiles.patch, + +files/perl-uclibc.patch, -files/stat.t, -perl-5.8.2-r4.ebuild, + -perl-5.8.4-r4.ebuild, perl-5.8.5-r5.ebuild, perl-5.8.6-r4.ebuild, + +perl-5.8.7.ebuild: + Perl 5.8.6 unmasking, perl 5.8.7 addition + + 05 Jun 2005; Michael Cummings <mcummings@gentoo.org> files/perl-cleaner: + Bug 90502 - don't leave behind empty log files if nothing has been done + + 30 May 2005; Michael Cummings <mcummings@gentoo.org> files/perl-cleaner, + perl-5.8.2-r4.ebuild, perl-5.8.4-r4.ebuild, perl-5.8.5-r5.ebuild, + perl-5.8.6-r4.ebuild: + Updated perl-cleaner to remove the emptied dirs after a .ph purge + + 29 May 2005; <solar@gentoo.org> perl-5.8.2-r4.ebuild, perl-5.8.4-r4.ebuild, + perl-5.8.5-r5.ebuild, perl-5.8.6-r4.ebuild: + - update perl to use libc expanded variable elibc_uclibc vs uclibc so USE=-* + works + + 25 May 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.6-r4.ebuild: + dev-perl/ExtUtils-MakeMaker => perl-core/ExtUtils-MakeMaker migration + + 25 May 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.5-r5.ebuild: + dev-perl/ExtUtils-MakeMaker => perl-core/ExtUtils-MakeMaker migration + + 25 May 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.4-r4.ebuild: + dev-perl/ExtUtils-MakeMaker => perl-core/ExtUtils-MakeMaker migration + + 25 May 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.2-r4.ebuild: + dev-perl/ExtUtils-MakeMaker => perl-core/ExtUtils-MakeMaker migration + + 25 May 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.6-r4.ebuild: + dev-perl/Test-Simple => perl-core/Test-Simple migration + + 25 May 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.5-r5.ebuild: + dev-perl/Test-Simple => perl-core/Test-Simple migration + + 25 May 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.4-r4.ebuild: + dev-perl/Test-Simple => perl-core/Test-Simple migration + + 25 May 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.2-r4.ebuild: + dev-perl/Test-Simple => perl-core/Test-Simple migration + + 25 May 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.6-r4.ebuild: + dev-perl/File-Spec => perl-core/File-Spec migration + + 25 May 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.5-r5.ebuild: + dev-perl/File-Spec => perl-core/File-Spec migration + + 25 May 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.4-r4.ebuild: + dev-perl/File-Spec => perl-core/File-Spec migration + + 25 May 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.2-r4.ebuild: + dev-perl/File-Spec => perl-core/File-Spec migration + + 23 May 2005; Herbie Hopkins <herbs@gentoo.org> perl-5.8.6-r4.ebuild: + More get_libdir-ization, fixes compilation on amd64's no-lib32 profile. + + 16 May 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.2-r4.ebuild, + perl-5.8.4-r4.ebuild, perl-5.8.5-r5.ebuild, perl-5.8.6-r4.ebuild: + Last toolchain-funcs fix + + 15 May 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.2-r4.ebuild, + perl-5.8.4-r4.ebuild, perl-5.8.5-r5.ebuild, perl-5.8.6-r4.ebuild: + Changed to toolchain-funcs + + 20 Mar 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.2-r4.ebuild, + perl-5.8.4-r4.ebuild, perl-5.8.5-r5.ebuild, perl-5.8.6-r4.ebuild: + bug 81947 - replaced filesdir with generic cat/pkg + + 11 Mar 2005; Michael Cummings <mcummings@gentoo.org> + files/CAN-2005-0448-rmtree.patch, perl-5.8.2-r4.ebuild, + perl-5.8.4-r4.ebuild, perl-5.8.5-r5.ebuild, perl-5.8.6-r4.ebuild: + Patch is in the right place and works on any arch. Yay. + + 11 Mar 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.2-r4.ebuild, + perl-5.8.4-r4.ebuild, perl-5.8.5-r5.ebuild, perl-5.8.6-r4.ebuild: + The last rmtree patch contains a line that checks <archname>/Errno.pm in + your existing perl install. If your kernel changes between perl installs, it + dies horribly. Need to find a cleaner solution first. For everyone that just + bumped their perls, I am terribly sorry that this wasn't realized earlier. + + 11 Mar 2005; Michael Cummings <mcummings@gentoo.org> -perl-5.8.2-r2.ebuild, + -perl-5.8.2-r3.ebuild, -perl-5.8.4-r2.ebuild, -perl-5.8.4-r3.ebuild, + -perl-5.8.5-r3.ebuild, -perl-5.8.5-r4.ebuild, -perl-5.8.6-r2.ebuild, + -perl-5.8.6-r3.ebuild: + Cleaning out old ebuilds - no keyword changes :) + +*perl-5.8.6-r4 (11 Mar 2005) + + 11 Mar 2005; Michael Cummings <mcummings@gentoo.org> + +files/CAN-2005-0448-rmtree.patch, perl-5.8.2-r2.ebuild, + perl-5.8.2-r3.ebuild, +perl-5.8.2-r4.ebuild, perl-5.8.4-r2.ebuild, + perl-5.8.4-r3.ebuild, +perl-5.8.4-r4.ebuild, perl-5.8.5-r3.ebuild, + perl-5.8.5-r4.ebuild, +perl-5.8.5-r5.ebuild, perl-5.8.6-r2.ebuild, + perl-5.8.6-r3.ebuild, +perl-5.8.6-r4.ebuild: + Version bump to finalize patch + + 11 Mar 2005; Michael Cummings <mcummings@gentoo.org> + +files/CAN-2005-0448-rmtree.patch, perl-5.8.2-r2.ebuild, + perl-5.8.2-r3.ebuild, perl-5.8.4-r2.ebuild, perl-5.8.4-r3.ebuild, + perl-5.8.5-r3.ebuild, perl-5.8.5-r4.ebuild, perl-5.8.6-r2.ebuild, + perl-5.8.6-r3.ebuild: + Changed file_path_rmtree to CAN-2005-0448-rmtree.patch per bug 79685 + + 08 Mar 2005; Jeremy Huddleston <eradicator@gentoo.org> + perl-5.8.6-r3.ebuild: + More multilib fixes. + +*perl-5.8.5-r4 (11 Feb 2005) + + 11 Feb 2005; Michael Cummings <mcummings@gentoo.org> perl-5.8.2-r2.ebuild, + +perl-5.8.2-r3.ebuild, perl-5.8.4-r2.ebuild, +perl-5.8.4-r3.ebuild, + perl-5.8.5-r3.ebuild, +perl-5.8.5-r4.ebuild, perl-5.8.6-r2.ebuild, + +perl-5.8.6-r3.ebuild: + Bug 80460 - CAN-2005-015{5,6} - perlsuid patch. Bug 62321, 65317 - Removal of + old .ph files after an upgrade. Bug 72977 - modifications to allow for perl + 5.8.0 and multithreaded perls to use the perl-inc patch. In addition, modified + the perl-cleaner message to display only if @INC included more than the + current install's perl (ie, only if this was an upgrade that left files + behind). + + 05 Feb 2005; Michael Cummings <mcummings@gentoo.org> + +files/CAN-2005-0156-suid.patch, perl-5.8.2-r2.ebuild, + perl-5.8.4-r2.ebuild, perl-5.8.5-r3.ebuild, perl-5.8.6-r2.ebuild: + Bug 80460, perlsuid vulnerability + + 05 Feb 2005; Michael Cummings <mcummings@gentoo.org> + -perl-5.8.2-r1.ebuild, -perl-5.8.4-r1.ebuild, -perl-5.8.5-r1.ebuild, + -perl-5.8.5-r2.ebuild, -perl-5.8.5.ebuild, -perl-5.8.6-r1.ebuild, + -perl-5.8.6.ebuild: + Cleaning up old, unused ebuilds + + 31 Jan 2005; Michael Cummings <mcummings@gentoo.org> files/perl-cleaner: + swtaylor came up with a quicker way to generate the module list, plus a more + secure call for making the tmp files + + 27 Jan 2005; Michael Cummings <mcummings@gentoo.org> files/perl-cleaner: + Code cleanup thanks to Mr.B. *MAJOR* typo in the filename for the prelist of + ebuilds to re-emerge resulted in no ebuilds getting re-emerged... + + 26 Jan 2005; Michael Cummings <mcummings@gentoo.org> files/perl-cleaner: + tmpdir fix - thanks Mr. B. + +*perl-5.8.4-r2 (26 Jan 2005) + + 26 Jan 2005; Michael Cummings <mcummings@gentoo.org> + +files/file_path_rmtree.patch, files/libperl_rebuilder, files/perl-cleaner, + +perl-5.8.2-r2.ebuild, +perl-5.8.4-r2.ebuild, +perl-5.8.5-r3.ebuild, + +perl-5.8.6-r2.ebuild: + Bump for bug 75696 involving temporary file perms in File::Path. Includes + fixes for h2ph conversion, bug 75955 Includes change over to perl-cleaner from + libperl_rebuilder, bugs 60447, 62301, 62669, 66688, 73932, 71287 + + 16 Jan 2005; Jeremy Huddleston <eradicator@gentoo.org> + perl-5.8.5-r2.ebuild, perl-5.8.6-r1.ebuild, perl-5.8.6.ebuild: + multilib fixes for amd64's 2005.0. + + 29 Dec 2004; Ciaran McCreesh <ciaranm@gentoo.org> : + Change encoding to UTF-8 for GLEP 31 compliance + + 07 Dec 2004; Hardave Riar <hardave@gentoo.org> perl-5.8.5-r2.ebuild: + Stable on mips, bug #66360 + + 06 Dec 2004; Gustavo Zacarias <gustavoz@gentoo.org> perl-5.8.5-r2.ebuild: + Stable on sparc wrt #66360 + + 05 Dec 2004; Bryan Østergaard <kloeri@gentoo.org> perl-5.8.5-r2.ebuild: + Stable on alpha, bug 66360. + + 05 Dec 2004; Markus Rothe <corsair@gentoo.org> perl-5.8.5-r2.ebuild: + Stable on ppc64; bug #66360 + +*perl-5.8.5-r2 (04 Dec 2004) + + 04 Dec 2004; Robert Coie <rac@gentoo.org> + +files/perl-5.8.5-tempfiles.patch, +files/perl-5.8.6-tempfiles.patch, + -perl-5.8.4.ebuild, +perl-5.8.5-r2.ebuild, +perl-5.8.6-r1.ebuild: + Add the few relevant bits from bug 66360, keyword 5.8.5-r2 x86, amd64 and ppc + + 01 Dec 2004; Robert Coie <rac@gentoo.org> perl-5.8.6.ebuild: + back makemaker block to 6.17 + +*perl-5.8.6 (30 Nov 2004) + + 30 Nov 2004; Robert Coie <rac@gentoo.org> +files/perl-5.8.6-noksh.patch, + +files/perl-5.8.6-perldoc-emptydirs.patch, +files/perl-5.8.6-picdl.patch, + +files/perl-5.8.6-prelink-lpthread.patch, + +files/perl-5.8.6-reorder-INC.patch, +perl-5.8.6.ebuild: + New upstream + + 13 Nov 2004; Robert Coie <rac@gentoo.org> perl-5.8.5-r1.ebuild: + Go ahead and use the myarch that exists + +*perl-5.8.5-r1 (12 Nov 2004) + + 12 Nov 2004; Robert Coie <rac@gentoo.org> -perl-5.8.3.ebuild, + +perl-5.8.5-r1.ebuild: + Allow the maketest FEATURE to determine whether tests are run. Guide + Configure to attempt to pick up old 5.8.2 and 5.8.4 directories in @INC + + 25 Oct 2004; Michael Cummings <mcummings@gentoo.org> perl-5.8.2-r1.ebuild, + perl-5.8.3.ebuild, perl-5.8.4-r1.ebuild, perl-5.8.4.ebuild, + perl-5.8.5.ebuild: + Cleaner h2ph, should reduce build time but leave us with something still + usable. + + 06 Oct 2004; Guy Martin <gmsoft@gentoo.org> perl-5.8.4-r1.ebuild: + Stable on hppa. + + 28 Sep 2004; Michael Cummings <mcummings@gentoo.org> perl-5.8.2-r1.ebuild, + perl-5.8.3.ebuild, perl-5.8.4-r1.ebuild, perl-5.8.4.ebuild, + perl-5.8.5.ebuild: + Added back perlsuid/sperl based on local use flag. Bug 64823. Users should + read http://perldoc.com/perl5.8.4/INSTALL.html#suidperl before enabling. + + 27 Sep 2004; Mike Frysinger <vapier@gentoo.org> perl-5.8.2-r1.ebuild, + perl-5.8.3.ebuild, perl-5.8.4-r1.ebuild, perl-5.8.4.ebuild, + perl-5.8.5.ebuild: + Add libperl to RDEPEND (since pkg_setup will die otherwise) and make sure + pkg_setup() respects $ROOT. + + 27 Sep 2004; Michael Cummings <mcummings@gentoo.org> perl-5.8.2-r1.ebuild, + perl-5.8.3.ebuild, perl-5.8.4-r1.ebuild, perl-5.8.4.ebuild, + perl-5.8.5.ebuild: + Added perl debugging support, bug 60775 + + 24 Sep 2004; Robert Coie <rac@gentoo.org> perl-5.8.4-r1.ebuild, + perl-5.8.5.ebuild: + Make gdbm patch conditional on having 1.8.3, because libgdbm_compat isn't + there otherwise, should not affect people who have already built. Made 5.8.5 + depend on 1.8.3 instead. Again, should not affect installed people. + + 22 Sep 2004; Robert Coie <rac@gentoo.org> perl-5.8.2-r1.ebuild, + perl-5.8.3.ebuild, perl-5.8.4-r1.ebuild, perl-5.8.4.ebuild, + perl-5.8.5.ebuild: + USE threads -> ithreads + + 21 Sep 2004; Danny van Dyk <kugelfang@gentoo.org> perl-5.8.4-r1.ebuild: + Marked stable on amd64. + + 09 Sep 2004; Gustavo Zacarias <gustavoz@gentoo.org> perl-5.8.4-r1.ebuild: + Stable on sparc to finally solve #36478 + + 08 Sep 2004; Robert Coie <rac@gentoo.org> perl-5.8.4-r1.ebuild: + keyword x86 and arm for uclibc folks + + 06 Sep 2004; Ciaran McCreesh <ciaranm@gentoo.org> perl-5.8.2-r1.ebuild, + perl-5.8.3.ebuild, perl-5.8.4-r1.ebuild, perl-5.8.4.ebuild, + perl-5.8.5.ebuild: + Switch to use epause and ebeep, bug #62950 + + 31 Aug 2004; Guy Martin <gmsoft@gentoo.org> perl-5.8.4.ebuild, + perl-5.8.5.ebuild: + Removed useless -fPIC for hppa. + + 21 Aug 2004; Joshua Kinard <kumba@gentoo.org> perl-5.8.4-r1.ebuild: + Marked stable on mips. + + 18 Aug 2004; Aron Griffis <agriffis@gentoo.org> perl-5.8.4-r1.ebuild: + stable on alpha + + 13 Aug 2004; Bryan Østergaard <kloeri@gentoo.org> perl-5.8.4.ebuild: + Stable on alpha. + + 07 Aug 2004; Robert Coie <rac@gentoo.org> perl-5.8.2-r1.ebuild, + perl-5.8.3.ebuild, perl-5.8.4-r1.ebuild, perl-5.8.4.ebuild: + convert SHORT_PV and MY_P to bash + +*perl-5.8.5 (06 Aug 2004) + + 06 Aug 2004; Robert Coie <rac@gentoo.org> +files/perl-5.8.5-noksh.patch, + +files/perl-5.8.5-nonblock.patch, +files/perl-5.8.5-perldoc-emptydirs.patch, + +files/perl-5.8.5-picdl.patch, +files/perl-5.8.5-prelink-lpthread.patch, + +files/perl-5.8.5-reorder-INC.patch, +perl-5.8.5.ebuild: + 5.8.5 + + 02 Aug 2004; Robert Coie <rac@gentoo.org> +files/perl-5.8.4-nonblock.patch, + perl-5.8.4-r1.ebuild: + add nonblock.patch, primarily for sparc64 + + 29 Jul 2004; Guy Martin <gmsoft@gentoo.org> perl-5.8.4.ebuild: + Stable on hppa. + +*perl-5.8.4-r1 (29 Jul 2004) + + 29 Jul 2004; Robert Coie <rac@gentoo.org> +perl-5.8.4-r1.ebuild: + Move make test to src_test, but still call it if the maketest + FEATURE is not enabled. If maketest ever becomes a default, this + can be reconsidered. The NDBM-GDBM patch in bug 52660 is in here, + and gdbm is allowed to provide ndbm, as it works for me with either + 1.8.0-r5 (so2) or 1.8.3 (so3). So to get ndbm, one must either + USE=berkdb and have db1 installed, or USE=gdbm in which case gdbm + will come in. The man page fixes from bug 58620 are in. + src_configure has been split out of src_compile in preparation for + making compiles more easily resumable. An issue genone brought up + where hardlinks aren't making it through portage's staging image has + been addressed by making /usr/bin/perl a symlink to perl5.8.4 + instead of a hardlink. The same issue was faced with suidperl, + which has been removed completely to preemptively avoid security + issues. sperl${PV} is gone too, in favor of the perl recommendation + to use sudo instead of having setuid perl executables. I hope this + will help security, but it can be restored if there is enough + demand. + + 23 Jul 2004; Robert Coie <rac@gentoo.org> perl-5.8.4.ebuild: + keywording x86 and sparc + + 02 Jul 2004; <solar@gentoo.org> perl-5.8.4.ebuild: + don't call perl to install manfiles when FEATURES=noman is set. testing of the + perl can be disable now with restrictions + + 29 Jun 2004; Aron Griffis <agriffis@gentoo.org> perl-5.8.2-r1.ebuild, + perl-5.8.3.ebuild, perl-5.8.4.ebuild: + kill sparc64 use flag + + 25 Jun 2004; <solar@gentoo.org> perl-5.8.4.ebuild: + uclibc update + + 24 Jun 2004; <solar@gentoo.org> perl-5.8.4.ebuild: + added uclibc update for 5.8.4 + + 15 Jun 2004; <solar@gentoo.org> perl-5.8.2-r1.ebuild, + files/perl-5.8.2-uclibc.patch: + basic initial uclibc support needed for bootstrapping + + 09 Jun 2004; Robert Coie <rac@gentoo.org> +files/perl-5.8.4-noksh.patch, + perl-5.8.4.ebuild: + Add noksh.patch, bug 42665 + + 03 Jun 2004; Aron Griffis <agriffis@gentoo.org> perl-5.8.2-r1.ebuild, + perl-5.8.3.ebuild, perl-5.8.4.ebuild: + Fix use invocation + + 02 Jun 2004; Travis Tilley <lv@gentoo.org> perl-5.8.4.ebuild: + stable on amd64 + + 31 May 2004; Robert Coie <rac@gentoo.org> perl-5.8.2-r1.ebuild, + perl-5.8.3.ebuild, perl-5.8.4.ebuild: + Update makemaker blocks to <6.17, not worth making everybody recompile + + 10 May 2004; Michael McCabe <randy@gentoo.org> perl-5.8.4.ebuild: + Stable on s390 + + 08 May 2004; Robert Coie <rac@gentoo.org> perl-5.8.4.ebuild, + files/perl-5.8.4-prelink-lpthread.patch: + Add back the -lpthread patch, frozen-bubble segfaults otherwise + +*perl-5.8.4 (03 May 2004) + + 03 May 2004; Robert Coie <rac@gentoo.org> perl-5.8.4.ebuild, + files/5.6.1-builtin-fixup.diff, files/5.6.1-op-test-fix.diff, + files/perl-5.8.4-perldoc-emptydirs.patch, files/perl-5.8.4-picdl.patch, + files/perl-5.8.4-reorder-INC.patch: + Add 5.8.4 + + 28 Apr 2004; Mike Frysinger <vapier@gentoo.org> : + Clean up `use` syntax and remove ${CC} usage. + + 27 Feb 2004; Michael Cummings <mcummings@gentoo.org> perl-5.6.1-r10.ebuild, + perl-5.6.1-r11.ebuild, perl-5.6.1-r12.ebuild: + 5.6.1 is no longer a requirement/needed in the tree + + 21 Feb 2004; Michael Cummings <mcummings@gentoo.org> perl-5.8.0-r11.ebuild, + perl-5.8.0-r12.ebuild, perl-5.8.0-r9.ebuild, perl-5.8.2.ebuild, + files/libperl-5.8.0-create-libperl-soname.patch, + files/perl-5.8.0-perldoc-emptydirs.patch, + files/perl-5.8.0-prelink-lpthread.patch, files/perl-5.8.0-reorder-INC.patch, + files/perl-5.8.0-sockatmark-should-__THROW.patch: + Massive clean up. With 5.8.2 now marked stable on all platforms, we are + removing the older 5.8.0 ebuilds, which are no longer available upstream + anymore. I also cleaned out the files dir of any patches that were being + specifically used by 5.8.0 and not the other versions. + + 19 Feb 2004; Aron Griffis <agriffis@gentoo.org> perl-5.8.2-r1.ebuild: + stable on alpha and ia64 + + 18 Feb 2004; Joshua Kinard <kumba@gentoo.org> perl-5.8.2-r1.ebuild: + Marking stable on mips + + 09 Feb 2004; Bartosch Pixa <darkspecter@gentoo.org> perl-5.8.2-r1.ebuild: + set ppc in keywords + + 06 Feb 2004; <gustavoz@gentoo.org> perl-5.8.2-r1.ebuild: + stable on sparc + + 03 Feb 2004; <gustavoz@gentoo.org> perl-5.8.2-r1.ebuild: + stable on hppa + + 01 Feb 2004; <rac@gentoo.org> perl-5.8.2-r1.ebuild: + mark x86 + +*perl-5.8.3 (17 Jan 2004) + + 17 Jan 2004; <rac@gentoo.org> perl-5.8.1-r1.ebuild, perl-5.8.1-r2.ebuild, + perl-5.8.3.ebuild, files/perl-5.8.1-perldoc-emptydirs.patch, + files/perl-5.8.1-prelink-lpthread.patch, files/perl-5.8.1-reorder-INC.patch, + files/perl-5.8.1_rc1-reorder-INC.patch, + files/perl-5.8.1_rc1-sockatmark-should-__THROW.patch, + files/perl-5.8.1_rc2-reorder-INC.patch, + files/perl-5.8.1_rc2-sockatmark-should-__THROW.patch, + files/perl-5.8.3-perldoc-emptydirs.patch, files/perl-5.8.3-picdl.patch, + files/perl-5.8.3-prelink-lpthread.patch, files/perl-5.8.3-reorder-INC.patch: + Upstream bump, housecleaning + + 06 Jan 2004; Luca Barbato <lu_zero@gentoo.org> perl-5.8.0-r12.ebuild: + Marked ~arm to let me commit ppc related changes (it is as wierd as it sound) + +*perl-5.8.2-r1 (29 Nov 2003) + + 29 Nov 2003; <rac@gentoo.org> perl-5.8.2-r1.ebuild, + files/perl-5.8.2-picdl.patch: + Make CCCDLFLAGS apply to static archives like DynaLoader.a as well, even + though we are not building a shared libperl here, because we do have a shared + library elsewhere. Should make it so that arches like amd64 and hppa no longer + have to add -fPIC to all cflags blindly. + + 26 Nov 2003; <rac@gentoo.org> perl-5.8.2.ebuild: + Make perl depend on exact same libperl version, so that upgrading perl will + bring libperl along. Solves problems where new modules go into directories in + @INC too new for libperl to know about + + 16 Nov 2003; Brad House <brad_mssw@gentoo.org> perl-5.8.2.ebuild: + mark stable on amd64 + +*perl-5.8.2 (08 Nov 2003) + + 08 Nov 2003; <rac@gentoo.org> perl-5.8.2.ebuild, + files/perl-5.8.2-perldoc-emptydirs.patch, + files/perl-5.8.2-prelink-lpthread.patch, files/perl-5.8.2-reorder-INC.patch: + new upstream version + + 22 Oct 2003; <rac@gentoo.org> perl-5.8.1-r2.ebuild, + files/perl-5.8.1-perldoc-emptydirs.patch: + Forward-port the perldoc emptydirs patch + + 20 Oct 2003; Michael Cummings <mcummings@gentoo.org> perl-5.8.1-r1.ebuild, + perl-5.8.1-r2.ebuild: + Changed how h2ph grabs its list of files; relying on h2ph to efficiently + recurse was resulting a looping condition when there is a symlink in + /usr/include/* (libxml was the sample case - thanks DarkSpecter!). Using find + isolates the list to only .h files. + + 14 Oct 2003; <rac@gentoo.org> perl-5.8.1-r2.ebuild: + Allow building even when db-1 is not present, but let ndbm_file use it if it's + there + +*perl-5.8.1-r2 (02 Oct 2003) + + 02 Oct 2003; <rac@gentoo.org> perl-5.8.1-r2.ebuild, perl-5.8.1.ebuild, + perl-5.8.1_rc1.ebuild, perl-5.8.1_rc2.ebuild, perl-5.8.1_rc3.ebuild, + perl-5.8.1_rc4.ebuild, files/perl-5.8.1-prelink-lpthread.patch: + Clean house, readd pthread prelink patch to avoid reported sdl segfaulting. + Thanks to lisa for the report. + +*perl-5.8.1-r1 (29 Sep 2003) + + 29 Sep 2003; <rac@gentoo.org> perl-5.8.1-r1.ebuild: + Change destdir handling in a couple of places + +*perl-5.8.1 (27 Sep 2003) + + 27 Sep 2003; <rac@gentoo.org> perl-5.8.1.ebuild, + files/perl-5.8.1-reorder-INC.patch: + New upstream revision + + 17 Sep 2003; Jon Portnoy <avenj@gentoo.org> perl-5.8.0-r12.ebuild : + ia64 keywords. + + 22 Aug 2003; Michael Cummings <mcummings@gentoo.org> perl-5.6.1-r10.ebuild, + perl-5.6.1-r11.ebuild, perl-5.6.1-r12.ebuild, perl-5.8.0-r10.ebuild, + perl-5.8.0-r11.ebuild, perl-5.8.0-r12.ebuild, perl-5.8.0-r9.ebuild, + perl-5.8.1_rc1.ebuild, perl-5.8.1_rc2.ebuild, perl-5.8.1_rc3.ebuild: + Corrected h2ph behaviour to now run -r -l -- recursively :) + Also fixes bug 14461 + +*perl-5.8.1_rc3 (30 Jul 2003) + + 30 Jul 2003; Michael Cummings <mcummings@gentoo.org> perl-5.8.1_rc3.ebuild: + Latest release candidate for 5.8.1 + + 25 Jul 2003; <rac@gentoo.org> perl-5.8.1_rc1.ebuild, perl-5.8.1_rc2.ebuild: + Forward-port alpha and hppa fixes from 5.8.0-r9 + + 25 Jul 2003; <rac@gentoo.org> perl-5.8.0-r12.ebuild: + Remove ~arch protection on all but hppa + +*perl-5.8.1_rc2 (23 Jul 2003) + + 23 Jul 2003; <rac@gentoo.org> perl-5.8.1_rc2.ebuild, + files/perl-5.8.1_rc2-reorder-INC.patch, + files/perl-5.8.1_rc2-sockatmark-should-__THROW.patch: + Add 5.8.1-rc2 + + 18 Jul 2003; <rac@gentoo.org> perl-5.8.0-r12.ebuild, perl-5.8.1_rc1.ebuild: + Add blocker on Test-Simple versions that overwrite the core + + 18 Jul 2003; <rac@gentoo.org> perl-5.8.0-r12.ebuild, perl-5.8.1_rc1.ebuild: + Portage depends to >=2.0.48-r4. This is important for blocking depends + + 16 Jul 2003; <rac@gentoo.org> perl-5.8.0-r12.ebuild, perl-5.8.1_rc1.ebuild: + Add portage depend on version that fixes bug 23546, so the blocking depends + will be guaranteed to work even if people are upgrading + + 15 Jul 2003; <rac@gentoo.org> perl-5.8.0-r12.ebuild, perl-5.8.1_rc1.ebuild: + Fiddle with the module block depends a bit, largely to ensure that File-Spec + 0.84 doesn't fall through the cracks + +*perl-5.8.1_rc1 (10 Jul 2003) + + 10 Jul 2003; <rac@gentoo.org> perl-5.8.1_rc1.ebuild, + files/perl-5.8.1_rc1-reorder-INC.patch, + files/perl-5.8.1_rc1-sockatmark-should-__THROW.patch: + Add 5.8.1_rc1. Experimental. + + 01 Jul 2003; Todd Sunderlin <todd@gentoo.org> perl-5.8.0-r11.ebuild: + set stable on sparc + + 26 Jun 2003; <rac@gentoo.org> perl-5.8.0-r10.ebuild, perl-5.8.0-r11.ebuild, + perl-5.8.0-r12.ebuild: + Add -Dd_u32align on mips to work around a gcc 3.3 kernel compiling bug + + 26 Jun 2003; <rac@gentoo.org> perl-5.8.0-r12.ebuild: + Add block depends on ExtUtils-MakeMaker and File-Spec, because we need to get + those uninstalled before they steal our files again + +*perl-5.8.0-r12 (25 Jun 2003) + + 25 Jul 2003; Guy Martin <gmsoft@gentoo.org> perl-5.8.0-r12.ebuild : + Marked stable on hppa. + + 25 Jun 2003; <rac@gentoo.org> perl-5.8.0-r12.ebuild, + files/perl-5.8.0-reorder-INC.patch: + Reorder @INC so that site modules can override vendor modules, which can in + turn override core modules. + + 24 Jun 2003; Aron Griffis <agriffis@gentoo.org> perl-5.8.0-r10.ebuild: + Mark stable on alpha + + 10 Jun 2003; <rac@gentoo.org> perl-5.6.1-r12.ebuild: + Mark stable on x86 + + 06 Jun 2003; <rac@gentoo.org> perl-5.6.1-r12.ebuild: + Add sed-4 dependency to use sed -i + + 04 Jun 2003; <rac@gentoo.org> perl-5.8.0-r11.ebuild: + Relax db DEPEND as well as RDEPEND. Thanks to mcummings for the catch. + +*perl-5.8.0-r11 (03 Jun 2003) + + 03 Jun 2003; <rac@gentoo.org> perl-5.8.0-r11.ebuild: + Clean out libperl bits from ebuild. Grab newer version of Safe.pm from CPAN + for security reasons, DB_File for db 4.1 compatibility. + +*perl-5.6.1-r12 (02 Jun 2003) + + 02 Jun 2003; <rac@gentoo.org> perl-5.6.1-r12.ebuild: + Replace PDEPEND strategy for ExtUtils::MakeMaker and Safe.pm with the approach + of injecting newer versions directly into the core + +*perl-5.6.1-r11 (31 May 2003) + + 31 May 2003; Alastair Tse <liquidx@gentoo.org> perl-5.6.1-r10.ebuild, + perl-5.6.1-r11.ebuild, files/5.6.1-builtin-fixup.diff, + files/5.6.1-op-test-fix.diff, files/stat.t: + Putting perl-5.6.1 back in because it breaks the default-1.0 profile. + + 30 May 2003; <rac@gentoo.org> perl-5.6.1-r10.ebuild, perl-5.6.1-r11.ebuild, + perl-5.8.0-r10.ebuild, files/5.6.1-builtin-fixup.diff, + files/5.6.1-op-test-fix.diff: + Marking stable on mips, thanks to dragon and kumba for verification and + mcummings for coordination. Also cleaning 5.6.1 ebuilds, as all marked + arches now have a stable 5.8 version + + 27 May 2003; <rac@gentoo.org> perl-5.8.0-r10.ebuild, perl-5.8.0-r9.ebuild: + Add threads to IUSE, thanks to liquidx for the catch + + 20 May 2003; Tavis Ormandy <taviso@gentoo.org> perl-5.8.0-r10.ebuild: + removing gcc hardcodes. + + 18 May 2003; Tavis Ormandy <taviso@gentoo.org> perl-5.8.0-r9.ebuild: + removing hardcoded compiler. + +*perl-5.8.0-r10 (30 Mar 2003) + + 23 Apr 2003; <rac@gentoo.org> perl-5.8.0-r10.ebuild: + Only build extra HTML documentation if USE="doc" is set - thanks to + msterret@gentoo.org - bug #16401 + + 07 Apr 2003; Martin Holzer <mholzer@gentoo.org> perl-5.6.1-r10.ebuild, + perl-5.6.1-r11.ebuild, perl-5.8.0-r10.ebuild, perl-5.8.0-r9.ebuild: + Changes portage version depend. Closes #13339. + + 30 Mar 2003; <rac@gentoo.org> perl-5.8.0-r10.ebuild: + marking stable again on x86 and ppc - previous sparc keyword commit undid this + and broke things + + 30 Mar 2003; Rodney Rees <manson@gentoo.org> perl-5.8.0-r10.ebuild, + marked stable for sparc + +*perl-5.8.0-r10 (11 Mar 2003) + + 27 Mar 2003; <rac@gentoo.org> perl-5.8.0-r10.ebuild: + Marking stable for x86 and ppc, no problems reported from ~arch testers + + 11 Mar 2003; Seemant Kulleen <seemant@gentoo.org> perl-5.6.1-r10.ebuild, + perl-5.6.1-r11.ebuild, perl-5.8.0-r10.ebuild, perl-5.8.0-r9.ebuild, + files/5.6.1-builtin-fixup.diff, files/5.6.1-op-test-fix.diff, + files/libperl-5.8.0-create-libperl-soname.patch, files/libperl_rebuilder, + files/perl-5.8.0-RC2-special-h2ph-not-failing-on-machine_ansi_header.patch, + files/perl-5.8.0-perldoc-emptydirs.patch, + files/perl-5.8.0-prelink-lpthread.patch, + files/perl-5.8.0-sockatmark-should-__THROW.patch, files/stat.t: + moved to dev-lang from sys-devel + +*perl-5.8.0-r10 (28 Feb 2003) + + 01 Mar 2003; Brandon Low <lostlogic@gentoo.org> perl-5.8.0-r10.ebuild, + perl-5.8.0-r9.ebuild: + Make use emake instead of make, but still use 1 process build where needed + + 28 Feb 2003; <rac@gentoo.org> perl-5.8.0-r10.ebuild: + Ensure that libpthread is linked against by perl, so that runtime + signal handling works correctly (bug #14380). + + Patch perldoc to not abort when it attempts to search nonexistent + directories (bug #16589). + +*perl-5.6.1-r11 (14 Feb 2003) + + 24 Mar 2003; <rac@gentoo.org> perl-5.6.1-r10.ebuild, perl-5.6.1-r11.ebuild: + Remove spurious '$' from head of SRC_URI + + 16 Mar 2003; Jan Seidel <tuxus@gentoo.org> : + Added mips to KEYWORDS + + 14 Feb 2003; Mark Guertin <gerk@gentoo.org> perl-5.6.1-r11.ebuild : + Set to ppc stable + + 14 Feb 2003; Mark Guertin <gerk@gentoo.org> perl-5.6.1-r11.ebuild files/5.6.1-builtin-fixup.diff files/5.6.1-op-test-fix.diff files/digest-perl-5.6.1-r11 : + built-in sed fixups, placed in makefile.SH instead of randomly thru the build. Thanks to rac for all his help and an lfs patch + + 11 Feb 2003; Guy Martin <gmsoft@gentoo.org> perl-5.8.0-r9.ebuild : + Added hppa to keywords. + +*perl-5.8.0-r9 (15 Jan 2003) + + 23 Feb 2003; Guy Martin <gmsoft@gentoo.org> perl-5.8.0-r9.ebuild : + Added -fPIC to CFLAGS on hppa. It's needed by apps linking to some perl libs. + + 18 Feb 2003; Zach Welch <zwelch@gentoo.org> perl-5.8.0-r9.ebuild : + Added arm to keywords. + + 10 Feb 2003; Seemant Kulleen <seemant@gentoo.org> *.ebuild : + + removed old and crusty ebuilds, there were just way too many in here. + Also, changed sed statements to use : instead of / + + 05 Feb 2003; J Robert Ray <jrray@gentoo.org> perl-5.8.0-r9.ebuild; Changed to strip + "-malign-double" from CFLAGS, fixing bug 14608. + + 17 Jan 2003;Michael Cummings <mcummings@gentoo.org> perl-5.8.0-r9; + + Another blundered typo. The flag-o-matic include had a "0" instead of a "O" + + 16 Jan 2003; Michael Cummings <mcummings@gentoo.org> perl-5.8.0-r9; + + Typo fix, this one in an einfo. + Incorporate flag-o-matic per bug 13952 - the -Os flag doesn't work with perl + + 15 Jan 2003; Michael Cummings <mcummings@gentoo.org> perl-5.8.0-r9; + + Major typo corrections that affected the placement of scripts and the man + pages. There was a typo introduced into the 5.8 ebuilds early on that was + not caught until now that left the location of the man pages blank and that + misset the /usr call for scripts placement from perl modules. This was caught + in bugs 13886 and 13920 + + 15 Jan 2003; J Robert Ray <jrray@gentoo.org> libperl_rebuilder : Fixed + unfortunate typo. + +*perl-5.8.0-r8 (06 Jan 2003) + + 12 Jan 2003; Michael Cummings <mcummings@gentoo.org> perl-5.8.0-r8, + libperl_rebuilder: + + ebuild - Put a sleep where we had one in the else block so that there is a + pause before emerging (notice regarding threads). Added a sleep at the tail + end of the ebuild so that there is a pause for folks doing an emerge -u world + so that they at leat have an opportunity to see the notice. + libperl_rebuilder - Removed the unmerge section, that's really overkill for + our needs and only complicates things. Added new syntax to check for files + installed into /usr/lib/perl* that weren't picked up previously. Changed the + name of the log file to perl-update.log (makes more sense ;) ) Added mask + check earlier in the sanity phase. + + 08 Jan 2003; Seemant Kulleen <seemant@gentoo.org> perl-5.8.0-r8.ebuild : + + Unmasked for sparc. + + 08 Jan 2003; Brandon Low <lostlogic@gentoo.org> perl-5.8.0-r8: + Later that day: dosed smells funny, switch some of it + to use just sed and a for loop, this smells better + to me, and fixed the problems I was having with + ${D} staying in the files. + + 08 Jan 2003; Martin Schlemmer <azarah@gentoo.org> perl-5.8.0-r8: + Remove a wild 'test' from comments =) + + 08 Jan 2003; Michael Cummings <mcummings@gentoo.org> perl-5.8.0-r8: + Unmasking for x86. + + 08 Jan 2003; Brandon Low <lostlogic@gentoo.org> perl-5.8.0-r8: + Updated ewarn at the top so that it makes sense (was telling a user + they could use threads when they already were) + + 06 Jan 2003; Michael Cummings <mcummings@gentoo.org> perl-5.8.0-r8: + Updated einfo, added libperl ebuild. I've placed the libperl rebuilder + in the filesdir and added a note about it to the pkg_postinstall. Thanks + go to Azarah for the new set of ebuilds. + + 03 Jan 2002; Michael Cummings <mcummings@gentoo.org> perl-5.6.1-r10: + small fix to regex of x2p/makefile - cp'ied the process further down the + ebuild since this is rebuilt at each stage. This is for gcc-3.2 users + in particular and should take care of bug 12853 + + 27 Dec 2002; Michael Cummings <mcummings@gentoo.org> + perl-5.8.0-r7.ebuild: + + Added depend for automake + + 27 Dec 2002; Michael Cummings <mcummings@gentoo.org> + perl-5.6.1-r10: + + Added depend for automake + + 27 Dec 2002; Michael Cummings <mcummings@gentoo.org> + perl-5.8.0-r7.ebuild: + + Note for remerging perl modules added. Unmasked for x86. + +*perl-5.8.0-r7 (22 Dec 2002) + + 22 Dec 2002; Michael Cummings <mcummings@gentoo.org> + perl-5.8.0-r7.ebuild: + + PLEASE READ. There was a problem introduced for non threaded perl + 5.8's - a correction introduced earlier for threaded perls was adding + -thread to the name of your arch. THIS CAUSES PROBLEMS FOR SOME + MODULES. For instance, the DBI module checks to see what the name of + your Config.pm has listed for $Config{archname} - if it had thread in + it *anywhere*, it assumed you had threading enabled, but since your + perl was failing to use threads, would fail. This will version of the + ebuild will correct that. You will need to re-emerge modules installed + with perl 5.8. A tool for this is forthcoming. + + + 20 Dec 2002; Michael Cummings <mcummings@gentoo.org> + perl-5.8.0-r6.ebuild: + + Finished what Lostlogic started - finished path corrections for + threading vs unthreaded perl 5.8 + + 20 Dec 2002; Michael Cummings <mcummings@gentoo.org> + perl-5.6.1-r10.ebuild: + + new ebuild confirmed by arch devs - Gerk did ppc, Alron did sparc + +*perl-5.6.1-r10 (19 Dec 2002) + + 07 Feb 2003; Guy Martin <gmsoft@gentoo.org> perl-5.6.1-r9.ebuild perl-5.6.1-r10.ebuild : + Added hppa to keywords. + + 19 Jan 2003; Jan Seidel <tuxus@gentoo.org> : + Unmasking for mips + + 19 Dec 2002; Michael Cummings <mcummings@gentoo.org> + perl-5.6.1-r10.ebuild: + + Contains patch for safe.pm - security bug, see bug 12190. + + 19 Dec 2002; Michael Cummings <mcummings@gentoo.org> + perl-5.8.0-r6.ebuild: + + Same name, different ebuild. This is for the safe.pm fix. + +*perl-5.8.0-r6 (17 Dec 2002) + + 17 Dec 2002; Brandon Low <lostlogic@gentoo.org> perl-5.8.0-r6.ebuild : + -arch this bad boy, it reb0rk what I unb0rk last night, stick with -r5 + will probably skip -r6 for the moment and go to -r7 with some more + fixage when we know what to refix more :) + + 17 Dec 2002; Michael Cummings <mcummings@gentoo.org> + perl-5.8.0-r6.ebuild: + + Further fixes to path writing. If the user asks for threading, the + dirs are $[arch]-linux-thread-multi. If not, the paths are + $[arch]-linux - this is correct behaviour!! Installation with + threading is *not* supported by all apps that dep perl. + +*perl-5.8.0-r5 (17 Dec 2002) + + 17 Dec 2002; Brandon Low <lostlogic@gentoo.org> perl-5.8.0-r5.ebuild: + + Fix threading use flag thingus, it doesn't put things in ${D}/${D} later + now. Fix messages to only display if needed. You will need to remerge + all your perl modules after you install this with threads. + +*perl-5.8.0-r4 (15 Dec 2002) + + 15 Dec 2002; Michael Cummings <mcummings@gentoo.org> + perl-5.8.0-r4.ebuild: + + Made threading an internal use flag. This is to be used with caution. + Added eerror messages to warn users of potential probs. + + 13 Dec 2002; Martin Schlemmer <azarah@gentoo.org> perl-5.6.1-r9.ebuild : + + Fix screwup in DEPEND, RDEPEND and PDEPEND. + + 12 Dec 2002; Michael Cummings <mcummings@gentoo.org> + perl-5.6.1-r9.ebuild: + + PDEPEND is in portage now, can unmask this. This -r installs the + makemaker fix after installing perl - finally fixed. Thanks carpaski! + + 11 Dec 2002; Michael Cummings <mcummings@gentoo.org> + perl-5.8.0-r3.ebuild: + + Busy day =:) Added LC_ALL=C into 5.8 (a fix made for 5.6.1, but lost) + + 11 Dec 2002; Michael Cummings <mcummings@gentoo.org> + perl-5.8.0-r3.ebuild: + + Changed emake back to make. bcowan pointed out that the parallel + make fails for him, which is legit + + 11 Dec 2002; Michael Cummings <mcummings@gentoo.org> + perl-5.6.1-r9.ebuild: + + Pulled until PDEPEND is in. This worked only for those not behind + firewalls, and unfortunately perl needs to work across the board. + +*perl-5.6.1-r9 (10 Dec 2002) + + 10 Dec 2002; Michael Cummings <mcummings@gentoo.org> + perl-5.6.1-r9.ebuild: + + Major fixes, including the inclusion of the ExtUtils-MakeMaker fix + directly into perl's ebuild (thanks seemant!). + +* Autoupdate keywords (12-6-02) + 06 Dec 2002; Rodney Rees <manson@gentoo.org> : changed sparc ~sparc keywords + + 26 Nov 2002; Michael Cummings <mcummings@gentoo.org>: + + Corrected deps in perl-5.6.1-r8 per bugs 4116 and 9314 + +*perl-5.6.1-r8 (13 Oct 2002) + + 22 Nov 2002; <mcummings@gentoo.org> + + Added einfo note (finally) to instruct users to install MakeMaker + patch. Also added catch for cases where -gdbm and -berkdb are in + the use flags - perl requires at least one of them to be available + + Second incantation of -r8. This time, it is for LC_ALL=C being added to + the ebuild itself. Perl won't compile correctly otherwise and handles + internationaliztion post install. + + 13 Oct 2002; Seemant Kulleen <seemant@gentoo.org> perl-5.6.1-r8.ebuild + files/digest-perl-5.6.1-r8 : + + The fixes from -r7 didn't seem to make it into portage. So this version + has those, plus the updated MakeMaker. should close bug #8998 by + rac@intrigue.com (Robert Coie) + +*perl-5.6.1-r7 (02 Oct 2002) + + 02 Oct 2002; mcummings <mcummings@gentoo.org> : Thanks entirely to seemant, + this release incorporates the MakeMaker fix directly into perl ebuild process. + +*perl-5.8.0-r3 (13 Sep 2002) + + 13 Sep 2002; <mcummings@gentoo.org> : r3 is a cleaner ebuild that should have added support for other platforms. + +*perl-5.8.0-r2 (16 Aug 2002) + + 16 Aug 2002; Michael Cummings <mcummings@gentoo.org> : added + fix for gcc compile flags that corrects problems with apps + compiling against perl. + +*perl-5.8.0-r1 (10 Aug 2002) + + 05 Aug 2002; Michael Cummings <mcummings@gentoo.org> : added + threading, fixed hard coded architecture prefix, cleaned up + ebuild + +*perl-5.8.0 (28 Jul 2002) + + 05 Aug 2002; pvdabeel <pvdabeel@gentoo.org> : fix header + + 28 Jul 2002; Maik Schreiber <blizzy@gentoo.org> : version bump + +*perl-5.6.1-r6 (04 Aug 2002) + + 27 Aug 2002; mcummings <mcummings@gentoo.org> : Added stat.t fix, + fixes compile problems on boxes with no suid's in the */bin's + bug 7120, affects fresh installs only + + 05 Aug 2002; pvdabeel <pvdabee@gentoo.org> : Added ppc keyword + + 05 Aug 2002; pvdabeel <pvdabee@gentoo.org> : changelog entry + +*perl-5.6.1-r5 (25 Jul 2002) + + 05 Aug 2002; pvdabeel <pvdabeel@gentoo.org> : + fix header + + 26 Jul 2002; Spider <spider@gentoo.org> : + fix SRC_URI to become pub/CPAN instead of pub/perl/CPAN + + 25 Jul 2002; Spider <spider@gentoo.org> perl-5.6.1-r5.ebuild + minor patch to make it build on my gcc 3.1-r8 system + +*perl-5.6.1-r4 (20 May 2002) + + 05 Aug 2002; pvdabeel <pvdabeel@gentoo.org> : + fix header + + 26 Jul 2002; Spider <spider@gentoo.org> : + fix SRC_URI to become pub/CPAN instead of pub/perl/CPAN + + 20 May 2002; Preston A. Elder <prez@gentoo.org> perl-5.6.1-r4.ebuild + files/digest-perl-5.6.1-r4 : + + Added ebuild that works with gcc 3.1. + +*perl-5.6.1-r3 (5 May 2002) + + 5 May 2002; Seemant Kulleen <seemant@gentoo.org> perl-5.6.1-r4.ebuild + files/digest-perl-5.6.1-r4 : + + Added an eclass called perl-post.eclass, which this ebuild now inherits, + so that the .pod file in ${libarchdir} gets updated cleanly with + emerging and unmerging. + +*perl-5.6.1-r3 (21 Mar 2002) + + 21 Mar 2002; Seemant Kulleen <seemant@gentoo.org> perl-5.6.1-r3.ebuild : + + HTML documentation no longer gets gzipped, but a revision upgrade wasn't + absolutely necessary, I don't think. Thanks to stefan@mdy.univie.ac.at + for pointing it out. + +*perl-5.6.1-r3 (1 Feb 2002) + + 1 Feb 2002; G.Bevin <gbevin@gentoo.org> ChangeLog : + + Added initial ChangeLog which should be updated whenever the package is + updated in any way. This changelog is targetted to users. This means that the + comments should well explained and written in clean English. The details about + writing correct changelogs are explained in the skel.ChangeLog file which you + can find in the root directory of the portage repository. diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest new file mode 100644 index 0000000..7f9d41a --- /dev/null +++ b/dev-lang/perl/Manifest @@ -0,0 +1,86 @@ +AUX eblits/common-v50160001.eblit 1578 SHA256 431f30795dcfaaddc6c33aeeb13437c6efc239727e7997fd2f9b03e04ed79b91 SHA512 7882c7798ac419179fd99a2d3bff46933c8d30a645ac482fe38dad1a00bccde8fccdd15b3b813cb411b2326a19178228a93d0222f0b0450778d5149a46ba729b WHIRLPOOL ad9a1df3034d8fc25a6bee84817da34a8570ac6227d2dedc7b9d838760b8bac8ac9dfbe83d2a9af71e1c689022179f462f460f0c98e047e38d0cc3b648abab2e +AUX eblits/pkg_postinst-v50160001.eblit 2603 SHA256 bfab0992a63ad1238ca22c6ba5fe17b53cfe3b02fd8fdebe156afe888865a8f4 SHA512 b95e39f8669c33cab0d750e2e8160bff7c2e878812e048b01b207d50355b719aeacf0816c048034b848ba2739db827001b4504b25c46b825f3275e282930c46f WHIRLPOOL d740d910169757025a1fc6f160662ba40bd0c04c646cc1dea4b22db5ff3173ad9d5e45ae627d49a258674f1684c9f7ac07c508f39b7bbd1f152e74e992af398b +AUX eblits/pkg_postrm-v50160001.eblit 414 SHA256 838cf6fc5109410344f51019aa80377be35e466bc6515625475821bcce96dec2 SHA512 702d8dfe508959f3fa0f74d949913f61d3d167c0c30a924b4e08080eb76f7e28b2ad4c46ccbdaf93a2e493400a033f7b9f6ffe8d7ccc0a02b0c9508241cd7c87 WHIRLPOOL 44a9d0087a4dda3281399f11af0d1c0cba7c416fadb1102f02b54d80f180fc7e19a968545fc099619140b06242bfe65dd0baaa150f0553e7c79c5a1c709ead4a +AUX eblits/pkg_setup-v50160001.eblit 2448 SHA256 1259e0d4addfb0f06aa322429e65cc9a60f5cfd16f24f43fc53ea3fe4550980e SHA512 d7446269bd36359d089f740ceb6dbf77b88ebe6c80e797444b7c89bbfa9dc32f503ac3ad356c35b3744be27d92bf33ccebdcde09ce969d10fe995d1e4cfc65fd WHIRLPOOL 66e141273fb16120e71a60f23149cbee6248733f3331cd110521a62120e51a1c650a1839720a8d31deb0477b817c5d565c152fd4974f2d4a07041981e932f355 +AUX eblits/src_configure-v50160001.eblit 4591 SHA256 bdaf3845a0db91c601022ccd4f56f65137d0461440aae0e506b25db462e6228c SHA512 802a4a4eefeec457b120d3e822d09f5cc75fb0aff76d45d439f2c02b21eee609a2a69c86e1325f5ae5437d98014cd65c80db057a7e699d8375416e1e5086d17c WHIRLPOOL 68e83205a145af6a9296db11ca98bde3ed92054a560755b5dabe3aadf1b4a893949a073ffc486bc463fcc262ff28d344eb77dd7bfa17a97e7117c74604bbde9d +AUX eblits/src_install-v50160001.eblit 2122 SHA256 64a8d7bcfd7757e8f15c28f4457240390f5f0ffff3c8c72c3e01a2612b668cec SHA512 ecea3ae0006fa2b009c15cf7ceca989058738e2e893b053dc0bf904ce17443b7d21ed033f09997535fd86da608d1c95d1b93a55268c06cf164d7894a71616e2c WHIRLPOOL a9c5531a799a3054ff3fd9add4e81e818f6f4d01d4826728274a15d98cee2a20188dee906f565ce4b413813068db4ac347ef7b717cd4b9526f54ba208c309491 +AUX eblits/src_prepare-v50160001.eblit 2187 SHA256 5c2e728c071d3367573de6893713fd071cf386439c2276c38187c396e10652ed SHA512 740d4cc9c1f47367d893c73c52fe5fe86f59e8a92c9d4b0700577930c9c1cfa73d299f16469e7d59e91cf6e94cd0702eddc67854af16728207bcfd0afe34cbaa WHIRLPOOL 7391a92c224cda2ad83187eb75c4d9c505c05bf2ff341b86ff937c21fa475de0d626b4cc28c68e8db330737d9754a4162811a7985fe1ef7ac07b4e8bc84ad694 +AUX eblits/src_test-v50160001.eblit 503 SHA256 35a8a1a6f89e351e4587c82ef3c30699f8a37d78570e28510c5e02bc9e352198 SHA512 09c6f1b253119d0ad7f7d698c37d9d1979a67a2866c72677177c47d9e7c413a7588e2e531bb1e9790ce49add618b768a7fa271e05171a3ce73fa4433034f91f7 WHIRLPOOL 9aae83a23fc6246d26729ad940a7a13bb89e3b2223581e34000f8a93470455bc8ca5b71ae47bf5e6809544793fe21f7207beca3681990c849838497f32f08b51 +AUX perl-5.10.1-cleanup-paths.patch 2368 SHA256 90738b47513eed34789ab506a023ca88be841a9a64127d201c4eebe85b63f443 SHA512 47246aa49f8baeab315bf06e64bddce98778fc9fcceddc0dd974604e1d6cb00a3a48bc08243a3edd2ccedf452bafd522e31e4469e672470c996da16efea85c4a WHIRLPOOL 9abc97d16322927f2e8b71d13f78edaca9e0b3838e2cd695fa2773ce6f7c3d6ce0d30bb81e34824294545df8a444772339f279ae2a556db2add9547b9cd7d065 +AUX perl-5.10.1-hpux.patch 1042 SHA256 3288b1b8a3d09d078c6c8453ebde7fdea15b0c39be016141c7278502a91dc26f SHA512 dbb3fadf45463c4aa2fc7333167369f8dd6506e4d45a39f7fa0c651ded185b866b289abaf38555ca559ab93b80ec4d666959cdfb76380a965a6b65bea5cb3df5 WHIRLPOOL c128d8baa440b0fc4ed0454b3b54f02a2525ae383b12daa6f5794d051a17637827219429650cdb2cb62f5972cc27818bae301b3d5f6aa5f11de90a5e77ca635d +AUX perl-5.12.3-aix-soname.patch 2190 SHA256 ad3722c4535268e75208fcd569f4a9aee9672c2bae5017317a72a62948a89f98 SHA512 91543e9481ea143f2957f14497cd25ef6e3ef5d347d9eb3a2ddaaa4209fb866a12288d0685d6a32e452ddf32878872b2207ae1abe5a49400ad16ad466e8d5031 WHIRLPOOL 69c6b53010c60597011927437db15fd7756bec1b2f01a76442b02b21a46be6b75163423e9d666f23f995c0965607edc981fd28570b145d901e5028774fdb61c1 +AUX perl-5.12.3-interix.patch 690 SHA256 e2ae4b8067b3e98db1bf63b71e0f5f703c82b25883be03592bf1d74396409e14 SHA512 ae306dc130b5e3e4c4354fcd7be09581972d927e3c6dd2bcc08e5db92b1443b2bcb473ef646952175fa169203ef5312604521bcbfc06fdd46d73c350f0bc4f38 WHIRLPOOL 04dfa0c275f3f40f3f5045c6683b38e84ec5e1c7c66a9a934a91d4392c546b93fd3704f7b5e500c67ccdf6c2d6af0c4a3766f7c6017175fe1b0608348da16a02 +AUX perl-5.12.3-mint.patch 9700 SHA256 181ba1b71a1bcc2d74e2047a710965caf1ff8e29d395c018211d2dc75a6bc0e3 SHA512 ab8c8f1359c14b23c3fc66f131a8b7240257d7a12d8756b456982557a363165a0392b012d50cf980a6d711e705ac444822fcf964ee191d157aa5d5219b0aa94f WHIRLPOOL 7ee69fe3516c3187b73a4deac092703414e73b3b916479b28319f7fb9b357bd4034cc4928de44c4f1c3c7ce533f6117e8bfab31a7b1f3219abe8decf57ccdb6c +AUX perl-5.12.5-rehash-5.12.5.patch 5535 SHA256 ac073dda4da957538f4204ed0b92d9895fa675e82fa1cd69fde5391089afd9fc SHA512 2ec63c9deb9bf7e4fdf005208b06c03159aa992f4855d62b11a1e64ea9fffdf4d083a3c70bfc6fbb0e4e39d3eea772ed25ddd0a17a7b2133d6f5d1d2cfaa051c WHIRLPOOL 810bbdc3db2e964b71617a7506c371384429d0d732386623877218765f3be6e48e7d73786d234c1aadb76e1fffb63169bbacefb0cd94d751b7acdd293faaa169 +AUX perl-5.14.1-cleanup-paths.patch 2375 SHA256 e8f55b3f863a3502f7bebe3d059f822680378ebf83f58ddd51df19294e82a60e SHA512 0dcdba3b2bcbdc3110a59cef260b68e9f93ee47c5b9e6dd07b1f26b4606f3a4b678d5512051f7feea769283c98dd35c0d12e0510c621dd62eeda0da4b06ac81a WHIRLPOOL aae9147be2aae74df7719794feee0ab9883d6e2bcf5f26eeb9efa06cb1a4d75f6bb68dc52800b1b41a6406f52a3a1b59eb4b2205f7b2d07940cc82590d677660 +AUX perl-5.8.7-MakeMaker-RUNPATH.patch 859 SHA256 3d327c525e0cf57899eca48d417fa4363f40da9b0d6b70b61e951521749047ab SHA512 6d7d612c205d19a6b76ab245927a470aa20ef5871fc6f5933c935a3d148bf4fca29ec899869e989b4e7654d7372ab4ba62d2c9b035eb8a089adf10f6fb4d64b4 WHIRLPOOL fc18bd262a27ed7bb1084d34666a074c65aa225c7fe8c7c13fb20dc74b2d89486f691d7d8429d4a31bc24f111fb279bd606808fd5b03aa7f8944986745530db1 +AUX perl-5.8.8-CAN-2005-0448-rmtree-2.patch 8187 SHA256 def78de69a0ef27204dfc1f5f39fcd4da1b38327f446e4dca1d37b9890b338e4 SHA512 6d3ce0cfa07221a35b320d4345a12dac2023fa4d42153e8caf964877398a1357309016e4d3d85ae6413c39034408176429d30228fb131a21d2677ccde030dc2f WHIRLPOOL 9749b52d426d0bb45b5a1710dfb2847b3a3864d6b1d494ec7bccf53f20a10323b23201f5f00d43f886eef688352d4bf6b83c1a7045a447619a65fe1cd425a340 +AUX perl-5.8.8-CVE-2008-1927.patch 8129 SHA256 614ebf7a0885fb5f7203627a3051f4df8fee2988d6bfec5a3d8fe70d97f9e45b SHA512 0d117eaa19d64d0f6e2a494bf53bd120a0926ece6660affa14e27036329c64b4b907c673c32b715cc70db31cfb45d920e1ea2de65dc64c0c717b979235b50170 WHIRLPOOL e76d8e638229c075b0b010ae71a109372b2775560b37427a712aa7d35e05ce845ffe0621f872873f7c289a77154c69a8870b2d85617c963e71d0433fe540268c +AUX perl-5.8.8-USE_MM_LD_RUN_PATH.patch 4963 SHA256 49527cd4272ba177b39562363bf34ec6c7b6e709ee6ac770b7fccc302d18b459 SHA512 f03c343ec11d6ac03352d4c90c93e36542187d6dee3a847826920c78219e67871c611fe33ee869ac4a864e1569eda249ec47794a6b0649376af364a8302171f0 WHIRLPOOL d8553d77fdd3ec70b69c4e23fd765aa46021658bee4b4a8d5b65e71dc2ba987fb0aecb092b28eb4105a578fdc8ade25e47bee016315ec5ad0bca91d3e07e0f3c +AUX perl-5.8.8-asm-page-h-compile-failure.patch 384 SHA256 b6be7b879d07a0f5a80ec775ce122d84a126a860471ccd86e4f32cbc2c90f704 SHA512 816f2b0e7be3dd0690148560579db97977432e61f5d11b606605b7e8eca3a4207e07486a5801c85cd55f489c470fe0a139798c7a78fcbb7af28476c783e0ffad WHIRLPOOL 5829a70fab015515572eb0be71f01dd7d2fbb233ec55e878e9a85bcb71b47a094a830c84f665745cbe31c16b83643ce103420cd06b63ef14548e59a0dc65ca8b +AUX perl-5.8.8-ccld-cflags.patch 1103 SHA256 c154c64b6566914ff6c77afdb298c6f18d24f030fe9b121d55cb2b687cd385ed SHA512 996a333acd560a37faa7b0cc6e0baf7908925db5587fba976b8119044220d47bd36f16cc8c29cd4435030e688718129bdeb611fb07ed7ce2465e70b42368eb8b WHIRLPOOL 4b0e379f0851f00fc015ec8cea84e2083b9d349050a34d0f227dc15ec919988749f04b5361323e6047b47a4d6d5abe6f80379a77e1c6b3834633aa9340d9f80a +AUX perl-5.8.8-cplusplus.patch 854 SHA256 ea1368e609b0d992b6cd5f92c327768d8c61ca2096826f26af2576263efb8a89 SHA512 b984551cab20a93fd08589138d6eb8ff1aed11eea002806ee426ed84510ef925ccb64dd4851962a157a4b909805895ba97b265a7663b66a5fe2736e7702a4a40 WHIRLPOOL 398a6df1049bccbb6619e3ed04125a6aed06fe5a1a26a48c5a68cf889a35db6b02a2dd76462b56e1fd91369478f5e85e2c97baeb7b9dd66ff1834ebac504a67f +AUX perl-5.8.8-darwin-cc-ld.patch 546 SHA256 c4cb8915fd8117badf53fb9fab03821a0b31a58fb9a273f33e129b4fd5362570 SHA512 c71b0edac5443dc5f92bd9bee3364555b2e3a6e42e786f0f7ada0e1cb0f59fefc5ee2bbcee44bca3bb381f022d4aee7954cbc0545740b7b989499ef8ee7d16a6 WHIRLPOOL 63a79e6a363cae6f39255dfdff9f7eefe0274834ae7c7d28269e928ba9c101ab60449fe51583027361a1fb66d92a3cd4df80409cd72736d7785bc17a9ec98419 +AUX perl-5.8.8-dragonfly-clean.patch 5211 SHA256 08b22fe26695f6f7f7d21ca2628954eded91205b64450e24d0b295eb75952b6c SHA512 6c23a81f70276cb2cede65eec9202962681db6f626d2c3787ca40028a64417c2c5026bc4f6117ce5966c4733f8d8660af262b62c2c223662b903f119f2b9c916 WHIRLPOOL 51352eb13a3566b182ec0e2c130fcfe55baf53f46c855828f54bebfed861e8c0834ba50ae2458e08c377c6870f2cac4795ed2f5628f377814bd9e8a79ac720d9 +AUX perl-5.8.8-fbsdhints.patch 1984 SHA256 98ff829c9544e7edb329974b883f98b1391a5bb0e071edbb5e96feeba2c066c8 SHA512 c54468a4c8cb8950f796b2a51c036b7ca36c6ef4a542d4934170b27bda3399809cc71220766adf0e74e739170da82a4c1d995c86ed76becc8e1ffbf4b636e135 WHIRLPOOL fbf98d22ee127439e6a6ad2526055e2227b8c268c7d4bf92c170d8613f696e7fa095556063981679e0a2bdf7bfdc0d46a3840845d9d46bdb2f7fa5d4c43b0de4 +AUX perl-5.8.8-fix_file_path_chdir.patch 2195 SHA256 192883bb78ce487cc27e0158d7fb17837c45ae7a88091eb7bbf228888dff95c1 SHA512 b275aacec455964082691acb4c82f5c59e7aa71322354e623384de3e73ed1b322405521b434484c88f9ba489a8364ae6dfbdf6b41ee7a32218b171ef4da60d90 WHIRLPOOL ce869a168dd4abee7bd8e02659c06ecce524d706e313258fd3760c97c40f14205d5f4ce109a900b43593b14004eb6e37519576ba9f2e0de51cd50f1d5c294284 +AUX perl-5.8.8-gcc42-command-line.patch 497 SHA256 946d02284221bc3615e1f03afda1735e6da0296b03315e2a644bd784ad6f76d1 SHA512 f8416031cf8ec05bb96f7044de0cdc624b0bb0d0a066cb85511f7ace9812a709505f1bc7df9c4a97bdc6700151b0564e6f9e33f1378c67aa5307529bc2cd8cf3 WHIRLPOOL 3bf1846037ad879b4f9033ffe3ff623c45c75ef88157f260992c424d5eec035746a85bc93aeb74d57f9e40459e396f72c1d450f64214583b4a171cf4306d318d +AUX perl-5.8.8-lib32.patch 2880 SHA256 90f9dd366ac931ac8baef61b1c8cdab4c80009554919c212b169fd37268ddf23 SHA512 7252f9a592d0d07e18f876e291a0177dd73218a4bcce7a06aefb7c785e56a9771aed548f2229cd2b5fad9736559d2b5469d9befc67bd37fac895213169719329 WHIRLPOOL 1b77a3e43bfad0738d0de1265bbb2b426fd6c1bbfcb61bb4a098b032ff0d71c8e27e776edf6cd7dac907da0da9fc67752ff5f095eab30065a13808bd3a7776e5 +AUX perl-5.8.8-lib64.patch 2880 SHA256 d2005cd1d57852a87f6060627c88eaab56534bcc8f922567e250ea79d2f6552d SHA512 9e1799541bf7a91c1d3ed0f556726c50798b1156cc9a45d56e86716e4074e3464b3f48dd6bb4ba16f81e7488e3cb9c205a92aabf1be5e85e2526c9b88e9b18de WHIRLPOOL 66cc945ca051845b8947f22337551e352f0af60972b07667ce0e974736743659463257f01a5b75f185f60f5147cd142e6363df9d3a1dad93bee64a220b1cefe3 +AUX perl-5.8.8-libnet-hostname.patch 664 SHA256 486d779faa86ae275e8800d83bd67329634b2782de6908512b6bf8380d389a96 SHA512 3208887564d7734f32583b0af33747820a55ef1fb5034c4d5eef15a12edfd5384290d3b1375409d47571c536ca6ce6204cd8b07952c8c950ca170974badbe820 WHIRLPOOL e67f806dc68a56a7987d4468f862429902b2c88c9096f43a13af3476bb1a06d08802d1096bde7cdac2316ee9d0e8b23b90be689cc998baee304ab30b81c8c1df +AUX perl-5.8.8-links.patch 2925 SHA256 aeecee505f05ab0d7336142119f7a3e6d061b8fd2c7bbf9bd88cfb0421323bea SHA512 736dba3e3d21ecf2e6aa2c8e7a4c524da4975025fff5006298fc3685984f61de4329ce59de391ebc7f3650c867df2ff1ce92c01134c4731e6b099eccf51f1b2f WHIRLPOOL 5f70c1a9c0fafc7cf4f4f69f1918c52f561af1fbf08541fac35a8433b31a2f4198d497cbbda7851066402c9505ed4d8d882dfe254de4c8621a74a1a75d5d0612 +AUX perl-5.8.8-makedepend-syntax.patch 341 SHA256 f4ff3678b992774552d9ebc9ca7f3da1ae0144077eb52365e96ddbd0ba9c2606 SHA512 655646a9f349a84286de13eb8048253ac007d876b1d4d1a4be6c8949e155872fc7f52896aa354528118df0a89f2332186f19c473de9b89e8b8d63071a18dd478 WHIRLPOOL 392a80a0af0a79823b7599c9e68c51b57ec2fb67af09d11eaf07c3b6f77e5242c61a857cf35718c0c00bb965e280f9b9162e10a56cbaa68368d1fd912be7702c +AUX perl-5.8.8-perlcc.patch 559 SHA256 7c212d320ec34cf8d0d5443ce5fad5c94a9fa9075462d54ddd8cc5716a2f2aa9 SHA512 bd1b578b45304203bd2be0703e179cd229b17020be86520ec079b5045c233c469aa4f7653620ac501be6a32bfb0a5d0eebd665b27a2d77aca08f5713e26ecca3 WHIRLPOOL ae0cd9f42fe47185d9d8ab2c747bdfe9530d50c7af6cd7ab6c08540cd7ac2433374396f440fa9423d09e2286bac5a6276f5d6896f57781ce4fb665fa06d22cc7 +AUX perl-5.8.8-reorder-INC.patch 3046 SHA256 136ca6c6cfaa3467f6a164f26b34ff06cc55823ca5723118764589cc15d37aed SHA512 f4795edbb738c26b5c63268a3392e93842a1cb06868293bfa16016c2b4e5b78a2029a1d0d6a64bf6f6e76e67565832eff9e37214296b03fdd2ad9cced3e935f9 WHIRLPOOL 6ee2367f5d7b4f344dd3099c8c7869788ea408cd3f6986ef22d8fec73a1489de509a715e6ef1b4f0128315c0f27e106e01b08f74f266ce5adebfadede1711243 +AUX perl-5.8.8-solaris-relocation.patch 526 SHA256 0bf483a1dd8f8572917bf1bd36f45c78d34b818ff0d0177d5f09ca4ab648dea5 SHA512 4436baf03973e8b795ce3e1b1dfd62cfbb59a874a311bc0bb0b8098c8d335f70987ef184cf0d798d837ca567553c7208541c1bf8211d60740c04bf71ec5653b9 WHIRLPOOL 0746481bd285df0b221adc883d8c62b86a422a0d0146358f38ee8adffdf5c5fc20f0dbe54ea9308fee66af890e3c92ebee970ab231df3ff55a5b30a7f3b526bd +AUX perl-5.8.8-solaris11.patch 301 SHA256 300b48858b019797aac8154036aeb537a4058baf265597682a8aadac805991e1 SHA512 c0fd6ae3f312892e7cbfea41271db6d9e84c3aaa4e485743a62a6d0d281aefcc544fd3ed9d0a9f4ebb66a8cef9f3e38526a9a571a7acef2f5b4224441f0f8fcd WHIRLPOOL c841961b1d1375e938f23fe0a689b7f9bf0364e3b98210165989f4b4e30ab821d519c0db1149d67e86c9c870d9263ff869f59c34034a9bdbd215fa610e2f6fc8 +AUX perl-5.8.8-usr-local.patch 775 SHA256 c9cf8a318bb4b13088201ae8044fbab857918e23f517e2e8d2ee2b425940cb6e SHA512 8d17288a9ed9a4b3c7c5c3cdcecd989cc596fd8451e64268bdb36ba8a72780ba8bcfa537b30bc8b15fa0ab3be15117d1f9e331f00db9745fe3650391bce58a1a WHIRLPOOL e60a36a0873e0100c7094f69a181cb409f9a55dc5d4d8859cb3b9ca983e1c242ef47e2446950f3bedab725f558c43b9ba0fa529ffc635e540fd4a30da3cffd68 +AUX perl-5.8.8-utf8-boundary.patch 1866 SHA256 62848b35ed88c7d3a1a836903707b467e421321810e18792da41b28f9e7124a1 SHA512 12a1771259e81dff10553ce58ce8398f704b4dc70bf7c8584e971e33bc950a504a8ca60b521eba6f22262f3b3f0147ba00a266f13a412839f032af0b69a87810 WHIRLPOOL a73dd3f56ad31c6ccdef9cdae0af84c5dc6dca2167668c8d7bf12212f492c04913bf9cf6e14b58a90a58cb25ec15b75a361447af030a4daf49ad77ae939a4faf +AUX perl-cwd-prefix.patch 533 SHA256 efe227ad8f93be5e037f1f2cfb42a18845282fe345c969c5aa2772df3729feb4 SHA512 fc51d41295f18c77a9138a50bc4c312bb5fbfbc675b128dd574aee8955fea9453658ac436719f89dd3d9e653aa0a2de9400216f35538c59a795f8607222e4799 WHIRLPOOL dc5755ab9da8e9f00c1903f9d2a2ae217961caf272bf0a58201e7702ad74f49fe80ee3c86a781eff280f3fee324fd709653c9f90c5aa9de2aa3cefac4eda36c7 +AUX perl-fix_h2ph_include_quote.patch 2462 SHA256 bfe3ebd7e119ebf5e11dc00e55773732f483e740e153dff267dd5ca12affc432 SHA512 8e709d95513fe248ed2d4a0483e4ecf9011c5dd5c77f95009c00c4d26aec25c93ad62939f522bd79020b7e72c94fd8daad327592502369a8b5d27ae0ceed1329 WHIRLPOOL b78e7486e2389209f546f562cb2073c36250a7401b8cfd094ebde336860cfe206f91053d4af94e4b981889511ac282ac1119d9638606a565e47241bbfe606cf2 +AUX perl-h2ph-ansi-header.patch 446 SHA256 dc28a8ccba56e0aa5e01b0ecf68a163ebfb9460917d201f1f6d9a1efef06c788 SHA512 4859af132e2ff7b6c840c61201458fc3bfaee518993f42fdaddccae2cf07a94808183a7c8cffb9deab7e9f15c8241ff4afc3fc8c8817db84b5577831709ab385 WHIRLPOOL 2af68cd9ee1f8c0e3b90418a25a67960f92b7a775efa6eba771c27fd39dbd3b3537e7bf0077293a107e9dbf1678f377d782da73bbe97b90f623e4dee45fb1061 +AUX perl-hppa-pa7200-configure.patch 446 SHA256 4fe6a010dbdc39325f4003e7ccd02cb7996b4a99b64ab0fa8b12d6fe67f87a31 SHA512 5a1bdf849694ea8faf8fc3e7b29d1c908203fb389fa37e5fdeae1a610798031db4549254a90b7a050d0831265a45d605a59bfa14192f1924be7193610931e1e3 WHIRLPOOL be47a74d31258dc2dd524fe26d75edef1eaabc7119e965696ed26e72b9048191b374f21379e6d9b24ad64bdea133e22efa46438536049b5ce6822565c951e8af +AUX perl-noksh.patch 611 SHA256 0861f7f54c184e99a0ffeebeab9420d969d2002f921bc3fb14841a1e24be1f5e SHA512 42f121522a9ad327c65649489fc975ab0e84ca37851ea3b905582c32bf54627d2bf3fffc7450811b9e9b8a7349c4e7547e37c0b4a38a417e6a6d7fa4e687f17e WHIRLPOOL abcd5c1eb9c0be25ecb742d4103b17b8c71f826373b3dbc6572a129a68042895c6c3a546c88206887c99fe848493344194b81c322d4229f0ee6e926c59ba7b75 +AUX perl-perldoc-emptydirs.patch 489 SHA256 e8c52d67793f0a5ae0aee52a3b9db2b348a1303b57069d6f82c4bb499f45ee2f SHA512 9d55750fceb9dbb774a5e7772898d6d97c8b54bbdba6cb0b8d26bab8c1085de344d963efe464ed8a4d0092cec91b12e6a0bae3a92200442c24c08f7cd4df3f20 WHIRLPOOL 76305e28c3696a388a40ba988184e097f56dba071cfbab9ab0bcfaaa2c6a90f5c51c0ea809dd1d995050caf9085875ca562960e09852b243b4bcff40733a85c7 +AUX perl-picdl.patch 250 SHA256 fdbe94e869457b7e62bdc76b82a13ecd6e500c223d609b1767285190efd63cfa SHA512 0493c583b3e7e324f91906ae9280145601642dba6c1c400f3d5df4e054e6aefa023d6c1823ee8cdbb7169fe5e1a932c091326e949e49ea252ccb409dd6a7fbe3 WHIRLPOOL 2fd61e6cbb9b0db012922a2dc8047b5962804b0e0ca41110915f8014f165009671f14619fdd955c95c811b29dc26d6fc49a736d5a20e668e099b7495c28b34d5 +AUX perl-prelink-lpthread.patch 476 SHA256 289d0bdd08105e7fdf1c2d683d76a0cdcd009998f3ecd84f3a75cf79ab84e7a0 SHA512 7a46c4f4c2577d08ca0db27103adca0f0db00010080e499e1231f3785505a8c99b590160bba650a2ef95246f3acfdedcb4003f297f23c1599399b938196c51e2 WHIRLPOOL 8fef3e142467c5be840faed23e38013c9b541844326bcb9972245938bf34a123cdee1fbbae8a3a2c1a90eae6fdf2cb079deb2a0b8bbcd98616c1962a3d5daeff +AUX perl-regexp-nossp.patch 460 SHA256 e2d923711bb856b3c7f790dbc1cd1f468d647c1e50a3ff8a18745023c73b3e36 SHA512 78162aaf02125dcb7fa302edf2c34a1defa836a6e7635f843781b200d50e8bd4d519d1926ae4ff98cd9e3aaa6624b73901b3b6e54cb8ff3522557bd51fed630a WHIRLPOOL 1e205551058916f8495b37a4b1c6d28eba42a72874b2977f678bd5e9756e6d6ade5fdb7d666ef68570b91be906262353f01015dbf3a726f1f5d1564b945e72b6 +DIST perl-5.10.1-9.tar.bz2 7388 SHA256 bd84671e6686288c098c26c0a61d1b8471ab38d8c16fb87571011398770cef44 SHA512 5a94dd2ceadf609623110e11a0c2bf98b14715702bf83c93d61a164d0587900d9fa6b60b238d91de6c7ce34a711647420ccd29972f365ea69f4eb7a56b1209ca WHIRLPOOL 60661e7f7bb954238969255392b8fb87d0870ce4bfcc96abee2f7c05020d1883498374402d2a5b0ed8a056616850082de9a9e7cd47140e571a3a733060ecfa55 +DIST perl-5.10.1.tar.bz2 11608061 SHA256 9385f2c8c2ca8b1dc4a7c31903f1f8dc8f2ba867dc2a9e5c93012ed6b564e826 SHA512 58ba9923c99c41158ea60561852aa2f43ea25d88c1fdf7407cd1b98d40267a7899542b0f22e9d785e787267119a0cb99f8b6d2757cc0826986e497798a3a041a WHIRLPOOL 8c6d28a9b4281e2dd6e62ca367b6b2adc0d5c7cf1e42fcae3ff399679aff4827d9d4f518c51302c9cc1fbd0959381aa9d65f933b9e4b475b238d5e7cc93c8a55 +DIST perl-5.12.3-4.tar.bz2 8908 SHA256 6e97770b5db0dc82630451ea87f2d6654591110ac6791e35bd377129e258dc8b SHA512 67cfe8d41924fa69ad5f46e99b2ffb2d50e317bba3dd3c7cfa66753424bfcf8e66b766645cbbea5b512ac05195aac31677d8cab181689b269556c7ed3f1984b2 WHIRLPOOL 1f4eff9acc101e4251c391061c882b176365ac28cbd1a23b8d826cac73d67221d13c263d27972a395c529b393ab9eb41da611345abaecd623c02ac3f617697ec +DIST perl-5.12.3.tar.bz2 12041247 SHA256 7e3ce3f19f2290c2a2a43a98bcf8cb0ccb69b652d67ddc629544339edc6c7343 SHA512 8a25cb9bd72b197467af7bee55d0c7c834c8e679bc01b82c0f0847d7c7416a02fd89b7cf6304ec74eb38404c78b91e3029d183b6c52831d19082d305c9ef0f76 WHIRLPOOL 9a9dcb9f0b5156415eeb325569f3d6a40df558a86717db7a8f6162531ba30170d3aaa81a15487fd3d7c2c07e5fee81ee075e1a07d401576fa64989105eeecc63 +DIST perl-5.12.4-1.tar.bz2 8045 SHA256 a5b0a7385773da5e716d74c5f9a46c63d93de96e9e7e60899f40363bd9fe6823 SHA512 73ca51e54f4273dc72c0c891643bd842d2f69b20a7cecf409e9eb790bd82cb0c9b61279555fe9f1930f914218c3055470a9d97e1f94e45d7f148a3100a426579 WHIRLPOOL 1e28cded49c92f29908ac6ba5bbbc4e5579cc373ae3b13a009cc503bfa0b0305cf439fdb722e5ebab2c971163163f50f808baf1bbce76cb4a7c0b49de70fbc96 +DIST perl-5.12.4.tar.bz2 12350353 SHA256 c920fa01a34b7752e8cbbc99c6921b908df60611d84a29c4377e4a798604767e SHA512 3dc0250496a2fd6adc639a63d777079d6fa5ba4a1d1c730350fd51752be2c7459ab65d622e99b853a3eea7ccecaf1f5f0b5a0f013efcb6554d6952f47aebf8d0 WHIRLPOOL 40677a8b690a6253609fe1b88bc95d9f8018d167ca4ab6753cba60cc5f5078a4953585a6face4f7e94222cacaca0348093cad6201e1e8c00c4f5a94cce065e49 +DIST perl-5.12.5-1.tar.bz2 8045 SHA256 a5b0a7385773da5e716d74c5f9a46c63d93de96e9e7e60899f40363bd9fe6823 SHA512 73ca51e54f4273dc72c0c891643bd842d2f69b20a7cecf409e9eb790bd82cb0c9b61279555fe9f1930f914218c3055470a9d97e1f94e45d7f148a3100a426579 WHIRLPOOL 1e28cded49c92f29908ac6ba5bbbc4e5579cc373ae3b13a009cc503bfa0b0305cf439fdb722e5ebab2c971163163f50f808baf1bbce76cb4a7c0b49de70fbc96 +DIST perl-5.12.5.tar.bz2 12252744 SHA256 10749417fd3010aae320a34181ad4cd6a4855c1fc63403b87fa4d630b18e966c SHA512 1c8957da1d25bbfc67a6521ba02791326f8040e3e59e4e4d760648598ac3153d9fae942a431ba506811ee95cbf87149071f7afcb3fb35eb59329d5424b0c3af7 WHIRLPOOL ccafe115fd6f7de6992beac0bfba4273e6f72949957a1b828bd9e787b4b663164d6edb091cfabdee1269b944d96467026f4fcfb8b5521bf0b307fd7178a1cb52 +DIST perl-5.14.1-1.tar.bz2 5074 SHA256 5fa81bde2e8ca4f8a9c60203d4c2d5f7d388fda648a669ae474881317cd2baee SHA512 68917dff11c9a947ec30f9de13c6192a1dc1fd40eb89e52675c2b8aea457f7ad26d7133ded41f15a8887ce81463005ff8baad12312f3fb98aa041284a32a8c4e WHIRLPOOL 27994a12db146ad0a86f07b44c88d2ba25efc42e1906018b425d0aee0b494e085c528edee1bb3400153e60e09162f5a7cf7661a299193c2f0cc57a4fe0dd92fd +DIST perl-5.14.1.tar.bz2 13266293 SHA256 29b4a7e7c22d4a980ab9eb1ea486c5c4ee9ec533192a1ce8f3fe9ae32fb1f862 SHA512 86037dded859d1f1ef6f8d5b0255fd22a8a6d0a223b69d10eab80556305fd10955fd1021c755c7fc17345b8f1bb489d2a07cc1987e1a0d83fb983f832051c8f3 WHIRLPOOL 08de8654715409495a041242d8806ff56c91a8d8b706ab5e5ef779b5216530bb3f171959990620d9f4a0464c92ba0f8bc688ba33a3fec2342991b6800357b11b +DIST perl-5.14.2-1.tar.bz2 5103 SHA256 0f553de072f80670880b96ef8ca0a79e4e1505f9bf1df55f6de55b95ac0862e7 SHA512 31196af4a32bd8b57b74d122d390261b129dc135ae54f35e45fe125bcab17bd6f837a094ad8d880992006304d287a3ceb74bc1168928b480a3573e80f01b52c3 WHIRLPOOL 567dd87156b56bd587210664dc537d9c964c5dba1ae54cae7d4754b0e4aa6149453650a0a97d971a771b14d50eaef624e0fa22e7428a321c78f44a85eac40dba +DIST perl-5.14.2.tar.bz2 13226972 SHA256 c2a2362e8d1fdd2bfbfde801fcd78241f154c164f00fba76065ab8cc5c7b06cd SHA512 c8fcac096f5c7dcac7ed667e46711392cbea7791e5f005779f7ef88a6d42abfb204eb7b6c94dd2408d50d27db016f0b9632fc31f79c07b80d4a801367579b041 WHIRLPOOL a0ddf16b5baeb1ee49cee5ed4a99c8e4c00259beb359a9503c6c55f5fa034b150ce156c4cbfe915c0d3c57914ac84a4c89e2d81e33a8fcd66e4b6cecae7c6b90 +DIST perl-5.16.0-3.tar.bz2 13822 SHA256 2187b4b9f54f008ed3dd6b6620bd1c59ba5b0f5dcf01b6728fe285874363d408 SHA512 0f99855a8b331b2baa598cd055633595890219e897f868d0415189795f0a5a25b4731a30656be68268621c458899341496887a57b974470cec30cb38c1039ab5 WHIRLPOOL c8492e025aad4621c5d8a0667e3923c5cb71b78b67afe8aca6568ec13bf7c145bfc71fa8586a8de90863f519d2088498c0cd0bd075eb784b4e16b08096c49b93 +DIST perl-5.16.0.tar.bz2 13568573 SHA256 8c1d25e92a5760e84f77baa57fde5606fd6e95ec992408d36fa53c47162721d1 SHA512 d0bb91141ac4c5cc3d98dbeada130ae70c32cf59ac1a74991b5b1f52138b37f5cfa4233935afed4a16edfc9df784df6b3c538240dc654b82bac1fcb8efe3c3a1 WHIRLPOOL 432d93e018a8c2d5571bd15a79158d447f20e658340d8bf84603fe6c33251c78b07fc1ceaf7fa858ddb16d92bb6ac7a37fa39bc6d29e5b0aa4b99d1b6e4d209e +DIST perl-5.16.1-1.tar.bz2 13843 SHA256 829fb8facfcd527ee10e490d105049b9138a7b9367bcd9ba7677330e0c326751 SHA512 0dc6cfc9f948a523127fd36fbe8dcc5af581937ad491a7e91cc2f5cf7d4f4fdeb6b7a24346ebfa4e78f839895b4cbd6da9a6a183d816d58792060c5d73d1d6b6 WHIRLPOOL ead851b1b8ecd64165f7af152b1aec8a46e76f0caa6842b7725aea7f0ef8c5516fa9461bcedd11565c60179c0acad5b1682129277a670129bc19dd2a8706025b +DIST perl-5.16.1.tar.bz2 13550613 SHA256 0704b1421fe50015becd32c8b7ed05843e8b6c188a8c16cb0c11d76986375fd0 SHA512 df221f3d0bf3877e4fdf724bc8c10d6d3dd6cd7d762cc164d4fe67636806831ba14d2c52d30d927b87091a1004af68f730ed6f32cd06c29af5fa42d35212415c WHIRLPOOL c46a015916d00516e458e4c4c20a31f8c4c2d983d1a74fa73ce6721d6bce9321c2c2f4b5ac3e4caeda4db07d629e55d06c6bdb26233e8e95d3e95a5643d1d198 +DIST perl-5.16.2-2.tar.bz2 16830 SHA256 ee5131e8d3671ad03a39f9e729efea7750a3342aba950f9555efdd5ba8d81d40 SHA512 799e8c8b3cffbad9a2fd606ab610d23da8ca4d83e4f5d782596d5c86a127da54d2506564f7fac7479542802dfc835c8a0d6a5576e8a6fff3a44f9fc0706ed4b3 WHIRLPOOL cabd3be774144870fff0e37f78070d64f00e311c05be85386396cfa53a8964abf017560d87833fa223d87fad700dfc4831f9a4210d5e2ccc6c3462689c9dd0a9 +DIST perl-5.16.2-3.tar.bz2 18740 SHA256 830a6f444c2977c9dd8a0a4baa5be470b0019158e6c64448416afd10f2b73ca7 SHA512 d0da32a7ea8950d58aa50a74b5369df621885f4d5c26b65cee9070529f4679c63e19c8fcc880b31d913cfb1859ec8032ce6c80e21938fa621afeda571c116d44 WHIRLPOOL 55b4823423b4d88b9fba0fc9e9cc50bbce7c31c06563ebf97f6a44ee99f6e0d33ad7d6a400152e7e31e377dd5efb210f9d1906e234efe43477bf954f63182f38 +DIST perl-5.16.2.tar.bz2 13725101 SHA256 5ba91d9aa40220c615b644bb48fa5df7fbca4afb1c9e911bdc0ce2a93f072d7d SHA512 b2a0eac73ce57ca9b83622eaee64cdbfc69011ff4dc54d5e6193e9a218117f33963ac56a30fc2baa7a76504868bfa5f00dd5ba25ece1ac70fe3a7a454898764b WHIRLPOOL e634c29edb00676023e906d65a9ace8cbee6aed43c6551d119a0b59f4f1be15f2f9d8b1417cc22b3bae5a0f3706d1aecccd2815edc7f341a4301be969e024203 +DIST perl-5.16.3-1.tar.bz2 16842 SHA256 e88c413f6491aaa76cfb730af5873d710906df84d486019ad34b8c976ed9279e SHA512 337fbe5b3f447d2bb7f1edb18df973efbf99582448bcc6d3099ec6a91a43071cbbde3419a642e69602d6526f0d2c83d1ce8c7315e51362937c76bf3dc93f3f84 WHIRLPOOL c5be2872341e2bffe4f83b3f77314ed60b078f0977b11aa89d24a25fffa5ad9a761945d6518872c92a156065b58a3c456b71f98a8939a9cfd748e3a2d98a2264 +DIST perl-5.16.3.tar.bz2 13724906 SHA256 bb7bc735e6813b177dcfccd480defcde7eddefa173b5967eac11babd1bfa98e8 SHA512 c30cda0af9463942e40b5d70a95e69b0640bf0b79d9d9dfa1a61d9d8b9ee05f553fd240be4c8b3c60a1def66c80453e49e865c27d3dd0b686f5c004e1ff58d92 WHIRLPOOL 241141d9a04095abbc08f29853cc2a348b04550c7e9330c65a1aa111620b61166d2516a619a3afbf8b7bae4208bae7114bfff153c9303c00158a0153c3388526 +DIST perl-5.8.8.tar.bz2 10123359 SHA256 818a140d9c04ea8dab3a05104b34ced7f7d9d0a91bfed91baf89a84d0dfb1bc9 SHA512 45d8d6ffe5f28b71bd279e17e82eb60a97e2372e896ad5c1233a88d3cf092dc37ba74a450413a689600f8a17f53969600fc6e45a6e2a051471f9fde86bd635f7 WHIRLPOOL 0f50fa3b0785932ce30df64881c57b15ef098fb7cb8f6ad2a850e3642e7be589b3dc61e7ae9e07b44eacbfec262e0f869b26dbf6f704d302eb700fb2e158d380 +EBUILD perl-5.10.1.ebuild 18186 SHA256 e78712f27936a68b51f0e70239dd01f28adc79a7d1f1ca8580fcae6a0b51e707 SHA512 6c6bec78518702469e05d934d2cb23ee5f24b45e92edc7e3d31c33be222b0d0602e851e576318bdfacb92456fb4242f68c65e54649f47caa521874524f699581 WHIRLPOOL 2471a7f2bd074e494cf29edacfea190dbd4dbcd18c22ad77d93e0530609870353a43def38cee6d7bc98932c3977494fa151072b6586b9a91c12de9c92c7de430 +EBUILD perl-5.12.3-r1.ebuild 19453 SHA256 d675c932b718a36b59d666fec13d0a5a77b02b8450a961a7e1a833dcaf560de4 SHA512 9dbfc08a5ec1185f352caf0529ae0fa5d8df8b980aaa4682f18b2186244452247ea2bb4132a7464c27f12015522862a89091448ddcef6684c037f9c6eae5dd72 WHIRLPOOL d03b934499856b26454a8f7c99fed0044dce612928321483d61048fefb0200e922047154bc6d8375fdaa0c1c6c0c03ec1698343b0c4155f0b52d708fd794c504 +EBUILD perl-5.12.4-r1.ebuild 19372 SHA256 5daba3ba20c18960efdcc372ad697231ecb8f36515b8bdb2a386444992c431bd SHA512 fd1ab8eab7f11568578fc485c38ad4c261401c2235bb86314a9db2d4922866b51ed2037c80afe650c8488b77f6fe8ca13c788efe0bd10f0eed1460f16eda37bb WHIRLPOOL 80eca255b42b520d1dd08ed9b75e76b64c117e5d3906ea989297dc21dbed546b83eb023c4bc841bef8ccd536e8f9f0f4639d092f8327a7ded2a04c797174ffef +EBUILD perl-5.12.4-r2.ebuild 21823 SHA256 ad29874dfc892161535e789e4bfcf949b31edc15f5bfc28370d15b8db8fda3bb SHA512 fa89b6a91c81e59633e66abbd3b7a41501117d5184785df77326eba6a8e8b48ebb29769bcafbbcc9c6dfa2f5e3de82b349c2860a9e2bb3620d321c635686f343 WHIRLPOOL 9ebd2ed5c0976a97772a37b2717e92fe0204ba24110aacacd9688a490ff869d1a9943e54bb29d4a2beaa30b295ee2c9034d8b567c06acfdfa7236cd3942b7399 +EBUILD perl-5.12.4.ebuild 19495 SHA256 4948ed320cdabf857a90f456c0f7c98feb8f6f4e407075d9957bdf7f578f6fb0 SHA512 bdc850e16d269b79f8dff35169801f980d202e723ed4acce457a32da2bf6728a0f73ebbdc72797ef5e5abded95568e519f43f646e7f9094d1ce5a81391a2b6a9 WHIRLPOOL 30c33a7cbeff13da26993d1bf6cf39750276c65b39076f658a4e00acf7b36ec6a6a7f7695904bd3eaab3cf175446a9ea99cc3631f69595a7709f579d264df5f8 +EBUILD perl-5.12.5.ebuild 21859 SHA256 e51378144f05f118061d8cab00aef96cc5ea18fd180a7c843c0a413d09d45b64 SHA512 3e9ab1b1a04415e11980031cb8ec82e417e78cb4c6f3c38c124e909b4b66792f7a2a479bf4110118a537848627bc86024470f8da6154cf209e0c407be6258247 WHIRLPOOL c9ef06cc7e6a3f09cf791f0f5508331e67d4fda4f1fbe0e262568584e541bc6225c0f3708e89af71363f085793b37a506ddb97f85e5bbf572462f0a60e2f6613 +EBUILD perl-5.14.1-r1.ebuild 20057 SHA256 e831beac3a6a8d637090e1333e6cffe8277ff615c1893417df7d24f63b8e8d17 SHA512 56c4525d4d51a6d300da6c77a1d41374a5159f63d03821e25903eccd98f47f1bf72f8bc70964653a6742716093fd504d58a6869df81bd4f7fcc381ff7b5ef877 WHIRLPOOL 035f47cac32cd0848a9199a0212f54dd5682cded6cac099d9ce070b5c1f0f5220b2bde08f5324c81adf75f5ee1c3f34dacb8f04be5d94dbccfeb540df9cc7f6b +EBUILD perl-5.14.1.ebuild 19436 SHA256 77c5ad7783d7786cb65b0f3e179bee779520b065901d89c3bc244447f8181cf2 SHA512 d7e1970aac2377135e571dec9f37453f740b81d8abebc2d3fb6ebc4b6036ea22c92160a8617ce0a1bf8c6e973772aea8df64b76bd8d69486839ca9d00ef388eb WHIRLPOOL 36abafa221dfee153ee3814983c557d3a2ce547d71ca3e9dba8cd62733ab76ee2d48a955d646689b7f541f995af1ed162c24fc83064ef2207645d6c6bf5db191 +EBUILD perl-5.14.2.ebuild 22156 SHA256 f00757a0136d01104ca9deacca8d13571235b99acb642121c84b6ab93e19953d SHA512 a39550c29bc2e12d82e5b682f200e93db7fcb0ed08fa95c2bd54e70af25e7b49ec7eb32512cc5c18769fb45aae000b019d6c661d370f523ba58865916b9f4a05 WHIRLPOOL 877148e2050da7de3139866955ff1c90709bdc60f3de7eca62c0bd04c83bf1c06a5d98886519ec6be4039b8d7f71ef43cfa72d5b58318973eb27e3cbbee391bd +EBUILD perl-5.16.0.ebuild 4230 SHA256 c104c5723f31cd3ff8945bb40016e0f4c6855d4564e5a3192f0b6f557ac2d8bc SHA512 e5e6c88ad88c16785732b88bb024e7ebd46001fc7bd6e5b15c7b52ba30870ce51b61ebc97b12aa595849203f49ae73d836d02c31459b5945e44ef1b38d70817d WHIRLPOOL d5c96a973da468d0bbf89741d291386aa2cd17d92c43df80cdd9693584a36cf955e3e5aaca5ac78b2678699e48803f0c95141598a35fea53219c055800ef3e60 +EBUILD perl-5.16.1.ebuild 4236 SHA256 29c5cb646290e5004262274b170ab8191ce03f40b499446c15d249fc8bd0f6d4 SHA512 0a8a3150e650e5ead8f90b32247acd922821fcb33ede14c1ffe4efeb35ba79d6c3f2acfa72432da9250e2585f2c81562db60b194e8bd53eaf3e86a2b0c34b3b1 WHIRLPOOL f941405f741d0f73495c68e39acc356e04b322c3c4880affa0b75c53aab0b118b3d11914912d730489bed15fa01b882792e31e60cc58c1530d71ca3c874a0b8a +EBUILD perl-5.16.2-r1.ebuild 4325 SHA256 664cb125c70d88a96c80bb56ffbdf60780761899208dc64a5afb19e28a1adbbc SHA512 8058708a2792689bf4ea2d47dc1d00f4a0627aa608ae0d39b23891b352be4c1b0dc6bfbd757566b10b52cab584df479e5f75e2a72eed9fc3182f33d8a81e981a WHIRLPOOL 7e9661ae86c1685c4ff1570fc1a0747466be3f3dd6b6f28e083aea8fd4c92969a11c8ebcda0a9b79b8c87f61ecfff5fbd88cbfe66b9e521590045d2d5d588f6b +EBUILD perl-5.16.2.ebuild 4263 SHA256 5a11a05631a575c4641295ff735672671f66b5f4467b976452405116864b6f10 SHA512 93ea89c68708d57e06faf62b76c0399606d203a86b6da51c67476464c221c03048d80044aa47f3928974099ec22af6e883eef9b6e0b4ef18b7fc778eb871bcbd WHIRLPOOL b6cf32f5b984b8e08e3f691046fd1cfe1c674d311781c30d948db90f977b34920b8d52161a3938b713897364d6bb06b4b7d9d13deca91e9d2a157be81eec4192 +EBUILD perl-5.16.3.ebuild 4336 SHA256 2249c50a65f2f672fa0400d1d71f27502dafea9e722c2895e0af7ce0a8f6cf82 SHA512 950d058c000feed8e3294cfded1010d3172fe4e05fef2c6d2e470dc5dfd4abef070872decb7bed246bc9a357912f1b9b2ab3818f7784932888a7976e436ae144 WHIRLPOOL fe4f49ee6666c4222674a6f1113f18d572bddf6740287d939b6d7d2259cd9f386ff92dfc1c460db2ba35238333ba6a29dcac68fc35b947a49adb687afbfadaef +EBUILD perl-5.8.8-r8.ebuild 20741 SHA256 0ccd023b46d13e2c36bc7d9b5cf797e8288d2f76b683ac67802d7a1c39e6399e SHA512 8dfb847219afa8843449c82fdc802e7eba42581ef3f79f501fdde84213fab8903281a4188649da383353e339a7201f3b6b479c2718dec06957dde5ce5902eddc WHIRLPOOL ebc3605f1d80c5ca59fe6aad9dfdf548bd58ca76d66517a1ad49acba64e17d59314a6a59c8c2c9850cb73bc863c15b4f07d6853435b939032484cb3229897762 +MISC ChangeLog 76912 SHA256 a4d6090b5c7fa1a450394da6c23d952b054e82e63f3447819219904422bd5a8f SHA512 ccea77d320eb31aad33344cd595522acf693d9116d1c51b9d91390115d7316de866a5d5396495227cda4a648ff39a95eb7f70fa21845865e0640d579696640a4 WHIRLPOOL 0d7875e17f35f20f2eed0c5a89fb51705226a6060261aad178ea666e42ac790a64599fc6b70c4a71522f5e33aafeefd0d0b73bdd5fffce545f788ed9a0da5d52 +MISC metadata.xml 341 SHA256 b87a6bb9a9087266ceeecc146661b4e562ca01bb718a2473e8f921d63e279d1f SHA512 a7c88c9c6e35421a2ed105281243a9282ce1b55ad4a407cc4968507dc5b7290a0af706a64ca49424ef514173b2adb703960626e6f697101f41171709268109bc WHIRLPOOL 0bcb33d53f8b9b32e74ec2a324baa1a1cc14bb461b0febc1728789d8eec7a6f6abdc8579c4f9cfe4781d0ffdcb29b87a57669b01749b2bc85fe893815f998a04 diff --git a/dev-lang/perl/files/eblits/common-v50160001.eblit b/dev-lang/perl/files/eblits/common-v50160001.eblit new file mode 100644 index 0000000..e108d2a --- /dev/null +++ b/dev-lang/perl/files/eblits/common-v50160001.eblit @@ -0,0 +1,71 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/files/eblits/common-v50160001.eblit,v 1.1 2012/06/05 17:52:35 tove Exp $ + +src_remove_dual_file() { + local i pkg ver + pkg="$1" + ver="$2" + shift 2 + case "${EBUILD_PHASE:-none}" in + postinst|postrm) + for i in "$@" ; do + alternatives_auto_makesym "${i}" "${i}-[0-9]*" + done + ;; + setup) + for i in "$@" ; do + if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then + has_version ${pkg} && ewarn "You must reinstall ${pkg} !" + break + fi + done + ;; + install) + for i in "$@" ; do + if ! [[ -f "${ED}"${i} ]] ; then + ewarn "${i} does not exist!" + continue + fi + mv "${ED}"${i}{,-${ver}-${P}} || die + done + ;; + esac +} + +src_remove_dual_man() { + local i pkg ver ff + pkg="$1" + ver="$2" + shift 2 + case "${EBUILD_PHASE:-none}" in + postinst|postrm) + for i in "$@" ; do + ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*` + ff=${ff##*${i#${i%.[0-9]}}} + alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*" + done + ;; + install) + for i in "$@" ; do + if ! [[ -f "${ED}"${i} ]] ; then + ewarn "${i} does not exist!" + continue + fi + mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die + done + ;; + esac +} + +src_remove_dual() { + local i pkg ver + pkg="$1" + ver="$2" + shift 2 + for i in "$@" ; do + src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}" + src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1" + done +} + diff --git a/dev-lang/perl/files/eblits/pkg_postinst-v50160001.eblit b/dev-lang/perl/files/eblits/pkg_postinst-v50160001.eblit new file mode 100644 index 0000000..ad743bc --- /dev/null +++ b/dev-lang/perl/files/eblits/pkg_postinst-v50160001.eblit @@ -0,0 +1,67 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/files/eblits/pkg_postinst-v50160001.eblit,v 1.1 2012/06/05 17:52:35 tove Exp $ + +eblit-perl-pkg_postinst() { + dual_scripts + + if [[ "${ROOT}" = "/" ]] ; then + local INC DIR file + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }') + einfo "Removing old .ph files" + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + for file in $(find "${DIR}" -name "*.ph" -type f ) ; do + rm -f "${file}" + einfo "<< ${file}" + done + fi + done + # Silently remove the now empty dirs + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + fi + done + +# ebegin "Generating ConfigLocal.pm (ignore any error)" +# enc2xs -C + + einfo "Converting C header files to the corresponding Perl format (ignore any error)" + # Prefix note: unprefixed as this is all kernel/libc stuff that we never provide + pushd /usr/include >/dev/null + h2ph -Q -a -d "${EPREFIX}"${ARCH_LIB} \ + asm/termios.h syscall.h syslimits.h syslog.h sys/ioctl.h \ + sys/socket.h sys/time.h wait.h sysexits.h + popd >/dev/null + +# This has been moved into a function because rumor has it that a future release +# of portage will allow us to check what version was just removed - which means +# we will be able to invoke this only as needed :) + # Tried doing this via -z, but $INC is too big... + #if [[ "${INC}x" != "x" ]]; then + # cleaner_msg + #fi + fi +} + +cleaner_msg() { + eerror "You have had multiple versions of perl. It is recommended" + eerror "that you run perl-cleaner now. perl-cleaner will" + eerror "assist with this transition. This script is capable" + eerror "of cleaning out old .ph files, rebuilding modules for " + eerror "your new version of perl, as well as re-emerging" + eerror "applications that compiled against your old libperl$(get_libname)" + eerror + eerror "PLEASE DO NOT INTERRUPT THE RUNNING OF THIS SCRIPT." + eerror "Part of the rebuilding of applications compiled against " + eerror "your old libperl involves temporarily unmerging" + eerror "them - interruptions could leave you with unmerged" + eerror "packages before they can be remerged." + eerror "" + eerror "If you have run perl-cleaner and a package still gives" + eerror "you trouble, and re-emerging it fails to correct" + eerror "the problem, please check http://bugs.gentoo.org/" + eerror "for more information or to report a bug." + eerror "" +} diff --git a/dev-lang/perl/files/eblits/pkg_postrm-v50160001.eblit b/dev-lang/perl/files/eblits/pkg_postrm-v50160001.eblit new file mode 100644 index 0000000..a4d5ad6 --- /dev/null +++ b/dev-lang/perl/files/eblits/pkg_postrm-v50160001.eblit @@ -0,0 +1,12 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/files/eblits/pkg_postrm-v50160001.eblit,v 1.1 2012/06/05 17:52:35 tove Exp $ + +eblit-perl-pkg_postrm(){ + dual_scripts + +# if [[ -e ${ARCH_LIB}/Encode/ConfigLocal.pm ]] ; then +# ebegin "Removing ConfigLocal.pm" +# rm "${ARCH_LIB}/Encode/ConfigLocal.pm" +# fi +} diff --git a/dev-lang/perl/files/eblits/pkg_setup-v50160001.eblit b/dev-lang/perl/files/eblits/pkg_setup-v50160001.eblit new file mode 100644 index 0000000..9931075 --- /dev/null +++ b/dev-lang/perl/files/eblits/pkg_setup-v50160001.eblit @@ -0,0 +1,69 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/files/eblits/pkg_setup-v50160001.eblit,v 1.1 2012/06/05 17:52:35 tove Exp $ + +eblit-perl-pkg_setup() { + case ${CHOST} in + *-freebsd*) osname="freebsd" ;; + *-dragonfly*) osname="dragonfly" ;; + *-netbsd*) osname="netbsd" ;; + *-openbsd*) osname="openbsd" ;; + *-darwin*) osname="darwin" ;; + *-interix*) osname="interix" ;; + *) osname="linux" ;; + esac + + myarch="${CHOST%%-*}-${osname}" + if use debug ; then + myarch+="-debug" + fi + if use ithreads ; then + mythreading="-multi" + myarch+="-thread" + fi + + LIBPERL="libperl$(get_libname ${MY_PV} )" + PRIV_LIB="/usr/$(get_libdir)/perl5/${MY_PV}" + ARCH_LIB="/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" + SITE_LIB="/usr/local/$(get_libdir)/perl5/${MY_PV}" + SITE_ARCH="/usr/local/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" + VENDOR_LIB="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}" + VENDOR_ARCH="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}/${myarch}${mythreading}" + + if use ithreads ; then + echo "" + ewarn "THREADS WARNING:" + ewarn "PLEASE NOTE: You are compiling ${MY_P} with" + ewarn "interpreter-level threading enabled." + ewarn "Threading is not supported by all applications " + ewarn "that compile against perl. You use threading at " + ewarn "your own discretion. " + fi + check_rebuild + dual_scripts +} + +check_rebuild() { + if has_version "<dev-lang/perl-${SHORT_PV}" ; then + echo "" + ewarn "UPDATE THE PERL MODULES:" + ewarn "After updating dev-lang/perl you must reinstall" + ewarn "the installed perl modules." + ewarn "Use: perl-cleaner --all" + elif has_version dev-lang/perl ; then + # doesnot work + #if ! has_version dev-lang/perl[ithreads=,debug=] ; then + #if ! has_version dev-lang/perl[ithreads=] || ! has_version dev-lang/perl[debug=] ; then + if ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \ + ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \ + ( use debug && ! has_version dev-lang/perl[debug] ) || \ + ( ! use debug && has_version dev-lang/perl[debug] ) ; then + echo "" + ewarn "TOGGLED USE-FLAGS WARNING:" + ewarn "You changed one of the use-flags ithreads or debug." + ewarn "You must rebuild all perl-modules installed." + ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" + fi + fi +} + diff --git a/dev-lang/perl/files/eblits/src_configure-v50160001.eblit b/dev-lang/perl/files/eblits/src_configure-v50160001.eblit new file mode 100644 index 0000000..1184808 --- /dev/null +++ b/dev-lang/perl/files/eblits/src_configure-v50160001.eblit @@ -0,0 +1,146 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/files/eblits/src_configure-v50160001.eblit,v 1.5 2012/08/16 10:47:29 grobian Exp $ + +myconf() { + # the myconf array is declared in src_configure + myconf=( "${myconf[@]}" "$@" ) +} + +eblit-perl-src_configure() { + declare -a myconf + + export LC_ALL="C" + [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091 + + # some arches and -O do not mix :) + use ppc && replace-flags -O? -O1 + # Perl has problems compiling with -Os in your flags with glibc + use elibc_uclibc || replace-flags "-Os" "-O2" + # This flag makes compiling crash in interesting ways + filter-flags "-malign-double" + # Fixes bug #97645 + use ppc && filter-flags "-mpowerpc-gpopt" + # Fixes bug #143895 on gcc-4.1.1 + filter-flags "-fsched2-use-superblocks" + + use sparc && myconf -Ud_longdbl + + export BUILD_BZIP2=0 + export BZIP2_INCLUDE=${EPREFIX}/usr/include + export BZIP2_LIB=${EPREFIX}/usr/$(get_libdir) + + export BUILD_ZLIB=False + export ZLIB_INCLUDE=${EPREFIX}/usr/include + export ZLIB_LIB=${EPREFIX}/usr/$(get_libdir) + + # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1 + + myndbm='U' + mygdbm='U' + mydb='U' + + if use gdbm ; then + mygdbm='D' + myndbm='D' + fi + if use berkdb ; then + mydb='D' + has_version '=sys-libs/db-1*' && myndbm='D' + fi + + myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db" + + if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then + ewarn "Perl will not be built with berkdb support, use gcc if you needed it..." + myconf -Ui_db -Ui_ndbm + fi + + use ithreads && myconf -Dusethreads + + if use debug ; then + append-cflags "-g" + myconf -DDEBUGGING + elif [[ ${CFLAGS} == *-g* ]] ; then + myconf -DDEBUGGING=-g + else + myconf -DDEBUGGING=none + fi + + if [[ -n ${PERL_OLDVERSEN} ]] ; then + local inclist=$(for v in ${PERL_OLDVERSEN}; do echo -n "${v}/${myarch}${mythreading} ${v} "; done ) + myconf -Dinc_version_list="${inclist}" + fi + + [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a" + + # Prefix: the host system needs not to follow Gentoo multilib stuff, and in + # Prefix itself we don't do multilib either, so make sure perl can find + # something compatible. + if use prefix ; then + local ldir + local paths="" + echo "int main() {}" > "${T}"/t.c + # need to ensure dirs contain compatible libs, + # bugs #358875, #400839, use scanelf for #425538 + $(tc-getCC) -o "${T}"/t "${T}"/t.c > /dev/null || die + local scantool=scanelf + [[ ${CHOST} == *-darwin* ]] && scantool=scanmacho + local mtype=$(${scantool} -BF "%M%D#f" "${T}"/t) + einfo "searching libdirs for ${mtype}" + for ldir in /lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib ; do + [[ -e ${ldir} ]] || continue + if ${scantool} -BF "%M%D#f" ${ldir}/ | grep -q ${mtype} ; then + paths="${paths} ${ldir}" + einfo "found ${ldir}" + fi + done + myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}" + elif [[ $(get_libdir) != "lib" ]] ; then + # We need to use " and not ', as the written config.sh use ' ... + myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)" + fi + + # don't try building ODBM, bug #354453 + myconf -Dnoextensions=ODBM_File + + sh Configure \ + -des \ + -Duseshrplib \ + -Darchname="${myarch}" \ + -Dcc="$(tc-getCC)" \ + -Doptimize="${CFLAGS}" \ + -Dldflags="${LDFLAGS}" \ + -Dprefix="${EPREFIX}"'/usr' \ + -Dinstallprefix="${EPREFIX}"'/usr' \ + -Dsiteprefix="${EPREFIX}"'/usr/local' \ + -Dvendorprefix="${EPREFIX}"'/usr' \ + -Dscriptdir="${EPREFIX}"'/usr/bin' \ + -Dprivlib="${EPREFIX}${PRIV_LIB}" \ + -Darchlib="${EPREFIX}${ARCH_LIB}" \ + -Dsitelib="${EPREFIX}${SITE_LIB}" \ + -Dsitearch="${EPREFIX}${SITE_ARCH}" \ + -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \ + -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \ + -Dman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \ + -Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \ + -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dman1ext='1' \ + -Dman3ext='3pm' \ + -Dlibperl="${LIBPERL}" \ + -Dlocincpth="${EPREFIX}"'/usr/include ' \ + -Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \ + -Duselargefiles \ + -Dd_semctl_semun \ + -Dcf_by='Gentoo' \ + -Dmyhostname='localhost' \ + -Dperladmin='root@localhost' \ + -Dinstallusrbinperl='n' \ + -Ud_csh \ + -Uusenm \ + -Dsh="${EPREFIX}"/bin/sh \ + "${myconf[@]}" || die "Unable to configure" +} diff --git a/dev-lang/perl/files/eblits/src_install-v50160001.eblit b/dev-lang/perl/files/eblits/src_install-v50160001.eblit new file mode 100644 index 0000000..d31e90e --- /dev/null +++ b/dev-lang/perl/files/eblits/src_install-v50160001.eblit @@ -0,0 +1,61 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/files/eblits/src_install-v50160001.eblit,v 1.3 2013/03/14 12:46:31 tove Exp $ + +eblit-perl-src_install() { + local i + local coredir="${ARCH_LIB}/CORE" + + emake DESTDIR="${D}" install + + rm -f "${ED}"/usr/bin/perl + ln -s perl${MY_PV} "${ED}"/usr/bin/perl || die + + if ! tc-is-static-only ; then + dolib.so "${ED}"${coredir}/${LIBPERL} + rm -f "${ED}"${coredir}/${LIBPERL} + ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die + ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die + ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die + fi + + rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages" + +# # A poor fix for the miniperl issues +# dosed 's:./miniperl:/usr/bin/perl:' /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp +# fperms 0444 /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp +# dosed 's:./miniperl:/usr/bin/perl:' /usr/bin/xsubpp +# fperms 0755 /usr/bin/xsubpp + + # This removes ${D} from Config.pm + for i in $(find "${D}" -iname "Config.pm" ) ; do + einfo "Removing ${D} from ${i}..." + sed -i -e "s:${D}::" "${i}" || die "Sed failed" + done + + find "${ED}" -type f -name .packlist -delete || die + + # Note: find out from psm why we would need/want this. + # ( use berkdb && has_version '=sys-libs/db-1*' ) || + # find "${ED}" -name "*NDBM*" | xargs rm -f + + dodoc Changes* README AUTHORS + + if use doc ; then + # HTML Documentation + # We expect errors, warnings, and such with the following. + + dodir /usr/share/doc/${PF}/html + LD_LIBRARY_PATH=. ./perl installhtml \ + --podroot='.' \ + --podpath='lib:ext:pod:vms' \ + --recurse \ + --htmldir="${ED}/usr/share/doc/${PF}/html" + fi + + [[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local + + dual_scripts +} diff --git a/dev-lang/perl/files/eblits/src_prepare-v50160001.eblit b/dev-lang/perl/files/eblits/src_prepare-v50160001.eblit new file mode 100644 index 0000000..d844636 --- /dev/null +++ b/dev-lang/perl/files/eblits/src_prepare-v50160001.eblit @@ -0,0 +1,72 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/files/eblits/src_prepare-v50160001.eblit,v 1.1 2012/06/05 17:52:35 tove Exp $ + +src_prepare_update_patchlevel_h() { + # Copied and modified from debian: + # Copyright 2011 Niko Tyni + # This program is free software; you can redistribute it and/or modify + # it under the same terms as Perl itself. + local patchdir="${WORKDIR}/patches" + local prefix + + [[ -f ${patchdir}/series ]] || return 0 + +while read patch +do + patchname=$(echo $patch | sed 's/\.diff$//') + < $patchdir/$patch sed -e '/^Subject:/ { N; s/\n / / }' | sed -n -e ' + + # massage the patch headers + s|^Bug: .*https\?://rt\.perl\.org/.*id=\(.*\).*|[perl #\1]|; tprepend; + s|^Bug: .*https\?://rt\.cpan\.org/.*id=\(.*\).*|[rt.cpan.org #\1]|; tprepend; + s|^Bug-Gentoo: ||; tprepend; + s/^\(Subject\|Description\): //; tappend; + s|^Origin: .*http://perl5\.git\.perl\.org/perl\.git/commit\(diff\)\?/\(.......\).*|[\2]|; tprepend; + + # post-process at the end of input + $ { x; + # include the version number in the patchlevel.h description (if available) + s/List packaged patches/&'" for ${PF}(#${PATCH_VER})"'/; + + # escape any backslashes and double quotes + s|\\|\\\\|g; s|"|\\"|g; + + # add a prefix + s|^|\t,"'"$prefix$patchname"' - |; + # newlines away + s/\n/ /g; s/ */ /g; + # add a suffix + s/ *$/"/; p + }; + # stop all processing + d; + # label: append to the hold space + :append H; d; + # label: prepend to the hold space + :prepend x; H; d; + ' +done < "${WORKDIR}"/patches/series > "${S}"/patchlevel-gentoo.h +} + +eblit-perl-src_prepare() { + local patch + EPATCH_OPTS+=" -p1" + einfo "Applying patches from ${MY_P}-${PATCH_VER} ..." + while read patch ; do + EPATCH_SINGLE_MSG=" ${patch} ..." + epatch "${WORKDIR}"/patches/${patch} + done < "${WORKDIR}"/patches/series + epatch "${FILESDIR}"/${PN}-cwd-prefix.patch + eprefixify dist/Cwd/Cwd.pm + + src_prepare_update_patchlevel_h + + # pod/perltoc.pod fails + # lib/ExtUtils/t/Embed.t fails + if ! tc-is-static-only ; then + ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die + ln -s ${LIBPERL} libperl$(get_libname ) || die + fi +} + diff --git a/dev-lang/perl/files/eblits/src_test-v50160001.eblit b/dev-lang/perl/files/eblits/src_test-v50160001.eblit new file mode 100644 index 0000000..86acdc4 --- /dev/null +++ b/dev-lang/perl/files/eblits/src_test-v50160001.eblit @@ -0,0 +1,12 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/files/eblits/src_test-v50160001.eblit,v 1.1 2012/06/05 17:52:35 tove Exp $ + +eblit-perl-src_test() { + if [[ ${EUID} == 0 ]] ; then + ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..." + return 0 + fi + use elibc_uclibc && export MAKEOPTS+=" -j1" + TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed" +} diff --git a/dev-lang/perl/files/perl-5.10.1-cleanup-paths.patch b/dev-lang/perl/files/perl-5.10.1-cleanup-paths.patch new file mode 100644 index 0000000..3fc60af --- /dev/null +++ b/dev-lang/perl/files/perl-5.10.1-cleanup-paths.patch @@ -0,0 +1,100 @@ +cut the crap of inventing paths, or adding search paths that we don't use + +--- Configure ++++ Configure +@@ -102,28 +102,6 @@ + fi + fi + +-: Proper PATH setting +-paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin' +-paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin" +-paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin" +-paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin" +-paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb" +-paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin" +-paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib" +-paths="$paths /sbin /usr/sbin /usr/libexec" +-paths="$paths /system/gnu_library/bin" +- +-for p in $paths +-do +- case "$p_$PATH$p_" in +- *$p_$p$p_*) ;; +- *) test -d $p && PATH=$PATH$p_$p ;; +- esac +-done +- +-PATH=.$p_$PATH +-export PATH +- + : shall we be using ksh? + inksh='' + needksh='' +@@ -8282,66 +8260,6 @@ + ;; + esac + +-# How will the perl executable find the installed shared $libperl? +-# Add $xxx to ccdlflags. +-# If we can't figure out a command-line option, use $shrpenv to +-# set env LD_RUN_PATH. The main perl makefile uses this. +-shrpdir=$archlibexp/CORE +-xxx='' +-tmp_shrpenv='' +-if "$useshrplib"; then +- case "$osname" in +- aix) +- # We'll set it in Makefile.SH... +- ;; +- solaris) +- xxx="-R $shrpdir" +- ;; +- freebsd|netbsd|openbsd|interix|dragonfly) +- xxx="-Wl,-R$shrpdir" +- ;; +- bsdos|linux|irix*|dec_osf|gnu*) +- xxx="-Wl,-rpath,$shrpdir" +- ;; +- next) +- # next doesn't like the default... +- ;; +- beos) +- # beos doesn't like the default, either. +- ;; +- haiku) +- # Haiku doesn't like the default, either. +- ;; +- hpux*) +- # hpux doesn't like the default, either. +- tmp_shrpenv="env LDOPTS=\"+s +b${shrpdir}\"" +- ;; +- cygwin) +- # cygwin needs only ldlibpth +- ;; +- *) +- tmp_shrpenv="env LD_RUN_PATH=$shrpdir" +- ;; +- esac +- case "$xxx" in +- '') ;; +- *) +- # Only add $xxx if it isn't already in ccdlflags. +- case " $ccdlflags " in +- *" $xxx "*) ;; +- *) ccdlflags="$ccdlflags $xxx" +- cat <<EOM >&4 +- +-Adding $xxx to the flags +-passed to $ld so that the perl executable will find the +-installed shared $libperl. +- +-EOM +- ;; +- esac +- ;; +- esac +-fi + # Fix ccdlflags in AIX for building external extensions. + # (For building Perl itself bare -bE:perl.exp is needed, + # Makefile.SH takes care of this.) diff --git a/dev-lang/perl/files/perl-5.10.1-hpux.patch b/dev-lang/perl/files/perl-5.10.1-hpux.patch new file mode 100644 index 0000000..ca4ee52 --- /dev/null +++ b/dev-lang/perl/files/perl-5.10.1-hpux.patch @@ -0,0 +1,40 @@ +# do not assume '.' being in PATH on hpux, +# use 'gcc' as linker, link with '-lm'. + +--- hints/hpux.sh ++++ hints/hpux.sh +@@ -190,7 +190,7 @@ + $define|true|[Yy]) + echo '#include <stdio.h>\nint main(){long l;printf("%d\\n",sizeof(l));}'>try.c + $cc -o try $ccflags $ldflags try.c +- if [ "`try`" = "8" ]; then ++ if [ "`./try`" = "8" ]; then + case "$use64bitall" in + $define|true|[Yy]) ;; + *) cat <<EOM >&4 +@@ -338,7 +338,7 @@ + } /* main */ + EOF + $cc -o try $ccflags $ldflags try.c +- maxdsiz=`try` ++ maxdsiz=`./try` + rm -f try try.c core + if [ $maxdsiz -le 64 ]; then + # 64 Mb is probably not enough to optimize toke.c +@@ -363,11 +363,12 @@ + "") optimize="-g -O" ;; + *O[3456789]*) optimize=`echo "$optimize" | sed -e 's/O[3-9]/O2/'` ;; + esac +- #ld="$cc" +- ld=/usr/bin/ld ++ ld="$cc" ++ #ld=/usr/bin/ld + cccdlflags='-fPIC' +- #lddlflags='-shared' +- lddlflags='-b' ++ lddlflags='-shared' ++ #lddlflags='-b' ++ libs='-lm' + case "$optimize" in + *-g*-O*|*-O*-g*) + # gcc without gas will not accept -g diff --git a/dev-lang/perl/files/perl-5.12.3-aix-soname.patch b/dev-lang/perl/files/perl-5.12.3-aix-soname.patch new file mode 100644 index 0000000..70fe5fa --- /dev/null +++ b/dev-lang/perl/files/perl-5.12.3-aix-soname.patch @@ -0,0 +1,70 @@ +1) Match "powerpc-ibm-aix5.3.0.0-gcc" as gcc too. + +2) Creating shared library on aix with full soname support, following +http://lists.gnu.org/archive/html/libtool/2011-01/msg00023.html +http://lists.gnu.org/archive/html/libtool/2011-02/msg00000.html + +Once there is an agreement on that, this patch basically is designed +for upstream perl to be applied when their soname would change anyway. +However, there is 'strip' being used, and I don't know yet what to +use instead in cross-aix setups with recent binutils. + +--- Makefile.SH ++++ Makefile.SH +@@ -92,12 +92,12 @@ + ;; + aix*) + case "$cc" in +- gcc*) +- shrpldflags="-shared -Wl,-H512 -Wl,-T512 -Wl,-bhalt:4 -Wl,-bM:SRE -Wl,-bE:perl.exp" ++ *gcc*) ++ shrpldflags="-shared -Wl,-H512 -Wl,-T512 -Wl,-bhalt:4 -Wl,-bE:perl.exp" + case "$osvers" in +- 3*) shrpldflags="$shrpldflags -e _nostart" ++ 3*) shrpldflags="$shrpldflags -Wl,-bM:SRE -e _nostart" + ;; +- *) shrpldflags="$shrpldflags -Wl,-bnoentry" ++ *) shrpldflags="$shrpldflags -Wl,-G -Wl,-bernotok -Wl,-bnoentry" + ;; + esac + shrpldflags="$shrpldflags $ldflags $perllibs $cryptlib" +@@ -105,11 +105,11 @@ + linklibperl_nonshr='-lperl_nonshr' + ;; + *) +- shrpldflags="-H512 -T512 -bhalt:4 -bM:SRE -bE:perl.exp" ++ shrpldflags="-H512 -T512 -bhalt:4 -bE:perl.exp" + case "$osvers" in +- 3*) shrpldflags="$shrpldflags -e _nostart" ++ 3*) shrpldflags="$shrpldflags -bM:SRE -e _nostart" + ;; +- *) shrpldflags="$shrpldflags -b noentry" ++ *) shrpldflags="$shrpldflags -G -bernotok -b noentry" + ;; + esac + shrpldflags="$shrpldflags $ldflags $perllibs $cryptlib" +@@ -763,11 +763,19 @@ + !NO!SUBS! + case "$osname" in + aix) +- $spitshell >>$Makefile <<'!NO!SUBS!' +- rm -f libperl$(OBJ_EXT) +- mv $@ libperl$(OBJ_EXT) +- $(AR) qv $(LIBPERL) libperl$(OBJ_EXT) +-!NO!SUBS! ++ bits=32 ++ if test X"$use64bitall" = Xdefine; then bits=64; fi ++ $spitshell >>$Makefile <<!GROK!THIS! ++ rm -f shr.imp shr.o ++ mv \$@ shr.o ++ strip -e shr.o ++ ( echo '#! libperl.so.${revision}.${patchlevel}(shr.o)' \\ ++ ; echo '# ${bits}' \\ ++ ; grep -v '^#!' perl.exp \\ ++ ) > shr.imp ++ \$(AR) qv \$@ shr.imp shr.o ++ rm -f shr.imp shr.o ++!GROK!THIS! + ;; + esac + ;; diff --git a/dev-lang/perl/files/perl-5.12.3-interix.patch b/dev-lang/perl/files/perl-5.12.3-interix.patch new file mode 100644 index 0000000..5e875b2 --- /dev/null +++ b/dev-lang/perl/files/perl-5.12.3-interix.patch @@ -0,0 +1,21 @@ +reported: http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2011-04/msg01014.html + +diff -ru perl-5.12.3.orig/hints/interix.sh perl-5.12.3/hints/interix.sh +--- perl-5.12.3.orig/hints/interix.sh 2011-04-27 08:34:00 +0200 ++++ perl-5.12.3/hints/interix.sh 2011-04-27 08:53:46 +0200 +@@ -6,14 +6,13 @@ + cc='gcc' + cccdlflags="-DPIC $cccdlflags" + ccdlflags='-Wl,-E' +-ccflags="-D_ALL_SOURCE $ccflags" +-d_poll="$undef" + ld='gcc' + lddlflags="-shared $lddlflags" + rpathflag='-Wl,-R' + sharpbang='#!' + usemymalloc='false' + usenm='false' ++firstmakefile=GNUmakefile + + # This script UU/usethreads.cbu will get 'called-back' by Configure + # after it has prompted the user for whether to use threads. diff --git a/dev-lang/perl/files/perl-5.12.3-mint.patch b/dev-lang/perl/files/perl-5.12.3-mint.patch new file mode 100644 index 0000000..4c6c108 --- /dev/null +++ b/dev-lang/perl/files/perl-5.12.3-mint.patch @@ -0,0 +1,321 @@ +http://rt.perl.org/rt3/Ticket/Display.html?id=89502 + +--- perl-5.12.3/Configure 2011-02-21 09:18:09.000000000 +0000 ++++ perl-5.12.3/Configure 2011-02-21 09:38:49.000000000 +0000 +@@ -1275,6 +1275,9 @@ + elif test -n "$DJGPP"; then + : DOS DJGPP + _exe=".exe" ++elif test -f "/kern/cookiejar"; then ++: MiNT ++ _exe="" + elif test -d c:/. -o -n "$is_os2" ; then + : OS/2 or cygwin + _exe=".exe" +@@ -1402,7 +1405,7 @@ + xcat=/bin/cat + test -f $xcat$_exe || xcat=/usr/bin/cat + if test ! -f $xcat$_exe; then +- for p in `echo $PATH | sed -e "s/$p_/ /g"` $paths; do ++ for p in `echo $PATH | sed -e 's/$p_/ /g'` $paths; do + if test -f $p/cat$_exe; then + xcat=$p/cat + break +--- perl-5.12.3/ext/DynaLoader/dl_dld.xs 2010-11-21 21:40:55.000000000 +0000 ++++ perl-5.12.3/ext/DynaLoader/dl_dld.xs 2011-02-21 09:38:51.000000000 +0000 +@@ -116,6 +116,18 @@ + goto haverror; + } + ++ DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dld_link(libm.a)\n")); ++ if (dlderr = dld_link("/usr/lib/libm.a")) { ++ SaveError(aTHX_ "dld_link(libm.a): %s", dld_strerror(dlderr)); ++ goto haverror; ++ } ++ ++ DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dld_link(libc.a)\n")); ++ if (dlderr = dld_link("/usr/lib/libc.a")) { ++ SaveError(aTHX_ "dld_link(libc.a): %s", dld_strerror(dlderr)); ++ goto haverror; ++ } ++ + max = AvFILL(dl_resolve_using); + for (x = 0; x <= max; x++) { + char *sym = SvPVX(*av_fetch(dl_resolve_using, x, 0)); +--- perl-5.12.3/malloc.c 2011-01-09 20:20:57.000000000 +0000 ++++ perl-5.12.3/malloc.c 2011-02-21 09:38:51.000000000 +0000 +@@ -264,7 +264,7 @@ + #define MIN_BUC_POW2 (sizeof(void*) > 4 ? 3 : 2) /* Allow for 4-byte arena. */ + #define MIN_BUCKET (MIN_BUC_POW2 * BUCKETS_PER_POW2) + +-#if !(defined(I286) || defined(atarist)) ++#if !defined(I286) + /* take 2k unless the block is bigger than that */ + # define LOG_OF_MIN_ARENA 11 + #else +@@ -551,8 +551,8 @@ + */ + #define u_short unsigned short + +-/* 286 and atarist like big chunks, which gives too much overhead. */ +-#if (defined(RCHECK) || defined(I286) || defined(atarist)) && defined(PACK_MALLOC) ++/* 286 like big chunks, which gives too much overhead. */ ++#if (defined(RCHECK) || defined(I286)) && defined(PACK_MALLOC) + # undef PACK_MALLOC + #endif + +@@ -1734,16 +1734,14 @@ + /* Second, check alignment. */ + slack = 0; + +-#if !defined(atarist) /* on the atari we dont have to worry about this */ +-# ifndef I286 /* The sbrk(0) call on the I286 always returns the next segment */ ++#ifndef I286 /* The sbrk(0) call on the I286 always returns the next segment */ + /* WANTED_ALIGNMENT may be more than NEEDED_ALIGNMENT, but this may + improve performance of memory access. */ + if (PTR2UV(cp) & (WANTED_ALIGNMENT - 1)) { /* Not aligned. */ + slack = WANTED_ALIGNMENT - (PTR2UV(cp) & (WANTED_ALIGNMENT - 1)); + add += slack; + } +-# endif +-#endif /* !atarist */ ++#endif + + if (add) { + DEBUG_m(PerlIO_printf(Perl_debug_log, +--- perl-5.12.3/miniperlmain.c 2011-01-09 20:20:57.000000000 +0000 ++++ perl-5.12.3/miniperlmain.c 2011-02-21 09:38:49.000000000 +0000 +@@ -45,7 +45,7 @@ + #if defined (atarist) + /* The Atari operating system doesn't have a dynamic stack. The + stack size is determined from this value. */ +-long _stksize = 64 * 1024; ++long _stksize = 256 * 1024; + #endif + + #if defined(PERL_GLOBAL_STRUCT_PRIVATE) +--- perl-5.12.3/os2/perlrexx.c 2010-11-21 21:40:56.000000000 +0000 ++++ perl-5.12.3/os2/perlrexx.c 2011-02-21 09:42:49.000000000 +0000 +@@ -38,7 +38,7 @@ + #if defined (atarist) + /* The Atari operating system doesn't have a dynamic stack. The + stack size is determined from this value. */ +-long _stksize = 64 * 1024; ++long _stksize = 256 * 1024; + #endif + + /* Register any extra external extensions */ +--- perl-5.12.3/perl.c 2011-02-21 09:17:19.000000000 +0000 ++++ perl-5.12.3/perl.c 2011-02-21 09:38:50.000000000 +0000 +@@ -3272,10 +3272,6 @@ + "\n\nOS/2 port Copyright (c) 1990, 1991, Raymond Chen, Kai Uwe Rommel\n" + "Version 5 port Copyright (c) 1994-2002, Andreas Kaiser, Ilya Zakharevich\n"); + #endif +-#ifdef atarist +- PerlIO_printf(PerlIO_stdout(), +- "atariST series port, ++jrb bammi@cadence.com\n"); +-#endif + #ifdef __BEOS__ + PerlIO_printf(PerlIO_stdout(), + "BeOS port Copyright Tom Spindler, 1997-1999\n"); +--- perl-5.12.3/perl.h 2011-01-09 20:20:57.000000000 +0000 ++++ perl-5.12.3/perl.h 2011-02-21 09:38:50.000000000 +0000 +@@ -497,7 +497,7 @@ + */ + + /* define this once if either system, instead of cluttering up the src */ +-#if defined(MSDOS) || defined(atarist) || defined(WIN32) || defined(NETWARE) ++#if defined(MSDOS) || defined(WIN32) || defined(NETWARE) + #define DOSISH 1 + #endif + +--- perl-5.12.3/perlio.c 2009-04-14 23:47:25.000000000 +0000 ++++ perl-5.12.3/perlio.c 2010-03-23 18:36:15.000000000 +0000 +@@ -135,17 +135,6 @@ + * This used to be contents of do_binmode in doio.c + */ + #ifdef DOSISH +-# if defined(atarist) +- PERL_UNUSED_ARG(iotype); +- if (!fflush(fp)) { +- if (mode & O_BINARY) +- ((FILE *) fp)->_flag |= _IOBIN; +- else +- ((FILE *) fp)->_flag &= ~_IOBIN; +- return 1; +- } +- return 0; +-# else + dTHX; + PERL_UNUSED_ARG(iotype); + #ifdef NETWARE +@@ -153,7 +142,7 @@ + #else + if (PerlLIO_setmode(fileno(fp), mode) != -1) { + #endif +-# if defined(WIN32) && defined(__BORLANDC__) ++# if defined(WIN32) && defined(__BORLANDC__) + /* + * The translation mode of the stream is maintained independent + of +@@ -169,12 +158,11 @@ + fp->flags |= _F_BIN; + else + fp->flags &= ~_F_BIN; +-# endif ++# endif + return 1; + } + else + return 0; +-# endif + #else + # if defined(USEMYBINMODE) + dTHX; +--- perl-5.12.3/pp_sys.c 2011-01-09 20:20:58.000000000 +0000 ++++ perl-5.12.3/pp_sys.c 2011-02-21 09:38:50.000000000 +0000 +@@ -3308,14 +3308,6 @@ + RETPUSHNO; + } + +-#if defined(atarist) /* this will work with atariST. Configure will +- make guesses for other systems. */ +-# define FILE_base(f) ((f)->_base) +-# define FILE_ptr(f) ((f)->_ptr) +-# define FILE_cnt(f) ((f)->_cnt) +-# define FILE_bufsiz(f) ((f)->_cnt + ((f)->_ptr - (f)->_base)) +-#endif +- + PP(pp_fttext) + { + dVAR; +@@ -5567,30 +5559,6 @@ + case 8: + retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]); + break; +-#ifdef atarist +- case 9: +- retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]); +- break; +- case 10: +- retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]); +- break; +- case 11: +- retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9], +- a[10]); +- break; +- case 12: +- retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9], +- a[10],a[11]); +- break; +- case 13: +- retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9], +- a[10],a[11],a[12]); +- break; +- case 14: +- retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9], +- a[10],a[11],a[12],a[13]); +- break; +-#endif /* atarist */ + } + SP = ORIGMARK; + PUSHi(retval); +--- perl-5.12.3/util.c 2011-01-09 20:20:58.000000000 +0000 ++++ perl-5.12.3/util.c 2011-02-21 09:38:51.000000000 +0000 +@@ -2545,7 +2545,7 @@ + return PerlIO_fdopen(p[This], mode); + } + #else +-#if defined(atarist) || defined(EPOC) ++#if defined(EPOC) + FILE *popen(); + PerlIO * + Perl_my_popen(pTHX_ const char *cmd, const char *mode) +@@ -2994,7 +2994,7 @@ + } + #endif + +-#if defined(atarist) || defined(OS2) || defined(EPOC) ++#if defined(OS2) || defined(EPOC) + int pclose(); + #ifdef HAS_FORK + int /* Cannot prototype with I32 +@@ -3111,7 +3111,7 @@ + I32 len = 0; + int retval; + char *bufend; +-#if defined(DOSISH) && !defined(OS2) && !defined(atarist) ++#if defined(DOSISH) && !defined(OS2) + # define SEARCH_EXTS ".bat", ".cmd", NULL + # define MAX_EXT_LEN 4 + #endif +@@ -3234,28 +3234,25 @@ + + bufend = s + strlen(s); + while (s < bufend) { +-#if defined(atarist) || defined(DOSISH) ++#if defined(DOSISH) + for (len = 0; *s +-# ifdef atarist +- && *s != ',' +-# endif + && *s != ';'; len++, s++) { + if (len < sizeof tmpbuf) + tmpbuf[len] = *s; + } + if (len < sizeof tmpbuf) + tmpbuf[len] = '\0'; +-#else /* ! (atarist || DOSISH) */ ++#else /* ! (DOSISH) */ + s = delimcpy(tmpbuf, tmpbuf + sizeof tmpbuf, s, bufend, + ':', + &len); +-#endif /* ! (atarist || DOSISH) */ ++#endif /* ! (DOSISH) */ + if (s < bufend) + s++; + if (len + 1 + strlen(scriptname) + MAX_EXT_LEN >= sizeof tmpbuf) + continue; /* don't search dir with too-long name */ + if (len +-# if defined(atarist) || defined(DOSISH) ++# if defined(DOSISH) + && tmpbuf[len - 1] != '/' + && tmpbuf[len - 1] != '\\' + # endif +--- perl-5.12.3/hints/freemint.sh 2011-01-09 20:20:58.000000000 +0000 ++++ perl-5.12.3/hints/freemint.sh 2011-02-21 09:38:51.000000000 +0000 +@@ -0,0 +1,34 @@ ++# hints/freemint.sh ++# ++# talk to guido@freemint.de if you want to change this file. ++# Please read the README.mint file. ++# ++# misc stuff ++ ++archname="m68k-freemint" ++ ++cccdlflags=' '; # avoid -fPIC ++ccdlflags="-Wl,-whole-archive -lgcc -lpthread -Wl,-no-whole-archive" ++ ++# libs ++libpth="$prefix/lib /usr/local/lib /usr/lib" ++glibpth="$libpth" ++xlibpth="$libpth" ++ ++ccflags="$ccflags -D_GNU_SOURCE" ++libswanted='m dld' ++dl_src='dl_dld.xs' ++dlext='o' ++lddlflags='-r' ++ldflags='-static' ++so='none' ++useshrplib='false' ++ ++#sbrk() returns -1 (failure) somewhere in lib/unicore/mktables at ++#around 14M, so we need to use system malloc() as our sbrk() ++malloc_cflags='ccflags="-DUSE_PERL_SBRK -DPERL_SBRK_VIA_MALLOC $ccflags"' ++ ++# Locales aren't feeling well. We crash if -Ox used. ++locale_cflags='optimize="-O0"' ++LC_ALL=C; export LC_ALL; ++LANG=C; export LANG; diff --git a/dev-lang/perl/files/perl-5.12.5-rehash-5.12.5.patch b/dev-lang/perl/files/perl-5.12.5-rehash-5.12.5.patch new file mode 100644 index 0000000..c43183b --- /dev/null +++ b/dev-lang/perl/files/perl-5.12.5-rehash-5.12.5.patch @@ -0,0 +1,164 @@ +From f2a571dae7d70f7e3b59022834d8003ecd2df884 Mon Sep 17 00:00:00 2001 +From: Yves Orton <demerphq@gmail.com> +Date: Tue, 12 Feb 2013 10:53:05 +0100 +Subject: [PATCH] Prevent premature hsplit() calls, and only trigger REHASH + after hsplit() + +Triggering a hsplit due to long chain length allows an attacker +to create a carefully chosen set of keys which can cause the hash +to use 2 * (2**32) * sizeof(void *) bytes ram. AKA a DOS via memory +exhaustion. Doing so also takes non trivial time. + +Eliminating this check, and only inspecting chain length after a +normal hsplit() (triggered when keys>buckets) prevents the attack +entirely, and makes such attacks relatively benign. + +(cherry picked from commit f1220d61455253b170e81427c9d0357831ca0fac) +--- + ext/Hash-Util-FieldHash/t/10_hash.t | 18 ++++++++++++++++-- + hv.c | 26 ++++++-------------------- + t/op/hash.t | 20 +++++++++++++++++--- + 3 files changed, 39 insertions(+), 25 deletions(-) + +diff --git a/ext/Hash-Util-FieldHash/t/10_hash.t b/ext/Hash-Util-FieldHash/t/10_hash.t +index 2cfb4e8..d58f053 100644 +--- a/ext/Hash-Util-FieldHash/t/10_hash.t ++++ b/ext/Hash-Util-FieldHash/t/10_hash.t +@@ -38,15 +38,29 @@ use constant START => "a"; + + # some initial hash data + fieldhash my %h2; +-%h2 = map {$_ => 1} 'a'..'cc'; ++my $counter= "a"; ++$h2{$counter++}++ while $counter ne 'cd'; + + ok (!Internals::HvREHASH(%h2), + "starting with pre-populated non-pathological hash (rehash flag if off)"); + + my @keys = get_keys(\%h2); ++my $buckets= buckets(\%h2); + $h2{$_}++ for @keys; ++$h2{$counter++}++ while buckets(\%h2) == $buckets; # force a split + ok (Internals::HvREHASH(%h2), +- scalar(@keys) . " colliding into the same bucket keys are triggering rehash"); ++ scalar(@keys) . " colliding into the same bucket keys are triggering rehash after split"); ++ ++# returns the number of buckets in a hash ++sub buckets { ++ my $hr = shift; ++ my $keys_buckets= scalar(%$hr); ++ if ($keys_buckets=~m!/([0-9]+)\z!) { ++ return 0+$1; ++ } else { ++ return 8; ++ } ++} + + sub get_keys { + my $hr = shift; +diff --git a/hv.c b/hv.c +index 89c6456..8659678 100644 +--- a/hv.c ++++ b/hv.c +@@ -35,7 +35,8 @@ holds the key and hash value. + #define PERL_HASH_INTERNAL_ACCESS + #include "perl.h" + +-#define HV_MAX_LENGTH_BEFORE_SPLIT 14 ++#define HV_MAX_LENGTH_BEFORE_REHASH 14 ++#define SHOULD_DO_HSPLIT(xhv) ((xhv)->xhv_keys > (xhv)->xhv_max) /* HvTOTALKEYS(hv) > HvMAX(hv) */ + + static const char S_strtab_error[] + = "Cannot modify shared string table in hv_%s"; +@@ -818,23 +819,8 @@ Perl_hv_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen, + xhv->xhv_keys++; /* HvTOTALKEYS(hv)++ */ + if (!counter) { /* initial entry? */ + xhv->xhv_fill++; /* HvFILL(hv)++ */ +- } else if (xhv->xhv_keys > (IV)xhv->xhv_max) { ++ } else if ( SHOULD_DO_HSPLIT(xhv) ) { + hsplit(hv); +- } else if(!HvREHASH(hv)) { +- U32 n_links = 1; +- +- while ((counter = HeNEXT(counter))) +- n_links++; +- +- if (n_links > HV_MAX_LENGTH_BEFORE_SPLIT) { +- /* Use only the old HvKEYS(hv) > HvMAX(hv) condition to limit +- bucket splits on a rehashed hash, as we're not going to +- split it again, and if someone is lucky (evil) enough to +- get all the keys in one list they could exhaust our memory +- as we repeatedly double the number of buckets on every +- entry. Linear search feels a less worse thing to do. */ +- hsplit(hv); +- } + } + } + +@@ -1180,7 +1166,7 @@ S_hsplit(pTHX_ HV *hv) + + + /* Pick your policy for "hashing isn't working" here: */ +- if (longest_chain <= HV_MAX_LENGTH_BEFORE_SPLIT /* split worked? */ ++ if (longest_chain <= HV_MAX_LENGTH_BEFORE_REHASH /* split worked? */ + || HvREHASH(hv)) { + return; + } +@@ -2551,8 +2537,8 @@ S_share_hek_flags(pTHX_ const char *str, I32 len, register U32 hash, int flags) + xhv->xhv_keys++; /* HvTOTALKEYS(hv)++ */ + if (!next) { /* initial entry? */ + xhv->xhv_fill++; /* HvFILL(hv)++ */ +- } else if (xhv->xhv_keys > (IV)xhv->xhv_max /* HvKEYS(hv) > HvMAX(hv) */) { +- hsplit(PL_strtab); ++ } else if ( SHOULD_DO_HSPLIT(xhv) ) { ++ hsplit(PL_strtab); + } + } + +diff --git a/t/op/hash.t b/t/op/hash.t +index 9bde518..45eb782 100644 +--- a/t/op/hash.t ++++ b/t/op/hash.t +@@ -39,22 +39,36 @@ use constant THRESHOLD => 14; + use constant START => "a"; + + # some initial hash data +-my %h2 = map {$_ => 1} 'a'..'cc'; ++my %h2; ++my $counter= "a"; ++$h2{$counter++}++ while $counter ne 'cd'; + + ok (!Internals::HvREHASH(%h2), + "starting with pre-populated non-pathological hash (rehash flag if off)"); + + my @keys = get_keys(\%h2); ++my $buckets= buckets(\%h2); + $h2{$_}++ for @keys; ++$h2{$counter++}++ while buckets(\%h2) == $buckets; # force a split + ok (Internals::HvREHASH(%h2), +- scalar(@keys) . " colliding into the same bucket keys are triggering rehash"); ++ scalar(@keys) . " colliding into the same bucket keys are triggering rehash after split"); ++ ++# returns the number of buckets in a hash ++sub buckets { ++ my $hr = shift; ++ my $keys_buckets= scalar(%$hr); ++ if ($keys_buckets=~m!/([0-9]+)\z!) { ++ return 0+$1; ++ } else { ++ return 8; ++ } ++} + + sub get_keys { + my $hr = shift; + + # the minimum of bits required to mount the attack on a hash + my $min_bits = log(THRESHOLD)/log(2); +- + # if the hash has already been populated with a significant amount + # of entries the number of mask bits can be higher + my $keys = scalar keys %$hr; +-- +1.8.1.3 + diff --git a/dev-lang/perl/files/perl-5.14.1-cleanup-paths.patch b/dev-lang/perl/files/perl-5.14.1-cleanup-paths.patch new file mode 100644 index 0000000..c199041 --- /dev/null +++ b/dev-lang/perl/files/perl-5.14.1-cleanup-paths.patch @@ -0,0 +1,100 @@ +cut the crap of inventing paths, or adding search paths that we don't use + +--- Configure ++++ Configure +@@ -105,28 +105,6 @@ + fi + fi + +-: Proper PATH setting +-paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin' +-paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin" +-paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin" +-paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin" +-paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb" +-paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin" +-paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib" +-paths="$paths /sbin /usr/sbin /usr/libexec" +-paths="$paths /system/gnu_library/bin" +- +-for p in $paths +-do +- case "$p_$PATH$p_" in +- *$p_$p$p_*) ;; +- *) test -d $p && PATH=$PATH$p_$p ;; +- esac +-done +- +-PATH=.$p_$PATH +-export PATH +- + : shall we be using ksh? + inksh='' + needksh='' +@@ -8287,66 +8265,6 @@ + ;; + esac + +-# How will the perl executable find the installed shared $libperl? +-# Add $xxx to ccdlflags. +-# If we can't figure out a command-line option, use $shrpenv to +-# set env LD_RUN_PATH. The main perl makefile uses this. +-shrpdir=$archlibexp/CORE +-xxx='' +-tmp_shrpenv='' +-if "$useshrplib"; then +- case "$osname" in +- aix) +- # We'll set it in Makefile.SH... +- ;; +- solaris) +- xxx="-R $shrpdir" +- ;; +- freebsd|mirbsd|netbsd|openbsd|interix|dragonfly) +- xxx="-Wl,-R$shrpdir" +- ;; +- bsdos|linux|irix*|dec_osf|gnu*) +- xxx="-Wl,-rpath,$shrpdir" +- ;; +- next) +- # next doesn't like the default... +- ;; +- beos) +- # beos doesn't like the default, either. +- ;; +- haiku) +- # Haiku doesn't like the default, either. +- ;; +- hpux*) +- # hpux doesn't like the default, either. +- tmp_shrpenv="env LDOPTS=\"+s +b${shrpdir}\"" +- ;; +- cygwin) +- # cygwin needs only ldlibpth +- ;; +- *) +- tmp_shrpenv="env LD_RUN_PATH=$shrpdir" +- ;; +- esac +- case "$xxx" in +- '') ;; +- *) +- # Only add $xxx if it isn't already in ccdlflags. +- case " $ccdlflags " in +- *" $xxx "*) ;; +- *) ccdlflags="$ccdlflags $xxx" +- cat <<EOM >&4 +- +-Adding $xxx to the flags +-passed to $ld so that the perl executable will find the +-installed shared $libperl. +- +-EOM +- ;; +- esac +- ;; +- esac +-fi + # Fix ccdlflags in AIX for building external extensions. + # (For building Perl itself bare -bE:perl.exp is needed, + # Makefile.SH takes care of this.) diff --git a/dev-lang/perl/files/perl-5.8.7-MakeMaker-RUNPATH.patch b/dev-lang/perl/files/perl-5.8.7-MakeMaker-RUNPATH.patch new file mode 100644 index 0000000..c442def --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.7-MakeMaker-RUNPATH.patch @@ -0,0 +1,21 @@ +Bug #105054. + +We do not want the build root in the linked perl module's RUNPATH, so strip +paths containing PORTAGE_TMPDIR if its set. + +--- perl-5.8.7/lib/ExtUtils/MM_Unix.pm 2005-09-10 14:06:59.000000000 +0200 ++++ perl-5.8.7.az/lib/ExtUtils/MM_Unix.pm 2005-09-10 15:25:52.000000000 +0200 +@@ -1915,6 +1915,13 @@ + # LD_RUN_PATH now computed by ExtUtils::Liblist + ($self->{EXTRALIBS}, $self->{BSLOADLIBS}, + $self->{LDLOADLIBS}, $self->{LD_RUN_PATH}) = @libs; ++ # We do not want the build root in RPATH ++ if (exists $ENV{PORTAGE_TMPDIR}) { ++ # If we have PORTAGE_TMPDIR set, strip that, as just testing for ++ # /usr and /opt might not be sufficient ++ $self->{LD_RUN_PATH} = join ':', grep !/^\Q$ENV{PORTAGE_TMPDIR}/, ++ split /:/, $self->{LD_RUN_PATH}; ++ } + last; + } + } diff --git a/dev-lang/perl/files/perl-5.8.8-CAN-2005-0448-rmtree-2.patch b/dev-lang/perl/files/perl-5.8.8-CAN-2005-0448-rmtree-2.patch new file mode 100644 index 0000000..d29fc25 --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-CAN-2005-0448-rmtree-2.patch @@ -0,0 +1,280 @@ +SECURITY [CAN-2005-0448]: + +Rewrite File::Path::rmtree to avoid race condition which allows an +attacker with write permission on directories in the tree being +removed to make files setuid or to remove arbitrary files (see +http://bugs.debian.org/286905 and http://bugs.debian.org/286922). + +Revised for 5.8.8-7etch6 to avoid failure when rmtree removes the +current directory. + +diff --git a/lib/File/Path.pm b/lib/File/Path.pm +index 2e41ff3..fd32b96 100644 +--- a/lib/File/Path.pm ++++ b/lib/File/Path.pm +@@ -72,33 +72,17 @@ or C<unlink> to remove it, or that it's skipping it. + + =item * + +-a boolean value, which if TRUE will cause C<rmtree> to +-skip any files to which you do not have delete access +-(if running under VMS) or write access (if running +-under another OS). This will change in the future when +-a criterion for 'delete permission' under OSs other +-than VMS is settled. (defaults to FALSE) ++a boolean value, which if FALSE (the default for non-root users) will ++cause C<rmtree> to adjust the mode of directories (if required) prior ++to attempting to remove the contents. Note that on interruption or ++failure of C<rmtree>, directories may be left with more permissive ++modes for the owner. + + =back + + It returns the number of files successfully deleted. Symlinks are + simply deleted and not followed. + +-B<NOTE:> There are race conditions internal to the implementation of +-C<rmtree> making it unsafe to use on directory trees which may be +-altered or moved while C<rmtree> is running, and in particular on any +-directory trees with any path components or subdirectories potentially +-writable by untrusted users. +- +-Additionally, if the third parameter is not TRUE and C<rmtree> is +-interrupted, it may leave files and directories with permissions altered +-to allow deletion (and older versions of this module would even set +-files and directories to world-read/writable!) +- +-Note also that the occurrence of errors in C<rmtree> can be determined I<only> +-by trapping diagnostic messages using C<$SIG{__WARN__}>; it is not apparent +-from the return value. +- + =head1 DIAGNOSTICS + + =over 4 +@@ -172,111 +156,127 @@ sub mkpath { + @created; + } + +-sub rmtree { +- my($roots, $verbose, $safe) = @_; +- my(@files); +- my($count) = 0; +- $verbose ||= 0; +- $safe ||= 0; ++sub _rmtree; ++sub _rmtree ++{ ++ my ($path, $prefix, $up, $up_dev, $up_ino, $verbose, $safe) = @_; ++ my $up_name = $up eq '..' ? 'parent' : 'initial'; ++ ++ my ($dev, $ino) = lstat $path or return 0; ++ unless (-d _) ++ { ++ print "unlink $prefix$path\n" if $verbose; ++ unless (unlink $path) ++ { ++ carp "Can't remove file $prefix$path ($!)"; ++ return 0; ++ } + +- if ( defined($roots) && length($roots) ) { +- $roots = [$roots] unless ref $roots; ++ return 1; + } +- else { +- carp "No root path(s) specified\n"; +- return 0; ++ ++ unless (chdir $path) ++ { ++ carp "Can't chdir to $prefix$path ($!)"; ++ return 0; + } + +- my($root); +- foreach $root (@{$roots}) { +- if ($Is_MacOS) { +- $root = ":$root" if $root !~ /:/; +- $root =~ s#([^:])\z#$1:#; +- } else { +- $root =~ s#/\z##; +- } +- (undef, undef, my $rp) = lstat $root or next; +- $rp &= 07777; # don't forget setuid, setgid, sticky bits +- if ( -d _ ) { +- # notabene: 0700 is for making readable in the first place, +- # it's also intended to change it to writable in case we have +- # to recurse in which case we are better than rm -rf for +- # subtrees with strange permissions +- chmod($rp | 0700, ($Is_VMS ? VMS::Filespec::fileify($root) : $root)) +- or carp "Can't make directory $root read+writeable: $!" +- unless $safe; +- +- if (opendir my $d, $root) { +- no strict 'refs'; +- if (!defined ${"\cTAINT"} or ${"\cTAINT"}) { +- # Blindly untaint dir names +- @files = map { /^(.*)$/s ; $1 } readdir $d; +- } else { +- @files = readdir $d; +- } +- closedir $d; +- } +- else { +- carp "Can't read $root: $!"; +- @files = (); +- } ++ # avoid a race condition where a directory may be replaced by a ++ # symlink between the lstat and the chdir ++ my ($new_dev, $new_ino, $perm) = stat '.'; ++ unless ("$new_dev:$new_ino" eq "$dev:$ino") ++ { ++ croak "Directory $prefix$path changed before chdir, aborting"; ++ } + +- # Deleting large numbers of files from VMS Files-11 filesystems +- # is faster if done in reverse ASCIIbetical order +- @files = reverse @files if $Is_VMS; +- ($root = VMS::Filespec::unixify($root)) =~ s#\.dir\z## if $Is_VMS; +- if ($Is_MacOS) { +- @files = map("$root$_", @files); +- } else { +- @files = map("$root/$_", grep $_!~/^\.{1,2}\z/s,@files); +- } +- $count += rmtree(\@files,$verbose,$safe); +- if ($safe && +- ($Is_VMS ? !&VMS::Filespec::candelete($root) : !-w $root)) { +- print "skipped $root\n" if $verbose; +- next; +- } +- chmod $rp | 0700, $root +- or carp "Can't make directory $root writeable: $!" +- if $force_writeable; +- print "rmdir $root\n" if $verbose; +- if (rmdir $root) { +- ++$count; +- } +- else { +- carp "Can't remove directory $root: $!"; +- chmod($rp, ($Is_VMS ? VMS::Filespec::fileify($root) : $root)) +- or carp("and can't restore permissions to " +- . sprintf("0%o",$rp) . "\n"); +- } +- } +- else { +- if ($safe && +- ($Is_VMS ? !&VMS::Filespec::candelete($root) +- : !(-l $root || -w $root))) +- { +- print "skipped $root\n" if $verbose; +- next; +- } +- chmod $rp | 0600, $root +- or carp "Can't make file $root writeable: $!" +- if $force_writeable; +- print "unlink $root\n" if $verbose; +- # delete all versions under VMS +- for (;;) { +- unless (unlink $root) { +- carp "Can't unlink file $root: $!"; +- if ($force_writeable) { +- chmod $rp, $root +- or carp("and can't restore permissions to " +- . sprintf("0%o",$rp) . "\n"); +- } +- last; +- } +- ++$count; +- last unless $Is_VMS && lstat $root; +- } ++ $perm &= 07777; ++ my $nperm = $perm | 0700; ++ unless ($safe or $nperm == $perm or chmod $nperm, '.') ++ { ++ carp "Can't make directory $prefix$path read+writeable ($!)"; ++ $nperm = $perm; ++ } ++ ++ my $count = 0; ++ if (opendir my $dir, '.') ++ { ++ my $entry; ++ while (defined ($entry = readdir $dir)) ++ { ++ next if $entry =~ /^\.\.?$/; ++ $entry =~ /^(.*)$/s; $entry = $1; # untaint ++ $count += _rmtree $entry, "$prefix$path/", '..', $dev, $ino, ++ $verbose, $safe; + } ++ ++ closedir $dir; ++ } ++ ++ # restore directory permissions if required (in case the rmdir ++ # below fails) now, while we're still in the directory and may do ++ # so without a race via '.' ++ unless ($nperm == $perm or chmod $perm, '.') ++ { ++ carp "Can't restore permissions on directory $prefix$path ($!)"; ++ } ++ ++ # don't leave the caller in an unexpected directory ++ unless (chdir $up) ++ { ++ croak "Can't return to $up_name directory from $prefix$path ($!)"; ++ } ++ ++ # ensure that a chdir .. didn't take us somewhere other than ++ # where we expected (see CVE-2002-0435) ++ unless (($new_dev, $new_ino) = stat '.' ++ and "$new_dev:$new_ino" eq "$up_dev:$up_ino") ++ { ++ croak "\u$up_name directory changed since entering $prefix$path"; ++ } ++ ++ print "rmdir $prefix$path\n" if $verbose; ++ if (rmdir $path) ++ { ++ $count++; ++ } ++ else ++ { ++ carp "Can't remove directory $prefix$path ($!)"; ++ } ++ ++ return $count; ++} ++ ++sub rmtree ++{ ++ my ($p, $verbose, $safe) = @_; ++ $p = [] unless defined $p and length $p; ++ $p = [ $p ] unless ref $p; ++ my @paths = grep defined && length, @$p; ++ ++ # default to "unsafe" for non-root (will chmod dirs) ++ $safe = $> ? 0 : 1 unless defined $safe; ++ ++ unless (@paths) ++ { ++ carp "No root path(s) specified"; ++ return; ++ } ++ ++ opendir my $oldpwd, '.' or do { ++ carp "Can't fetch initial working directory"; ++ return; ++ }; ++ ++ my ($dev, $ino) = stat '.' or do { ++ carp "Can't stat initial working directory"; ++ return; ++ }; ++ ++ my $count = 0; ++ for my $path (@paths) ++ { ++ $count += _rmtree $path, '', $oldpwd, $dev, $ino, $verbose, $safe; + } + + $count; diff --git a/dev-lang/perl/files/perl-5.8.8-CVE-2008-1927.patch b/dev-lang/perl/files/perl-5.8.8-CVE-2008-1927.patch new file mode 100644 index 0000000..4700058 --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-CVE-2008-1927.patch @@ -0,0 +1,256 @@ +Fix a double free / segfault with utf8 regexps +Debian #454792 +[rt.cpan.org #48156] +[rt.cpan.org #40641] +upstream change 29204 + +UTF8_ALLOW_DEFAULT definition in utf8.h picked from upstream change 27688 + +diff --git a/embed.fnc b/embed.fnc +index edfbc0e..26524c7 100644 +--- a/embed.fnc ++++ b/embed.fnc +@@ -1168,6 +1168,7 @@ Es |void |reguni |NN const struct RExC_state_t *state|UV uv|NN char *s|NN STRLE + Es |regnode*|regclass |NN struct RExC_state_t *state + ERs |I32 |regcurly |NN const char * + Es |regnode*|reg_node |NN struct RExC_state_t *state|U8 op ++Es |UV |reg_recode |const char value|NULLOK SV **encp + Es |regnode*|regpiece |NN struct RExC_state_t *state|NN I32 *flagp + Es |void |reginsert |NN struct RExC_state_t *state|U8 op|NN regnode *opnd + Es |void |regoptail |NN struct RExC_state_t *state|NN regnode *p|NN regnode *val +diff --git a/embed.h b/embed.h +index 2b38fd5..372b04f 100644 +--- a/embed.h ++++ b/embed.h +@@ -1234,6 +1234,7 @@ + #define regclass S_regclass + #define regcurly S_regcurly + #define reg_node S_reg_node ++#define reg_recode S_reg_recode + #define regpiece S_regpiece + #define reginsert S_reginsert + #define regoptail S_regoptail +@@ -3277,6 +3278,7 @@ + #define regclass(a) S_regclass(aTHX_ a) + #define regcurly(a) S_regcurly(aTHX_ a) + #define reg_node(a,b) S_reg_node(aTHX_ a,b) ++#define reg_recode(a,b) S_reg_recode(aTHX_ a,b) + #define regpiece(a,b) S_regpiece(aTHX_ a,b) + #define reginsert(a,b,c) S_reginsert(aTHX_ a,b,c) + #define regoptail(a,b,c) S_regoptail(aTHX_ a,b,c) +diff --git a/pod/perldiag.pod b/pod/perldiag.pod +index 9b3134c..7d95216 100644 +--- a/pod/perldiag.pod ++++ b/pod/perldiag.pod +@@ -1900,6 +1900,15 @@ recognized by Perl or by a user-supplied handler. See L<attributes>. + (W printf) Perl does not understand the given format conversion. See + L<perlfunc/sprintf>. + ++=item Invalid escape in the specified encoding in regex; marked by <-- HERE in m/%s/ ++ ++(W regexp) The numeric escape (for example C<\xHH>) of value < 256 ++didn't correspond to a single character through the conversion ++from the encoding specified by the encoding pragma. ++The escape was replaced with REPLACEMENT CHARACTER (U+FFFD) instead. ++The <-- HERE shows in the regular expression about where the ++escape was discovered. ++ + =item Invalid [] range "%s" in regex; marked by <-- HERE in m/%s/ + + (F) The range specified in a character class had a minimum character +diff --git a/proto.h b/proto.h +index 6d185dd..ef6c0cf 100644 +--- a/proto.h ++++ b/proto.h +@@ -1748,6 +1748,7 @@ STATIC I32 S_regcurly(pTHX_ const char *) + __attribute__warn_unused_result__; + + STATIC regnode* S_reg_node(pTHX_ struct RExC_state_t *state, U8 op); ++STATIC UV S_reg_recode(pTHX_ const char value, SV **encp); + STATIC regnode* S_regpiece(pTHX_ struct RExC_state_t *state, I32 *flagp); + STATIC void S_reginsert(pTHX_ struct RExC_state_t *state, U8 op, regnode *opnd); + STATIC void S_regoptail(pTHX_ struct RExC_state_t *state, regnode *p, regnode *val); +diff --git a/regcomp.c b/regcomp.c +index 928cf39..98d48dd 100644 +--- a/regcomp.c ++++ b/regcomp.c +@@ -2791,6 +2791,39 @@ S_regpiece(pTHX_ RExC_state_t *pRExC_state, I32 *flagp) + } + + /* ++ * reg_recode ++ * ++ * It returns the code point in utf8 for the value in *encp. ++ * value: a code value in the source encoding ++ * encp: a pointer to an Encode object ++ * ++ * If the result from Encode is not a single character, ++ * it returns U+FFFD (Replacement character) and sets *encp to NULL. ++ */ ++STATIC UV ++S_reg_recode(pTHX_ const char value, SV **encp) ++{ ++ STRLEN numlen = 1; ++ SV * const sv = sv_2mortal(newSVpvn(&value, numlen)); ++ const char * const s = encp && *encp ? sv_recode_to_utf8(sv, *encp) ++ : SvPVX(sv); ++ const STRLEN newlen = SvCUR(sv); ++ UV uv = UNICODE_REPLACEMENT; ++ ++ if (newlen) ++ uv = SvUTF8(sv) ++ ? utf8n_to_uvchr((U8*)s, newlen, &numlen, UTF8_ALLOW_DEFAULT) ++ : *(U8*)s; ++ ++ if (!newlen || numlen != newlen) { ++ uv = UNICODE_REPLACEMENT; ++ if (encp) ++ *encp = NULL; ++ } ++ return uv; ++} ++ ++/* + - regatom - the lowest level + * + * Optimization: gobbles an entire sequence of ordinary characters so that +@@ -3182,6 +3215,8 @@ tryagain: + ender = grok_hex(p, &numlen, &flags, NULL); + p += numlen; + } ++ if (PL_encoding && ender < 0x100) ++ goto recode_encoding; + break; + case 'c': + p++; +@@ -3201,6 +3236,17 @@ tryagain: + --p; + goto loopdone; + } ++ if (PL_encoding && ender < 0x100) ++ goto recode_encoding; ++ break; ++ recode_encoding: ++ { ++ SV* enc = PL_encoding; ++ ender = reg_recode((const char)(U8)ender, &enc); ++ if (!enc && SIZE_ONLY && ckWARN(WARN_REGEXP)) ++ vWARN(p, "Invalid escape in the specified encoding"); ++ RExC_utf8 = 1; ++ } + break; + case '\0': + if (p >= RExC_end) +@@ -3331,32 +3377,6 @@ tryagain: + break; + } + +- /* If the encoding pragma is in effect recode the text of +- * any EXACT-kind nodes. */ +- if (PL_encoding && PL_regkind[(U8)OP(ret)] == EXACT) { +- STRLEN oldlen = STR_LEN(ret); +- SV *sv = sv_2mortal(newSVpvn(STRING(ret), oldlen)); +- +- if (RExC_utf8) +- SvUTF8_on(sv); +- if (sv_utf8_downgrade(sv, TRUE)) { +- const char * const s = sv_recode_to_utf8(sv, PL_encoding); +- const STRLEN newlen = SvCUR(sv); +- +- if (SvUTF8(sv)) +- RExC_utf8 = 1; +- if (!SIZE_ONLY) { +- DEBUG_r(PerlIO_printf(Perl_debug_log, "recode %*s to %*s\n", +- (int)oldlen, STRING(ret), +- (int)newlen, s)); +- Copy(s, STRING(ret), newlen, char); +- STR_LEN(ret) += newlen - oldlen; +- RExC_emit += STR_SZ(newlen) - STR_SZ(oldlen); +- } else +- RExC_size += STR_SZ(newlen) - STR_SZ(oldlen); +- } +- } +- + return(ret); + } + +@@ -3734,6 +3754,8 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state) + value = grok_hex(RExC_parse, &numlen, &flags, NULL); + RExC_parse += numlen; + } ++ if (PL_encoding && value < 0x100) ++ goto recode_encoding; + break; + case 'c': + value = UCHARAT(RExC_parse++); +@@ -3741,13 +3763,24 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state) + break; + case '0': case '1': case '2': case '3': case '4': + case '5': case '6': case '7': case '8': case '9': +- { +- I32 flags = 0; +- numlen = 3; +- value = grok_oct(--RExC_parse, &numlen, &flags, NULL); +- RExC_parse += numlen; +- break; +- } ++ { ++ I32 flags = 0; ++ numlen = 3; ++ value = grok_oct(--RExC_parse, &numlen, &flags, NULL); ++ RExC_parse += numlen; ++ if (PL_encoding && value < 0x100) ++ goto recode_encoding; ++ break; ++ } ++ recode_encoding: ++ { ++ SV* enc = PL_encoding; ++ value = reg_recode((const char)(U8)value, &enc); ++ if (!enc && SIZE_ONLY && ckWARN(WARN_REGEXP)) ++ vWARN(RExC_parse, ++ "Invalid escape in the specified encoding"); ++ break; ++ } + default: + if (!SIZE_ONLY && isALPHA(value) && ckWARN(WARN_REGEXP)) + vWARN2(RExC_parse, +diff --git a/t/uni/tr_utf8.t b/t/uni/tr_utf8.t +index 606a84a..354156a 100755 +--- a/t/uni/tr_utf8.t ++++ b/t/uni/tr_utf8.t +@@ -31,7 +31,7 @@ BEGIN { + } + + use strict; +-use Test::More tests => 7; ++use Test::More tests => 8; + + use encoding 'utf8'; + +@@ -67,4 +67,12 @@ is($str, $hiragana, "s/// # hiragana -> katakana"); + $line =~ tr/bcdeghijklmnprstvwxyz$02578/בצדעגהיײקלמנפּרסטװשכיזשױתײחא/; + is($line, "aבצדעfגהיײקלמנoפqּרסuטװשכיזש1ױ34ת6ײח9", "[perl #16843]"); + } ++ ++{ ++ # [perl #40641] ++ my $str = qq/Gebääääääääääääääääääääude/; ++ my $reg = qr/Gebääääääääääääääääääääude/; ++ ok($str =~ /$reg/, "[perl #40641]"); ++} ++ + __END__ +diff --git a/utf8.h b/utf8.h +index 6d63897..3800866 100644 +--- a/utf8.h ++++ b/utf8.h +@@ -198,6 +198,8 @@ encoded character. + UTF8_ALLOW_SURROGATE|UTF8_ALLOW_FFFF) + #define UTF8_ALLOW_ANY 0x00FF + #define UTF8_CHECK_ONLY 0x0200 ++#define UTF8_ALLOW_DEFAULT (ckWARN(WARN_UTF8) ? 0 : \ ++ UTF8_ALLOW_ANYUV) + + #define UNICODE_SURROGATE_FIRST 0xD800 + #define UNICODE_SURROGATE_LAST 0xDFFF diff --git a/dev-lang/perl/files/perl-5.8.8-USE_MM_LD_RUN_PATH.patch b/dev-lang/perl/files/perl-5.8.8-USE_MM_LD_RUN_PATH.patch new file mode 100644 index 0000000..edcfc6a --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-USE_MM_LD_RUN_PATH.patch @@ -0,0 +1,111 @@ +diff -Naurp perl-5.8.8-orig/lib/ExtUtils/Liblist.pm perl-5.8.8/lib/ExtUtils/Liblist.pm +--- perl-5.8.8-orig/lib/ExtUtils/Liblist.pm 2003-04-07 14:58:17.000000000 -0400 ++++ perl-5.8.8/lib/ExtUtils/Liblist.pm 2006-02-07 09:57:04.000000000 -0500 +@@ -87,6 +87,11 @@ libraries. LD_RUN_PATH is a colon separ + in LDLOADLIBS. It is passed as an environment variable to the process + that links the shared library. + ++The Red Hat extension: This generation of LD_RUN_PATH is disabled by default. ++To use the generated LD_RUN_PATH for all links, set the USE_MM_LD_RUN_PATH ++MakeMaker object attribute / argument, (or set the $USE_MM_LD_RUN_PATH ++environment variable). ++ + =head2 BSLOADLIBS + + List of those libraries that are needed but can be linked in +diff -Naurp perl-5.8.8-orig/lib/ExtUtils/MM_Unix.pm perl-5.8.8/lib/ExtUtils/MM_Unix.pm +--- perl-5.8.8-orig/lib/ExtUtils/MM_Unix.pm 2005-05-21 05:42:56.000000000 -0400 ++++ perl-5.8.8/lib/ExtUtils/MM_Unix.pm 2006-02-07 09:56:08.000000000 -0500 +@@ -941,7 +941,7 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $ + } + + my $ld_run_path_shell = ""; +- if ($self->{LD_RUN_PATH} ne "") { ++ if (($self->{LD_RUN_PATH} ne "") && ($self->{USE_MM_LD_RUN_PATH})) { + $ld_run_path_shell = 'LD_RUN_PATH="$(LD_RUN_PATH)" '; + } + +diff -Naurp perl-5.8.8-orig/lib/ExtUtils/MakeMaker.pm perl-5.8.8/lib/ExtUtils/MakeMaker.pm +--- perl-5.8.8-orig/lib/ExtUtils/MakeMaker.pm 2005-10-21 10:11:04.000000000 -0400 ++++ perl-5.8.8/lib/ExtUtils/MakeMaker.pm 2006-02-07 09:55:03.000000000 -0500 +@@ -233,7 +233,7 @@ sub full_setup { + PERL_SRC PERM_RW PERM_RWX + PL_FILES PM PM_FILTER PMLIBDIRS POLLUTE PPM_INSTALL_EXEC + PPM_INSTALL_SCRIPT PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ +- SIGN SKIP TYPEMAPS VERSION VERSION_FROM XS XSOPT XSPROTOARG ++ SKIP TYPEMAPS USE_MM_LD_RUN_PATH VERSION VERSION_FROM XS XSOPT XSPROTOARG + XS_VERSION clean depend dist dynamic_lib linkext macro realclean + tool_autosplit + +@@ -371,6 +371,26 @@ sub new { + exit 0; + } + ++ # USE_MM_LD_RUN_PATH - borrowed from RedHat to disable automatic RPATH generation ++ if ( ( ! $self->{USE_MM_LD_RUN_PATH} ) ++ &&( ("@ARGV" =~ /\bUSE_MM_LD_RUN_PATH(=([01]))?\b/) ++ ||( exists( $ENV{USE_MM_LD_RUN_PATH} ) ++ &&( $ENV{USE_MM_LD_RUN_PATH} =~ /([01])?$/ ) ++ ) ++ ) ++ ) ++ { ++ my $v = $1; ++ if( $v ) ++ { ++ $v = ($v=~/=([01])$/)[0]; ++ }else ++ { ++ $v = 1; ++ }; ++ $self->{USE_MM_LD_RUN_PATH}=$v; ++ }; ++ + print STDOUT "MakeMaker (v$VERSION)\n" if $Verbose; + if (-f "MANIFEST" && ! -f "Makefile"){ + check_manifest(); +@@ -2057,6 +2077,44 @@ precedence. A typemap in the current di + precedence, even if it isn't listed in TYPEMAPS. The default system + typemap has lowest precedence. + ++=item USE_MM_LD_RUN_PATH ++ ++boolean ++This feature is borrowed from Red Hat to deal with RPATH issues. ++Please see bug 81745 - http://bugs.gentoo.org/81745 - for more ++information. ++ ++The Red Hat perl MakeMaker distribution differs from the standard ++upstream release in that it disables use of the MakeMaker generated ++LD_RUN_PATH by default, UNLESS this attribute is specified , or the ++USE_MM_LD_RUN_PATH environment variable is set during the MakeMaker run. ++ ++The upstream MakeMaker will set the ld(1) environment variable LD_RUN_PATH ++to the concatenation of every -L ld(1) option directory in which a -l ld(1) ++option library is found, which is used as the ld(1) -rpath option if none ++is specified. This means that, if your application builds shared libraries ++and your MakeMaker application links to them, that the absolute paths of the ++libraries in the build tree will be inserted into the RPATH header of all ++MakeMaker generated binaries, and that such binaries will be unable to link ++to these libraries if they do not still reside in the build tree directories ++(unlikely) or in the system library directories (/lib or /usr/lib), regardless ++of any LD_LIBRARY_PATH setting. So if you specified -L../mylib -lmylib , and ++your 'libmylib.so' gets installed into /some_directory_other_than_usr_lib, ++your MakeMaker application will be unable to link to it, even if LD_LIBRARY_PATH ++is set to include /some_directory_other_than_usr_lib, because RPATH overrides ++LD_LIBRARY_PATH. ++ ++So for Red Hat MakeMaker builds LD_RUN_PATH is NOT generated by default for ++every link. You can still use explicit -rpath ld options or the LD_RUN_PATH ++environment variable during the build to generate an RPATH for the binaries. ++ ++You can set the USE_MM_LD_RUN_PATH attribute to 1 on the MakeMaker command ++line or in the WriteMakefile arguments to enable generation of LD_RUN_PATH ++for every link command. ++ ++USE_MM_LD_RUN_PATH will default to 1 (LD_RUN_PATH will be used) IF the ++$USE_MM_LD_RUN_PATH environment variable is set during a MakeMaker run. ++ + =item VENDORPREFIX + + Like PERLPREFIX, but only for the vendor install locations. diff --git a/dev-lang/perl/files/perl-5.8.8-asm-page-h-compile-failure.patch b/dev-lang/perl/files/perl-5.8.8-asm-page-h-compile-failure.patch new file mode 100644 index 0000000..325caaf --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-asm-page-h-compile-failure.patch @@ -0,0 +1,12 @@ +--- perl-5.8.8/ext/IPC/SysV/SysV.xs.no_asm_page_h 2001-06-30 14:46:07.000000000 -0400 ++++ perl-5.8.8/ext/IPC/SysV/SysV.xs 2006-06-02 17:37:22.000000000 -0400 +@@ -3,9 +3,6 @@ + #include "XSUB.h" + + #include <sys/types.h> +-#ifdef __linux__ +-# include <asm/page.h> +-#endif + #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM) + #ifndef HAS_SEM + # include <sys/ipc.h> diff --git a/dev-lang/perl/files/perl-5.8.8-ccld-cflags.patch b/dev-lang/perl/files/perl-5.8.8-ccld-cflags.patch new file mode 100644 index 0000000..85f66fe --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-ccld-cflags.patch @@ -0,0 +1,33 @@ +--- Configure.orig 2009-11-04 11:09:08.934965499 +0100 ++++ Configure 2009-11-04 11:13:19.055305854 +0100 +@@ -7617,7 +7617,7 @@ + cat <<EOM + You appear to have ELF support. I'll use $cc to build dynamic libraries. + EOM +- dflt="$cc" ++ dflt="$cc $optimize" + else + echo "I'll use ld to build dynamic libraries." + dflt='ld' +--- Makefile.SH.orig 2009-11-04 15:34:22.643322823 +0100 ++++ Makefile.SH 2009-11-04 15:34:30.110147884 +0100 +@@ -201,7 +201,7 @@ + LD = $ld + + LDFLAGS = $ldflags +-CLDFLAGS = $ldflags ++CLDFLAGS = \$(OPTIMIZE) $ldflags + + mallocsrc = $mallocsrc + mallocobj = $mallocobj +--- x2p/Makefile.SH.orig 2009-11-04 15:54:14.146759212 +0100 ++++ x2p/Makefile.SH 2009-11-04 15:54:19.963253154 +0100 +@@ -107,7 +107,7 @@ + $(REALPERL) -I../lib ../utils/perlcc -I .. -L .. $(plextract) -v -log ../compilelog; + + a2p$(EXE_EXT): $(obj) a2p$(OBJ_EXT) +- $(CC) -o a2p $(LDFLAGS) $(obj) a2p$(OBJ_EXT) $(libs) ++ $(CC) -o a2p $(OPTIMIZE) $(LDFLAGS) $(obj) a2p$(OBJ_EXT) $(libs) + + # I now supply a2p.c with the kits, so the following section is + # used only if you force byacc to run by saying diff --git a/dev-lang/perl/files/perl-5.8.8-cplusplus.patch b/dev-lang/perl/files/perl-5.8.8-cplusplus.patch new file mode 100644 index 0000000..064bda4 --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-cplusplus.patch @@ -0,0 +1,22 @@ +--- perl.h.orig 2006-03-29 08:53:46.000000000 -0500 ++++ perl.h 2006-03-29 08:54:19.000000000 -0500 +@@ -159,7 +159,7 @@ struct perl_thread; + #endif + + #ifndef PERL_UNUSED_DECL +-# ifdef HASATTRIBUTE_UNUSED ++# if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus) + # define PERL_UNUSED_DECL __attribute__unused__ + # else + # define PERL_UNUSED_DECL +--- XSUB.h.orig 2006-03-29 08:54:24.000000000 -0500 ++++ XSUB.h 2006-03-29 08:54:48.000000000 -0500 +@@ -91,7 +91,7 @@ handled automatically by C<xsubpp>. + #if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING) + # define XS(name) __declspec(dllexport) void name(pTHX_ CV* cv) + #else +-# ifdef HASATTRIBUTE_UNUSED ++# if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus) + # define XS(name) void name(pTHX_ CV* cv __attribute__unused__) + # else + # define XS(name) void name(pTHX_ CV* cv) diff --git a/dev-lang/perl/files/perl-5.8.8-darwin-cc-ld.patch b/dev-lang/perl/files/perl-5.8.8-darwin-cc-ld.patch new file mode 100644 index 0000000..b96eea8 --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-darwin-cc-ld.patch @@ -0,0 +1,22 @@ +Use $CC to link (and check for broken compilers), such that we don't get +linked modules of a different bitness. +http://bugs.gentoo.org/show_bug.cgi?id=297751 + +--- hints/darwin.sh ++++ hints/darwin.sh +@@ -128,13 +128,13 @@ + ccflags="${ccflags} ${cppflags}" + + # Known optimizer problems. +-case "`cc -v 2>&1`" in ++case "`${cc:-gcc} -v 2>&1`" in + *"3.1 20020105"*) toke_cflags='optimize=""' ;; + esac + + # Shared library extension is .dylib. + # Bundle extension is .bundle. +-ld='cc'; ++ld="${cc:-gcc}"; + so='dylib'; + dlext='bundle'; + usedl='define'; diff --git a/dev-lang/perl/files/perl-5.8.8-dragonfly-clean.patch b/dev-lang/perl/files/perl-5.8.8-dragonfly-clean.patch new file mode 100644 index 0000000..52f32bf --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-dragonfly-clean.patch @@ -0,0 +1,170 @@ +Index: perl-5.8.8/Configure +=================================================================== +--- perl-5.8.8.orig/Configure 2006-01-08 14:51:03 +0000 ++++ perl-5.8.8/Configure 2006-02-14 13:41:41 +0000 +@@ -3130,6 +3130,8 @@ + dgux) osname=dgux + osvers="$3" + ;; ++ dragonfly) osname=dragonfly ++ osvers="$3" ;; + dynixptx*) osname=dynixptx + osvers=`echo "$4"|sed 's/^v//'` + ;; +@@ -7889,7 +7891,7 @@ + solaris) + xxx="-R $shrpdir" + ;; +- freebsd|netbsd|openbsd|interix) ++ freebsd|netbsd|openbsd|dragonfly|interix) + xxx="-Wl,-R$shrpdir" + ;; + bsdos|linux|irix*|dec_osf|gnu*) +Index: perl-5.8.8/Makefile.SH +=================================================================== +--- perl-5.8.8.orig/Makefile.SH 2006-01-24 12:49:44 +0000 ++++ perl-5.8.8/Makefile.SH 2006-02-14 13:46:57 +0000 +@@ -73,7 +73,7 @@ + sunos*) + linklibperl="-lperl" + ;; +- netbsd*|freebsd[234]*|openbsd*) ++ netbsd*|freebsd[234]*|openbsd*|dragonfly*) + linklibperl="-L. -lperl" + ;; + interix*) +@@ -990,6 +990,10 @@ + n_dummy $(nonxs_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE + @$(LDLIBPTH) sh ext/util/make_ext nonxs $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) + ++.PHONY: printconfig ++printconfig: ++ @eval `$(LDLIBPTH) ./perl -Ilib -V:$(CONFIGVAR)`; echo $$$(CONFIGVAR) ++ + .PHONY: clean _tidy _mopup _cleaner1 _cleaner2 \ + realclean _realcleaner clobber _clobber \ + distclean veryclean _verycleaner +Index: perl-5.8.8/hints/dragonfly.sh +=================================================================== +--- perl-5.8.8.orig/hints/dragonfly.sh 1970-01-01 00:00:00 +0000 ++++ perl-5.8.8/hints/dragonfly.sh 2006-02-14 13:15:04 +0000 +@@ -0,0 +1,118 @@ ++# hints/dragonfly.sh ++# ++# This file is mostly copied from hints/freebsd.sh with the OS version ++# information taken out and only the FreeBSD-4 information intact. ++# Please check with Todd Willey <xtoddx@gmail.com> before making ++# modifications to this file. ++ ++case "$osvers" in ++*) usevfork='true' ++ case "$usemymalloc" in ++ "") usemymalloc='n' ++ ;; ++ esac ++ libswanted=`echo $libswanted | sed 's/ malloc / /'` ++ ;; ++esac ++ ++# Dynamic Loading flags have not changed much, so they are separated ++# out here to avoid duplicating them everywhere. ++case "$osvers" in ++*) ++ objformat=`/usr/bin/objformat` ++ if [ x$objformat = xelf ]; then ++ libpth="/usr/lib /usr/local/lib" ++ glibpth="/usr/lib /usr/local/lib" ++ ldflags="-Wl,-E " ++ lddlflags="-shared " ++ else ++ if [ -e /usr/lib/aout ]; then ++ libpth="/usr/lib/aout /usr/local/lib /usr/lib" ++ glibpth="/usr/lib/aout /usr/local/lib /usr/lib" ++ fi ++ lddlflags='-Bshareable' ++ fi ++ cccdlflags='-DPIC -fPIC' ++ ;; ++esac ++ ++case "$osvers" in ++*) ++ ccflags="${ccflags} -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H" ++ if /usr/bin/file -L /usr/lib/libc.so | /usr/bin/grep -vq "not stripped" ; then ++ usenm=false ++ fi ++ ;; ++esac ++ ++cat <<'EOM' >&4 ++ ++Some users have reported that Configure halts when testing for ++the O_NONBLOCK symbol with a syntax error. This is apparently a ++sh error. Rerunning Configure with ksh apparently fixes the ++problem. Try ++ ksh Configure [your options] ++ ++EOM ++ ++# From: Anton Berezin <tobez@plab.ku.dk> ++# To: perl5-porters@perl.org ++# Subject: [PATCH 5.005_54] Configure - hints/freebsd.sh signal handler type ++# Date: 30 Nov 1998 19:46:24 +0100 ++# Message-ID: <864srhhvcv.fsf@lion.plab.ku.dk> ++ ++signal_t='void' ++d_voidsig='define' ++ ++# This script UU/usethreads.cbu will get 'called-back' by Configure ++# after it has prompted the user for whether to use threads. ++cat > UU/usethreads.cbu <<'EOCBU' ++case "$usethreads" in ++$define|true|[yY]*) ++ lc_r=`/sbin/ldconfig -r|grep ':-lc_r'|awk '{print $NF}'|sed -n '$p'` ++ case "$osvers" in ++ *) ++ if [ ! -r "$lc_r" ]; then ++ cat <<EOM >&4 ++POSIX threads should be supported by FreeBSD $osvers -- ++but your system is missing the shared libc_r. ++(/sbin/ldconfig -r doesn't find any). ++ ++Consider using the latest STABLE release. ++EOM ++ exit 1 ++ fi ++ case "$osvers" in ++ *) ldflags="-pthread $ldflags" ++ ;; ++ esac ++ # Both in 4.x and 5.x gethostbyaddr_r exists but ++ # it is "Temporary function, not threadsafe"... ++ # Presumably earlier it didn't even exist. ++ d_gethostbyaddr_r="undef" ++ d_gethostbyaddr_r_proto="0" ++ ;; ++ ++ esac ++ ++ set `echo X "$libswanted "| sed -e 's/ c / c_r /'` ++ shift ++ libswanted="$*" ++ # Configure will probably pick the wrong libc to use for nm scan. ++ # The safest quick-fix is just to not use nm at all... ++ usenm=false ++ ++ unset lc_r ++ ++ # Even with the malloc mutexes the Perl malloc does not ++ # seem to be threadsafe in FreeBSD? ++ case "$usemymalloc" in ++ '') usemymalloc=n ;; ++ esac ++esac ++EOCBU ++ ++# malloc wrap works ++case "$usemallocwrap" in ++'') usemallocwrap='define' ;; ++esac + diff --git a/dev-lang/perl/files/perl-5.8.8-fbsdhints.patch b/dev-lang/perl/files/perl-5.8.8-fbsdhints.patch new file mode 100644 index 0000000..7dc1a65 --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-fbsdhints.patch @@ -0,0 +1,57 @@ +Index: perl-5.8.8/hints/freebsd.sh +=================================================================== +--- perl-5.8.8.orig/hints/freebsd.sh ++++ perl-5.8.8/hints/freebsd.sh +@@ -88,6 +88,8 @@ case "$osvers" in + esac + libswanted=`echo $libswanted | sed 's/ malloc / /'` + libswanted=`echo $libswanted | sed 's/ bind / /'` ++ libswanted=`echo $libswanted | sed 's/ dl / /'` ++ libswanted=`echo $libswanted | sed 's/ c / /'` + # iconv gone in Perl 5.8.1, but if someone compiles 5.8.0 or earlier. + libswanted=`echo $libswanted | sed 's/ iconv / /'` + d_setregid='define' +@@ -102,6 +104,10 @@ case "$osvers" in + ;; + esac + libswanted=`echo $libswanted | sed 's/ malloc / /'` ++ libswanted=`echo $libswanted | sed 's/ bind / /'` ++ libswanted=`echo $libswanted | sed 's/ dl / /'` ++ libswanted=`echo $libswanted | sed 's/ iconv / /'` ++ libswanted=`echo $libswanted | sed 's/ c / /'` + ;; + esac + +@@ -116,17 +122,17 @@ case "$osvers" in + + *) + objformat=`/usr/bin/objformat` +- if [ x$objformat = xelf ]; then +- libpth="/usr/lib /usr/local/lib" +- glibpth="/usr/lib /usr/local/lib" +- ldflags="-Wl,-E " +- lddlflags="-shared " +- else ++ if [ x$objformat = xaout ]; then + if [ -e /usr/lib/aout ]; then + libpth="/usr/lib/aout /usr/local/lib /usr/lib" + glibpth="/usr/lib/aout /usr/local/lib /usr/lib" + fi + lddlflags='-Bshareable' ++ else ++ libpth="/usr/lib /usr/local/lib" ++ glibpth="/usr/lib /usr/local/lib" ++ ldflags="-Wl,-E" ++ lddlflags="-shared " + fi + cccdlflags='-DPIC -fPIC' + ;; +@@ -137,7 +143,7 @@ case "$osvers" in + + *) + ccflags="${ccflags} -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H" +- if /usr/bin/file -L /usr/lib/libc.so | /usr/bin/grep -vq "not stripped" ; then ++ if /usr/bin/file -L /usr/lib/libc.so | grep -vq "not stripped" ; then + usenm=false + fi + ;; diff --git a/dev-lang/perl/files/perl-5.8.8-fix_file_path_chdir.patch b/dev-lang/perl/files/perl-5.8.8-fix_file_path_chdir.patch new file mode 100644 index 0000000..c75aa89 --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-fix_file_path_chdir.patch @@ -0,0 +1,72 @@ +ExtUtils/Command.pm (among other things) expects to be able to destroy +a strangely-permissioned testdir. This is a backport of the chdir/chmod +work performed in File::Path released in Perl 5.10.0. + +--- perl-5.8.7.orig/lib/File/Path.pm 2008-12-05 13:23:32.000000000 -0800 ++++ perl-5.8.7/lib/File/Path.pm 2008-12-05 13:33:13.000000000 -0800 +@@ -162,7 +162,7 @@ + { + my ($path, $prefix, $up, $up_dev, $up_ino, $verbose, $safe) = @_; + +- my ($dev, $ino) = lstat $path or return 0; ++ my ($dev, $ino, $perm) = lstat $path or return 0; + unless (-d _) + { + print "unlink $prefix$path\n" if $verbose; +@@ -175,15 +175,25 @@ + return 1; + } + +- unless (chdir $path) +- { ++ if (!chdir($path)) { ++ # see if we can escalate privileges to get in ++ # (e.g. funny protection mask such as -w- instead of rwx) ++ $perm &= 07777; ++ my $nperm = $perm | 0700; ++ if (!($safe or $nperm == $perm or chmod($nperm, $path))) { ++ carp "cannot make $prefix$path read-write-exec"; ++ return 0; ++ } ++ elsif (!chdir($path)) { + carp "Can't chdir to $prefix$path ($!)"; + return 0; ++ } + } + + # avoid a race condition where a directory may be replaced by a + # symlink between the lstat and the chdir +- my ($new_dev, $new_ino, $perm) = stat '.'; ++ my ($new_dev, $new_ino); ++ ($new_dev, $new_ino, $perm) = stat '.'; + unless ("$new_dev:$new_ino" eq "$dev:$ino") + { + croak "Directory $prefix$path changed before chdir, aborting"; +--- perl-5.8.8.orig/lib/ExtUtils/t/Command.t ++++ perl-5.8.8/lib/ExtUtils/t/Command.t +@@ -23,7 +23,7 @@ + } + + BEGIN { +- use Test::More tests => 38; ++ use Test::More tests => 39; + use File::Spec; + } + +@@ -148,7 +148,7 @@ + $^O eq 'NetWare' || $^O eq 'dos' || $^O eq 'cygwin' || + $^O eq 'MacOS' + ) { +- skip( "different file permission semantics on $^O", 4); ++ skip( "different file permission semantics on $^O", 5); + } + + @ARGV = ('testdir'); +@@ -178,6 +178,7 @@ + + @ARGV = ('testdir'); + rm_rf; ++ ok( ! -e 'testdir', 'rm_rf can delete a read-only dir' ); + } + + diff --git a/dev-lang/perl/files/perl-5.8.8-gcc42-command-line.patch b/dev-lang/perl/files/perl-5.8.8-gcc42-command-line.patch new file mode 100644 index 0000000..6904136 --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-gcc42-command-line.patch @@ -0,0 +1,11 @@ +diff -Naur perl-5.8.8-orig/makedepend.SH perl-5.8.8/makedepend.SH +--- perl-5.8.8-orig/makedepend.SH 2006-10-01 20:05:40.000000000 -0600 ++++ perl-5.8.8/makedepend.SH 2006-10-01 20:07:03.000000000 -0600 +@@ -167,6 +167,7 @@ + -e '/^#.*<builtin>/d' \ + -e '/^#.*<built-in>/d' \ + -e '/^#.*<command line>/d' \ ++ -e '/^#.*<command-line>/d' \ + -e '/^#.*"-"/d' \ + -e '/: file path prefix .* never used$/d' \ + -e 's#\.[0-9][0-9]*\.c#'"$file.c#" \ diff --git a/dev-lang/perl/files/perl-5.8.8-lib32.patch b/dev-lang/perl/files/perl-5.8.8-lib32.patch new file mode 100644 index 0000000..88d5049 --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-lib32.patch @@ -0,0 +1,76 @@ +--- a/Configure ++++ b/Configure +@@ -1255,12 +1255,12 @@ libnames='' + : change the next line if compiling for Xenix/286 on Xenix/386 + xlibpth='/usr/lib/386 /lib/386' + : Possible local library directories to search. +-loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib" +-loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib" ++loclibpth="/usr/local/lib32 /opt/local/lib32 /usr/gnu/lib32" ++loclibpth="$loclibpth /opt/gnu/lib32 /usr/GNU/lib32 /opt/GNU/lib32" + + : general looking path for locating libraries +-glibpth="/lib /usr/lib $xlibpth" +-glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib" ++glibpth="/lib32 /usr/lib32 $xlibpth" ++glibpth="$glibpth /usr/ccs/lib32 /usr/ucblib /usr/local/lib32" + test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth" + test -f /shlib/libc.so && glibpth="/shlib $glibpth" + +@@ -5945,8 +5945,8 @@ fi + : Reproduce behavior of 5.005 and earlier, maybe drop that in 5.7. + case "$installstyle" in + '') case "$prefix" in +- *perl*) dflt='lib';; +- *) dflt='lib/perl5' ;; ++ *perl*) dflt='lib32';; ++ *) dflt='lib32/perl5' ;; + esac + ;; + *) dflt="$installstyle" ;; +@@ -5962,8 +5962,8 @@ installstyle=$dflt + : /opt/perl/lib/perl5... would be redundant. + : The default "style" setting is made in installstyle.U + case "$installstyle" in +-*lib/perl5*) set dflt privlib lib/$package/$version ;; +-*) set dflt privlib lib/$version ;; ++*lib32/perl5*) set dflt privlib lib32/$package/$version ;; ++*) set dflt privlib lib32/$version ;; + esac + eval $prefixit + $cat <<EOM +@@ -6465,8 +6465,8 @@ siteprefixexp="$ansexp" + prog=`echo $package | $sed 's/-*[0-9.]*$//'` + case "$sitelib" in + '') case "$installstyle" in +- *lib/perl5*) dflt=$siteprefix/lib/$package/site_$prog/$version ;; +- *) dflt=$siteprefix/lib/site_$prog/$version ;; ++ *lib32/perl5*) dflt=$siteprefix/lib32/$package/site_$prog/$version ;; ++ *) dflt=$siteprefix/lib32/site_$prog/$version ;; + esac + ;; + *) dflt="$sitelib" +@@ -6592,8 +6592,8 @@ case "$vendorprefix" in + '') + prog=`echo $package | $sed 's/-*[0-9.]*$//'` + case "$installstyle" in +- *lib/perl5*) dflt=$vendorprefix/lib/$package/vendor_$prog/$version ;; +- *) dflt=$vendorprefix/lib/vendor_$prog/$version ;; ++ *lib32/perl5*) dflt=$vendorprefix/lib32/$package/vendor_$prog/$version ;; ++ *) dflt=$vendorprefix/lib32/vendor_$prog/$version ;; + esac + ;; + *) dflt="$vendorlib" +@@ -10550,9 +10550,9 @@ else + else + for net in net socket + do +- if test -f /usr/lib/lib$net$_a; then +- ( ($nm $nm_opt /usr/lib/lib$net$_a | eval $nm_extract) || \ +- $ar t /usr/lib/lib$net$_a) 2>/dev/null >> libc.list ++ if test -f /usr/lib32/lib$net$_a; then ++ ( ($nm $nm_opt /usr/lib32/lib$net$_a | eval $nm_extract) || \ ++ $ar t /usr/lib32/lib$net$_a) 2>/dev/null >> libc.list + if $contains socket libc.list >/dev/null 2>&1; then + d_socket="$define" + socketlib="-l$net" diff --git a/dev-lang/perl/files/perl-5.8.8-lib64.patch b/dev-lang/perl/files/perl-5.8.8-lib64.patch new file mode 100644 index 0000000..4cc3aee --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-lib64.patch @@ -0,0 +1,76 @@ +--- a/Configure ++++ b/Configure +@@ -1255,12 +1255,12 @@ libnames='' + : change the next line if compiling for Xenix/286 on Xenix/386 + xlibpth='/usr/lib/386 /lib/386' + : Possible local library directories to search. +-loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib" +-loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib" ++loclibpth="/usr/local/lib64 /opt/local/lib64 /usr/gnu/lib64" ++loclibpth="$loclibpth /opt/gnu/lib64 /usr/GNU/lib64 /opt/GNU/lib64" + + : general looking path for locating libraries +-glibpth="/lib /usr/lib $xlibpth" +-glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib" ++glibpth="/lib64 /usr/lib64 $xlibpth" ++glibpth="$glibpth /usr/ccs/lib64 /usr/ucblib /usr/local/lib64" + test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth" + test -f /shlib/libc.so && glibpth="/shlib $glibpth" + +@@ -5945,8 +5945,8 @@ fi + : Reproduce behavior of 5.005 and earlier, maybe drop that in 5.7. + case "$installstyle" in + '') case "$prefix" in +- *perl*) dflt='lib';; +- *) dflt='lib/perl5' ;; ++ *perl*) dflt='lib64';; ++ *) dflt='lib64/perl5' ;; + esac + ;; + *) dflt="$installstyle" ;; +@@ -5962,8 +5962,8 @@ installstyle=$dflt + : /opt/perl/lib/perl5... would be redundant. + : The default "style" setting is made in installstyle.U + case "$installstyle" in +-*lib/perl5*) set dflt privlib lib/$package/$version ;; +-*) set dflt privlib lib/$version ;; ++*lib64/perl5*) set dflt privlib lib64/$package/$version ;; ++*) set dflt privlib lib64/$version ;; + esac + eval $prefixit + $cat <<EOM +@@ -6465,8 +6465,8 @@ siteprefixexp="$ansexp" + prog=`echo $package | $sed 's/-*[0-9.]*$//'` + case "$sitelib" in + '') case "$installstyle" in +- *lib/perl5*) dflt=$siteprefix/lib/$package/site_$prog/$version ;; +- *) dflt=$siteprefix/lib/site_$prog/$version ;; ++ *lib64/perl5*) dflt=$siteprefix/lib64/$package/site_$prog/$version ;; ++ *) dflt=$siteprefix/lib64/site_$prog/$version ;; + esac + ;; + *) dflt="$sitelib" +@@ -6592,8 +6592,8 @@ case "$vendorprefix" in + '') + prog=`echo $package | $sed 's/-*[0-9.]*$//'` + case "$installstyle" in +- *lib/perl5*) dflt=$vendorprefix/lib/$package/vendor_$prog/$version ;; +- *) dflt=$vendorprefix/lib/vendor_$prog/$version ;; ++ *lib64/perl5*) dflt=$vendorprefix/lib64/$package/vendor_$prog/$version ;; ++ *) dflt=$vendorprefix/lib64/vendor_$prog/$version ;; + esac + ;; + *) dflt="$vendorlib" +@@ -10550,9 +10550,9 @@ else + else + for net in net socket + do +- if test -f /usr/lib/lib$net$_a; then +- ( ($nm $nm_opt /usr/lib/lib$net$_a | eval $nm_extract) || \ +- $ar t /usr/lib/lib$net$_a) 2>/dev/null >> libc.list ++ if test -f /usr/lib64/lib$net$_a; then ++ ( ($nm $nm_opt /usr/lib64/lib$net$_a | eval $nm_extract) || \ ++ $ar t /usr/lib64/lib$net$_a) 2>/dev/null >> libc.list + if $contains socket libc.list >/dev/null 2>&1; then + d_socket="$define" + socketlib="-l$net" diff --git a/dev-lang/perl/files/perl-5.8.8-libnet-hostname.patch b/dev-lang/perl/files/perl-5.8.8-libnet-hostname.patch new file mode 100644 index 0000000..60440e2 --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-libnet-hostname.patch @@ -0,0 +1,25 @@ +commit adeb94125ab7de8d20c129a905a5159972ad9fd1 +Author: Ricardo SIGNES <rjbs@cpan.org> +Date: Mon Oct 22 05:01:09 2007 -0400 + + hostname.t busted + Message-ID: <20071022130109.GA16748@knight> + + p4raw-id: //depot/perl@32180 + +diff --git a/lib/Net/t/hostname.t b/lib/Net/t/hostname.t +index 758d304..4013d74 100644 +--- a/lib/Net/t/hostname.t ++++ b/lib/Net/t/hostname.t +@@ -26,7 +26,10 @@ print "1..5\n"; + $domain = domainname(); + + if(defined $domain && $domain ne "") { +- print "ok 1\n"; ++ print "ok 1 - defined, non-empty domainname\n"; ++} ++elsif (not defined $domain) { ++ print "ok 1 # SKIP domain not fully defined\n"; + } + else { + print "not ok 1\n"; diff --git a/dev-lang/perl/files/perl-5.8.8-links.patch b/dev-lang/perl/files/perl-5.8.8-links.patch new file mode 100644 index 0000000..22e74b3 --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-links.patch @@ -0,0 +1,86 @@ +--- lib/CPAN/FirstTime.pm.orig 2006-02-06 07:50:13.000000000 -0500 ++++ lib/CPAN/FirstTime.pm 2006-02-06 07:50:28.000000000 -0500 +@@ -292,7 +292,7 @@ by ENTER. + my(@path) = split /$Config{'path_sep'}/, $ENV{'PATH'}; + local $^W = $old_warn; + my $progname; +- for $progname (qw/gzip tar unzip make lynx wget ncftpget ncftp ftp gpg/){ ++ for $progname (qw/gzip tar unzip make links lynx wget ncftpget ncftp ftp gpg/){ + if ($^O eq 'MacOS') { + $CPAN::Config->{$progname} = 'not_here'; + next; +--- lib/CPAN.pm.orig 2006-02-06 07:54:43.000000000 -0500 ++++ lib/CPAN.pm 2006-02-06 07:52:59.000000000 -0500 +@@ -2604,7 +2604,7 @@ sub hosthard { + + $self->debug("localizing funkyftpwise[$url]") if $CPAN::DEBUG; + my($f,$funkyftp); +- for $f ('lynx','ncftpget','ncftp','wget') { ++ for $f ('links','lynx','ncftpget','ncftp','wget') { + next unless exists $CPAN::Config->{$f}; + $funkyftp = $CPAN::Config->{$f}; + next unless defined $funkyftp; +@@ -2613,7 +2613,7 @@ sub hosthard { + ($asl_ungz = $aslocal) =~ s/\.gz//; + $asl_gz = "$asl_ungz.gz"; + my($src_switch) = ""; +- if ($f eq "lynx"){ ++ if (($f eq "lynx")||($f eq "links")){ + $src_switch = " -source"; + } elsif ($f eq "ncftp"){ + $src_switch = " -c"; +@@ -2637,10 +2637,14 @@ Trying with "$funkyftp$src_switch" to ge + my($wstatus); + if (($wstatus = system($system)) == 0 + && +- ($f eq "lynx" ? ++ (($f eq "lynx" ? + -s $asl_ungz # lynx returns 0 when it fails somewhere + : 1 +- ) ++ )|| ++ ($f eq "links" ? ++ -s $asl_ungz # links returns 0 when it fails somewhere ++ : 1 ++ )) + ) { + if (-s $aslocal) { + # Looks good +@@ -2695,7 +2699,7 @@ returned status $estatus (wstat $wstatus + }); + } + return if $CPAN::Signal; +- } # lynx,ncftpget,ncftp ++ } # links,lynx,ncftpget,ncftp + } # host + } + +@@ -6022,7 +6026,7 @@ stalled. + + The CPAN module is designed to automate the make and install of perl + modules and extensions. It includes some primitive searching capabilities and +-knows how to use Net::FTP or LWP (or lynx or an external ftp client) ++knows how to use Net::FTP or LWP (or lynx or links or an external ftp client) + to fetch the raw data from the net. + + Modules are fetched from one or more of the mirrored CPAN +@@ -6975,16 +6979,18 @@ or + + =back + +-=head2 Configuring lynx or ncftp for going through a firewall ++=head2 Configuring links or lynx or ncftp for going through a firewall + + If you can go through your firewall with e.g. lynx, presumably with a + command such as + + /usr/local/bin/lynx -pscott:tiger ++ /usr/local/bin/links -pscott:tiger + + then you would configure CPAN.pm with the command + + o conf lynx "/usr/local/bin/lynx -pscott:tiger" ++ o conf links "/usr/local/bin/links -pscott:tiger" + + That's all. Similarly for ncftp or ftp, you would configure something + like diff --git a/dev-lang/perl/files/perl-5.8.8-makedepend-syntax.patch b/dev-lang/perl/files/perl-5.8.8-makedepend-syntax.patch new file mode 100644 index 0000000..147d499 --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-makedepend-syntax.patch @@ -0,0 +1,11 @@ +--- perl-5.8.8/makedepend.SH ++++ perl-5.8.8/makedepend.SH +@@ -128,7 +128,7 @@ + *.y) filebase=`basename $file .y` ;; + esac + case "$file" in +- */*) finc="-I`echo $file | sed 's#/[^/]*$##`" ;; ++ */*) finc="-I`echo $file | sed 's#/[^/]*$##'`" ;; + *) finc= ;; + esac + $echo "Finding dependencies for $filebase$_o." diff --git a/dev-lang/perl/files/perl-5.8.8-perlcc.patch b/dev-lang/perl/files/perl-5.8.8-perlcc.patch new file mode 100644 index 0000000..5c4b778 --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-perlcc.patch @@ -0,0 +1,11 @@ +--- perl-5.8.8/ext/B/B/C.pm.orig 2007-06-07 21:12:04.000000000 +0300 ++++ perl-5.8.8/ext/B/B/C.pm 2007-06-07 21:12:21.000000000 +0300 +@@ -647,7 +647,7 @@ + return $sym if defined $sym; + my $val= $sv->NVX; + $val .= '.00' if $val =~ /^-?\d+$/; +- $xpvnvsect->add(sprintf("0, 0, 0, %d, %s", $sv->IVX, $val)); ++ $xpvnvsect->add(sprintf("0, 0, 0, %d, %s", $sv->NVX, $val)); + $svsect->add(sprintf("&xpvnv_list[%d], %lu, 0x%x", + $xpvnvsect->index, $sv->REFCNT , $sv->FLAGS)); + return savesym($sv, sprintf("&sv_list[%d]", $svsect->index)); diff --git a/dev-lang/perl/files/perl-5.8.8-reorder-INC.patch b/dev-lang/perl/files/perl-5.8.8-reorder-INC.patch new file mode 100644 index 0000000..11c5692 --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-reorder-INC.patch @@ -0,0 +1,93 @@ +--- perl.c.orig 2006-01-24 09:57:33.000000000 -0500 ++++ perl.c 2006-01-24 10:03:15.000000000 -0500 +@@ -4777,9 +4777,9 @@ S_init_perllib(pTHX) + incpush(APPLLIB_EXP, TRUE, TRUE, TRUE); + #endif + +-#ifdef ARCHLIB_EXP +- incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE); +-#endif ++ /* for configuration where /usr is mounted ro (CPAN::Config, Net::Config) */ ++ incpush("/etc/perl", FALSE, FALSE, TRUE); ++ + #ifdef MACOS_TRADITIONAL + { + Stat_t tmpstatbuf; +@@ -4806,51 +4806,58 @@ S_init_perllib(pTHX) + #endif + #if defined(WIN32) + incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE); +-#else +- incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE); + #endif + +-#ifdef SITEARCH_EXP +- /* sitearch is always relative to sitelib on Windows for ++#ifdef PERL_VENDORARCH_EXP ++ /* vendorarch is always relative to vendorlib on Windows for + * DLL-based path intuition to work correctly */ + # if !defined(WIN32) +- incpush(SITEARCH_EXP, FALSE, FALSE, TRUE); ++ incpush(PERL_VENDORARCH_EXP, FALSE, FALSE, TRUE); + # endif + #endif + +-#ifdef SITELIB_EXP ++#ifdef PERL_VENDORLIB_EXP + # if defined(WIN32) +- /* this picks up sitearch as well */ +- incpush(SITELIB_EXP, TRUE, FALSE, TRUE); ++ incpush(PERL_VENDORLIB_EXP, TRUE, FALSE, TRUE); /* this picks up vendorarch as well */ + # else +- incpush(SITELIB_EXP, FALSE, FALSE, TRUE); ++ incpush(PERL_VENDORLIB_EXP, FALSE, FALSE, TRUE); + # endif + #endif + +-#ifdef SITELIB_STEM /* Search for version-specific dirs below here */ +- incpush(SITELIB_STEM, FALSE, TRUE, TRUE); ++#ifdef PERL_VENDORLIB_STEM /* Search for version-specific dirs below here */ ++ incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE); + #endif + +-#ifdef PERL_VENDORARCH_EXP +- /* vendorarch is always relative to vendorlib on Windows for ++#ifdef SITEARCH_EXP ++ /* sitearch is always relative to sitelib on Windows for + * DLL-based path intuition to work correctly */ + # if !defined(WIN32) +- incpush(PERL_VENDORARCH_EXP, FALSE, FALSE, TRUE); ++ incpush(SITEARCH_EXP, FALSE, FALSE, TRUE); + # endif + #endif + +-#ifdef PERL_VENDORLIB_EXP ++#ifdef SITELIB_EXP + # if defined(WIN32) +- incpush(PERL_VENDORLIB_EXP, TRUE, FALSE, TRUE); /* this picks up vendorarch as well */ ++ /* this picks up sitearch as well */ ++ incpush(SITELIB_EXP, TRUE, FALSE, TRUE); + # else +- incpush(PERL_VENDORLIB_EXP, FALSE, FALSE, TRUE); ++ incpush(SITELIB_EXP, FALSE, FALSE, TRUE); + # endif + #endif + +-#ifdef PERL_VENDORLIB_STEM /* Search for version-specific dirs below here */ +- incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE); ++#ifdef SITELIB_STEM /* Search for version-specific dirs below here */ ++ incpush(SITELIB_STEM, FALSE, TRUE, TRUE); + #endif + ++ incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE); ++ incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE); ++ ++ /* Non-versioned site directory for local modules and for ++ compatability with the previous packages' site dirs */ ++ ++ incpush("/usr/local/lib/site_perl", TRUE, FALSE, TRUE); ++ ++ + #ifdef PERL_OTHERLIBDIRS + incpush(PERL_OTHERLIBDIRS, TRUE, TRUE, TRUE); + #endif diff --git a/dev-lang/perl/files/perl-5.8.8-solaris-relocation.patch b/dev-lang/perl/files/perl-5.8.8-solaris-relocation.patch new file mode 100644 index 0000000..f2df825 --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-solaris-relocation.patch @@ -0,0 +1,21 @@ +http://sourceware.org/ml/binutils/2005-12/msg00008.html +--- hints/solaris_2.sh ++++ hints/solaris_2.sh +@@ -289,7 +289,7 @@ + + END + ccdlflags="$ccdlflags -Wl,-E" +- lddlflags="$lddlflags -Wl,-E -G" ++ lddlflags="$lddlflags -shared" + fi + fi + +@@ -555,7 +555,7 @@ + : #ccflags="$ccflags -Wa,`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`" + fi + ldflags="$ldflags -m64" +- lddlflags="$lddlflags -G -m64" ++ lddlflags="$lddlflags -m64" + ;; + *) + ccflags="$ccflags `getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`" diff --git a/dev-lang/perl/files/perl-5.8.8-solaris11.patch b/dev-lang/perl/files/perl-5.8.8-solaris11.patch new file mode 100644 index 0000000..6ba72e0 --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-solaris11.patch @@ -0,0 +1,14 @@ +Thanks to the nice OpenSolaris guys, I finally figured out that on +OpenSolaris 11, the header dependencies have changed. + +--- perl.h ++++ perl.h +@@ -1192,6 +1192,8 @@ + */ + + #if defined(I_SYSMODE) && !defined(PERL_MICRO) ++#include <sys/stat.h> ++#include <sys/vnode.h> + #include <sys/mode.h> + #endif + diff --git a/dev-lang/perl/files/perl-5.8.8-usr-local.patch b/dev-lang/perl/files/perl-5.8.8-usr-local.patch new file mode 100644 index 0000000..c44b786 --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-usr-local.patch @@ -0,0 +1,25 @@ +# remove /usr/local paths from all stuff thats used +# in Configure script, locincpth, loclibpth and glibpth are sedded +# afterwards not to conflict with the lib32 and lib64 patches + +diff -rubB perl-5.8.8.orig/Configure perl-5.8.8/Configure +--- perl-5.8.8.orig/Configure Tue Jan 15 10:41:29 2008 ++++ perl-5.8.8/Configure Tue Jan 15 10:44:59 2008 +@@ -4424,7 +4422,7 @@ + : Set private lib path + case "$plibpth" in + '') if ./mips; then +- plibpth="$incpath/usr/lib /usr/local/lib /usr/ccs/lib" ++ plibpth="$incpath/usr/lib /usr/ccs/lib" + fi;; + esac + case "$libpth" in +@@ -19144,7 +19142,7 @@ + case "$ranlib" in + :) ranlib='';; + '') +- ranlib=`./loc ranlib X /usr/bin /bin /usr/local/bin` ++ ranlib=`./loc ranlib X /usr/bin /bin` + $test -f $ranlib || ranlib='' + ;; + esac diff --git a/dev-lang/perl/files/perl-5.8.8-utf8-boundary.patch b/dev-lang/perl/files/perl-5.8.8-utf8-boundary.patch new file mode 100644 index 0000000..d0efa3f --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-utf8-boundary.patch @@ -0,0 +1,57 @@ +--- regcomp.c 2006-01-08 12:59:27.000000000 -0800 ++++ regcomp.c 2007-10-05 12:07:55.000000000 -0700 +@@ -135,7 +135,8 @@ + I32 extralen; + I32 seen_zerolen; + I32 seen_evals; +- I32 utf8; ++ I32 utf8; /* pattern is utf8 or not */ ++ I32 orig_utf8; /* pattern was originally utf8 */ + #if ADD_TO_REGEXEC + char *starttry; /* -Dr: where regtry was called. */ + #define RExC_starttry (pRExC_state->starttry) +@@ -161,6 +162,7 @@ + #define RExC_seen_zerolen (pRExC_state->seen_zerolen) + #define RExC_seen_evals (pRExC_state->seen_evals) + #define RExC_utf8 (pRExC_state->utf8) ++#define RExC_orig_utf8 (pRExC_state->orig_utf8) + + #define ISMULT1(c) ((c) == '*' || (c) == '+' || (c) == '?') + #define ISMULT2(s) ((*s) == '*' || (*s) == '+' || (*s) == '?' || \ +@@ -1749,15 +1751,17 @@ + if (exp == NULL) + FAIL("NULL regexp argument"); + +- RExC_utf8 = pm->op_pmdynflags & PMdf_CMP_UTF8; ++ RExC_orig_utf8 = RExC_utf8 = pm->op_pmdynflags & PMdf_CMP_UTF8; + +- RExC_precomp = exp; + DEBUG_r({ + if (!PL_colorset) reginitcolors(); + PerlIO_printf(Perl_debug_log, "%sCompiling REx%s `%s%*s%s'\n", + PL_colors[4],PL_colors[5],PL_colors[0], +- (int)(xend - exp), RExC_precomp, PL_colors[1]); ++ (int)(xend - exp), exp, PL_colors[1]); + }); ++ ++redo_first_pass: ++ RExC_precomp = exp; + RExC_flags = pm->op_pmflags; + RExC_sawback = 0; + +@@ -1783,6 +1787,17 @@ + RExC_precomp = Nullch; + return(NULL); + } ++ if (RExC_utf8 && !RExC_orig_utf8) { ++ STRLEN len = xend-exp; ++ DEBUG_r(PerlIO_printf(Perl_debug_log, ++ "UTF8 mismatch! Converting to utf8 for resizing and compile\n")); ++ exp = (char*)Perl_bytes_to_utf8(aTHX_ (U8*)exp, &len); ++ xend = exp + len; ++ RExC_orig_utf8 = RExC_utf8; ++ SAVEFREEPV(exp); ++ goto redo_first_pass; ++ } ++ + diff --git a/dev-lang/perl/files/perl-cwd-prefix.patch b/dev-lang/perl/files/perl-cwd-prefix.patch new file mode 100644 index 0000000..d6f0e9b --- /dev/null +++ b/dev-lang/perl/files/perl-cwd-prefix.patch @@ -0,0 +1,15 @@ +Index: dist/Cwd/Cwd.pm +=================================================================== +--- perl-5.16.3/dist/Cwd/Cwd.pm ++++ perl-5.16.3/dist/Cwd/Cwd.pm +@@ -331,8 +331,8 @@ $METHOD_MAP{NT} = $METHOD_MAP{MSWin32}; + # are safe. This prevents _backtick_pwd() consulting $ENV{PATH} + # so everything works under taint mode. + my $pwd_cmd; +-foreach my $try ('/bin/pwd', +- '/usr/bin/pwd', ++foreach my $try ('@GENTOO_PORTAGE_EPREFIX@/bin/pwd', ++ '@GENTOO_PORTAGE_EPREFIX@/usr/bin/pwd', + '/QOpenSys/bin/pwd', # OS/400 PASE. + ) { + diff --git a/dev-lang/perl/files/perl-fix_h2ph_include_quote.patch b/dev-lang/perl/files/perl-fix_h2ph_include_quote.patch new file mode 100644 index 0000000..a71fbe6 --- /dev/null +++ b/dev-lang/perl/files/perl-fix_h2ph_include_quote.patch @@ -0,0 +1,61 @@ +Subject: Fix h2ph with double-quote-delimited #include directives. + +Allow the quote mark delimiter also for those #include directives chased with "h2ph -a". + +Debian bug #479762. + +Also add the directory prefix of the current file when the quote syntax is +used; 'require' will only look in @INC, not the current directory. + +Upstream change 33835. +--- a/utils/h2ph.PL ++++ b/utils/h2ph.PL +@@ -85,7 +85,7 @@ sub reindent($) { + } + + my ($t, $tab, %curargs, $new, $eval_index, $dir, $name, $args, $outfile); +-my ($incl, $incl_type, $next); ++my ($incl, $incl_type, $incl_quote, $next); + while (defined (my $file = next_file())) { + if (-l $file and -d $file) { + link_if_possible($file) if ($opt_l); +@@ -186,9 +186,10 @@ while (defined (my $file = next_file())) { + print OUT $t,"unless(defined(\&$name)) {\n sub $name () {\t",$new,";}\n}\n"; + } + } +- } elsif (/^(include|import|include_next)\s*[<\"](.*)[>\"]/) { ++ } elsif (/^(include|import|include_next)\s*([<\"])(.*)[>\"]/) { + $incl_type = $1; +- $incl = $2; ++ $incl_quote = $2; ++ $incl = $3; + if (($incl_type eq 'include_next') || + ($opt_e && exists($bad_file{$incl}))) { + $incl =~ s/\.h$/.ph/; +@@ -221,6 +222,10 @@ while (defined (my $file = next_file())) { + "warn(\$\@) if \$\@;\n"); + } else { + $incl =~ s/\.h$/.ph/; ++ # copy the prefix in the quote syntax (#include "x.h") case ++ if ($incl !~ m|/| && $incl_quote eq q{"} && $file =~ m|^(.*)/|) { ++ $incl = "$1/$incl"; ++ } + print OUT $t,"require '$incl';\n"; + } + } elsif (/^ifdef\s+(\w+)/) { +@@ -724,8 +729,13 @@ sub queue_includes_from + $line .= <HEADER>; + } + +- if ($line =~ /^#\s*include\s+<(.*?)>/) { +- push(@ARGV, $1) unless $Is_converted{$1}; ++ if ($line =~ /^#\s*include\s+([<"])(.*?)[>"]/) { ++ my ($delimiter, $new_file) = ($1, $2); ++ # copy the prefix in the quote syntax (#include "x.h") case ++ if ($delimiter eq q{"} && $file =~ m|^(.*)/|) { ++ $new_file = "$1/$new_file"; ++ } ++ push(@ARGV, $new_file) unless $Is_converted{$new_file}; + } + } + close HEADER; diff --git a/dev-lang/perl/files/perl-h2ph-ansi-header.patch b/dev-lang/perl/files/perl-h2ph-ansi-header.patch new file mode 100644 index 0000000..c7f0d72 --- /dev/null +++ b/dev-lang/perl/files/perl-h2ph-ansi-header.patch @@ -0,0 +1,11 @@ +--- perl-5.8.0-RC2/utils/h2ph_patched.pix 2002-06-24 12:52:31.000000000 +0200 ++++ perl-5.8.0-RC2/utils/h2ph_patched 2002-06-24 12:54:32.000000000 +0200 +@@ -39,6 +39,8 @@ + my ($t, $tab, %curargs, $new, $eval_index, $dir, $name, $args, $outfile); + my ($incl, $next); + while (defined (my $file = next_file())) { ++ next if $file eq 'machine/ansi.h'; ++ + if (-l $file and -d $file) { + link_if_possible($file) if ($opt_l); + next; diff --git a/dev-lang/perl/files/perl-hppa-pa7200-configure.patch b/dev-lang/perl/files/perl-hppa-pa7200-configure.patch new file mode 100644 index 0000000..396209a --- /dev/null +++ b/dev-lang/perl/files/perl-hppa-pa7200-configure.patch @@ -0,0 +1,11 @@ +--- Configure.orig 2006-06-02 13:14:22.000000000 -0500 ++++ Configure 2006-06-02 13:07:03.000000000 -0500 +@@ -2967,7 +2967,7 @@ + : Try to determine whether config.sh was made on this system + case "$config_sh" in + '') +-myuname=`$uname -a 2>/dev/null` ++myuname=`$uname -a | $sed -e "s/'//" 2>/dev/null` + $test -z "$myuname" && myuname=`hostname 2>/dev/null` + # tr '[A-Z]' '[a-z]' would not work in EBCDIC + # because the A-Z/a-z are not consecutive. diff --git a/dev-lang/perl/files/perl-noksh.patch b/dev-lang/perl/files/perl-noksh.patch new file mode 100644 index 0000000..4c33b3e --- /dev/null +++ b/dev-lang/perl/files/perl-noksh.patch @@ -0,0 +1,16 @@ +diff -burN perl-5.8.4.orig/Configure perl-5.8.4/Configure +--- perl-5.8.4.orig/Configure 2004-04-01 05:48:18.000000000 -0800 ++++ perl-5.8.4/Configure 2004-06-09 12:02:54.694172368 -0700 +@@ -164,6 +164,12 @@ + ;; + esac + ++# 2004.06.09 rac ++# having $newsh persist as ksh here is bad news if ksh doesn't really ++# exist. this causes us to toss away a perfectly good working test in ++# bash in favour of more exotic external options. see bug 42665. ++test -x "${newsh}" || unset newsh ++ + : if needed set CDPATH to a harmless value that is not chatty + : avoid bash 2.02 problems with empty CDPATH. + case "$CDPATH" in diff --git a/dev-lang/perl/files/perl-perldoc-emptydirs.patch b/dev-lang/perl/files/perl-perldoc-emptydirs.patch new file mode 100644 index 0000000..650248c --- /dev/null +++ b/dev-lang/perl/files/perl-perldoc-emptydirs.patch @@ -0,0 +1,10 @@ +--- lib/Pod/Perldoc.pm.orig 2003-10-22 13:02:15.000000000 -0700 ++++ lib/Pod/Perldoc.pm 2003-10-22 13:02:36.000000000 -0700 +@@ -1513,6 +1513,7 @@ + $self->{'target'} = (splitdir $s)[-1]; # XXX: why not use File::Basename? + for ($i=0; $i<@dirs; $i++) { + $dir = $dirs[$i]; ++ next unless -d $dir; + ($dir = VMS::Filespec::unixpath($dir)) =~ s!/\z!! if IS_VMS; + if ( (! $self->opt_m && ( $ret = $self->check_file($dir,"$s.pod"))) + or ( $ret = $self->check_file($dir,"$s.pm")) diff --git a/dev-lang/perl/files/perl-picdl.patch b/dev-lang/perl/files/perl-picdl.patch new file mode 100644 index 0000000..f69a680 --- /dev/null +++ b/dev-lang/perl/files/perl-picdl.patch @@ -0,0 +1,13 @@ +--- Makefile.SH.orig 2003-11-29 01:16:15.000000000 -0800 ++++ Makefile.SH 2003-11-29 01:16:52.000000000 -0800 +@@ -129,8 +129,8 @@ + + ;; + +-*) pldlflags='' +- static_target='static' ++*) pldlflags="$cccdlflags" ++ static_target='static_pic' + ;; + esac + diff --git a/dev-lang/perl/files/perl-prelink-lpthread.patch b/dev-lang/perl/files/perl-prelink-lpthread.patch new file mode 100644 index 0000000..d38497e --- /dev/null +++ b/dev-lang/perl/files/perl-prelink-lpthread.patch @@ -0,0 +1,11 @@ +--- hints/linux.sh.orig 2003-02-14 18:11:50.000000000 -0800 ++++ hints/linux.sh 2003-02-14 18:12:01.000000000 -0800 +@@ -43,7 +43,7 @@ + # 'kaffe' has a /usr/lib/libnet.so which is not at all relevent for perl. + set `echo X "$libswanted "| sed -e 's/ bsd / /' -e 's/ net / /'` + shift +-libswanted="$*" ++libswanted="pthread $*" + + # If you have glibc, then report the version for ./myconfig bug reporting. + # (Configure doesn't need to know the specific version since it just uses diff --git a/dev-lang/perl/files/perl-regexp-nossp.patch b/dev-lang/perl/files/perl-regexp-nossp.patch new file mode 100644 index 0000000..d0357cd --- /dev/null +++ b/dev-lang/perl/files/perl-regexp-nossp.patch @@ -0,0 +1,11 @@ +--- cflags.SH.orig 2005-07-03 23:39:10.000000000 -0400 ++++ cflags.SH 2005-07-03 23:39:47.000000000 -0400 +@@ -165,6 +165,8 @@ + esac + + : Can we perhaps use $ansi2knr here ++ [ "x$file" = xregcomp ] && export ccflags="${ccflags} -fno-stack-protector" ++ [ "x$file" = xregexec ] && export ccflags="${ccflags} -fno-stack-protector" + echo "$cc -c -DPERL_CORE $ccflags $optimize $warn" + eval "$also "'"$cc -DPERL_CORE -c $ccflags $optimize $warn"' + diff --git a/dev-lang/perl/metadata.xml b/dev-lang/perl/metadata.xml new file mode 100644 index 0000000..1db3180 --- /dev/null +++ b/dev-lang/perl/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>perl</herd> + <use> + <flag name='ithreads'>Enable Perl threads, has some compatibility problems</flag> + <flag name='perlsuid'>Enable Perl SUID install. Has some risks associated.</flag> + </use> +</pkgmetadata> diff --git a/dev-lang/perl/patches/cwd.patch b/dev-lang/perl/patches/cwd.patch new file mode 100644 index 0000000..99fb2be --- /dev/null +++ b/dev-lang/perl/patches/cwd.patch @@ -0,0 +1,13 @@ +Index: perl/files/eblits/src_prepare-v50160001.eblit +=================================================================== +--- perl.orig/files/eblits/src_prepare-v50160001.eblit ++++ perl/files/eblits/src_prepare-v50160001.eblit +@@ -57,6 +57,8 @@ eblit-perl-src_prepare() { + EPATCH_SINGLE_MSG=" ${patch} ..." + epatch "${WORKDIR}"/patches/${patch} + done < "${WORKDIR}"/patches/series ++ epatch "${FILESDIR}"/${PN}-cwd-prefix.patch ++ eprefixify dist/Cwd/Cwd.pm + + src_prepare_update_patchlevel_h + diff --git a/dev-lang/perl/patches/perl.patch b/dev-lang/perl/patches/perl.patch new file mode 100644 index 0000000..7a1c7ff --- /dev/null +++ b/dev-lang/perl/patches/perl.patch @@ -0,0 +1,11 @@ +Index: perl/files/eblits/src_configure-v50160001.eblit +=================================================================== +--- perl.orig/files/eblits/src_configure-v50160001.eblit ++++ perl/files/eblits/src_configure-v50160001.eblit +@@ -141,5 +141,6 @@ eblit-perl-src_configure() { + -Dinstallusrbinperl='n' \ + -Ud_csh \ + -Uusenm \ ++ -Dsh="${EPREFIX}"/bin/sh \ + "${myconf[@]}" || die "Unable to configure" + } diff --git a/dev-lang/perl/patches/series b/dev-lang/perl/patches/series new file mode 100644 index 0000000..b7708a7 --- /dev/null +++ b/dev-lang/perl/patches/series @@ -0,0 +1,2 @@ +cwd.patch +perl.patch diff --git a/dev-lang/perl/perl-5.10.1.ebuild b/dev-lang/perl/perl-5.10.1.ebuild new file mode 100644 index 0000000..e15f96c --- /dev/null +++ b/dev-lang/perl/perl-5.10.1.ebuild @@ -0,0 +1,610 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.10.1.ebuild,v 1.23 2012/01/02 22:52:21 zmedico Exp $ + +EAPI=2 + +inherit eutils alternatives flag-o-matic toolchain-funcs multilib + +PATCH_VER=9 + +PERL_OLDVERSEN="5.10.0" + +SHORT_PV="${PV%.*}" +MY_P="perl-${PV/_rc/-RC}" +MY_PV="${PV%_rc*}" + +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" + +S="${WORKDIR}/${MY_P}" +SRC_URI="mirror://cpan/src/${MY_P}.tar.bz2 + mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 + http://dev.gentoo.org/~tove/files/${MY_P}-${PATCH_VER}.tar.bz2" +HOMEPAGE="http://www.perl.org/" + +LICENSE="|| ( Artistic GPL-1 GPL-2 GPL-3 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" +#KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd" +IUSE="berkdb build debug doc gdbm ithreads" + +COMMON_DEPEND="berkdb? ( sys-libs/db ) + gdbm? ( >=sys-libs/gdbm-1.8.3 ) + >=sys-devel/libperl-5.10.1 + !!<sys-devel/libperl-5.10.1 + app-arch/bzip2 + sys-libs/zlib" +DEPEND="${COMMON_DEPEND} + elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs )" +RDEPEND="${COMMON_DEPEND}" +PDEPEND=">=app-admin/perl-cleaner-2_pre090920" + +dual_scripts() { + src_remove_dual_scripts perl-core/Archive-Tar 1.52 ptar ptardiff + src_remove_dual_scripts perl-core/Digest-SHA 5.47 shasum + src_remove_dual_scripts perl-core/CPAN 1.9402 cpan + src_remove_dual_scripts perl-core/CPANPLUS 0.88 cpanp cpan2dist cpanp-run-perl + src_remove_dual_scripts perl-core/Encode 2.35 enc2xs piconv + src_remove_dual_scripts perl-core/ExtUtils-MakeMaker 6.55_02 instmodsh + src_remove_dual_scripts perl-core/Module-Build 0.34_02 config_data + src_remove_dual_scripts perl-core/Module-CoreList 2.18 corelist + src_remove_dual_scripts perl-core/PodParser 1.37 pod2usage podchecker podselect + src_remove_dual_scripts perl-core/Test-Harness 3.17 prove + src_remove_dual_scripts perl-core/podlators 2.2.2 pod2man pod2text +} + +pkg_setup() { + LIBPERL="libperl$(get_libname ${MY_PV})" + + if use ithreads ; then + ewarn "THREADS WARNING:" + ewarn "PLEASE NOTE: You are compiling ${MY_P} with" + ewarn "interpreter-level threading enabled." + ewarn "Threading is not supported by all applications " + ewarn "that compile against perl. You use threading at " + ewarn "your own discretion. " + echo + fi + if has_version "~dev-lang/perl-5.8.8" ; then + ewarn "UPDATE THE PERL MODULES:" + ewarn "After updating dev-lang/perl you must reinstall" + ewarn "the installed perl modules." + ewarn "Use: perl-cleaner --all" + elif has_version dev-lang/perl ; then + # doesnot work + #if ! has_version dev-lang/perl[ithreads=,debug=] ; then + #if ! has_version dev-lang/perl[ithreads=] || ! has_version dev-lang/perl[debug=] ; then + if ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \ + ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \ + ( use debug && ! has_version dev-lang/perl[debug] ) || \ + ( ! use debug && has_version dev-lang/perl[debug] ) ; then + ewarn "TOGGLED USE-FLAGS WARNING:" + ewarn "You changed one of the use-flags ithreads or debug." + ewarn "You must rebuild all perl-modules installed." + ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" + fi + fi + dual_scripts +} + +src_prepare() { + EPATCH_SOURCE="${WORKDIR}/perl-patch" \ + EPATCH_SUFFIX="diff" \ + EPATCH_FORCE="yes" \ + epatch + + # pod/perltoc.pod fails + ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) + ln -s ${LIBPERL} libperl$(get_libname ) +} + +myconf() { + # the myconf array is declared in src_configure + myconf=( "${myconf[@]}" "$@" ) +} + +src_configure() { + declare -a myconf + + # some arches and -O do not mix :) + use ppc && replace-flags -O? -O1 + # Perl has problems compiling with -Os in your flags with glibc + use elibc_uclibc || replace-flags "-Os" "-O2" + # This flag makes compiling crash in interesting ways + filter-flags "-malign-double" + # Fixes bug #97645 + use ppc && filter-flags "-mpowerpc-gpopt" + # Fixes bug #143895 on gcc-4.1.1 + filter-flags "-fsched2-use-superblocks" + + # this is needed because gcc 3.3-compiled kernels will hang + # the machine trying to run this test - check with `Kumba + # <rac@gentoo.org> 2003.06.26 + use mips && myconf -Dd_u32align + + use sparc && myconf -Ud_longdbl + + export LC_ALL="C" + [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091 + + # 266337 + export BUILD_BZIP2=0 + export BZIP2_INCLUDE=/usr/include + export BZIP2_LIB=/usr/$(get_libdir) + cat <<-EOF > "${S}/ext/Compress-Raw-Zlib/config.in" + BUILD_ZLIB = False + INCLUDE = /usr/include + LIB = /usr/$(get_libdir) + + OLD_ZLIB = False + GZIP_OS_CODE = AUTO_DETECT + EOF + + case ${CHOST} in + *-freebsd*) osname="freebsd" ;; + *-dragonfly*) osname="dragonfly" ;; + *-netbsd*) osname="netbsd" ;; + *-openbsd*) osname="openbsd" ;; + *-darwin*) osname="darwin" ;; + *) osname="linux" ;; + esac + + if use ithreads ; then + mythreading="-multi" + myconf -Dusethreads + myarch=${CHOST} + myarch="${myarch%%-*}-${osname}-thread" + else + myarch=${CHOST} + myarch="${myarch%%-*}-${osname}" + fi + if use debug ; then + myarch="${myarch}-debug" + fi + + # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1 + + myndbm='U' + mygdbm='U' + mydb='U' + + if use gdbm ; then + mygdbm='D' + myndbm='D' + fi + if use berkdb ; then + mydb='D' + has_version '=sys-libs/db-1*' && myndbm='D' + fi + + myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db" + + if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then + ewarn "Perl will not be built with berkdb support, use gcc if you needed it..." + myconf -Ui_db -Ui_ndbm + fi + + if use debug ; then + append-cflags "-g" + myconf -DDEBUGGING + fi + + local inclist=$(for v in ${PERL_OLDVERSEN}; do echo -n "${v} ${v}/${myarch}${mythreading}"; done ) + + [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a" + + if [[ $(get_libdir) != "lib" ]] ; then + # We need to use " and not ', as the written config.sh use ' ... + myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)" + fi + + sh Configure \ + -des \ + -Duseshrplib \ + -Darchname="${myarch}" \ + -Dcc="$(tc-getCC)" \ + -Doptimize="${CFLAGS}" \ + -Dscriptdir=/usr/bin \ + -Dprefix='/usr' \ + -Dvendorprefix='/usr' \ + -Dsiteprefix='/usr' \ + -Dprivlib="/usr/$(get_libdir)/perl5/${MY_PV}" \ + -Darchlib="/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" \ + -Dvendorlib="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}" \ + -Dvendorarch="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}/${myarch}${mythreading}" \ + -Dsitelib="/usr/$(get_libdir)/perl5/site_perl/${MY_PV}" \ + -Dsitearch="/usr/$(get_libdir)/perl5/site_perl/${MY_PV}/${myarch}${mythreading}" \ + -Dman1dir=/usr/share/man/man1 \ + -Dman3dir=/usr/share/man/man3 \ + -Dinstallman1dir=/usr/share/man/man1 \ + -Dinstallman3dir=/usr/share/man/man3 \ + -Dman1ext='1' \ + -Dman3ext='3pm' \ + -Dlibperl="${LIBPERL}" \ + -Dlocincpth=' ' \ + -Duselargefiles \ + -Dd_semctl_semun \ + -Dinc_version_list="$inclist" \ + -Dcf_by='Gentoo' \ + -Dmyhostname='localhost' \ + -Dperladmin='root@localhost' \ + -Dinstallusrbinperl='n' \ + -Ud_csh \ + -Uusenm \ + "${myconf[@]}" || die "Unable to configure" +} + +src_test() { +# use elibc_uclibc && export MAKEOPTS="${MAKEOPTS} -j1" +# TEST_JOBS=$(echo -j1 ${MAKEOPTS} | sed -r 's/.*(-j[[:space:]]*|--jobs=)([[:digit:]]+).*/\2/' ) \ + make test_harness || die "test failed" +} + +src_install() { + export LC_ALL="C" + local i + local coredir="/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}/CORE" + + # Fix for "stupid" modules and programs + dodir /usr/$(get_libdir)/perl5/site_perl/${MY_PV}/${myarch}${mythreading} + + local installtarget=install + if use build ; then + installtarget=install.perl + fi + make DESTDIR="${D}" ${installtarget} || die "Unable to make ${installtarget}" + + rm -f "${D}"/usr/bin/perl + ln -s perl${MY_PV} "${D}"/usr/bin/perl + + dolib.so "${D}"/${coredir}/${LIBPERL} || die + dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die + dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname) || die + rm -f "${D}"/${coredir}/${LIBPERL} + dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/${LIBPERL} + dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname ${SHORT_PV}) + dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname) + + rm -rf "${D}"/usr/share/man/man3 || die "Unable to remove module man pages" +# cp -f utils/h2ph utils/h2ph_patched +# epatch "${FILESDIR}"/${PN}-h2ph-ansi-header.patch +# +# LD_LIBRARY_PATH=. ./perl -Ilib utils/h2ph_patched \ +# -a -d "${D}"/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading} <<EOF +#asm/termios.h +#syscall.h +#syslimits.h +#syslog.h +#sys/ioctl.h +#sys/socket.h +#sys/time.h +#wait.h +#EOF + +# vvv still needed? +# # This is to fix a missing c flag for backwards compat +# for i in $(find "${D}"/usr/$(get_libdir)/perl5 -iname "Config.pm" ) ; do +# sed -i \ +# -e "s:ccflags=':ccflags='-DPERL5 :" \ +# -e "s:cppflags=':cppflags='-DPERL5 :" \ +# "${i}" || die "Sed failed" +# done + + # A poor fix for the miniperl issues + dosed 's:./miniperl:/usr/bin/perl:' /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp + fperms 0444 /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp + dosed 's:./miniperl:/usr/bin/perl:' /usr/bin/xsubpp + fperms 0755 /usr/bin/xsubpp + + # This removes ${D} from Config.pm and .packlist + for i in $(find "${D}" -iname "Config.pm" -o -iname ".packlist" ) ; do + einfo "Removing ${D} from ${i}..." + sed -i -e "s:${D}::" "${i}" || die "Sed failed" + done + + # Note: find out from psm why we would need/want this. + # ( use berkdb && has_version '=sys-libs/db-1*' ) || + # find "${D}" -name "*NDBM*" | xargs rm -f + + dodoc Changes* README AUTHORS || die + + if use doc ; then + # HTML Documentation + # We expect errors, warnings, and such with the following. + + dodir /usr/share/doc/${PF}/html + ./perl installhtml \ + --podroot='.' \ + --podpath='lib:ext:pod:vms' \ + --recurse \ + --htmldir="${D}/usr/share/doc/${PF}/html" \ + --libpods='perlfunc:perlguts:perlvar:perlrun:perlop' + fi + + dual_scripts + + if use build ; then + src_remove_extra_files + fi +} + +pkg_postinst() { + local INC DIR file + + dual_scripts + + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${MY_PV}'|etc|local|perl$/; print "$line\n" }') + if [[ "${ROOT}" = "/" ]] ; then + ebegin "Removing old .ph files" + for DIR in ${INC} ; do + if [[ -d "${ROOT}/${DIR}" ]] ; then + for file in $(find "${ROOT}/${DIR}" -name "*.ph" -type f ) ; do + rm -f "${ROOT}/${file}" + einfo "<< ${file}" + done + fi + done + # Silently remove the now empty dirs + for DIR in ${INC} ; do + if [[ -d "${ROOT}/${DIR}" ]] ; then + find "${ROOT}/${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + fi + done + ebegin "Generating ConfigLocal.pm (ignore any error)" + enc2xs -C + ebegin "Converting C header files to the corresponding Perl format" + cd /usr/include + h2ph -Q * + h2ph -Q -r sys/* arpa/* netinet/* bits/* security/* asm/* gnu/* linux/* + fi + +# This has been moved into a function because rumor has it that a future release +# of portage will allow us to check what version was just removed - which means +# we will be able to invoke this only as needed :) + # Tried doing this via -z, but $INC is too big... + if [[ "${INC}x" != "x" ]]; then + cleaner_msg + epause 5 + fi +} + +pkg_postrm(){ + ${IS_PERL} && dual_scripts +} + +cleaner_msg() { + eerror "You have had multiple versions of perl. It is recommended" + eerror "that you run perl-cleaner now. perl-cleaner will" + eerror "assist with this transition. This script is capable" + eerror "of cleaning out old .ph files, rebuilding modules for " + eerror "your new version of perl, as well as re-emerging" + eerror "applications that compiled against your old libperl$(get_libname)" + eerror + eerror "PLEASE DO NOT INTERRUPT THE RUNNING OF THIS SCRIPT." + eerror "Part of the rebuilding of applications compiled against " + eerror "your old libperl involves temporarily unmerging" + eerror "them - interruptions could leave you with unmerged" + eerror "packages before they can be remerged." + eerror "" + eerror "If you have run perl-cleaner and a package still gives" + eerror "you trouble, and re-emerging it fails to correct" + eerror "the problem, please check http://bugs.gentoo.org/" + eerror "for more information or to report a bug." + eerror "" +} + +src_remove_dual_scripts() { + local i pkg ver ff + pkg="$1" + ver="$2" + shift 2 + if has "${EBUILD_PHASE:-none}" "postinst" "postrm" ;then + for i in "$@" ; do + ff=`echo ${ROOT}/usr/share/man/man1/${i}-${ver}-${P}.1*` + ff=${ff##*.1} + alternatives_auto_makesym "/usr/bin/${i}" "/usr/bin/${i}-[0-9]*" + alternatives_auto_makesym "/usr/share/man/man1/${i}.1${ff}" "/usr/share/man/man1/${i}-[0-9]*" + done + elif has "${EBUILD_PHASE:-none}" "setup" ; then + for i in "$@" ; do + if [[ -f ${ROOT}/usr/bin/${i} && ! -h ${ROOT}/usr/bin/${i} ]] ; then + has_version ${pkg} && ewarn "You must reinstall $pkg !" + break + fi + done + else + for i in "$@" ; do + mv "${D}"/usr/bin/${i}{,-${ver}-${P}} || die + mv "${D}"/usr/share/man/man1/${i}{.1,-${ver}-${P}.1} || \ + echo "/usr/share/man/man1/${i}.1 does not exist!" + done + fi +} + +src_remove_extra_files() { + local prefix="./usr" # ./ is important + local bindir="${prefix}/bin" + local libdir="${prefix}/$(get_libdir)" + local perlroot="${libdir}/perl5" # perl installs per-arch dirs + local prV="${perlroot}/${MY_PV}" + local prVA="${prV}/${myarch}${mythreading}" + + # I made this list from the Mandr*, Debian and ex-Connectiva perl-base list + # Then, I added several files to get GNU autotools running + # FIXME: should this be in a separated file to be sourced? + local MINIMAL_PERL_INSTALL=" + ${bindir}/h2ph + ${bindir}/perl + ${bindir}/perl${MY_PV} + ${bindir}/pod2man + ${libdir}/${LIBPERL} + ${libdir}/libperl$(get_libname) + ${libdir}/libperl$(get_libname ${SHORT_PV}) + ${prV}/attributes.pm + ${prV}/AutoLoader.pm + ${prV}/autouse.pm + ${prV}/base.pm + ${prV}/bigint.pm + ${prV}/bignum.pm + ${prV}/bigrat.pm + ${prV}/blib.pm + ${prV}/bytes_heavy.pl + ${prV}/bytes.pm + ${prV}/Carp/Heavy.pm + ${prV}/Carp.pm + ${prV}/charnames.pm + ${prV}/Class/Struct.pm + ${prV}/constant.pm + ${prV}/diagnostics.pm + ${prV}/DirHandle.pm + ${prV}/Exporter/Heavy.pm + ${prV}/Exporter.pm + ${prV}/ExtUtils/Command.pm + ${prV}/ExtUtils/Constant.pm + ${prV}/ExtUtils/Embed.pm + ${prV}/ExtUtils/Installed.pm + ${prV}/ExtUtils/Install.pm + ${prV}/ExtUtils/Liblist.pm + ${prV}/ExtUtils/MakeMaker.pm + ${prV}/ExtUtils/Manifest.pm + ${prV}/ExtUtils/Mkbootstrap.pm + ${prV}/ExtUtils/Mksymlists.pm + ${prV}/ExtUtils/MM_Any.pm + ${prV}/ExtUtils/MM_MacOS.pm + ${prV}/ExtUtils/MM.pm + ${prV}/ExtUtils/MM_Unix.pm + ${prV}/ExtUtils/MY.pm + ${prV}/ExtUtils/Packlist.pm + ${prV}/ExtUtils/testlib.pm + ${prV}/ExtUtils/Miniperl.pm + ${prV}/ExtUtils/Command/MM.pm + ${prV}/ExtUtils/Constant/Base.pm + ${prV}/ExtUtils/Constant/Utils.pm + ${prV}/ExtUtils/Constant/XS.pm + ${prV}/ExtUtils/Liblist/Kid.pm + ${prV}/ExtUtils/MakeMaker/bytes.pm + ${prV}/ExtUtils/MakeMaker/vmsish.pm + ${prV}/fields.pm + ${prV}/File/Basename.pm + ${prV}/File/Compare.pm + ${prV}/File/Copy.pm + ${prV}/File/Find.pm + ${prV}/FileHandle.pm + ${prV}/File/Path.pm + ${prV}/File/Spec.pm + ${prV}/File/Spec/Unix.pm + ${prV}/File/stat.pm + ${prV}/filetest.pm + ${prVA}/attrs.pm + ${prVA}/auto/attrs + ${prVA}/auto/Cwd/Cwd$(get_libname) + ${prVA}/auto/Data/Dumper/Dumper$(get_libname) + ${prVA}/auto/DynaLoader/dl_findfile.al + ${prVA}/auto/Fcntl/Fcntl$(get_libname) + ${prVA}/auto/File/Glob/Glob$(get_libname) + ${prVA}/auto/IO/IO$(get_libname) + ${prVA}/auto/POSIX/autosplit.ix + ${prVA}/auto/POSIX/fstat.al + ${prVA}/auto/POSIX/load_imports.al + ${prVA}/auto/POSIX/POSIX.bs + ${prVA}/auto/POSIX/POSIX$(get_libname) + ${prVA}/auto/POSIX/stat.al + ${prVA}/auto/POSIX/tmpfile.al + ${prVA}/auto/re/re$(get_libname) + ${prVA}/auto/Socket/Socket$(get_libname) + ${prVA}/auto/Storable/autosplit.ix + ${prVA}/auto/Storable/_retrieve.al + ${prVA}/auto/Storable/retrieve.al + ${prVA}/auto/Storable/Storable$(get_libname) + ${prVA}/auto/Storable/_store.al + ${prVA}/auto/Storable/store.al + ${prVA}/B/Deparse.pm + ${prVA}/B.pm + ${prVA}/Config.pm + ${prVA}/Config_heavy.pl + ${prVA}/CORE/libperl$(get_libname) + ${prVA}/Cwd.pm + ${prVA}/Data/Dumper.pm + ${prVA}/DynaLoader.pm + ${prVA}/encoding.pm + ${prVA}/Errno.pm + ${prVA}/Fcntl.pm + ${prVA}/File/Glob.pm + ${prVA}/_h2ph_pre.ph + ${prVA}/IO/File.pm + ${prVA}/IO/Handle.pm + ${prVA}/IO/Pipe.pm + ${prVA}/IO.pm + ${prVA}/IO/Seekable.pm + ${prVA}/IO/Select.pm + ${prVA}/IO/Socket.pm + ${prVA}/lib.pm + ${prVA}/NDBM_File.pm + ${prVA}/ops.pm + ${prVA}/POSIX.pm + ${prVA}/re.pm + ${prVA}/Socket.pm + ${prVA}/Storable.pm + ${prVA}/threads + ${prVA}/threads.pm + ${prVA}/XSLoader.pm + ${prV}/Getopt/Long.pm + ${prV}/Getopt/Std.pm + ${prV}/if.pm + ${prV}/integer.pm + ${prV}/IO/Socket/INET.pm + ${prV}/IO/Socket/UNIX.pm + ${prV}/IPC/Open2.pm + ${prV}/IPC/Open3.pm + ${prV}/less.pm + ${prV}/List/Util.pm + ${prV}/locale.pm + ${prV}/open.pm + ${prV}/overload.pm + ${prV}/Pod/InputObjects.pm + ${prV}/Pod/Man.pm + ${prV}/Pod/ParseLink.pm + ${prV}/Pod/Parser.pm + ${prV}/Pod/Select.pm + ${prV}/Pod/Text.pm + ${prV}/Pod/Usage.pm + ${prV}/PerlIO.pm + ${prV}/Scalar/Util.pm + ${prV}/SelectSaver.pm + ${prV}/sigtrap.pm + ${prV}/sort.pm + ${prV}/stat.pl + ${prV}/strict.pm + ${prV}/subs.pm + ${prV}/Symbol.pm + ${prV}/Text/ParseWords.pm + ${prV}/Text/Tabs.pm + ${prV}/Text/Wrap.pm + ${prV}/Time/Local.pm + ${prV}/unicore/Canonical.pl + ${prV}/unicore/Exact.pl + ${prV}/unicore/lib/gc_sc/Digit.pl + ${prV}/unicore/lib/gc_sc/Word.pl + ${prV}/unicore/PVA.pl + ${prV}/unicore/To/Fold.pl + ${prV}/unicore/To/Lower.pl + ${prV}/unicore/To/Upper.pl + ${prV}/utf8_heavy.pl + ${prV}/utf8.pm + ${prV}/vars.pm + ${prV}/vmsish.pm + ${prV}/warnings + ${prV}/warnings.pm + ${prV}/warnings/register.pm" + + pushd "${D}" > /dev/null + # Remove cruft + einfo "Removing files that are not in the minimal install" + echo "${MINIMAL_PERL_INSTALL}" + for f in $(find . -type f ) ; do + has "${f}" ${MINIMAL_PERL_INSTALL} || rm -f "${f}" + done + # Remove empty directories + find . -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + popd > /dev/null +} diff --git a/dev-lang/perl/perl-5.12.3-r1.ebuild b/dev-lang/perl/perl-5.12.3-r1.ebuild new file mode 100644 index 0000000..5856f99 --- /dev/null +++ b/dev-lang/perl/perl-5.12.3-r1.ebuild @@ -0,0 +1,638 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.12.3-r1.ebuild,v 1.8 2012/01/02 22:52:21 zmedico Exp $ + +EAPI=3 + +inherit eutils alternatives flag-o-matic toolchain-funcs multilib + +PATCH_VER=4 + +PERL_OLDVERSEN="5.12.2 5.12.1 5.12.0" + +SHORT_PV="${PV%.*}" +MY_P="perl-${PV/_rc/-RC}" +MY_PV="${PV%_rc*}" + +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" + +SRC_URI=" + mirror://cpan/src/${MY_P}.tar.bz2 + mirror://cpan/authors/id/R/RJ/RJBS/${MY_P}.tar.bz2 + mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 + http://dev.gentoo.org/~tove/distfiles/${CATEGORY}/${PN}/${MY_P}-${PATCH_VER}.tar.bz2" +# mirror://cpan/src/${MY_P}.tar.bz2 +# mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 +HOMEPAGE="http://www.perl.org/" + +LICENSE="|| ( Artistic GPL-1 GPL-2 GPL-3 )" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd" +IUSE="berkdb build debug doc gdbm ithreads" + +COMMON_DEPEND="berkdb? ( sys-libs/db ) + gdbm? ( >=sys-libs/gdbm-1.8.3 ) + >=sys-devel/libperl-5.10.1 + !!<sys-devel/libperl-5.10.1 + app-arch/bzip2 + sys-libs/zlib" +DEPEND="${COMMON_DEPEND} + elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs )" +RDEPEND="${COMMON_DEPEND}" +PDEPEND=">=app-admin/perl-cleaner-2.5" + +S="${WORKDIR}/${MY_P}" + +dual_scripts() { + src_remove_dual_scripts perl-core/Archive-Tar 1.54 ptar ptardiff + src_remove_dual_scripts perl-core/Digest-SHA 5.47 shasum + src_remove_dual_scripts perl-core/CPAN 1.9456 cpan + src_remove_dual_scripts perl-core/CPANPLUS 0.90 cpanp cpan2dist cpanp-run-perl + src_remove_dual_scripts perl-core/Encode 2.39 enc2xs piconv + src_remove_dual_scripts perl-core/ExtUtils-MakeMaker 6.56 instmodsh + src_remove_dual_scripts perl-core/Module-Build 0.3603 config_data + src_remove_dual_scripts perl-core/Module-CoreList 2.43 corelist + src_remove_dual_scripts perl-core/PodParser 1.37 pod2usage podchecker podselect + src_remove_dual_scripts perl-core/Test-Harness 3.17 prove + src_remove_dual_scripts perl-core/podlators 2.3.1 pod2man pod2text +} + +pkg_setup() { + case ${CHOST} in + *-freebsd*) osname="freebsd" ;; + *-dragonfly*) osname="dragonfly" ;; + *-netbsd*) osname="netbsd" ;; + *-openbsd*) osname="openbsd" ;; + *-darwin*) osname="darwin" ;; + *) osname="linux" ;; + esac + + if use ithreads ; then + mythreading="-multi" + myarch="${CHOST%%-*}-${osname}-thread" + else + myarch="${CHOST%%-*}-${osname}" + fi + if use debug ; then + myarch="${myarch}-debug" + fi + + LIBPERL="libperl$(get_libname ${MY_PV} )" + PRIV_LIB="/usr/$(get_libdir)/perl5/${MY_PV}" + ARCH_LIB="/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" + SITE_LIB="/usr/$(get_libdir)/perl5/site_perl/${MY_PV}" + SITE_ARCH="/usr/$(get_libdir)/perl5/site_perl/${MY_PV}/${myarch}${mythreading}" + VENDOR_LIB="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}" + VENDOR_ARCH="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}/${myarch}${mythreading}" + + if use ithreads ; then + echo "" + ewarn "THREADS WARNING:" + ewarn "PLEASE NOTE: You are compiling ${MY_P} with" + ewarn "interpreter-level threading enabled." + ewarn "Threading is not supported by all applications " + ewarn "that compile against perl. You use threading at " + ewarn "your own discretion. " + fi + if has_version "<dev-lang/perl-${SHORT_PV}" ; then + echo "" + ewarn "UPDATE THE PERL MODULES:" + ewarn "After updating dev-lang/perl you must reinstall" + ewarn "the installed perl modules." + ewarn "Use: perl-cleaner --all" + elif has_version dev-lang/perl ; then + # doesnot work + #if ! has_version dev-lang/perl[ithreads=,debug=] ; then + #if ! has_version dev-lang/perl[ithreads=] || ! has_version dev-lang/perl[debug=] ; then + if ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \ + ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \ + ( use debug && ! has_version dev-lang/perl[debug] ) || \ + ( ! use debug && has_version dev-lang/perl[debug] ) ; then + echo "" + ewarn "TOGGLED USE-FLAGS WARNING:" + ewarn "You changed one of the use-flags ithreads or debug." + ewarn "You must rebuild all perl-modules installed." + ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" + fi + fi + dual_scripts +} + +src_prepare_update_patchlevel_h() { + [[ -f ${WORKDIR}/perl-patch/series ]] || return 0 + + while read patch level ; do + sed -i -e "s/^\t,NULL$/ ,\"${patch//__/_}\"\n&/" "${S}"/patchlevel.h || die + done < "${WORKDIR}"/perl-patch/series +} + +src_prepare() { + EPATCH_SOURCE="${WORKDIR}/perl-patch" \ + EPATCH_SUFFIX="diff" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch + + src_prepare_update_patchlevel_h + + # pod/perltoc.pod fails + # lib/ExtUtils/t/Embed.t fails + ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) + ln -s ${LIBPERL} libperl$(get_libname ) +} + +myconf() { + # the myconf array is declared in src_configure + myconf=( "${myconf[@]}" "$@" ) +} + +src_configure() { + declare -a myconf + + export LC_ALL="C" + [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091 + + # some arches and -O do not mix :) + use ppc && replace-flags -O? -O1 + # Perl has problems compiling with -Os in your flags with glibc + use elibc_uclibc || replace-flags "-Os" "-O2" + # This flag makes compiling crash in interesting ways + filter-flags "-malign-double" + # Fixes bug #97645 + use ppc && filter-flags "-mpowerpc-gpopt" + # Fixes bug #143895 on gcc-4.1.1 + filter-flags "-fsched2-use-superblocks" + + # this is needed because gcc 3.3-compiled kernels will hang + # the machine trying to run this test - check with `Kumba + # <rac@gentoo.org> 2003.06.26 + use mips && myconf -Dd_u32align + + use sparc && myconf -Ud_longdbl + + # 266337 + export BUILD_BZIP2=0 + export BZIP2_INCLUDE=/usr/include + export BZIP2_LIB=/usr/$(get_libdir) + cat <<-EOF > "${S}/cpan/Compress-Raw-Zlib/config.in" + BUILD_ZLIB = False + INCLUDE = /usr/include + LIB = /usr/$(get_libdir) + + OLD_ZLIB = False + GZIP_OS_CODE = AUTO_DETECT + EOF + + # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1 + + myndbm='U' + mygdbm='U' + mydb='U' + + if use gdbm ; then + mygdbm='D' + myndbm='D' + fi + if use berkdb ; then + mydb='D' + has_version '=sys-libs/db-1*' && myndbm='D' + fi + + myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db" + + if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then + ewarn "Perl will not be built with berkdb support, use gcc if you needed it..." + myconf -Ui_db -Ui_ndbm + fi + + use ithreads && myconf -Dusethreads + + if use debug ; then + append-cflags "-g" + myconf -DDEBUGGING + elif [[ ${CFLAGS} == *-g* ]] ; then + myconf -DDEBUGGING=-g + else + myconf -DDEBUGGING=none + fi + + if [[ -n ${PERL_OLDVERSEN} ]] ; then + local inclist=$(for v in ${PERL_OLDVERSEN}; do echo -n "${v}/${myarch}${mythreading} ${v} "; done ) + myconf -Dinc_version_list="$inclist" + fi + + [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a" + + if [[ $(get_libdir) != "lib" ]] ; then + # We need to use " and not ', as the written config.sh use ' ... + myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)" + fi + + sh Configure \ + -des \ + -Duseshrplib \ + -Darchname="${myarch}" \ + -Dcc="$(tc-getCC)" \ + -Doptimize="${CFLAGS}" \ + -Dldflags="${LDFLAGS}" \ + -Dprefix='/usr' \ + -Dsiteprefix='/usr' \ + -Dvendorprefix='/usr' \ + -Dscriptdir='/usr/bin' \ + -Dprivlib="${PRIV_LIB}" \ + -Darchlib="${ARCH_LIB}" \ + -Dsitelib="${SITE_LIB}" \ + -Dsitearch="${SITE_ARCH}" \ + -Dvendorlib="${VENDOR_LIB}" \ + -Dvendorarch="${VENDOR_ARCH}" \ + -Dman1dir=/usr/share/man/man1 \ + -Dman3dir=/usr/share/man/man3 \ + -Dsiteman1dir=/usr/share/man/man1 \ + -Dsiteman3dir=/usr/share/man/man3 \ + -Dvendorman1dir=/usr/share/man/man1 \ + -Dvendorman3dir=/usr/share/man/man3 \ + -Dman1ext='1' \ + -Dman3ext='3pm' \ + -Dlibperl="${LIBPERL}" \ + -Dlocincpth=' ' \ + -Duselargefiles \ + -Dd_semctl_semun \ + -Dcf_by='Gentoo' \ + -Dmyhostname='localhost' \ + -Dperladmin='root@localhost' \ + -Dinstallusrbinperl='n' \ + -Ud_csh \ + -Uusenm \ + "${myconf[@]}" || die "Unable to configure" +} + +src_compile() { + # bug 331113 + emake -j1 || die "emake failed" +} + +src_test() { + if [[ ${EUID} == 0 ]] ; then + ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..." + return 0 + fi + use elibc_uclibc && export MAKEOPTS+=" -j1" + TEST_JOBS=$(echo -j1 ${MAKEOPTS} | sed -r 's/.*(-j[[:space:]]*|--jobs=)([[:digit:]]+).*/\2/' ) \ + make test_harness || die "test failed" +} + +src_install() { + local i + local coredir="${ARCH_LIB}/CORE" + +# # Fix for "stupid" modules and programs +# dodir ${SITE_ARCH} ${SITE_LIB} +# keepdir "${VENDOR_ARCH}" #338802 for enc2xs + + local installtarget=install + if use build ; then + installtarget=install.perl + fi + make DESTDIR="${D}" ${installtarget} || die "Unable to make ${installtarget}" + + rm -f "${D}"/usr/bin/perl + ln -s perl${MY_PV} "${D}"/usr/bin/perl + + dolib.so "${D}"/${coredir}/${LIBPERL} || die + dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die + dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname) || die + rm -f "${D}"/${coredir}/${LIBPERL} + dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/${LIBPERL} + dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname ${SHORT_PV}) + dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname) + + rm -rf "${D}"/usr/share/man/man3 || die "Unable to remove module man pages" + +# # A poor fix for the miniperl issues +# dosed 's:./miniperl:/usr/bin/perl:' /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp +# fperms 0444 /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp +# dosed 's:./miniperl:/usr/bin/perl:' /usr/bin/xsubpp +# fperms 0755 /usr/bin/xsubpp + + # This removes ${D} from Config.pm + for i in $(find "${D}" -iname "Config.pm" ) ; do + einfo "Removing ${D} from ${i}..." + sed -i -e "s:${D}::" "${i}" || die "Sed failed" + done + + find "${D}" -type f -name .packlist -delete || die + + # Note: find out from psm why we would need/want this. + # ( use berkdb && has_version '=sys-libs/db-1*' ) || + # find "${D}" -name "*NDBM*" | xargs rm -f + + dodoc Changes* README AUTHORS || die + + if use doc ; then + # HTML Documentation + # We expect errors, warnings, and such with the following. + + dodir /usr/share/doc/${PF}/html + LD_LIBRARY_PATH=. ./perl installhtml \ + --podroot='.' \ + --podpath='lib:ext:pod:vms' \ + --recurse \ + --htmldir="${D}/usr/share/doc/${PF}/html" \ + --libpods='perlfunc:perlguts:perlvar:perlrun:perlop' + fi + + if use build ; then + src_remove_extra_files + fi + + dual_scripts +} + +pkg_postinst() { + dual_scripts + + if [[ "${ROOT}" = "/" ]] ; then + local INC DIR file + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${MY_PV}'|etc|local|perl$/; print "$line\n" }') + einfo "Removing old .ph files" + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + for file in $(find "${DIR}" -name "*.ph" -type f ) ; do + rm -f "${file}" + einfo "<< ${file}" + done + fi + done + # Silently remove the now empty dirs + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + fi + done + if ! use build ; then + ebegin "Generating ConfigLocal.pm (ignore any error)" + enc2xs -C + fi + + einfo "Converting C header files to the corresponding Perl format (ignore any error)" + pushd /usr/include >/dev/null + h2ph -Q -a -d ${ARCH_LIB} \ + asm/termios.h syscall.h syslimits.h syslog.h sys/ioctl.h \ + sys/socket.h sys/time.h wait.h sysexits.h + popd >/dev/null + +# This has been moved into a function because rumor has it that a future release +# of portage will allow us to check what version was just removed - which means +# we will be able to invoke this only as needed :) + # Tried doing this via -z, but $INC is too big... + #if [[ "${INC}x" != "x" ]]; then + # cleaner_msg + #fi + fi +} + +pkg_postrm(){ + dual_scripts + +# if [[ -e ${ARCH_LIB}/Encode/ConfigLocal.pm ]] ; then +# ebegin "Removing ConfigLocal.pm" +# rm "${ARCH_LIB}/Encode/ConfigLocal.pm" +# fi +} + +cleaner_msg() { + eerror "You have had multiple versions of perl. It is recommended" + eerror "that you run perl-cleaner now. perl-cleaner will" + eerror "assist with this transition. This script is capable" + eerror "of cleaning out old .ph files, rebuilding modules for " + eerror "your new version of perl, as well as re-emerging" + eerror "applications that compiled against your old libperl$(get_libname)" + eerror + eerror "PLEASE DO NOT INTERRUPT THE RUNNING OF THIS SCRIPT." + eerror "Part of the rebuilding of applications compiled against " + eerror "your old libperl involves temporarily unmerging" + eerror "them - interruptions could leave you with unmerged" + eerror "packages before they can be remerged." + eerror "" + eerror "If you have run perl-cleaner and a package still gives" + eerror "you trouble, and re-emerging it fails to correct" + eerror "the problem, please check http://bugs.gentoo.org/" + eerror "for more information or to report a bug." + eerror "" +} + +src_remove_dual_scripts() { + + local i pkg ver ff + pkg="$1" + ver="$2" + shift 2 + if has "${EBUILD_PHASE:-none}" "postinst" "postrm" ;then + for i in "$@" ; do + alternatives_auto_makesym "/usr/bin/${i}" "/usr/bin/${i}-[0-9]*" + if [[ ${i} != cpanp-run-perl ]] ; then + ff=`echo ${ROOT}/usr/share/man/man1/${i}-${ver}-${P}.1*` + ff=${ff##*.1} + alternatives_auto_makesym "/usr/share/man/man1/${i}.1${ff}" "/usr/share/man/man1/${i}-[0-9]*" + fi + done + elif has "${EBUILD_PHASE:-none}" "setup" ; then + for i in "$@" ; do + if [[ -f ${ROOT}/usr/bin/${i} && ! -h ${ROOT}/usr/bin/${i} ]] ; then + has_version ${pkg} && ewarn "You must reinstall $pkg !" + break + fi + done + else + for i in "$@" ; do + if ! [[ -f "${D}"/usr/bin/${i} ]] ; then + use build || ewarn "/usr/bin/${i} does not exist!" + continue + fi + mv "${D}"/usr/bin/${i}{,-${ver}-${P}} || die + if [[ -f ${D}/usr/share/man/man1/${i}.1 ]] ; then + mv "${D}"/usr/share/man/man1/${i}{.1,-${ver}-${P}.1} || die + else + echo "/usr/share/man/man1/${i}.1 does not exist!" + fi + done + fi +} + +src_remove_extra_files() { + local prefix="./usr" # ./ is important + local bindir="${prefix}/bin" + local libdir="${prefix}/$(get_libdir)" + + # I made this list from the Mandr*, Debian and ex-Connectiva perl-base list + # Then, I added several files to get GNU autotools running + # FIXME: should this be in a separated file to be sourced? + local MINIMAL_PERL_INSTALL=" + ${bindir}/h2ph + ${bindir}/perl + ${bindir}/perl${MY_PV} + ${bindir}/pod2man + ${libdir}/${LIBPERL} + ${libdir}/libperl$(get_libname) + ${libdir}/libperl$(get_libname ${SHORT_PV}) + .${PRIV_LIB}/AutoLoader.pm + .${PRIV_LIB}/B/Deparse.pm + .${PRIV_LIB}/Carp.pm + .${PRIV_LIB}/Carp/Heavy.pm + .${PRIV_LIB}/Class/Struct.pm + .${PRIV_LIB}/DirHandle.pm + .${PRIV_LIB}/Exporter.pm + .${PRIV_LIB}/Exporter/Heavy.pm + .${PRIV_LIB}/ExtUtils/Command.pm + .${PRIV_LIB}/ExtUtils/Command/MM.pm + .${PRIV_LIB}/ExtUtils/Constant.pm + .${PRIV_LIB}/ExtUtils/Constant/Base.pm + .${PRIV_LIB}/ExtUtils/Constant/Utils.pm + .${PRIV_LIB}/ExtUtils/Constant/XS.pm + .${PRIV_LIB}/ExtUtils/Embed.pm + .${PRIV_LIB}/ExtUtils/Install.pm + .${PRIV_LIB}/ExtUtils/Installed.pm + .${PRIV_LIB}/ExtUtils/Liblist.pm + .${PRIV_LIB}/ExtUtils/Liblist/Kid.pm + .${PRIV_LIB}/ExtUtils/MM.pm + .${PRIV_LIB}/ExtUtils/MM_Any.pm + .${PRIV_LIB}/ExtUtils/MM_MacOS.pm + .${PRIV_LIB}/ExtUtils/MM_Unix.pm + .${PRIV_LIB}/ExtUtils/MY.pm + .${PRIV_LIB}/ExtUtils/MakeMaker.pm + .${PRIV_LIB}/ExtUtils/Manifest.pm + .${PRIV_LIB}/ExtUtils/Miniperl.pm + .${PRIV_LIB}/ExtUtils/Mkbootstrap.pm + .${PRIV_LIB}/ExtUtils/Mksymlists.pm + .${PRIV_LIB}/ExtUtils/Packlist.pm + .${PRIV_LIB}/ExtUtils/testlib.pm + .${PRIV_LIB}/File/Basename.pm + .${PRIV_LIB}/File/Compare.pm + .${PRIV_LIB}/File/Copy.pm + .${PRIV_LIB}/File/Find.pm + .${PRIV_LIB}/File/Path.pm + .${PRIV_LIB}/File/stat.pm + .${PRIV_LIB}/FileHandle.pm + .${PRIV_LIB}/Getopt/Long.pm + .${PRIV_LIB}/Getopt/Std.pm + .${PRIV_LIB}/IPC/Open2.pm + .${PRIV_LIB}/IPC/Open3.pm + .${PRIV_LIB}/PerlIO.pm + .${PRIV_LIB}/Pod/InputObjects.pm + .${PRIV_LIB}/Pod/Man.pm + .${PRIV_LIB}/Pod/ParseLink.pm + .${PRIV_LIB}/Pod/Parser.pm + .${PRIV_LIB}/Pod/Select.pm + .${PRIV_LIB}/Pod/Text.pm + .${PRIV_LIB}/Pod/Usage.pm + .${PRIV_LIB}/SelectSaver.pm + .${PRIV_LIB}/Symbol.pm + .${PRIV_LIB}/Text/ParseWords.pm + .${PRIV_LIB}/Text/Tabs.pm + .${PRIV_LIB}/Text/Wrap.pm + .${PRIV_LIB}/Tie/Hash.pm + .${PRIV_LIB}/Time/Local.pm + .${PRIV_LIB}/XSLoader.pm + .${PRIV_LIB}/autouse.pm + .${PRIV_LIB}/base.pm + .${PRIV_LIB}/bigint.pm + .${PRIV_LIB}/bignum.pm + .${PRIV_LIB}/bigrat.pm + .${PRIV_LIB}/blib.pm + .${PRIV_LIB}/bytes.pm + .${PRIV_LIB}/bytes_heavy.pl + .${PRIV_LIB}/charnames.pm + .${PRIV_LIB}/constant.pm + .${PRIV_LIB}/diagnostics.pm + .${PRIV_LIB}/fields.pm + .${PRIV_LIB}/filetest.pm + .${PRIV_LIB}/if.pm + .${PRIV_LIB}/integer.pm + .${PRIV_LIB}/less.pm + .${PRIV_LIB}/locale.pm + .${PRIV_LIB}/open.pm + .${PRIV_LIB}/overload.pm + .${PRIV_LIB}/sigtrap.pm + .${PRIV_LIB}/sort.pm + .${PRIV_LIB}/stat.pl + .${PRIV_LIB}/strict.pm + .${PRIV_LIB}/subs.pm + .${PRIV_LIB}/unicore/To/Fold.pl + .${PRIV_LIB}/unicore/To/Lower.pl + .${PRIV_LIB}/unicore/To/Upper.pl + .${PRIV_LIB}/utf8.pm + .${PRIV_LIB}/utf8_heavy.pl + .${PRIV_LIB}/vars.pm + .${PRIV_LIB}/vmsish.pm + .${PRIV_LIB}/warnings + .${PRIV_LIB}/warnings.pm + .${PRIV_LIB}/warnings/register.pm + .${ARCH_LIB}/B.pm + .${ARCH_LIB}/CORE/libperl$(get_libname) + .${ARCH_LIB}/Config.pm + .${ARCH_LIB}/Config_heavy.pl + .${ARCH_LIB}/Cwd.pm + .${ARCH_LIB}/Data/Dumper.pm + .${ARCH_LIB}/DynaLoader.pm + .${ARCH_LIB}/Errno.pm + .${ARCH_LIB}/Fcntl.pm + .${ARCH_LIB}/File/Glob.pm + .${ARCH_LIB}/File/Spec.pm + .${ARCH_LIB}/File/Spec/Unix.pm + .${ARCH_LIB}/IO.pm + .${ARCH_LIB}/IO/File.pm + .${ARCH_LIB}/IO/Handle.pm + .${ARCH_LIB}/IO/Pipe.pm + .${ARCH_LIB}/IO/Seekable.pm + .${ARCH_LIB}/IO/Select.pm + .${ARCH_LIB}/IO/Socket.pm + .${ARCH_LIB}/IO/Socket/INET.pm + .${ARCH_LIB}/IO/Socket/UNIX.pm + .${ARCH_LIB}/List/Util.pm + .${ARCH_LIB}/NDBM_File.pm + .${ARCH_LIB}/POSIX.pm + .${ARCH_LIB}/Scalar/Util.pm + .${ARCH_LIB}/Socket.pm + .${ARCH_LIB}/Storable.pm + .${ARCH_LIB}/attributes.pm + .${ARCH_LIB}/auto/Cwd/Cwd$(get_libname) + .${ARCH_LIB}/auto/Data/Dumper/Dumper$(get_libname) + .${ARCH_LIB}/auto/DynaLoader/dl_findfile.al + .${ARCH_LIB}/auto/Fcntl/Fcntl$(get_libname) + .${ARCH_LIB}/auto/File/Glob/Glob$(get_libname) + .${ARCH_LIB}/auto/IO/IO$(get_libname) + .${ARCH_LIB}/auto/POSIX/POSIX$(get_libname) + .${ARCH_LIB}/auto/POSIX/autosplit.ix + .${ARCH_LIB}/auto/POSIX/fstat.al + .${ARCH_LIB}/auto/POSIX/load_imports.al + .${ARCH_LIB}/auto/POSIX/stat.al + .${ARCH_LIB}/auto/POSIX/tmpfile.al + .${ARCH_LIB}/auto/Socket/Socket$(get_libname) + .${ARCH_LIB}/auto/Storable/Storable$(get_libname) + .${ARCH_LIB}/auto/Storable/_retrieve.al + .${ARCH_LIB}/auto/Storable/_store.al + .${ARCH_LIB}/auto/Storable/autosplit.ix + .${ARCH_LIB}/auto/Storable/retrieve.al + .${ARCH_LIB}/auto/Storable/store.al + .${ARCH_LIB}/auto/re/re$(get_libname) + .${ARCH_LIB}/encoding.pm + .${ARCH_LIB}/lib.pm + .${ARCH_LIB}/ops.pm + .${ARCH_LIB}/re.pm + .${ARCH_LIB}/threads.pm +" + + pushd "${D}" > /dev/null + # Remove cruft + einfo "Removing files that are not in the minimal install" + echo "${MINIMAL_PERL_INSTALL}" + for f in $(find . -type f ) ; do + has "${f}" ${MINIMAL_PERL_INSTALL} || rm -f "${f}" + done + # Remove empty directories + find . -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + #for f in ${MINIMAL_PERL_INSTALL} ; do + # [[ -e $f ]] || ewarn "$f unused in MINIMAL_PERL_INSTALL" + #done + popd > /dev/null +} diff --git a/dev-lang/perl/perl-5.12.4-r1.ebuild b/dev-lang/perl/perl-5.12.4-r1.ebuild new file mode 100644 index 0000000..2d1245f --- /dev/null +++ b/dev-lang/perl/perl-5.12.4-r1.ebuild @@ -0,0 +1,634 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.12.4-r1.ebuild,v 1.8 2012/01/02 22:52:21 zmedico Exp $ + +EAPI=4 + +inherit eutils alternatives flag-o-matic toolchain-funcs multilib + +PATCH_VER=1 + +PERL_OLDVERSEN="5.12.3 5.12.2 5.12.1 5.12.0" + +SHORT_PV="${PV%.*}" +MY_P="perl-${PV/_rc/-RC}" +MY_PV="${PV%_rc*}" + +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" + +SRC_URI=" + mirror://cpan/src/${MY_P}.tar.bz2 + mirror://cpan/authors/id/L/LB/LBROCARD/${MY_P}.tar.bz2 + mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 + http://dev.gentoo.org/~tove/distfiles/${CATEGORY}/${PN}/${MY_P}-${PATCH_VER}.tar.bz2" +# mirror://cpan/src/${MY_P}.tar.bz2 +# mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 +HOMEPAGE="http://www.perl.org/" + +LICENSE="|| ( Artistic GPL-1 GPL-2 GPL-3 )" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd" +IUSE="berkdb build debug doc gdbm ithreads" + +COMMON_DEPEND="berkdb? ( sys-libs/db ) + gdbm? ( >=sys-libs/gdbm-1.8.3 ) + >=sys-devel/libperl-5.10.1 + !!<sys-devel/libperl-5.10.1 + app-arch/bzip2 + sys-libs/zlib" +DEPEND="${COMMON_DEPEND} + elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs )" +RDEPEND="${COMMON_DEPEND}" +PDEPEND=">=app-admin/perl-cleaner-2.5" + +S="${WORKDIR}/${MY_P}" + +dual_scripts() { + src_remove_dual_scripts perl-core/Archive-Tar 1.54 ptar ptardiff + src_remove_dual_scripts perl-core/Digest-SHA 5.47 shasum + src_remove_dual_scripts perl-core/CPAN 1.945.600 cpan + src_remove_dual_scripts perl-core/CPANPLUS 0.900.0 cpanp cpan2dist cpanp-run-perl + src_remove_dual_scripts perl-core/Encode 2.39 enc2xs piconv + src_remove_dual_scripts perl-core/ExtUtils-MakeMaker 6.56 instmodsh + src_remove_dual_scripts perl-core/ExtUtils-ParseXS 2.210.0 xsubpp + src_remove_dual_scripts perl-core/Module-Build 0.3603 config_data + src_remove_dual_scripts perl-core/Module-CoreList 2.500.0 corelist + src_remove_dual_scripts perl-core/PodParser 1.370.0 pod2usage podchecker podselect + src_remove_dual_scripts perl-core/Test-Harness 3.17 prove + src_remove_dual_scripts perl-core/podlators 2.3.1 pod2man pod2text +} + +pkg_setup() { + case ${CHOST} in + *-freebsd*) osname="freebsd" ;; + *-dragonfly*) osname="dragonfly" ;; + *-netbsd*) osname="netbsd" ;; + *-openbsd*) osname="openbsd" ;; + *-darwin*) osname="darwin" ;; + *) osname="linux" ;; + esac + + if use ithreads ; then + mythreading="-multi" + myarch="${CHOST%%-*}-${osname}-thread" + else + myarch="${CHOST%%-*}-${osname}" + fi + if use debug ; then + myarch="${myarch}-debug" + fi + + LIBPERL="libperl$(get_libname ${MY_PV} )" + PRIV_LIB="/usr/$(get_libdir)/perl5/${MY_PV}" + ARCH_LIB="/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" + SITE_LIB="/usr/$(get_libdir)/perl5/site_perl/${MY_PV}" + SITE_ARCH="/usr/$(get_libdir)/perl5/site_perl/${MY_PV}/${myarch}${mythreading}" + VENDOR_LIB="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}" + VENDOR_ARCH="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}/${myarch}${mythreading}" + + if use ithreads ; then + echo "" + ewarn "THREADS WARNING:" + ewarn "PLEASE NOTE: You are compiling ${MY_P} with" + ewarn "interpreter-level threading enabled." + ewarn "Threading is not supported by all applications " + ewarn "that compile against perl. You use threading at " + ewarn "your own discretion. " + fi + if has_version "<dev-lang/perl-${SHORT_PV}" ; then + echo "" + ewarn "UPDATE THE PERL MODULES:" + ewarn "After updating dev-lang/perl you must reinstall" + ewarn "the installed perl modules." + ewarn "Use: perl-cleaner --all" + elif has_version dev-lang/perl ; then + # doesnot work + #if ! has_version dev-lang/perl[ithreads=,debug=] ; then + #if ! has_version dev-lang/perl[ithreads=] || ! has_version dev-lang/perl[debug=] ; then + if ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \ + ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \ + ( use debug && ! has_version dev-lang/perl[debug] ) || \ + ( ! use debug && has_version dev-lang/perl[debug] ) ; then + echo "" + ewarn "TOGGLED USE-FLAGS WARNING:" + ewarn "You changed one of the use-flags ithreads or debug." + ewarn "You must rebuild all perl-modules installed." + ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" + fi + fi + dual_scripts +} + +src_prepare_update_patchlevel_h() { + [[ -f ${WORKDIR}/perl-patch/series ]] || return 0 + + while read patch level ; do + sed -i -e "s/^\t,NULL$/ ,\"${patch//__/_}\"\n&/" "${S}"/patchlevel.h || die + done < "${WORKDIR}"/perl-patch/series +} + +src_prepare() { + EPATCH_SOURCE="${WORKDIR}/perl-patch" \ + EPATCH_SUFFIX="diff" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch + + src_prepare_update_patchlevel_h + + # pod/perltoc.pod fails + # lib/ExtUtils/t/Embed.t fails + ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) + ln -s ${LIBPERL} libperl$(get_libname ) +} + +myconf() { + # the myconf array is declared in src_configure + myconf=( "${myconf[@]}" "$@" ) +} + +src_configure() { + declare -a myconf + + export LC_ALL="C" + [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091 + + # some arches and -O do not mix :) + use ppc && replace-flags -O? -O1 + # Perl has problems compiling with -Os in your flags with glibc + use elibc_uclibc || replace-flags "-Os" "-O2" + # This flag makes compiling crash in interesting ways + filter-flags "-malign-double" + # Fixes bug #97645 + use ppc && filter-flags "-mpowerpc-gpopt" + # Fixes bug #143895 on gcc-4.1.1 + filter-flags "-fsched2-use-superblocks" + + use sparc && myconf -Ud_longdbl + + # 266337 + export BUILD_BZIP2=0 + export BZIP2_INCLUDE=/usr/include + export BZIP2_LIB=/usr/$(get_libdir) + cat <<-EOF > "${S}/cpan/Compress-Raw-Zlib/config.in" + BUILD_ZLIB = False + INCLUDE = /usr/include + LIB = /usr/$(get_libdir) + + OLD_ZLIB = False + GZIP_OS_CODE = AUTO_DETECT + EOF + + # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1 + + myndbm='U' + mygdbm='U' + mydb='U' + + if use gdbm ; then + mygdbm='D' + myndbm='D' + fi + if use berkdb ; then + mydb='D' + has_version '=sys-libs/db-1*' && myndbm='D' + fi + + myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db" + + if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then + ewarn "Perl will not be built with berkdb support, use gcc if you needed it..." + myconf -Ui_db -Ui_ndbm + fi + + use ithreads && myconf -Dusethreads + + if use debug ; then + append-cflags "-g" + myconf -DDEBUGGING + elif [[ ${CFLAGS} == *-g* ]] ; then + myconf -DDEBUGGING=-g + else + myconf -DDEBUGGING=none + fi + + if [[ -n ${PERL_OLDVERSEN} ]] ; then + local inclist=$(for v in ${PERL_OLDVERSEN}; do echo -n "${v}/${myarch}${mythreading} ${v} "; done ) + myconf -Dinc_version_list="$inclist" + fi + + [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a" + + if [[ $(get_libdir) != "lib" ]] ; then + # We need to use " and not ', as the written config.sh use ' ... + myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)" + fi + + sh Configure \ + -des \ + -Duseshrplib \ + -Darchname="${myarch}" \ + -Dcc="$(tc-getCC)" \ + -Doptimize="${CFLAGS}" \ + -Dldflags="${LDFLAGS}" \ + -Dprefix='/usr' \ + -Dsiteprefix='/usr' \ + -Dvendorprefix='/usr' \ + -Dscriptdir='/usr/bin' \ + -Dprivlib="${PRIV_LIB}" \ + -Darchlib="${ARCH_LIB}" \ + -Dsitelib="${SITE_LIB}" \ + -Dsitearch="${SITE_ARCH}" \ + -Dvendorlib="${VENDOR_LIB}" \ + -Dvendorarch="${VENDOR_ARCH}" \ + -Dman1dir=/usr/share/man/man1 \ + -Dman3dir=/usr/share/man/man3 \ + -Dsiteman1dir=/usr/share/man/man1 \ + -Dsiteman3dir=/usr/share/man/man3 \ + -Dvendorman1dir=/usr/share/man/man1 \ + -Dvendorman3dir=/usr/share/man/man3 \ + -Dman1ext='1' \ + -Dman3ext='3pm' \ + -Dlibperl="${LIBPERL}" \ + -Dlocincpth=' ' \ + -Duselargefiles \ + -Dd_semctl_semun \ + -Dcf_by='Gentoo' \ + -Dmyhostname='localhost' \ + -Dperladmin='root@localhost' \ + -Dinstallusrbinperl='n' \ + -Ud_csh \ + -Uusenm \ + "${myconf[@]}" || die "Unable to configure" +} + +src_compile() { + # bug 331113 + emake -j1 || die "emake failed" +} + +src_test() { + if [[ ${EUID} == 0 ]] ; then + ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..." + return 0 + fi + use elibc_uclibc && export MAKEOPTS+=" -j1" + TEST_JOBS=$(echo -j1 ${MAKEOPTS} | sed -r 's/.*(-j[[:space:]]*|--jobs=)([[:digit:]]+).*/\2/' ) \ + make test_harness || die "test failed" +} + +src_install() { + local i + local coredir="${ARCH_LIB}/CORE" + +# # Fix for "stupid" modules and programs +# dodir ${SITE_ARCH} ${SITE_LIB} +# keepdir "${VENDOR_ARCH}" #338802 for enc2xs + + local installtarget=install + if use build ; then + installtarget=install.perl + fi + make DESTDIR="${D}" ${installtarget} || die "Unable to make ${installtarget}" + + rm -f "${D}"/usr/bin/perl + ln -s perl${MY_PV} "${D}"/usr/bin/perl + + dolib.so "${D}"/${coredir}/${LIBPERL} || die + dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die + dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname) || die + rm -f "${D}"/${coredir}/${LIBPERL} + dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/${LIBPERL} + dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname ${SHORT_PV}) + dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname) + + rm -rf "${D}"/usr/share/man/man3 || die "Unable to remove module man pages" + +# # A poor fix for the miniperl issues +# dosed 's:./miniperl:/usr/bin/perl:' /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp +# fperms 0444 /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp +# dosed 's:./miniperl:/usr/bin/perl:' /usr/bin/xsubpp +# fperms 0755 /usr/bin/xsubpp + + # This removes ${D} from Config.pm + for i in $(find "${D}" -iname "Config.pm" ) ; do + einfo "Removing ${D} from ${i}..." + sed -i -e "s:${D}::" "${i}" || die "Sed failed" + done + + find "${D}" -type f -name .packlist -delete || die + + # Note: find out from psm why we would need/want this. + # ( use berkdb && has_version '=sys-libs/db-1*' ) || + # find "${D}" -name "*NDBM*" | xargs rm -f + + dodoc Changes* README AUTHORS || die + + if use doc ; then + # HTML Documentation + # We expect errors, warnings, and such with the following. + + dodir /usr/share/doc/${PF}/html + LD_LIBRARY_PATH=. ./perl installhtml \ + --podroot='.' \ + --podpath='lib:ext:pod:vms' \ + --recurse \ + --htmldir="${D}/usr/share/doc/${PF}/html" \ + --libpods='perlfunc:perlguts:perlvar:perlrun:perlop' + fi + + if use build ; then + src_remove_extra_files + fi + + dual_scripts +} + +pkg_postinst() { + dual_scripts + + if [[ "${ROOT}" = "/" ]] ; then + local INC DIR file + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${MY_PV}'|etc|local|perl$/; print "$line\n" }') + einfo "Removing old .ph files" + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + for file in $(find "${DIR}" -name "*.ph" -type f ) ; do + rm -f "${file}" + einfo "<< ${file}" + done + fi + done + # Silently remove the now empty dirs + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + fi + done + if ! use build ; then + ebegin "Generating ConfigLocal.pm (ignore any error)" + enc2xs -C + fi + + einfo "Converting C header files to the corresponding Perl format (ignore any error)" + pushd /usr/include >/dev/null + h2ph -Q -a -d ${ARCH_LIB} \ + asm/termios.h syscall.h syslimits.h syslog.h sys/ioctl.h \ + sys/socket.h sys/time.h wait.h sysexits.h + popd >/dev/null + +# This has been moved into a function because rumor has it that a future release +# of portage will allow us to check what version was just removed - which means +# we will be able to invoke this only as needed :) + # Tried doing this via -z, but $INC is too big... + #if [[ "${INC}x" != "x" ]]; then + # cleaner_msg + #fi + fi +} + +pkg_postrm(){ + dual_scripts + +# if [[ -e ${ARCH_LIB}/Encode/ConfigLocal.pm ]] ; then +# ebegin "Removing ConfigLocal.pm" +# rm "${ARCH_LIB}/Encode/ConfigLocal.pm" +# fi +} + +cleaner_msg() { + eerror "You have had multiple versions of perl. It is recommended" + eerror "that you run perl-cleaner now. perl-cleaner will" + eerror "assist with this transition. This script is capable" + eerror "of cleaning out old .ph files, rebuilding modules for " + eerror "your new version of perl, as well as re-emerging" + eerror "applications that compiled against your old libperl$(get_libname)" + eerror + eerror "PLEASE DO NOT INTERRUPT THE RUNNING OF THIS SCRIPT." + eerror "Part of the rebuilding of applications compiled against " + eerror "your old libperl involves temporarily unmerging" + eerror "them - interruptions could leave you with unmerged" + eerror "packages before they can be remerged." + eerror "" + eerror "If you have run perl-cleaner and a package still gives" + eerror "you trouble, and re-emerging it fails to correct" + eerror "the problem, please check http://bugs.gentoo.org/" + eerror "for more information or to report a bug." + eerror "" +} + +src_remove_dual_scripts() { + + local i pkg ver ff + pkg="$1" + ver="$2" + shift 2 + if has "${EBUILD_PHASE:-none}" "postinst" "postrm" ;then + for i in "$@" ; do + alternatives_auto_makesym "/usr/bin/${i}" "/usr/bin/${i}-[0-9]*" + if [[ ${i} != cpanp-run-perl ]] ; then + ff=`echo ${ROOT}/usr/share/man/man1/${i}-${ver}-${P}.1*` + ff=${ff##*.1} + alternatives_auto_makesym "/usr/share/man/man1/${i}.1${ff}" "/usr/share/man/man1/${i}-[0-9]*" + fi + done + elif has "${EBUILD_PHASE:-none}" "setup" ; then + for i in "$@" ; do + if [[ -f ${ROOT}/usr/bin/${i} && ! -h ${ROOT}/usr/bin/${i} ]] ; then + has_version ${pkg} && ewarn "You must reinstall $pkg !" + break + fi + done + else + for i in "$@" ; do + if ! [[ -f "${D}"/usr/bin/${i} ]] ; then + use build || ewarn "/usr/bin/${i} does not exist!" + continue + fi + mv "${D}"/usr/bin/${i}{,-${ver}-${P}} || die + if [[ -f ${D}/usr/share/man/man1/${i}.1 ]] ; then + mv "${D}"/usr/share/man/man1/${i}{.1,-${ver}-${P}.1} || die + else + echo "/usr/share/man/man1/${i}.1 does not exist!" + fi + done + fi +} + +src_remove_extra_files() { + local prefix="./usr" # ./ is important + local bindir="${prefix}/bin" + local libdir="${prefix}/$(get_libdir)" + + # I made this list from the Mandr*, Debian and ex-Connectiva perl-base list + # Then, I added several files to get GNU autotools running + # FIXME: should this be in a separated file to be sourced? + local MINIMAL_PERL_INSTALL=" + ${bindir}/h2ph + ${bindir}/perl + ${bindir}/perl${MY_PV} + ${bindir}/pod2man + ${libdir}/${LIBPERL} + ${libdir}/libperl$(get_libname) + ${libdir}/libperl$(get_libname ${SHORT_PV}) + .${PRIV_LIB}/AutoLoader.pm + .${PRIV_LIB}/B/Deparse.pm + .${PRIV_LIB}/Carp.pm + .${PRIV_LIB}/Carp/Heavy.pm + .${PRIV_LIB}/Class/Struct.pm + .${PRIV_LIB}/DirHandle.pm + .${PRIV_LIB}/Exporter.pm + .${PRIV_LIB}/Exporter/Heavy.pm + .${PRIV_LIB}/ExtUtils/Command.pm + .${PRIV_LIB}/ExtUtils/Command/MM.pm + .${PRIV_LIB}/ExtUtils/Constant.pm + .${PRIV_LIB}/ExtUtils/Constant/Base.pm + .${PRIV_LIB}/ExtUtils/Constant/Utils.pm + .${PRIV_LIB}/ExtUtils/Constant/XS.pm + .${PRIV_LIB}/ExtUtils/Embed.pm + .${PRIV_LIB}/ExtUtils/Install.pm + .${PRIV_LIB}/ExtUtils/Installed.pm + .${PRIV_LIB}/ExtUtils/Liblist.pm + .${PRIV_LIB}/ExtUtils/Liblist/Kid.pm + .${PRIV_LIB}/ExtUtils/MM.pm + .${PRIV_LIB}/ExtUtils/MM_Any.pm + .${PRIV_LIB}/ExtUtils/MM_MacOS.pm + .${PRIV_LIB}/ExtUtils/MM_Unix.pm + .${PRIV_LIB}/ExtUtils/MY.pm + .${PRIV_LIB}/ExtUtils/MakeMaker.pm + .${PRIV_LIB}/ExtUtils/Manifest.pm + .${PRIV_LIB}/ExtUtils/Miniperl.pm + .${PRIV_LIB}/ExtUtils/Mkbootstrap.pm + .${PRIV_LIB}/ExtUtils/Mksymlists.pm + .${PRIV_LIB}/ExtUtils/Packlist.pm + .${PRIV_LIB}/ExtUtils/testlib.pm + .${PRIV_LIB}/File/Basename.pm + .${PRIV_LIB}/File/Compare.pm + .${PRIV_LIB}/File/Copy.pm + .${PRIV_LIB}/File/Find.pm + .${PRIV_LIB}/File/Path.pm + .${PRIV_LIB}/File/stat.pm + .${PRIV_LIB}/FileHandle.pm + .${PRIV_LIB}/Getopt/Long.pm + .${PRIV_LIB}/Getopt/Std.pm + .${PRIV_LIB}/IPC/Open2.pm + .${PRIV_LIB}/IPC/Open3.pm + .${PRIV_LIB}/PerlIO.pm + .${PRIV_LIB}/Pod/InputObjects.pm + .${PRIV_LIB}/Pod/Man.pm + .${PRIV_LIB}/Pod/ParseLink.pm + .${PRIV_LIB}/Pod/Parser.pm + .${PRIV_LIB}/Pod/Select.pm + .${PRIV_LIB}/Pod/Text.pm + .${PRIV_LIB}/Pod/Usage.pm + .${PRIV_LIB}/SelectSaver.pm + .${PRIV_LIB}/Symbol.pm + .${PRIV_LIB}/Text/ParseWords.pm + .${PRIV_LIB}/Text/Tabs.pm + .${PRIV_LIB}/Text/Wrap.pm + .${PRIV_LIB}/Tie/Hash.pm + .${PRIV_LIB}/Time/Local.pm + .${PRIV_LIB}/XSLoader.pm + .${PRIV_LIB}/autouse.pm + .${PRIV_LIB}/base.pm + .${PRIV_LIB}/bigint.pm + .${PRIV_LIB}/bignum.pm + .${PRIV_LIB}/bigrat.pm + .${PRIV_LIB}/blib.pm + .${PRIV_LIB}/bytes.pm + .${PRIV_LIB}/bytes_heavy.pl + .${PRIV_LIB}/charnames.pm + .${PRIV_LIB}/constant.pm + .${PRIV_LIB}/diagnostics.pm + .${PRIV_LIB}/fields.pm + .${PRIV_LIB}/filetest.pm + .${PRIV_LIB}/if.pm + .${PRIV_LIB}/integer.pm + .${PRIV_LIB}/less.pm + .${PRIV_LIB}/locale.pm + .${PRIV_LIB}/open.pm + .${PRIV_LIB}/overload.pm + .${PRIV_LIB}/sigtrap.pm + .${PRIV_LIB}/sort.pm + .${PRIV_LIB}/stat.pl + .${PRIV_LIB}/strict.pm + .${PRIV_LIB}/subs.pm + .${PRIV_LIB}/unicore/To/Fold.pl + .${PRIV_LIB}/unicore/To/Lower.pl + .${PRIV_LIB}/unicore/To/Upper.pl + .${PRIV_LIB}/utf8.pm + .${PRIV_LIB}/utf8_heavy.pl + .${PRIV_LIB}/vars.pm + .${PRIV_LIB}/vmsish.pm + .${PRIV_LIB}/warnings + .${PRIV_LIB}/warnings.pm + .${PRIV_LIB}/warnings/register.pm + .${ARCH_LIB}/B.pm + .${ARCH_LIB}/CORE/libperl$(get_libname) + .${ARCH_LIB}/Config.pm + .${ARCH_LIB}/Config_heavy.pl + .${ARCH_LIB}/Cwd.pm + .${ARCH_LIB}/Data/Dumper.pm + .${ARCH_LIB}/DynaLoader.pm + .${ARCH_LIB}/Errno.pm + .${ARCH_LIB}/Fcntl.pm + .${ARCH_LIB}/File/Glob.pm + .${ARCH_LIB}/File/Spec.pm + .${ARCH_LIB}/File/Spec/Unix.pm + .${ARCH_LIB}/IO.pm + .${ARCH_LIB}/IO/File.pm + .${ARCH_LIB}/IO/Handle.pm + .${ARCH_LIB}/IO/Pipe.pm + .${ARCH_LIB}/IO/Seekable.pm + .${ARCH_LIB}/IO/Select.pm + .${ARCH_LIB}/IO/Socket.pm + .${ARCH_LIB}/IO/Socket/INET.pm + .${ARCH_LIB}/IO/Socket/UNIX.pm + .${ARCH_LIB}/List/Util.pm + .${ARCH_LIB}/NDBM_File.pm + .${ARCH_LIB}/POSIX.pm + .${ARCH_LIB}/Scalar/Util.pm + .${ARCH_LIB}/Socket.pm + .${ARCH_LIB}/Storable.pm + .${ARCH_LIB}/attributes.pm + .${ARCH_LIB}/auto/Cwd/Cwd$(get_libname) + .${ARCH_LIB}/auto/Data/Dumper/Dumper$(get_libname) + .${ARCH_LIB}/auto/DynaLoader/dl_findfile.al + .${ARCH_LIB}/auto/Fcntl/Fcntl$(get_libname) + .${ARCH_LIB}/auto/File/Glob/Glob$(get_libname) + .${ARCH_LIB}/auto/IO/IO$(get_libname) + .${ARCH_LIB}/auto/POSIX/POSIX$(get_libname) + .${ARCH_LIB}/auto/POSIX/autosplit.ix + .${ARCH_LIB}/auto/POSIX/fstat.al + .${ARCH_LIB}/auto/POSIX/load_imports.al + .${ARCH_LIB}/auto/POSIX/stat.al + .${ARCH_LIB}/auto/POSIX/tmpfile.al + .${ARCH_LIB}/auto/Socket/Socket$(get_libname) + .${ARCH_LIB}/auto/Storable/Storable$(get_libname) + .${ARCH_LIB}/auto/Storable/_retrieve.al + .${ARCH_LIB}/auto/Storable/_store.al + .${ARCH_LIB}/auto/Storable/autosplit.ix + .${ARCH_LIB}/auto/Storable/retrieve.al + .${ARCH_LIB}/auto/Storable/store.al + .${ARCH_LIB}/auto/re/re$(get_libname) + .${ARCH_LIB}/encoding.pm + .${ARCH_LIB}/lib.pm + .${ARCH_LIB}/ops.pm + .${ARCH_LIB}/re.pm + .${ARCH_LIB}/threads.pm +" + + pushd "${D}" > /dev/null + # Remove cruft + einfo "Removing files that are not in the minimal install" + echo "${MINIMAL_PERL_INSTALL}" + for f in $(find . -type f ) ; do + has "${f}" ${MINIMAL_PERL_INSTALL} || rm -f "${f}" + done + # Remove empty directories + find . -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + #for f in ${MINIMAL_PERL_INSTALL} ; do + # [[ -e $f ]] || ewarn "$f unused in MINIMAL_PERL_INSTALL" + #done + popd > /dev/null +} diff --git a/dev-lang/perl/perl-5.12.4-r2.ebuild b/dev-lang/perl/perl-5.12.4-r2.ebuild new file mode 100644 index 0000000..2b97965 --- /dev/null +++ b/dev-lang/perl/perl-5.12.4-r2.ebuild @@ -0,0 +1,686 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.12.4-r2.ebuild,v 1.2 2012/04/26 12:59:46 aballier Exp $ + +EAPI=4 + +inherit eutils alternatives flag-o-matic toolchain-funcs multilib + +PATCH_VER=1 + +PERL_OLDVERSEN="5.12.3 5.12.2 5.12.1 5.12.0" + +SHORT_PV="${PV%.*}" +MY_P="perl-${PV/_rc/-RC}" +MY_PV="${PV%_rc*}" + +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" + +SRC_URI=" + mirror://cpan/src/${MY_P}.tar.bz2 + mirror://cpan/authors/id/L/LB/LBROCARD/${MY_P}.tar.bz2 + mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 + http://dev.gentoo.org/~tove/distfiles/${CATEGORY}/${PN}/${MY_P}-${PATCH_VER}.tar.bz2" +# mirror://cpan/src/${MY_P}.tar.bz2 +# mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 +HOMEPAGE="http://www.perl.org/" + +LICENSE="|| ( Artistic GPL-1 GPL-2 GPL-3 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="berkdb build debug doc gdbm ithreads" + +COMMON_DEPEND="berkdb? ( sys-libs/db ) + gdbm? ( >=sys-libs/gdbm-1.8.3 ) + >=sys-devel/libperl-5.10.1 + !!<sys-devel/libperl-5.10.1 + app-arch/bzip2 + sys-libs/zlib" +DEPEND="${COMMON_DEPEND} + !prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) )" +RDEPEND="${COMMON_DEPEND}" +PDEPEND=">=app-admin/perl-cleaner-2.5" + +S="${WORKDIR}/${MY_P}" + +dual_scripts() { + src_remove_dual_scripts perl-core/Archive-Tar 1.54 ptar ptardiff + src_remove_dual_scripts perl-core/Digest-SHA 5.47 shasum + src_remove_dual_scripts perl-core/CPAN 1.945.600 cpan + src_remove_dual_scripts perl-core/CPANPLUS 0.900.0 cpanp cpan2dist cpanp-run-perl + src_remove_dual_scripts perl-core/Encode 2.39 enc2xs piconv + src_remove_dual_scripts perl-core/ExtUtils-MakeMaker 6.56 instmodsh + src_remove_dual_scripts perl-core/ExtUtils-ParseXS 2.210.0 xsubpp + src_remove_dual_scripts perl-core/Module-Build 0.3603 config_data + src_remove_dual_scripts perl-core/Module-CoreList 2.500.0 corelist + src_remove_dual_scripts perl-core/PodParser 1.370.0 pod2usage podchecker podselect + src_remove_dual_scripts perl-core/Test-Harness 3.17 prove + src_remove_dual_scripts perl-core/podlators 2.3.1 pod2man pod2text +} + +pkg_setup() { + case ${CHOST} in + *-freebsd*) osname="freebsd" ;; + *-dragonfly*) osname="dragonfly" ;; + *-netbsd*) osname="netbsd" ;; + *-openbsd*) osname="openbsd" ;; + *-darwin*) osname="darwin" ;; + *-interix*) osname="interix" ;; + *) osname="linux" ;; + esac + + if use ithreads ; then + mythreading="-multi" + myarch="${CHOST%%-*}-${osname}-thread" + else + myarch="${CHOST%%-*}-${osname}" + fi + if use debug ; then + myarch="${myarch}-debug" + fi + + LIBPERL="libperl$(get_libname ${MY_PV} )" + PRIV_LIB="/usr/$(get_libdir)/perl5/${MY_PV}" + ARCH_LIB="/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" + SITE_LIB="/usr/$(get_libdir)/perl5/site_perl/${MY_PV}" + SITE_ARCH="/usr/$(get_libdir)/perl5/site_perl/${MY_PV}/${myarch}${mythreading}" + VENDOR_LIB="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}" + VENDOR_ARCH="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}/${myarch}${mythreading}" + + if use ithreads ; then + echo "" + ewarn "THREADS WARNING:" + ewarn "PLEASE NOTE: You are compiling ${MY_P} with" + ewarn "interpreter-level threading enabled." + ewarn "Threading is not supported by all applications " + ewarn "that compile against perl. You use threading at " + ewarn "your own discretion. " + fi + if has_version "<dev-lang/perl-${SHORT_PV}" ; then + echo "" + ewarn "UPDATE THE PERL MODULES:" + ewarn "After updating dev-lang/perl you must reinstall" + ewarn "the installed perl modules." + ewarn "Use: perl-cleaner --all" + elif has_version dev-lang/perl ; then + # doesnot work + #if ! has_version dev-lang/perl[ithreads=,debug=] ; then + #if ! has_version dev-lang/perl[ithreads=] || ! has_version dev-lang/perl[debug=] ; then + if ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \ + ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \ + ( use debug && ! has_version dev-lang/perl[debug] ) || \ + ( ! use debug && has_version dev-lang/perl[debug] ) ; then + echo "" + ewarn "TOGGLED USE-FLAGS WARNING:" + ewarn "You changed one of the use-flags ithreads or debug." + ewarn "You must rebuild all perl-modules installed." + ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" + fi + fi + dual_scripts +} + +src_prepare_update_patchlevel_h() { + [[ -f ${WORKDIR}/perl-patch/series ]] || return 0 + + while read patch level ; do + sed -i -e "s/^\t,NULL$/ ,\"${patch//__/_}\"\n&/" "${S}"/patchlevel.h || die + done < "${WORKDIR}"/perl-patch/series +} + +src_prepare() { + EPATCH_SOURCE="${WORKDIR}/perl-patch" \ + EPATCH_SUFFIX="diff" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch + + src_prepare_update_patchlevel_h + + # pod/perltoc.pod fails + # lib/ExtUtils/t/Embed.t fails + if ! tc-is-static-only ; then + ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) + ln -s ${LIBPERL} libperl$(get_libname ) + fi + + epatch "${FILESDIR}"/${PN}-5.12.3-aix-soname.patch + epatch "${FILESDIR}"/${PN}-5.8.8-solaris-relocation.patch + epatch "${FILESDIR}"/${PN}-5.8.8-solaris11.patch + epatch "${FILESDIR}"/${PN}-5.10.1-cleanup-paths.patch + epatch "${FILESDIR}"/${PN}-5.8.8-usr-local.patch + epatch "${FILESDIR}"/${PN}-5.10.1-hpux.patch + epatch "${FILESDIR}"/${PN}-5.8.8-darwin-cc-ld.patch + epatch "${FILESDIR}"/${PN}-5.12.3-mint.patch + epatch "${FILESDIR}"/${PN}-5.12.3-interix.patch + + # Fix build on OSX Lion (10.7) + sed -i -e '/^usenm=/s/true/false/' hints/darwin.sh + + # rest of usr-local patch + sed -i \ + -e '/^locincpth=/c\locincpth=""' \ + -e '/^loclibpth=/c\loclibpth=""' \ + -e '/^glibpth=.*\/local\//s: /usr/local/lib.*":":' \ + Configure || die +} + +myconf() { + # the myconf array is declared in src_configure + myconf=( "${myconf[@]}" "$@" ) +} + +src_configure() { + declare -a myconf + + export LC_ALL="C" + [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091 + + # some arches and -O do not mix :) + use ppc && replace-flags -O? -O1 + # Perl has problems compiling with -Os in your flags with glibc + use elibc_uclibc || replace-flags "-Os" "-O2" + # This flag makes compiling crash in interesting ways + filter-flags "-malign-double" + # Fixes bug #97645 + use ppc && filter-flags "-mpowerpc-gpopt" + # Fixes bug #143895 on gcc-4.1.1 + filter-flags "-fsched2-use-superblocks" + + use sparc && myconf -Ud_longdbl + + # 266337 + export BUILD_BZIP2=0 + export BZIP2_INCLUDE=${EPREFIX}/usr/include + export BZIP2_LIB=${EPREFIX}/usr/$(get_libdir) + cat <<-EOF > "${S}/cpan/Compress-Raw-Zlib/config.in" + BUILD_ZLIB = False + INCLUDE = ${EPREFIX}/usr/include + LIB = ${EPREFIX}/usr/$(get_libdir) + + OLD_ZLIB = False + GZIP_OS_CODE = AUTO_DETECT + EOF + + # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1 + + myndbm='U' + mygdbm='U' + mydb='U' + + if use gdbm ; then + mygdbm='D' + myndbm='D' + fi + if use berkdb ; then + mydb='D' + has_version '=sys-libs/db-1*' && myndbm='D' + fi + + myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db" + + if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then + ewarn "Perl will not be built with berkdb support, use gcc if you needed it..." + myconf -Ui_db -Ui_ndbm + fi + + use ithreads && myconf -Dusethreads + + if use debug ; then + append-cflags "-g" + myconf -DDEBUGGING + elif [[ ${CFLAGS} == *-g* ]] ; then + myconf -DDEBUGGING=-g + else + myconf -DDEBUGGING=none + fi + + if [[ -n ${PERL_OLDVERSEN} ]] ; then + local inclist=$(for v in ${PERL_OLDVERSEN}; do echo -n "${v}/${myarch}${mythreading} ${v} "; done ) + myconf -Dinc_version_list="$inclist" + fi + + [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a" + + # Prefix: the host system needs not to follow Gentoo multilib stuff, and in + # Prefix itself we don't do multilib either, so make sure perl can find + # something compatible. + if use prefix ; then + local ldir + local llib + local paths="" + echo "int main() {}" > "${T}"/t.c + # need to ensure dirs contain compatible libs, bug #358875 + for ldir in /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib ; do + [[ -d ${ldir} ]] || continue + # look for libc, which should be somewhere + llib=${ldir}/libc$(get_libname) + [[ -e ${llib} ]] || continue + if $(tc-getCC) -o "${T}"/t "${T}"/t.c ${llib} >& /dev/null ; then + ldir=${ldir#/usr} + paths="${ldir} /usr${ldir}" + break + fi + done + myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths:-/lib /usr/lib}" + elif [[ $(get_libdir) != "lib" ]] ; then + # We need to use " and not ', as the written config.sh use ' ... + myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)" + fi + + # don't try building ODBM, bug #354453 + myconf -Dnoextensions=ODBM_File + + sh Configure \ + -des \ + -Duseshrplib \ + -Darchname="${myarch}" \ + -Dcc="$(tc-getCC)" \ + -Doptimize="${CFLAGS}" \ + -Dldflags="${LDFLAGS}" \ + -Dprefix="${EPREFIX}"'/usr' \ + -Dinstallprefix="${EPREFIX}"'/usr' \ + -Dsiteprefix="${EPREFIX}"'/usr' \ + -Dvendorprefix="${EPREFIX}"'/usr' \ + -Dscriptdir="${EPREFIX}"'/usr/bin' \ + -Dprivlib="${EPREFIX}${PRIV_LIB}" \ + -Darchlib="${EPREFIX}${ARCH_LIB}" \ + -Dsitelib="${EPREFIX}${SITE_LIB}" \ + -Dsitearch="${EPREFIX}${SITE_ARCH}" \ + -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \ + -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \ + -Dman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dsiteman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dsiteman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dman1ext='1' \ + -Dman3ext='3pm' \ + -Dlibperl="${LIBPERL}" \ + -Dlocincpth="${EPREFIX}"'/usr/include ' \ + -Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \ + -Duselargefiles \ + -Dd_semctl_semun \ + -Dcf_by='Gentoo' \ + -Dmyhostname='localhost' \ + -Dperladmin='root@localhost' \ + -Dinstallusrbinperl='n' \ + -Ud_csh \ + -Uusenm \ + "${myconf[@]}" || die "Unable to configure" +} + +src_compile() { + # bug 331113 + emake -j1 || die "emake failed" +} + +src_test() { + if [[ ${EUID} == 0 ]] ; then + ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..." + return 0 + fi + use elibc_uclibc && export MAKEOPTS+=" -j1" + TEST_JOBS=$(echo -j1 ${MAKEOPTS} | sed -r 's/.*(-j[[:space:]]*|--jobs=)([[:digit:]]+).*/\2/' ) \ + make test_harness || die "test failed" +} + +src_install() { + local i + local coredir="${ARCH_LIB}/CORE" + +# # Fix for "stupid" modules and programs +# dodir ${SITE_ARCH} ${SITE_LIB} +# keepdir "${VENDOR_ARCH}" #338802 for enc2xs + + local installtarget=install + if use build ; then + installtarget=install.perl + fi + make DESTDIR="${D}" ${installtarget} || die "Unable to make ${installtarget}" + + rm -f "${ED}"/usr/bin/perl + ln -s perl${MY_PV} "${ED}"/usr/bin/perl + + if ! tc-is-static-only ; then + dolib.so "${ED}"/${coredir}/${LIBPERL} || die + dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die + dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname) || die + rm -f "${ED}"/${coredir}/${LIBPERL} + dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/${LIBPERL} + dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname ${SHORT_PV}) + dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname) + fi + + rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages" + +# # A poor fix for the miniperl issues +# dosed 's:./miniperl:/usr/bin/perl:' /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp +# fperms 0444 /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp +# dosed 's:./miniperl:/usr/bin/perl:' /usr/bin/xsubpp +# fperms 0755 /usr/bin/xsubpp + + # This removes ${D} from Config.pm + for i in $(find "${D}" -iname "Config.pm" ) ; do + einfo "Removing ${D} from ${i}..." + sed -i -e "s:${D}::" "${i}" || die "Sed failed" + done + + find "${ED}" -type f -name .packlist -delete || die + + # Note: find out from psm why we would need/want this. + # ( use berkdb && has_version '=sys-libs/db-1*' ) || + # find "${ED}" -name "*NDBM*" | xargs rm -f + + dodoc Changes* README AUTHORS || die + + if use doc ; then + # HTML Documentation + # We expect errors, warnings, and such with the following. + + dodir /usr/share/doc/${PF}/html + LD_LIBRARY_PATH=. ./perl installhtml \ + --podroot='.' \ + --podpath='lib:ext:pod:vms' \ + --recurse \ + --htmldir="${ED}/usr/share/doc/${PF}/html" \ + --libpods='perlfunc:perlguts:perlvar:perlrun:perlop' + fi + + if use build ; then + src_remove_extra_files + fi + + dual_scripts +} + +pkg_postinst() { + dual_scripts + + if [[ "${ROOT}" = "/" ]] ; then + local INC DIR file + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${MY_PV}'|etc|local|perl$/; print "$line\n" }') + einfo "Removing old .ph files" + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + for file in $(find "${DIR}" -name "*.ph" -type f ) ; do + rm -f "${file}" + einfo "<< ${file}" + done + fi + done + # Silently remove the now empty dirs + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + fi + done + if ! use build ; then + ebegin "Generating ConfigLocal.pm (ignore any error)" + enc2xs -C + fi + + einfo "Converting C header files to the corresponding Perl format (ignore any error)" + # Prefix note: unprefixed as this is all kernel/libc stuff that we never provide + pushd /usr/include >/dev/null + h2ph -Q -a -d "${EPREFIX}"${ARCH_LIB} \ + asm/termios.h syscall.h syslimits.h syslog.h sys/ioctl.h \ + sys/socket.h sys/time.h wait.h sysexits.h + popd >/dev/null + +# This has been moved into a function because rumor has it that a future release +# of portage will allow us to check what version was just removed - which means +# we will be able to invoke this only as needed :) + # Tried doing this via -z, but $INC is too big... + #if [[ "${INC}x" != "x" ]]; then + # cleaner_msg + #fi + fi +} + +pkg_postrm(){ + dual_scripts + +# if [[ -e ${ARCH_LIB}/Encode/ConfigLocal.pm ]] ; then +# ebegin "Removing ConfigLocal.pm" +# rm "${ARCH_LIB}/Encode/ConfigLocal.pm" +# fi +} + +cleaner_msg() { + eerror "You have had multiple versions of perl. It is recommended" + eerror "that you run perl-cleaner now. perl-cleaner will" + eerror "assist with this transition. This script is capable" + eerror "of cleaning out old .ph files, rebuilding modules for " + eerror "your new version of perl, as well as re-emerging" + eerror "applications that compiled against your old libperl$(get_libname)" + eerror + eerror "PLEASE DO NOT INTERRUPT THE RUNNING OF THIS SCRIPT." + eerror "Part of the rebuilding of applications compiled against " + eerror "your old libperl involves temporarily unmerging" + eerror "them - interruptions could leave you with unmerged" + eerror "packages before they can be remerged." + eerror "" + eerror "If you have run perl-cleaner and a package still gives" + eerror "you trouble, and re-emerging it fails to correct" + eerror "the problem, please check http://bugs.gentoo.org/" + eerror "for more information or to report a bug." + eerror "" +} + +src_remove_dual_scripts() { + + local i pkg ver ff + pkg="$1" + ver="$2" + shift 2 + if has "${EBUILD_PHASE:-none}" "postinst" "postrm" ;then + for i in "$@" ; do + alternatives_auto_makesym "/usr/bin/${i}" "/usr/bin/${i}-[0-9]*" + if [[ ${i} != cpanp-run-perl ]] ; then + ff=`echo ${EROOT}/usr/share/man/man1/${i}-${ver}-${P}.1*` + ff=${ff##*.1} + alternatives_auto_makesym "/usr/share/man/man1/${i}.1${ff}" "/usr/share/man/man1/${i}-[0-9]*" + fi + done + elif has "${EBUILD_PHASE:-none}" "setup" ; then + for i in "$@" ; do + if [[ -f ${EROOT}/usr/bin/${i} && ! -h ${EROOT}/usr/bin/${i} ]] ; then + has_version ${pkg} && ewarn "You must reinstall $pkg !" + break + fi + done + else + for i in "$@" ; do + if ! [[ -f "${ED}"/usr/bin/${i} ]] ; then + use build || ewarn "/usr/bin/${i} does not exist!" + continue + fi + mv "${ED}"/usr/bin/${i}{,-${ver}-${P}} || die + if [[ -f ${ED}/usr/share/man/man1/${i}.1 ]] ; then + mv "${ED}"/usr/share/man/man1/${i}{.1,-${ver}-${P}.1} || die + else + echo "/usr/share/man/man1/${i}.1 does not exist!" + fi + done + fi +} + +src_remove_extra_files() { + local prefix="./usr" # ./ is important + local bindir="${prefix}/bin" + local libdir="${prefix}/$(get_libdir)" + + # I made this list from the Mandr*, Debian and ex-Connectiva perl-base list + # Then, I added several files to get GNU autotools running + # FIXME: should this be in a separated file to be sourced? + local MINIMAL_PERL_INSTALL=" + ${bindir}/h2ph + ${bindir}/perl + ${bindir}/perl${MY_PV} + ${bindir}/pod2man + ${libdir}/${LIBPERL} + ${libdir}/libperl$(get_libname) + ${libdir}/libperl$(get_libname ${SHORT_PV}) + .${PRIV_LIB}/AutoLoader.pm + .${PRIV_LIB}/B/Deparse.pm + .${PRIV_LIB}/Carp.pm + .${PRIV_LIB}/Carp/Heavy.pm + .${PRIV_LIB}/Class/Struct.pm + .${PRIV_LIB}/DirHandle.pm + .${PRIV_LIB}/Exporter.pm + .${PRIV_LIB}/Exporter/Heavy.pm + .${PRIV_LIB}/ExtUtils/Command.pm + .${PRIV_LIB}/ExtUtils/Command/MM.pm + .${PRIV_LIB}/ExtUtils/Constant.pm + .${PRIV_LIB}/ExtUtils/Constant/Base.pm + .${PRIV_LIB}/ExtUtils/Constant/Utils.pm + .${PRIV_LIB}/ExtUtils/Constant/XS.pm + .${PRIV_LIB}/ExtUtils/Embed.pm + .${PRIV_LIB}/ExtUtils/Install.pm + .${PRIV_LIB}/ExtUtils/Installed.pm + .${PRIV_LIB}/ExtUtils/Liblist.pm + .${PRIV_LIB}/ExtUtils/Liblist/Kid.pm + .${PRIV_LIB}/ExtUtils/MM.pm + .${PRIV_LIB}/ExtUtils/MM_Any.pm + .${PRIV_LIB}/ExtUtils/MM_MacOS.pm + .${PRIV_LIB}/ExtUtils/MM_Unix.pm + .${PRIV_LIB}/ExtUtils/MY.pm + .${PRIV_LIB}/ExtUtils/MakeMaker.pm + .${PRIV_LIB}/ExtUtils/Manifest.pm + .${PRIV_LIB}/ExtUtils/Miniperl.pm + .${PRIV_LIB}/ExtUtils/Mkbootstrap.pm + .${PRIV_LIB}/ExtUtils/Mksymlists.pm + .${PRIV_LIB}/ExtUtils/Packlist.pm + .${PRIV_LIB}/ExtUtils/testlib.pm + .${PRIV_LIB}/File/Basename.pm + .${PRIV_LIB}/File/Compare.pm + .${PRIV_LIB}/File/Copy.pm + .${PRIV_LIB}/File/Find.pm + .${PRIV_LIB}/File/Path.pm + .${PRIV_LIB}/File/stat.pm + .${PRIV_LIB}/FileHandle.pm + .${PRIV_LIB}/Getopt/Long.pm + .${PRIV_LIB}/Getopt/Std.pm + .${PRIV_LIB}/IPC/Open2.pm + .${PRIV_LIB}/IPC/Open3.pm + .${PRIV_LIB}/PerlIO.pm + .${PRIV_LIB}/Pod/InputObjects.pm + .${PRIV_LIB}/Pod/Man.pm + .${PRIV_LIB}/Pod/ParseLink.pm + .${PRIV_LIB}/Pod/Parser.pm + .${PRIV_LIB}/Pod/Select.pm + .${PRIV_LIB}/Pod/Text.pm + .${PRIV_LIB}/Pod/Usage.pm + .${PRIV_LIB}/SelectSaver.pm + .${PRIV_LIB}/Symbol.pm + .${PRIV_LIB}/Text/ParseWords.pm + .${PRIV_LIB}/Text/Tabs.pm + .${PRIV_LIB}/Text/Wrap.pm + .${PRIV_LIB}/Tie/Hash.pm + .${PRIV_LIB}/Time/Local.pm + .${PRIV_LIB}/XSLoader.pm + .${PRIV_LIB}/autouse.pm + .${PRIV_LIB}/base.pm + .${PRIV_LIB}/bigint.pm + .${PRIV_LIB}/bignum.pm + .${PRIV_LIB}/bigrat.pm + .${PRIV_LIB}/blib.pm + .${PRIV_LIB}/bytes.pm + .${PRIV_LIB}/bytes_heavy.pl + .${PRIV_LIB}/charnames.pm + .${PRIV_LIB}/constant.pm + .${PRIV_LIB}/diagnostics.pm + .${PRIV_LIB}/fields.pm + .${PRIV_LIB}/filetest.pm + .${PRIV_LIB}/if.pm + .${PRIV_LIB}/integer.pm + .${PRIV_LIB}/less.pm + .${PRIV_LIB}/locale.pm + .${PRIV_LIB}/open.pm + .${PRIV_LIB}/overload.pm + .${PRIV_LIB}/sigtrap.pm + .${PRIV_LIB}/sort.pm + .${PRIV_LIB}/stat.pl + .${PRIV_LIB}/strict.pm + .${PRIV_LIB}/subs.pm + .${PRIV_LIB}/unicore/To/Fold.pl + .${PRIV_LIB}/unicore/To/Lower.pl + .${PRIV_LIB}/unicore/To/Upper.pl + .${PRIV_LIB}/utf8.pm + .${PRIV_LIB}/utf8_heavy.pl + .${PRIV_LIB}/vars.pm + .${PRIV_LIB}/vmsish.pm + .${PRIV_LIB}/warnings + .${PRIV_LIB}/warnings.pm + .${PRIV_LIB}/warnings/register.pm + .${ARCH_LIB}/B.pm + .${ARCH_LIB}/CORE/libperl$(get_libname) + .${ARCH_LIB}/Config.pm + .${ARCH_LIB}/Config_heavy.pl + .${ARCH_LIB}/Cwd.pm + .${ARCH_LIB}/Data/Dumper.pm + .${ARCH_LIB}/DynaLoader.pm + .${ARCH_LIB}/Errno.pm + .${ARCH_LIB}/Fcntl.pm + .${ARCH_LIB}/File/Glob.pm + .${ARCH_LIB}/File/Spec.pm + .${ARCH_LIB}/File/Spec/Unix.pm + .${ARCH_LIB}/IO.pm + .${ARCH_LIB}/IO/File.pm + .${ARCH_LIB}/IO/Handle.pm + .${ARCH_LIB}/IO/Pipe.pm + .${ARCH_LIB}/IO/Seekable.pm + .${ARCH_LIB}/IO/Select.pm + .${ARCH_LIB}/IO/Socket.pm + .${ARCH_LIB}/IO/Socket/INET.pm + .${ARCH_LIB}/IO/Socket/UNIX.pm + .${ARCH_LIB}/List/Util.pm + .${ARCH_LIB}/NDBM_File.pm + .${ARCH_LIB}/POSIX.pm + .${ARCH_LIB}/Scalar/Util.pm + .${ARCH_LIB}/Socket.pm + .${ARCH_LIB}/Storable.pm + .${ARCH_LIB}/attributes.pm + .${ARCH_LIB}/auto/Cwd/Cwd$(get_libname) + .${ARCH_LIB}/auto/Data/Dumper/Dumper$(get_libname) + .${ARCH_LIB}/auto/DynaLoader/dl_findfile.al + .${ARCH_LIB}/auto/Fcntl/Fcntl$(get_libname) + .${ARCH_LIB}/auto/File/Glob/Glob$(get_libname) + .${ARCH_LIB}/auto/IO/IO$(get_libname) + .${ARCH_LIB}/auto/POSIX/POSIX$(get_libname) + .${ARCH_LIB}/auto/POSIX/autosplit.ix + .${ARCH_LIB}/auto/POSIX/fstat.al + .${ARCH_LIB}/auto/POSIX/load_imports.al + .${ARCH_LIB}/auto/POSIX/stat.al + .${ARCH_LIB}/auto/POSIX/tmpfile.al + .${ARCH_LIB}/auto/Socket/Socket$(get_libname) + .${ARCH_LIB}/auto/Storable/Storable$(get_libname) + .${ARCH_LIB}/auto/Storable/_retrieve.al + .${ARCH_LIB}/auto/Storable/_store.al + .${ARCH_LIB}/auto/Storable/autosplit.ix + .${ARCH_LIB}/auto/Storable/retrieve.al + .${ARCH_LIB}/auto/Storable/store.al + .${ARCH_LIB}/auto/re/re$(get_libname) + .${ARCH_LIB}/encoding.pm + .${ARCH_LIB}/lib.pm + .${ARCH_LIB}/ops.pm + .${ARCH_LIB}/re.pm + .${ARCH_LIB}/threads.pm +" + + pushd "${ED}" > /dev/null + # Remove cruft + einfo "Removing files that are not in the minimal install" + echo "${MINIMAL_PERL_INSTALL}" + for f in $(find . -type f ) ; do + has "${f}" ${MINIMAL_PERL_INSTALL} || rm -f "${f}" + done + # Remove empty directories + find . -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + #for f in ${MINIMAL_PERL_INSTALL} ; do + # [[ -e $f ]] || ewarn "$f unused in MINIMAL_PERL_INSTALL" + #done + popd > /dev/null +} diff --git a/dev-lang/perl/perl-5.12.4.ebuild b/dev-lang/perl/perl-5.12.4.ebuild new file mode 100644 index 0000000..fb17196 --- /dev/null +++ b/dev-lang/perl/perl-5.12.4.ebuild @@ -0,0 +1,638 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.12.4.ebuild,v 1.2 2012/01/02 22:52:21 zmedico Exp $ + +EAPI=4 + +inherit eutils alternatives flag-o-matic toolchain-funcs multilib + +PATCH_VER=1 + +PERL_OLDVERSEN="5.12.3 5.12.2 5.12.1 5.12.0" + +SHORT_PV="${PV%.*}" +MY_P="perl-${PV/_rc/-RC}" +MY_PV="${PV%_rc*}" + +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" + +SRC_URI=" + mirror://cpan/src/${MY_P}.tar.bz2 + mirror://cpan/authors/id/L/LB/LBROCARD/${MY_P}.tar.bz2 + mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 + http://dev.gentoo.org/~tove/distfiles/${CATEGORY}/${PN}/${MY_P}-${PATCH_VER}.tar.bz2" +# mirror://cpan/src/${MY_P}.tar.bz2 +# mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 +HOMEPAGE="http://www.perl.org/" + +LICENSE="|| ( Artistic GPL-1 GPL-2 GPL-3 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="berkdb build debug doc gdbm ithreads" + +COMMON_DEPEND="berkdb? ( sys-libs/db ) + gdbm? ( >=sys-libs/gdbm-1.8.3 ) + >=sys-devel/libperl-5.10.1 + !!<sys-devel/libperl-5.10.1 + app-arch/bzip2 + sys-libs/zlib" +DEPEND="${COMMON_DEPEND} + elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs )" +RDEPEND="${COMMON_DEPEND}" +PDEPEND=">=app-admin/perl-cleaner-2.5" + +S="${WORKDIR}/${MY_P}" + +dual_scripts() { + src_remove_dual_scripts perl-core/Archive-Tar 1.54 ptar ptardiff + src_remove_dual_scripts perl-core/Digest-SHA 5.47 shasum + src_remove_dual_scripts perl-core/CPAN 1.945.600 cpan + src_remove_dual_scripts perl-core/CPANPLUS 0.900.0 cpanp cpan2dist cpanp-run-perl + src_remove_dual_scripts perl-core/Encode 2.39 enc2xs piconv + src_remove_dual_scripts perl-core/ExtUtils-MakeMaker 6.56 instmodsh + src_remove_dual_scripts perl-core/Module-Build 0.3603 config_data + src_remove_dual_scripts perl-core/Module-CoreList 2.500.0 corelist + src_remove_dual_scripts perl-core/PodParser 1.370.0 pod2usage podchecker podselect + src_remove_dual_scripts perl-core/Test-Harness 3.17 prove + src_remove_dual_scripts perl-core/podlators 2.3.1 pod2man pod2text +} + +pkg_setup() { + case ${CHOST} in + *-freebsd*) osname="freebsd" ;; + *-dragonfly*) osname="dragonfly" ;; + *-netbsd*) osname="netbsd" ;; + *-openbsd*) osname="openbsd" ;; + *-darwin*) osname="darwin" ;; + *) osname="linux" ;; + esac + + if use ithreads ; then + mythreading="-multi" + myarch="${CHOST%%-*}-${osname}-thread" + else + myarch="${CHOST%%-*}-${osname}" + fi + if use debug ; then + myarch="${myarch}-debug" + fi + + LIBPERL="libperl$(get_libname ${MY_PV} )" + PRIV_LIB="/usr/$(get_libdir)/perl5/${MY_PV}" + ARCH_LIB="/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" + SITE_LIB="/usr/$(get_libdir)/perl5/site_perl/${MY_PV}" + SITE_ARCH="/usr/$(get_libdir)/perl5/site_perl/${MY_PV}/${myarch}${mythreading}" + VENDOR_LIB="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}" + VENDOR_ARCH="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}/${myarch}${mythreading}" + + if use ithreads ; then + echo "" + ewarn "THREADS WARNING:" + ewarn "PLEASE NOTE: You are compiling ${MY_P} with" + ewarn "interpreter-level threading enabled." + ewarn "Threading is not supported by all applications " + ewarn "that compile against perl. You use threading at " + ewarn "your own discretion. " + fi + if has_version "<dev-lang/perl-${SHORT_PV}" ; then + echo "" + ewarn "UPDATE THE PERL MODULES:" + ewarn "After updating dev-lang/perl you must reinstall" + ewarn "the installed perl modules." + ewarn "Use: perl-cleaner --all" + elif has_version dev-lang/perl ; then + # doesnot work + #if ! has_version dev-lang/perl[ithreads=,debug=] ; then + #if ! has_version dev-lang/perl[ithreads=] || ! has_version dev-lang/perl[debug=] ; then + if ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \ + ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \ + ( use debug && ! has_version dev-lang/perl[debug] ) || \ + ( ! use debug && has_version dev-lang/perl[debug] ) ; then + echo "" + ewarn "TOGGLED USE-FLAGS WARNING:" + ewarn "You changed one of the use-flags ithreads or debug." + ewarn "You must rebuild all perl-modules installed." + ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" + fi + fi + dual_scripts +} + +src_prepare_update_patchlevel_h() { + [[ -f ${WORKDIR}/perl-patch/series ]] || return 0 + + while read patch level ; do + sed -i -e "s/^\t,NULL$/ ,\"${patch//__/_}\"\n&/" "${S}"/patchlevel.h || die + done < "${WORKDIR}"/perl-patch/series +} + +src_prepare() { + EPATCH_SOURCE="${WORKDIR}/perl-patch" \ + EPATCH_SUFFIX="diff" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch + + src_prepare_update_patchlevel_h + + # pod/perltoc.pod fails + # lib/ExtUtils/t/Embed.t fails + ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) + ln -s ${LIBPERL} libperl$(get_libname ) +} + +myconf() { + # the myconf array is declared in src_configure + myconf=( "${myconf[@]}" "$@" ) +} + +src_configure() { + declare -a myconf + + export LC_ALL="C" + [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091 + + # some arches and -O do not mix :) + use ppc && replace-flags -O? -O1 + # Perl has problems compiling with -Os in your flags with glibc + use elibc_uclibc || replace-flags "-Os" "-O2" + # This flag makes compiling crash in interesting ways + filter-flags "-malign-double" + # Fixes bug #97645 + use ppc && filter-flags "-mpowerpc-gpopt" + # Fixes bug #143895 on gcc-4.1.1 + filter-flags "-fsched2-use-superblocks" + + # this is needed because gcc 3.3-compiled kernels will hang + # the machine trying to run this test - check with `Kumba + # <rac@gentoo.org> 2003.06.26 + use mips && myconf -Dd_u32align + + use sparc && myconf -Ud_longdbl + + # 266337 + export BUILD_BZIP2=0 + export BZIP2_INCLUDE=/usr/include + export BZIP2_LIB=/usr/$(get_libdir) + cat <<-EOF > "${S}/cpan/Compress-Raw-Zlib/config.in" + BUILD_ZLIB = False + INCLUDE = /usr/include + LIB = /usr/$(get_libdir) + + OLD_ZLIB = False + GZIP_OS_CODE = AUTO_DETECT + EOF + + # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1 + + myndbm='U' + mygdbm='U' + mydb='U' + + if use gdbm ; then + mygdbm='D' + myndbm='D' + fi + if use berkdb ; then + mydb='D' + has_version '=sys-libs/db-1*' && myndbm='D' + fi + + myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db" + + if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then + ewarn "Perl will not be built with berkdb support, use gcc if you needed it..." + myconf -Ui_db -Ui_ndbm + fi + + use ithreads && myconf -Dusethreads + + if use debug ; then + append-cflags "-g" + myconf -DDEBUGGING + elif [[ ${CFLAGS} == *-g* ]] ; then + myconf -DDEBUGGING=-g + else + myconf -DDEBUGGING=none + fi + + if [[ -n ${PERL_OLDVERSEN} ]] ; then + local inclist=$(for v in ${PERL_OLDVERSEN}; do echo -n "${v}/${myarch}${mythreading} ${v} "; done ) + myconf -Dinc_version_list="$inclist" + fi + + [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a" + + if [[ $(get_libdir) != "lib" ]] ; then + # We need to use " and not ', as the written config.sh use ' ... + myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)" + fi + + sh Configure \ + -des \ + -Duseshrplib \ + -Darchname="${myarch}" \ + -Dcc="$(tc-getCC)" \ + -Doptimize="${CFLAGS}" \ + -Dldflags="${LDFLAGS}" \ + -Dprefix='/usr' \ + -Dsiteprefix='/usr' \ + -Dvendorprefix='/usr' \ + -Dscriptdir='/usr/bin' \ + -Dprivlib="${PRIV_LIB}" \ + -Darchlib="${ARCH_LIB}" \ + -Dsitelib="${SITE_LIB}" \ + -Dsitearch="${SITE_ARCH}" \ + -Dvendorlib="${VENDOR_LIB}" \ + -Dvendorarch="${VENDOR_ARCH}" \ + -Dman1dir=/usr/share/man/man1 \ + -Dman3dir=/usr/share/man/man3 \ + -Dsiteman1dir=/usr/share/man/man1 \ + -Dsiteman3dir=/usr/share/man/man3 \ + -Dvendorman1dir=/usr/share/man/man1 \ + -Dvendorman3dir=/usr/share/man/man3 \ + -Dman1ext='1' \ + -Dman3ext='3pm' \ + -Dlibperl="${LIBPERL}" \ + -Dlocincpth=' ' \ + -Duselargefiles \ + -Dd_semctl_semun \ + -Dcf_by='Gentoo' \ + -Dmyhostname='localhost' \ + -Dperladmin='root@localhost' \ + -Dinstallusrbinperl='n' \ + -Ud_csh \ + -Uusenm \ + "${myconf[@]}" || die "Unable to configure" +} + +src_compile() { + # bug 331113 + emake -j1 || die "emake failed" +} + +src_test() { + if [[ ${EUID} == 0 ]] ; then + ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..." + return 0 + fi + use elibc_uclibc && export MAKEOPTS+=" -j1" + TEST_JOBS=$(echo -j1 ${MAKEOPTS} | sed -r 's/.*(-j[[:space:]]*|--jobs=)([[:digit:]]+).*/\2/' ) \ + make test_harness || die "test failed" +} + +src_install() { + local i + local coredir="${ARCH_LIB}/CORE" + +# # Fix for "stupid" modules and programs +# dodir ${SITE_ARCH} ${SITE_LIB} +# keepdir "${VENDOR_ARCH}" #338802 for enc2xs + + local installtarget=install + if use build ; then + installtarget=install.perl + fi + make DESTDIR="${D}" ${installtarget} || die "Unable to make ${installtarget}" + + rm -f "${D}"/usr/bin/perl + ln -s perl${MY_PV} "${D}"/usr/bin/perl + + dolib.so "${D}"/${coredir}/${LIBPERL} || die + dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die + dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname) || die + rm -f "${D}"/${coredir}/${LIBPERL} + dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/${LIBPERL} + dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname ${SHORT_PV}) + dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname) + + rm -rf "${D}"/usr/share/man/man3 || die "Unable to remove module man pages" + +# # A poor fix for the miniperl issues +# dosed 's:./miniperl:/usr/bin/perl:' /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp +# fperms 0444 /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp +# dosed 's:./miniperl:/usr/bin/perl:' /usr/bin/xsubpp +# fperms 0755 /usr/bin/xsubpp + + # This removes ${D} from Config.pm + for i in $(find "${D}" -iname "Config.pm" ) ; do + einfo "Removing ${D} from ${i}..." + sed -i -e "s:${D}::" "${i}" || die "Sed failed" + done + + find "${D}" -type f -name .packlist -delete || die + + # Note: find out from psm why we would need/want this. + # ( use berkdb && has_version '=sys-libs/db-1*' ) || + # find "${D}" -name "*NDBM*" | xargs rm -f + + dodoc Changes* README AUTHORS || die + + if use doc ; then + # HTML Documentation + # We expect errors, warnings, and such with the following. + + dodir /usr/share/doc/${PF}/html + LD_LIBRARY_PATH=. ./perl installhtml \ + --podroot='.' \ + --podpath='lib:ext:pod:vms' \ + --recurse \ + --htmldir="${D}/usr/share/doc/${PF}/html" \ + --libpods='perlfunc:perlguts:perlvar:perlrun:perlop' + fi + + if use build ; then + src_remove_extra_files + fi + + dual_scripts +} + +pkg_postinst() { + dual_scripts + + if [[ "${ROOT}" = "/" ]] ; then + local INC DIR file + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${MY_PV}'|etc|local|perl$/; print "$line\n" }') + einfo "Removing old .ph files" + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + for file in $(find "${DIR}" -name "*.ph" -type f ) ; do + rm -f "${file}" + einfo "<< ${file}" + done + fi + done + # Silently remove the now empty dirs + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + fi + done + if ! use build ; then + ebegin "Generating ConfigLocal.pm (ignore any error)" + enc2xs -C + fi + + einfo "Converting C header files to the corresponding Perl format (ignore any error)" + pushd /usr/include >/dev/null + h2ph -Q -a -d ${ARCH_LIB} \ + asm/termios.h syscall.h syslimits.h syslog.h sys/ioctl.h \ + sys/socket.h sys/time.h wait.h sysexits.h + popd >/dev/null + +# This has been moved into a function because rumor has it that a future release +# of portage will allow us to check what version was just removed - which means +# we will be able to invoke this only as needed :) + # Tried doing this via -z, but $INC is too big... + #if [[ "${INC}x" != "x" ]]; then + # cleaner_msg + #fi + fi +} + +pkg_postrm(){ + dual_scripts + +# if [[ -e ${ARCH_LIB}/Encode/ConfigLocal.pm ]] ; then +# ebegin "Removing ConfigLocal.pm" +# rm "${ARCH_LIB}/Encode/ConfigLocal.pm" +# fi +} + +cleaner_msg() { + eerror "You have had multiple versions of perl. It is recommended" + eerror "that you run perl-cleaner now. perl-cleaner will" + eerror "assist with this transition. This script is capable" + eerror "of cleaning out old .ph files, rebuilding modules for " + eerror "your new version of perl, as well as re-emerging" + eerror "applications that compiled against your old libperl$(get_libname)" + eerror + eerror "PLEASE DO NOT INTERRUPT THE RUNNING OF THIS SCRIPT." + eerror "Part of the rebuilding of applications compiled against " + eerror "your old libperl involves temporarily unmerging" + eerror "them - interruptions could leave you with unmerged" + eerror "packages before they can be remerged." + eerror "" + eerror "If you have run perl-cleaner and a package still gives" + eerror "you trouble, and re-emerging it fails to correct" + eerror "the problem, please check http://bugs.gentoo.org/" + eerror "for more information or to report a bug." + eerror "" +} + +src_remove_dual_scripts() { + + local i pkg ver ff + pkg="$1" + ver="$2" + shift 2 + if has "${EBUILD_PHASE:-none}" "postinst" "postrm" ;then + for i in "$@" ; do + alternatives_auto_makesym "/usr/bin/${i}" "/usr/bin/${i}-[0-9]*" + if [[ ${i} != cpanp-run-perl ]] ; then + ff=`echo ${ROOT}/usr/share/man/man1/${i}-${ver}-${P}.1*` + ff=${ff##*.1} + alternatives_auto_makesym "/usr/share/man/man1/${i}.1${ff}" "/usr/share/man/man1/${i}-[0-9]*" + fi + done + elif has "${EBUILD_PHASE:-none}" "setup" ; then + for i in "$@" ; do + if [[ -f ${ROOT}/usr/bin/${i} && ! -h ${ROOT}/usr/bin/${i} ]] ; then + has_version ${pkg} && ewarn "You must reinstall $pkg !" + break + fi + done + else + for i in "$@" ; do + if ! [[ -f "${D}"/usr/bin/${i} ]] ; then + use build || ewarn "/usr/bin/${i} does not exist!" + continue + fi + mv "${D}"/usr/bin/${i}{,-${ver}-${P}} || die + if [[ -f ${D}/usr/share/man/man1/${i}.1 ]] ; then + mv "${D}"/usr/share/man/man1/${i}{.1,-${ver}-${P}.1} || die + else + echo "/usr/share/man/man1/${i}.1 does not exist!" + fi + done + fi +} + +src_remove_extra_files() { + local prefix="./usr" # ./ is important + local bindir="${prefix}/bin" + local libdir="${prefix}/$(get_libdir)" + + # I made this list from the Mandr*, Debian and ex-Connectiva perl-base list + # Then, I added several files to get GNU autotools running + # FIXME: should this be in a separated file to be sourced? + local MINIMAL_PERL_INSTALL=" + ${bindir}/h2ph + ${bindir}/perl + ${bindir}/perl${MY_PV} + ${bindir}/pod2man + ${libdir}/${LIBPERL} + ${libdir}/libperl$(get_libname) + ${libdir}/libperl$(get_libname ${SHORT_PV}) + .${PRIV_LIB}/AutoLoader.pm + .${PRIV_LIB}/B/Deparse.pm + .${PRIV_LIB}/Carp.pm + .${PRIV_LIB}/Carp/Heavy.pm + .${PRIV_LIB}/Class/Struct.pm + .${PRIV_LIB}/DirHandle.pm + .${PRIV_LIB}/Exporter.pm + .${PRIV_LIB}/Exporter/Heavy.pm + .${PRIV_LIB}/ExtUtils/Command.pm + .${PRIV_LIB}/ExtUtils/Command/MM.pm + .${PRIV_LIB}/ExtUtils/Constant.pm + .${PRIV_LIB}/ExtUtils/Constant/Base.pm + .${PRIV_LIB}/ExtUtils/Constant/Utils.pm + .${PRIV_LIB}/ExtUtils/Constant/XS.pm + .${PRIV_LIB}/ExtUtils/Embed.pm + .${PRIV_LIB}/ExtUtils/Install.pm + .${PRIV_LIB}/ExtUtils/Installed.pm + .${PRIV_LIB}/ExtUtils/Liblist.pm + .${PRIV_LIB}/ExtUtils/Liblist/Kid.pm + .${PRIV_LIB}/ExtUtils/MM.pm + .${PRIV_LIB}/ExtUtils/MM_Any.pm + .${PRIV_LIB}/ExtUtils/MM_MacOS.pm + .${PRIV_LIB}/ExtUtils/MM_Unix.pm + .${PRIV_LIB}/ExtUtils/MY.pm + .${PRIV_LIB}/ExtUtils/MakeMaker.pm + .${PRIV_LIB}/ExtUtils/Manifest.pm + .${PRIV_LIB}/ExtUtils/Miniperl.pm + .${PRIV_LIB}/ExtUtils/Mkbootstrap.pm + .${PRIV_LIB}/ExtUtils/Mksymlists.pm + .${PRIV_LIB}/ExtUtils/Packlist.pm + .${PRIV_LIB}/ExtUtils/testlib.pm + .${PRIV_LIB}/File/Basename.pm + .${PRIV_LIB}/File/Compare.pm + .${PRIV_LIB}/File/Copy.pm + .${PRIV_LIB}/File/Find.pm + .${PRIV_LIB}/File/Path.pm + .${PRIV_LIB}/File/stat.pm + .${PRIV_LIB}/FileHandle.pm + .${PRIV_LIB}/Getopt/Long.pm + .${PRIV_LIB}/Getopt/Std.pm + .${PRIV_LIB}/IPC/Open2.pm + .${PRIV_LIB}/IPC/Open3.pm + .${PRIV_LIB}/PerlIO.pm + .${PRIV_LIB}/Pod/InputObjects.pm + .${PRIV_LIB}/Pod/Man.pm + .${PRIV_LIB}/Pod/ParseLink.pm + .${PRIV_LIB}/Pod/Parser.pm + .${PRIV_LIB}/Pod/Select.pm + .${PRIV_LIB}/Pod/Text.pm + .${PRIV_LIB}/Pod/Usage.pm + .${PRIV_LIB}/SelectSaver.pm + .${PRIV_LIB}/Symbol.pm + .${PRIV_LIB}/Text/ParseWords.pm + .${PRIV_LIB}/Text/Tabs.pm + .${PRIV_LIB}/Text/Wrap.pm + .${PRIV_LIB}/Tie/Hash.pm + .${PRIV_LIB}/Time/Local.pm + .${PRIV_LIB}/XSLoader.pm + .${PRIV_LIB}/autouse.pm + .${PRIV_LIB}/base.pm + .${PRIV_LIB}/bigint.pm + .${PRIV_LIB}/bignum.pm + .${PRIV_LIB}/bigrat.pm + .${PRIV_LIB}/blib.pm + .${PRIV_LIB}/bytes.pm + .${PRIV_LIB}/bytes_heavy.pl + .${PRIV_LIB}/charnames.pm + .${PRIV_LIB}/constant.pm + .${PRIV_LIB}/diagnostics.pm + .${PRIV_LIB}/fields.pm + .${PRIV_LIB}/filetest.pm + .${PRIV_LIB}/if.pm + .${PRIV_LIB}/integer.pm + .${PRIV_LIB}/less.pm + .${PRIV_LIB}/locale.pm + .${PRIV_LIB}/open.pm + .${PRIV_LIB}/overload.pm + .${PRIV_LIB}/sigtrap.pm + .${PRIV_LIB}/sort.pm + .${PRIV_LIB}/stat.pl + .${PRIV_LIB}/strict.pm + .${PRIV_LIB}/subs.pm + .${PRIV_LIB}/unicore/To/Fold.pl + .${PRIV_LIB}/unicore/To/Lower.pl + .${PRIV_LIB}/unicore/To/Upper.pl + .${PRIV_LIB}/utf8.pm + .${PRIV_LIB}/utf8_heavy.pl + .${PRIV_LIB}/vars.pm + .${PRIV_LIB}/vmsish.pm + .${PRIV_LIB}/warnings + .${PRIV_LIB}/warnings.pm + .${PRIV_LIB}/warnings/register.pm + .${ARCH_LIB}/B.pm + .${ARCH_LIB}/CORE/libperl$(get_libname) + .${ARCH_LIB}/Config.pm + .${ARCH_LIB}/Config_heavy.pl + .${ARCH_LIB}/Cwd.pm + .${ARCH_LIB}/Data/Dumper.pm + .${ARCH_LIB}/DynaLoader.pm + .${ARCH_LIB}/Errno.pm + .${ARCH_LIB}/Fcntl.pm + .${ARCH_LIB}/File/Glob.pm + .${ARCH_LIB}/File/Spec.pm + .${ARCH_LIB}/File/Spec/Unix.pm + .${ARCH_LIB}/IO.pm + .${ARCH_LIB}/IO/File.pm + .${ARCH_LIB}/IO/Handle.pm + .${ARCH_LIB}/IO/Pipe.pm + .${ARCH_LIB}/IO/Seekable.pm + .${ARCH_LIB}/IO/Select.pm + .${ARCH_LIB}/IO/Socket.pm + .${ARCH_LIB}/IO/Socket/INET.pm + .${ARCH_LIB}/IO/Socket/UNIX.pm + .${ARCH_LIB}/List/Util.pm + .${ARCH_LIB}/NDBM_File.pm + .${ARCH_LIB}/POSIX.pm + .${ARCH_LIB}/Scalar/Util.pm + .${ARCH_LIB}/Socket.pm + .${ARCH_LIB}/Storable.pm + .${ARCH_LIB}/attributes.pm + .${ARCH_LIB}/auto/Cwd/Cwd$(get_libname) + .${ARCH_LIB}/auto/Data/Dumper/Dumper$(get_libname) + .${ARCH_LIB}/auto/DynaLoader/dl_findfile.al + .${ARCH_LIB}/auto/Fcntl/Fcntl$(get_libname) + .${ARCH_LIB}/auto/File/Glob/Glob$(get_libname) + .${ARCH_LIB}/auto/IO/IO$(get_libname) + .${ARCH_LIB}/auto/POSIX/POSIX$(get_libname) + .${ARCH_LIB}/auto/POSIX/autosplit.ix + .${ARCH_LIB}/auto/POSIX/fstat.al + .${ARCH_LIB}/auto/POSIX/load_imports.al + .${ARCH_LIB}/auto/POSIX/stat.al + .${ARCH_LIB}/auto/POSIX/tmpfile.al + .${ARCH_LIB}/auto/Socket/Socket$(get_libname) + .${ARCH_LIB}/auto/Storable/Storable$(get_libname) + .${ARCH_LIB}/auto/Storable/_retrieve.al + .${ARCH_LIB}/auto/Storable/_store.al + .${ARCH_LIB}/auto/Storable/autosplit.ix + .${ARCH_LIB}/auto/Storable/retrieve.al + .${ARCH_LIB}/auto/Storable/store.al + .${ARCH_LIB}/auto/re/re$(get_libname) + .${ARCH_LIB}/encoding.pm + .${ARCH_LIB}/lib.pm + .${ARCH_LIB}/ops.pm + .${ARCH_LIB}/re.pm + .${ARCH_LIB}/threads.pm +" + + pushd "${D}" > /dev/null + # Remove cruft + einfo "Removing files that are not in the minimal install" + echo "${MINIMAL_PERL_INSTALL}" + for f in $(find . -type f ) ; do + has "${f}" ${MINIMAL_PERL_INSTALL} || rm -f "${f}" + done + # Remove empty directories + find . -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + #for f in ${MINIMAL_PERL_INSTALL} ; do + # [[ -e $f ]] || ewarn "$f unused in MINIMAL_PERL_INSTALL" + #done + popd > /dev/null +} diff --git a/dev-lang/perl/perl-5.12.5.ebuild b/dev-lang/perl/perl-5.12.5.ebuild new file mode 100644 index 0000000..bc061d5 --- /dev/null +++ b/dev-lang/perl/perl-5.12.5.ebuild @@ -0,0 +1,689 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.12.5.ebuild,v 1.1 2013/03/04 19:51:15 tove Exp $ + +EAPI=5 + +inherit eutils alternatives flag-o-matic toolchain-funcs multilib + +PATCH_VER=1 + +PERL_OLDVERSEN="5.12.4 5.12.3 5.12.2 5.12.1 5.12.0" + +SHORT_PV="${PV%.*}" +MY_P="perl-${PV/_rc/-RC}" +MY_PV="${PV%_rc*}" + +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" + +SRC_URI=" + mirror://cpan/src/${MY_P}.tar.bz2 + mirror://cpan/authors/id/L/LB/LBROCARD/${MY_P}.tar.bz2 + mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 + http://dev.gentoo.org/~tove/distfiles/${CATEGORY}/${PN}/${MY_P}-${PATCH_VER}.tar.bz2" +# mirror://cpan/src/${MY_P}.tar.bz2 +# mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 +HOMEPAGE="http://www.perl.org/" + +LICENSE="|| ( Artistic GPL-1 GPL-2 GPL-3 )" +SLOT="0/${SHORT_PV}" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="berkdb build debug doc gdbm ithreads" + +COMMON_DEPEND="berkdb? ( sys-libs/db ) + gdbm? ( >=sys-libs/gdbm-1.8.3 ) + >=sys-devel/libperl-5.10.1 + !!<sys-devel/libperl-5.10.1 + app-arch/bzip2 + sys-libs/zlib" +DEPEND="${COMMON_DEPEND} + !prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) )" +RDEPEND="${COMMON_DEPEND}" +PDEPEND=">=app-admin/perl-cleaner-2.5" + +S="${WORKDIR}/${MY_P}" + +dual_scripts() { + src_remove_dual_scripts perl-core/Archive-Tar 1.54 ptar ptardiff + src_remove_dual_scripts perl-core/Digest-SHA 5.47 shasum + src_remove_dual_scripts perl-core/CPAN 1.945.600 cpan + src_remove_dual_scripts perl-core/CPANPLUS 0.900.0 cpanp cpan2dist cpanp-run-perl + src_remove_dual_scripts perl-core/Encode 2.39 enc2xs piconv + src_remove_dual_scripts perl-core/ExtUtils-MakeMaker 6.56 instmodsh + src_remove_dual_scripts perl-core/ExtUtils-ParseXS 2.210.0 xsubpp + src_remove_dual_scripts perl-core/Module-Build 0.3603 config_data + src_remove_dual_scripts perl-core/Module-CoreList 2.770.0 corelist + src_remove_dual_scripts perl-core/PodParser 1.370.0 pod2usage podchecker podselect + src_remove_dual_scripts perl-core/Test-Harness 3.17 prove + src_remove_dual_scripts perl-core/podlators 2.3.1 pod2man pod2text +} + +pkg_setup() { + case ${CHOST} in + *-freebsd*) osname="freebsd" ;; + *-dragonfly*) osname="dragonfly" ;; + *-netbsd*) osname="netbsd" ;; + *-openbsd*) osname="openbsd" ;; + *-darwin*) osname="darwin" ;; + *-interix*) osname="interix" ;; + *) osname="linux" ;; + esac + + if use ithreads ; then + mythreading="-multi" + myarch="${CHOST%%-*}-${osname}-thread" + else + myarch="${CHOST%%-*}-${osname}" + fi + if use debug ; then + myarch="${myarch}-debug" + fi + + LIBPERL="libperl$(get_libname ${MY_PV} )" + PRIV_LIB="/usr/$(get_libdir)/perl5/${MY_PV}" + ARCH_LIB="/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" + SITE_LIB="/usr/$(get_libdir)/perl5/site_perl/${MY_PV}" + SITE_ARCH="/usr/$(get_libdir)/perl5/site_perl/${MY_PV}/${myarch}${mythreading}" + VENDOR_LIB="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}" + VENDOR_ARCH="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}/${myarch}${mythreading}" + + if use ithreads ; then + echo "" + ewarn "THREADS WARNING:" + ewarn "PLEASE NOTE: You are compiling ${MY_P} with" + ewarn "interpreter-level threading enabled." + ewarn "Threading is not supported by all applications " + ewarn "that compile against perl. You use threading at " + ewarn "your own discretion. " + fi + if has_version "<dev-lang/perl-${SHORT_PV}" ; then + echo "" + ewarn "UPDATE THE PERL MODULES:" + ewarn "After updating dev-lang/perl you must reinstall" + ewarn "the installed perl modules." + ewarn "Use: perl-cleaner --all" + elif has_version dev-lang/perl ; then + # doesnot work + #if ! has_version dev-lang/perl[ithreads=,debug=] ; then + #if ! has_version dev-lang/perl[ithreads=] || ! has_version dev-lang/perl[debug=] ; then + if ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \ + ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \ + ( use debug && ! has_version dev-lang/perl[debug] ) || \ + ( ! use debug && has_version dev-lang/perl[debug] ) ; then + echo "" + ewarn "TOGGLED USE-FLAGS WARNING:" + ewarn "You changed one of the use-flags ithreads or debug." + ewarn "You must rebuild all perl-modules installed." + ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" + fi + fi + dual_scripts +} + +src_prepare_update_patchlevel_h() { + [[ -f ${WORKDIR}/perl-patch/series ]] || return 0 + + while read patch level ; do + sed -i -e "s/^\t,NULL$/ ,\"${patch//__/_}\"\n&/" "${S}"/patchlevel.h || die + done < "${WORKDIR}"/perl-patch/series +} + +src_prepare() { + EPATCH_SOURCE="${WORKDIR}/perl-patch" \ + EPATCH_SUFFIX="diff" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch + + src_prepare_update_patchlevel_h + + # pod/perltoc.pod fails + # lib/ExtUtils/t/Embed.t fails + if ! tc-is-static-only ; then + ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) + ln -s ${LIBPERL} libperl$(get_libname ) + fi + + epatch \ + "${FILESDIR}"/${PN}-5.12.3-aix-soname.patch \ + "${FILESDIR}"/${PN}-5.8.8-solaris-relocation.patch \ + "${FILESDIR}"/${PN}-5.8.8-solaris11.patch \ + "${FILESDIR}"/${PN}-5.10.1-cleanup-paths.patch \ + "${FILESDIR}"/${PN}-5.8.8-usr-local.patch \ + "${FILESDIR}"/${PN}-5.10.1-hpux.patch \ + "${FILESDIR}"/${PN}-5.8.8-darwin-cc-ld.patch \ + "${FILESDIR}"/${PN}-5.12.3-mint.patch \ + "${FILESDIR}"/${PN}-5.12.3-interix.patch \ + "${FILESDIR}"/${PN}-5.12.5-rehash-5.12.5.patch + + + # Fix build on OSX Lion (10.7) + sed -i -e '/^usenm=/s/true/false/' hints/darwin.sh + + # rest of usr-local patch + sed -i \ + -e '/^locincpth=/c\locincpth=""' \ + -e '/^loclibpth=/c\loclibpth=""' \ + -e '/^glibpth=.*\/local\//s: /usr/local/lib.*":":' \ + Configure || die +} + +myconf() { + # the myconf array is declared in src_configure + myconf=( "${myconf[@]}" "$@" ) +} + +src_configure() { + declare -a myconf + + export LC_ALL="C" + [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091 + + # some arches and -O do not mix :) + use ppc && replace-flags -O? -O1 + # Perl has problems compiling with -Os in your flags with glibc + use elibc_uclibc || replace-flags "-Os" "-O2" + # This flag makes compiling crash in interesting ways + filter-flags "-malign-double" + # Fixes bug #97645 + use ppc && filter-flags "-mpowerpc-gpopt" + # Fixes bug #143895 on gcc-4.1.1 + filter-flags "-fsched2-use-superblocks" + + use sparc && myconf -Ud_longdbl + + # 266337 + export BUILD_BZIP2=0 + export BZIP2_INCLUDE=${EPREFIX}/usr/include + export BZIP2_LIB=${EPREFIX}/usr/$(get_libdir) + cat <<-EOF > "${S}/cpan/Compress-Raw-Zlib/config.in" + BUILD_ZLIB = False + INCLUDE = ${EPREFIX}/usr/include + LIB = ${EPREFIX}/usr/$(get_libdir) + + OLD_ZLIB = False + GZIP_OS_CODE = AUTO_DETECT + EOF + + # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1 + + myndbm='U' + mygdbm='U' + mydb='U' + + if use gdbm ; then + mygdbm='D' + myndbm='D' + fi + if use berkdb ; then + mydb='D' + has_version '=sys-libs/db-1*' && myndbm='D' + fi + + myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db" + + if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then + ewarn "Perl will not be built with berkdb support, use gcc if you needed it..." + myconf -Ui_db -Ui_ndbm + fi + + use ithreads && myconf -Dusethreads + + if use debug ; then + append-cflags "-g" + myconf -DDEBUGGING + elif [[ ${CFLAGS} == *-g* ]] ; then + myconf -DDEBUGGING=-g + else + myconf -DDEBUGGING=none + fi + + if [[ -n ${PERL_OLDVERSEN} ]] ; then + local inclist=$(for v in ${PERL_OLDVERSEN}; do echo -n "${v}/${myarch}${mythreading} ${v} "; done ) + myconf -Dinc_version_list="$inclist" + fi + + [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a" + + # Prefix: the host system needs not to follow Gentoo multilib stuff, and in + # Prefix itself we don't do multilib either, so make sure perl can find + # something compatible. + if use prefix ; then + local ldir + local llib + local paths="" + echo "int main() {}" > "${T}"/t.c + # need to ensure dirs contain compatible libs, bug #358875 + for ldir in /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib ; do + [[ -d ${ldir} ]] || continue + # look for libc, which should be somewhere + llib=${ldir}/libc$(get_libname) + [[ -e ${llib} ]] || continue + if $(tc-getCC) -o "${T}"/t "${T}"/t.c ${llib} >& /dev/null ; then + ldir=${ldir#/usr} + paths="${ldir} /usr${ldir}" + break + fi + done + myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths:-/lib /usr/lib}" + elif [[ $(get_libdir) != "lib" ]] ; then + # We need to use " and not ', as the written config.sh use ' ... + myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)" + fi + + # don't try building ODBM, bug #354453 + myconf -Dnoextensions=ODBM_File + + sh Configure \ + -des \ + -Duseshrplib \ + -Darchname="${myarch}" \ + -Dcc="$(tc-getCC)" \ + -Doptimize="${CFLAGS}" \ + -Dldflags="${LDFLAGS}" \ + -Dprefix="${EPREFIX}"'/usr' \ + -Dinstallprefix="${EPREFIX}"'/usr' \ + -Dsiteprefix="${EPREFIX}"'/usr' \ + -Dvendorprefix="${EPREFIX}"'/usr' \ + -Dscriptdir="${EPREFIX}"'/usr/bin' \ + -Dprivlib="${EPREFIX}${PRIV_LIB}" \ + -Darchlib="${EPREFIX}${ARCH_LIB}" \ + -Dsitelib="${EPREFIX}${SITE_LIB}" \ + -Dsitearch="${EPREFIX}${SITE_ARCH}" \ + -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \ + -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \ + -Dman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dsiteman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dsiteman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dman1ext='1' \ + -Dman3ext='3pm' \ + -Dlibperl="${LIBPERL}" \ + -Dlocincpth="${EPREFIX}"'/usr/include ' \ + -Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \ + -Duselargefiles \ + -Dd_semctl_semun \ + -Dcf_by='Gentoo' \ + -Dmyhostname='localhost' \ + -Dperladmin='root@localhost' \ + -Dinstallusrbinperl='n' \ + -Ud_csh \ + -Uusenm \ + "${myconf[@]}" || die "Unable to configure" +} + +src_compile() { + # bug 331113 + emake -j1 || die "emake failed" +} + +src_test() { + if [[ ${EUID} == 0 ]] ; then + ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..." + return 0 + fi + use elibc_uclibc && export MAKEOPTS+=" -j1" + TEST_JOBS=$(echo -j1 ${MAKEOPTS} | sed -r 's/.*(-j[[:space:]]*|--jobs=)([[:digit:]]+).*/\2/' ) \ + make test_harness || die "test failed" +} + +src_install() { + local i + local coredir="${ARCH_LIB}/CORE" + +# # Fix for "stupid" modules and programs +# dodir ${SITE_ARCH} ${SITE_LIB} +# keepdir "${VENDOR_ARCH}" #338802 for enc2xs + + local installtarget=install + if use build ; then + installtarget=install.perl + fi + make DESTDIR="${D}" ${installtarget} || die "Unable to make ${installtarget}" + + rm -f "${ED}"/usr/bin/perl + ln -s perl${MY_PV} "${ED}"/usr/bin/perl + + if ! tc-is-static-only ; then + dolib.so "${ED}"/${coredir}/${LIBPERL} || die + dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die + dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname) || die + rm -f "${ED}"/${coredir}/${LIBPERL} + dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/${LIBPERL} + dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname ${SHORT_PV}) + dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname) + fi + + rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages" + +# # A poor fix for the miniperl issues +# dosed 's:./miniperl:/usr/bin/perl:' /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp +# fperms 0444 /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp +# dosed 's:./miniperl:/usr/bin/perl:' /usr/bin/xsubpp +# fperms 0755 /usr/bin/xsubpp + + # This removes ${D} from Config.pm + for i in $(find "${D}" -iname "Config.pm" ) ; do + einfo "Removing ${D} from ${i}..." + sed -i -e "s:${D}::" "${i}" || die "Sed failed" + done + + find "${ED}" -type f -name .packlist -delete || die + + # Note: find out from psm why we would need/want this. + # ( use berkdb && has_version '=sys-libs/db-1*' ) || + # find "${ED}" -name "*NDBM*" | xargs rm -f + + dodoc Changes* README AUTHORS || die + + if use doc ; then + # HTML Documentation + # We expect errors, warnings, and such with the following. + + dodir /usr/share/doc/${PF}/html + LD_LIBRARY_PATH=. ./perl installhtml \ + --podroot='.' \ + --podpath='lib:ext:pod:vms' \ + --recurse \ + --htmldir="${ED}/usr/share/doc/${PF}/html" \ + --libpods='perlfunc:perlguts:perlvar:perlrun:perlop' + fi + + if use build ; then + src_remove_extra_files + fi + + dual_scripts +} + +pkg_postinst() { + dual_scripts + + if [[ "${ROOT}" = "/" ]] ; then + local INC DIR file + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${MY_PV}'|etc|local|perl$/; print "$line\n" }') + einfo "Removing old .ph files" + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + for file in $(find "${DIR}" -name "*.ph" -type f ) ; do + rm -f "${file}" + einfo "<< ${file}" + done + fi + done + # Silently remove the now empty dirs + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + fi + done + if ! use build ; then + ebegin "Generating ConfigLocal.pm (ignore any error)" + enc2xs -C + fi + + einfo "Converting C header files to the corresponding Perl format (ignore any error)" + # Prefix note: unprefixed as this is all kernel/libc stuff that we never provide + pushd /usr/include >/dev/null + h2ph -Q -a -d "${EPREFIX}"${ARCH_LIB} \ + asm/termios.h syscall.h syslimits.h syslog.h sys/ioctl.h \ + sys/socket.h sys/time.h wait.h sysexits.h + popd >/dev/null + +# This has been moved into a function because rumor has it that a future release +# of portage will allow us to check what version was just removed - which means +# we will be able to invoke this only as needed :) + # Tried doing this via -z, but $INC is too big... + #if [[ "${INC}x" != "x" ]]; then + # cleaner_msg + #fi + fi +} + +pkg_postrm(){ + dual_scripts + +# if [[ -e ${ARCH_LIB}/Encode/ConfigLocal.pm ]] ; then +# ebegin "Removing ConfigLocal.pm" +# rm "${ARCH_LIB}/Encode/ConfigLocal.pm" +# fi +} + +cleaner_msg() { + eerror "You have had multiple versions of perl. It is recommended" + eerror "that you run perl-cleaner now. perl-cleaner will" + eerror "assist with this transition. This script is capable" + eerror "of cleaning out old .ph files, rebuilding modules for " + eerror "your new version of perl, as well as re-emerging" + eerror "applications that compiled against your old libperl$(get_libname)" + eerror + eerror "PLEASE DO NOT INTERRUPT THE RUNNING OF THIS SCRIPT." + eerror "Part of the rebuilding of applications compiled against " + eerror "your old libperl involves temporarily unmerging" + eerror "them - interruptions could leave you with unmerged" + eerror "packages before they can be remerged." + eerror "" + eerror "If you have run perl-cleaner and a package still gives" + eerror "you trouble, and re-emerging it fails to correct" + eerror "the problem, please check http://bugs.gentoo.org/" + eerror "for more information or to report a bug." + eerror "" +} + +src_remove_dual_scripts() { + + local i pkg ver ff + pkg="$1" + ver="$2" + shift 2 + if has "${EBUILD_PHASE:-none}" "postinst" "postrm" ;then + for i in "$@" ; do + alternatives_auto_makesym "/usr/bin/${i}" "/usr/bin/${i}-[0-9]*" + if [[ ${i} != cpanp-run-perl ]] ; then + ff=`echo ${EROOT}/usr/share/man/man1/${i}-${ver}-${P}.1*` + ff=${ff##*.1} + alternatives_auto_makesym "/usr/share/man/man1/${i}.1${ff}" "/usr/share/man/man1/${i}-[0-9]*" + fi + done + elif has "${EBUILD_PHASE:-none}" "setup" ; then + for i in "$@" ; do + if [[ -f ${EROOT}/usr/bin/${i} && ! -h ${EROOT}/usr/bin/${i} ]] ; then + has_version ${pkg} && ewarn "You must reinstall $pkg !" + break + fi + done + else + for i in "$@" ; do + if ! [[ -f "${ED}"/usr/bin/${i} ]] ; then + use build || ewarn "/usr/bin/${i} does not exist!" + continue + fi + mv "${ED}"/usr/bin/${i}{,-${ver}-${P}} || die + if [[ -f ${ED}/usr/share/man/man1/${i}.1 ]] ; then + mv "${ED}"/usr/share/man/man1/${i}{.1,-${ver}-${P}.1} || die + else + echo "/usr/share/man/man1/${i}.1 does not exist!" + fi + done + fi +} + +src_remove_extra_files() { + local prefix="./usr" # ./ is important + local bindir="${prefix}/bin" + local libdir="${prefix}/$(get_libdir)" + + # I made this list from the Mandr*, Debian and ex-Connectiva perl-base list + # Then, I added several files to get GNU autotools running + # FIXME: should this be in a separated file to be sourced? + local MINIMAL_PERL_INSTALL=" + ${bindir}/h2ph + ${bindir}/perl + ${bindir}/perl${MY_PV} + ${bindir}/pod2man + ${libdir}/${LIBPERL} + ${libdir}/libperl$(get_libname) + ${libdir}/libperl$(get_libname ${SHORT_PV}) + .${PRIV_LIB}/AutoLoader.pm + .${PRIV_LIB}/B/Deparse.pm + .${PRIV_LIB}/Carp.pm + .${PRIV_LIB}/Carp/Heavy.pm + .${PRIV_LIB}/Class/Struct.pm + .${PRIV_LIB}/DirHandle.pm + .${PRIV_LIB}/Exporter.pm + .${PRIV_LIB}/Exporter/Heavy.pm + .${PRIV_LIB}/ExtUtils/Command.pm + .${PRIV_LIB}/ExtUtils/Command/MM.pm + .${PRIV_LIB}/ExtUtils/Constant.pm + .${PRIV_LIB}/ExtUtils/Constant/Base.pm + .${PRIV_LIB}/ExtUtils/Constant/Utils.pm + .${PRIV_LIB}/ExtUtils/Constant/XS.pm + .${PRIV_LIB}/ExtUtils/Embed.pm + .${PRIV_LIB}/ExtUtils/Install.pm + .${PRIV_LIB}/ExtUtils/Installed.pm + .${PRIV_LIB}/ExtUtils/Liblist.pm + .${PRIV_LIB}/ExtUtils/Liblist/Kid.pm + .${PRIV_LIB}/ExtUtils/MM.pm + .${PRIV_LIB}/ExtUtils/MM_Any.pm + .${PRIV_LIB}/ExtUtils/MM_MacOS.pm + .${PRIV_LIB}/ExtUtils/MM_Unix.pm + .${PRIV_LIB}/ExtUtils/MY.pm + .${PRIV_LIB}/ExtUtils/MakeMaker.pm + .${PRIV_LIB}/ExtUtils/Manifest.pm + .${PRIV_LIB}/ExtUtils/Miniperl.pm + .${PRIV_LIB}/ExtUtils/Mkbootstrap.pm + .${PRIV_LIB}/ExtUtils/Mksymlists.pm + .${PRIV_LIB}/ExtUtils/Packlist.pm + .${PRIV_LIB}/ExtUtils/testlib.pm + .${PRIV_LIB}/File/Basename.pm + .${PRIV_LIB}/File/Compare.pm + .${PRIV_LIB}/File/Copy.pm + .${PRIV_LIB}/File/Find.pm + .${PRIV_LIB}/File/Path.pm + .${PRIV_LIB}/File/stat.pm + .${PRIV_LIB}/FileHandle.pm + .${PRIV_LIB}/Getopt/Long.pm + .${PRIV_LIB}/Getopt/Std.pm + .${PRIV_LIB}/IPC/Open2.pm + .${PRIV_LIB}/IPC/Open3.pm + .${PRIV_LIB}/PerlIO.pm + .${PRIV_LIB}/Pod/InputObjects.pm + .${PRIV_LIB}/Pod/Man.pm + .${PRIV_LIB}/Pod/ParseLink.pm + .${PRIV_LIB}/Pod/Parser.pm + .${PRIV_LIB}/Pod/Select.pm + .${PRIV_LIB}/Pod/Text.pm + .${PRIV_LIB}/Pod/Usage.pm + .${PRIV_LIB}/SelectSaver.pm + .${PRIV_LIB}/Symbol.pm + .${PRIV_LIB}/Text/ParseWords.pm + .${PRIV_LIB}/Text/Tabs.pm + .${PRIV_LIB}/Text/Wrap.pm + .${PRIV_LIB}/Tie/Hash.pm + .${PRIV_LIB}/Time/Local.pm + .${PRIV_LIB}/XSLoader.pm + .${PRIV_LIB}/autouse.pm + .${PRIV_LIB}/base.pm + .${PRIV_LIB}/bigint.pm + .${PRIV_LIB}/bignum.pm + .${PRIV_LIB}/bigrat.pm + .${PRIV_LIB}/blib.pm + .${PRIV_LIB}/bytes.pm + .${PRIV_LIB}/bytes_heavy.pl + .${PRIV_LIB}/charnames.pm + .${PRIV_LIB}/constant.pm + .${PRIV_LIB}/diagnostics.pm + .${PRIV_LIB}/fields.pm + .${PRIV_LIB}/filetest.pm + .${PRIV_LIB}/if.pm + .${PRIV_LIB}/integer.pm + .${PRIV_LIB}/less.pm + .${PRIV_LIB}/locale.pm + .${PRIV_LIB}/open.pm + .${PRIV_LIB}/overload.pm + .${PRIV_LIB}/sigtrap.pm + .${PRIV_LIB}/sort.pm + .${PRIV_LIB}/stat.pl + .${PRIV_LIB}/strict.pm + .${PRIV_LIB}/subs.pm + .${PRIV_LIB}/unicore/To/Fold.pl + .${PRIV_LIB}/unicore/To/Lower.pl + .${PRIV_LIB}/unicore/To/Upper.pl + .${PRIV_LIB}/utf8.pm + .${PRIV_LIB}/utf8_heavy.pl + .${PRIV_LIB}/vars.pm + .${PRIV_LIB}/vmsish.pm + .${PRIV_LIB}/warnings + .${PRIV_LIB}/warnings.pm + .${PRIV_LIB}/warnings/register.pm + .${ARCH_LIB}/B.pm + .${ARCH_LIB}/CORE/libperl$(get_libname) + .${ARCH_LIB}/Config.pm + .${ARCH_LIB}/Config_heavy.pl + .${ARCH_LIB}/Cwd.pm + .${ARCH_LIB}/Data/Dumper.pm + .${ARCH_LIB}/DynaLoader.pm + .${ARCH_LIB}/Errno.pm + .${ARCH_LIB}/Fcntl.pm + .${ARCH_LIB}/File/Glob.pm + .${ARCH_LIB}/File/Spec.pm + .${ARCH_LIB}/File/Spec/Unix.pm + .${ARCH_LIB}/IO.pm + .${ARCH_LIB}/IO/File.pm + .${ARCH_LIB}/IO/Handle.pm + .${ARCH_LIB}/IO/Pipe.pm + .${ARCH_LIB}/IO/Seekable.pm + .${ARCH_LIB}/IO/Select.pm + .${ARCH_LIB}/IO/Socket.pm + .${ARCH_LIB}/IO/Socket/INET.pm + .${ARCH_LIB}/IO/Socket/UNIX.pm + .${ARCH_LIB}/List/Util.pm + .${ARCH_LIB}/NDBM_File.pm + .${ARCH_LIB}/POSIX.pm + .${ARCH_LIB}/Scalar/Util.pm + .${ARCH_LIB}/Socket.pm + .${ARCH_LIB}/Storable.pm + .${ARCH_LIB}/attributes.pm + .${ARCH_LIB}/auto/Cwd/Cwd$(get_libname) + .${ARCH_LIB}/auto/Data/Dumper/Dumper$(get_libname) + .${ARCH_LIB}/auto/DynaLoader/dl_findfile.al + .${ARCH_LIB}/auto/Fcntl/Fcntl$(get_libname) + .${ARCH_LIB}/auto/File/Glob/Glob$(get_libname) + .${ARCH_LIB}/auto/IO/IO$(get_libname) + .${ARCH_LIB}/auto/POSIX/POSIX$(get_libname) + .${ARCH_LIB}/auto/POSIX/autosplit.ix + .${ARCH_LIB}/auto/POSIX/fstat.al + .${ARCH_LIB}/auto/POSIX/load_imports.al + .${ARCH_LIB}/auto/POSIX/stat.al + .${ARCH_LIB}/auto/POSIX/tmpfile.al + .${ARCH_LIB}/auto/Socket/Socket$(get_libname) + .${ARCH_LIB}/auto/Storable/Storable$(get_libname) + .${ARCH_LIB}/auto/Storable/_retrieve.al + .${ARCH_LIB}/auto/Storable/_store.al + .${ARCH_LIB}/auto/Storable/autosplit.ix + .${ARCH_LIB}/auto/Storable/retrieve.al + .${ARCH_LIB}/auto/Storable/store.al + .${ARCH_LIB}/auto/re/re$(get_libname) + .${ARCH_LIB}/encoding.pm + .${ARCH_LIB}/lib.pm + .${ARCH_LIB}/ops.pm + .${ARCH_LIB}/re.pm + .${ARCH_LIB}/threads.pm +" + + pushd "${ED}" > /dev/null + # Remove cruft + einfo "Removing files that are not in the minimal install" + echo "${MINIMAL_PERL_INSTALL}" + for f in $(find . -type f ) ; do + has "${f}" ${MINIMAL_PERL_INSTALL} || rm -f "${f}" + done + # Remove empty directories + find . -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + #for f in ${MINIMAL_PERL_INSTALL} ; do + # [[ -e $f ]] || ewarn "$f unused in MINIMAL_PERL_INSTALL" + #done + popd > /dev/null +} diff --git a/dev-lang/perl/perl-5.14.1-r1.ebuild b/dev-lang/perl/perl-5.14.1-r1.ebuild new file mode 100644 index 0000000..6e4d51d --- /dev/null +++ b/dev-lang/perl/perl-5.14.1-r1.ebuild @@ -0,0 +1,674 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.14.1-r1.ebuild,v 1.2 2012/01/02 22:52:21 zmedico Exp $ + +EAPI=4 + +inherit eutils alternatives flag-o-matic toolchain-funcs multilib + +PATCH_VER=1 + +PERL_OLDVERSEN="5.14.0" +MODULE_AUTHOR=JESSE + +SHORT_PV="${PV%.*}" +MY_P="perl-${PV/_rc/-RC}" +MY_PV="${PV%_rc*}" + +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" + +SRC_URI=" + mirror://cpan/src/${MY_P}.tar.bz2 + mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MY_P}.tar.bz2 + mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 + http://dev.gentoo.org/~tove/distfiles/${CATEGORY}/${PN}/${MY_P}-${PATCH_VER}.tar.bz2" +# mirror://cpan/src/${MY_P}.tar.bz2 +# mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 +HOMEPAGE="http://www.perl.org/" + +LICENSE="|| ( Artistic GPL-1 GPL-2 GPL-3 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="berkdb build debug doc gdbm ithreads" + +COMMON_DEPEND=" + berkdb? ( sys-libs/db ) + gdbm? ( >=sys-libs/gdbm-1.8.3 ) + app-arch/bzip2 + sys-libs/zlib +" +DEPEND="${COMMON_DEPEND} + elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) +" +RDEPEND="${COMMON_DEPEND} +" +PDEPEND=">=app-admin/perl-cleaner-2.5" + +S="${WORKDIR}/${MY_P}" + +dual_scripts() { + src_remove_dual perl-core/Archive-Tar 1.760.0 ptar ptardiff ptargrep + src_remove_dual perl-core/Digest-SHA 5.610.0 shasum + src_remove_dual perl-core/CPAN 1.960.0 cpan + src_remove_dual perl-core/CPANPLUS 0.910.300 cpanp cpan2dist + src_remove_dual_file perl-core/CPANPLUS 0.910.300 /usr/bin/cpanp-run-perl + src_remove_dual perl-core/Encode 2.420.0 enc2xs piconv + src_remove_dual perl-core/ExtUtils-MakeMaker 6.570.500_rc instmodsh + src_remove_dual perl-core/ExtUtils-ParseXS 2.221.0 xsubpp + src_remove_dual perl-core/JSON-PP 2.271.50 json_pp + src_remove_dual perl-core/Module-Build 0.380.0 config_data + src_remove_dual perl-core/Module-CoreList 2.490.100-rc corelist + src_remove_dual perl-core/PodParser 1.370.0 pod2usage podchecker podselect + src_remove_dual perl-core/Test-Harness 3.230.0 prove + src_remove_dual perl-core/podlators 2.4.0 pod2man pod2text + src_remove_dual_man perl-core/podlators 2.4.0 /usr/share/man/man1/perlpodstyle.1 +} + +pkg_pretend() { + check_rebuild +} + +pkg_setup() { + case ${CHOST} in + *-freebsd*) osname="freebsd" ;; + *-dragonfly*) osname="dragonfly" ;; + *-netbsd*) osname="netbsd" ;; + *-openbsd*) osname="openbsd" ;; + *-darwin*) osname="darwin" ;; + *) osname="linux" ;; + esac + + if use ithreads ; then + mythreading="-multi" + myarch="${CHOST%%-*}-${osname}-thread" + else + myarch="${CHOST%%-*}-${osname}" + fi + if use debug ; then + myarch="${myarch}-debug" + fi + + LIBPERL="libperl$(get_libname ${MY_PV} )" + PRIV_LIB="/usr/$(get_libdir)/perl5/${MY_PV}" + ARCH_LIB="/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" + SITE_LIB="/usr/local/$(get_libdir)/perl5/${MY_PV}" + SITE_ARCH="/usr/local/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" + VENDOR_LIB="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}" + VENDOR_ARCH="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}/${myarch}${mythreading}" + + if use ithreads ; then + echo "" + ewarn "THREADS WARNING:" + ewarn "PLEASE NOTE: You are compiling ${MY_P} with" + ewarn "interpreter-level threading enabled." + ewarn "Threading is not supported by all applications " + ewarn "that compile against perl. You use threading at " + ewarn "your own discretion. " + fi + check_rebuild + dual_scripts +} + +check_rebuild() { + if has_version "<dev-lang/perl-${SHORT_PV}" ; then + echo "" + ewarn "UPDATE THE PERL MODULES:" + ewarn "After updating dev-lang/perl you must reinstall" + ewarn "the installed perl modules." + ewarn "Use: perl-cleaner --all" + elif has_version dev-lang/perl ; then + # doesnot work + #if ! has_version dev-lang/perl[ithreads=,debug=] ; then + #if ! has_version dev-lang/perl[ithreads=] || ! has_version dev-lang/perl[debug=] ; then + if ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \ + ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \ + ( use debug && ! has_version dev-lang/perl[debug] ) || \ + ( ! use debug && has_version dev-lang/perl[debug] ) ; then + echo "" + ewarn "TOGGLED USE-FLAGS WARNING:" + ewarn "You changed one of the use-flags ithreads or debug." + ewarn "You must rebuild all perl-modules installed." + ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" + fi + fi +} + +src_prepare_update_patchlevel_h() { + [[ -f ${WORKDIR}/perl-patch/series ]] || return 0 + + while read patch level ; do + sed -i -e "s/^\t,NULL$/ ,\"${patch//__/_}\"\n&/" "${S}"/patchlevel.h || die + done < "${WORKDIR}"/perl-patch/series +} + +src_prepare() { + EPATCH_SOURCE="${WORKDIR}/perl-patch" \ + EPATCH_SUFFIX="diff" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch + + src_prepare_update_patchlevel_h + + # pod/perltoc.pod fails + # lib/ExtUtils/t/Embed.t fails + ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die + ln -s ${LIBPERL} libperl$(get_libname ) || die +} + +myconf() { + # the myconf array is declared in src_configure + myconf=( "${myconf[@]}" "$@" ) +} + +src_configure() { + declare -a myconf + + export LC_ALL="C" + [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091 + + # some arches and -O do not mix :) + use ppc && replace-flags -O? -O1 + # Perl has problems compiling with -Os in your flags with glibc + use elibc_uclibc || replace-flags "-Os" "-O2" + # This flag makes compiling crash in interesting ways + filter-flags "-malign-double" + # Fixes bug #97645 + use ppc && filter-flags "-mpowerpc-gpopt" + # Fixes bug #143895 on gcc-4.1.1 + filter-flags "-fsched2-use-superblocks" + + # this is needed because gcc 3.3-compiled kernels will hang + # the machine trying to run this test - check with `Kumba + # <rac@gentoo.org> 2003.06.26 + use mips && myconf -Dd_u32align + + use sparc && myconf -Ud_longdbl + + # 266337 + export BUILD_BZIP2=0 + export BZIP2_INCLUDE=/usr/include + export BZIP2_LIB=/usr/$(get_libdir) + cat <<-EOF > "${S}/cpan/Compress-Raw-Zlib/config.in" + BUILD_ZLIB = False + INCLUDE = /usr/include + LIB = /usr/$(get_libdir) + + OLD_ZLIB = False + GZIP_OS_CODE = AUTO_DETECT + EOF + + # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1 + + myndbm='U' + mygdbm='U' + mydb='U' + + if use gdbm ; then + mygdbm='D' + myndbm='D' + fi + if use berkdb ; then + mydb='D' + has_version '=sys-libs/db-1*' && myndbm='D' + fi + + myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db" + + if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then + ewarn "Perl will not be built with berkdb support, use gcc if you needed it..." + myconf -Ui_db -Ui_ndbm + fi + + use ithreads && myconf -Dusethreads + + if use debug ; then + append-cflags "-g" + myconf -DDEBUGGING + elif [[ ${CFLAGS} == *-g* ]] ; then + myconf -DDEBUGGING=-g + else + myconf -DDEBUGGING=none + fi + + if [[ -n ${PERL_OLDVERSEN} ]] ; then + local inclist=$(for v in ${PERL_OLDVERSEN}; do echo -n "${v}/${myarch}${mythreading} ${v} "; done ) + myconf -Dinc_version_list="${inclist}" + fi + + [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a" + + if [[ $(get_libdir) != "lib" ]] ; then + # We need to use " and not ', as the written config.sh use ' ... + myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)" + fi + + sh Configure \ + -des \ + -Duseshrplib \ + -Darchname="${myarch}" \ + -Dcc="$(tc-getCC)" \ + -Doptimize="${CFLAGS}" \ + -Dldflags="${LDFLAGS}" \ + -Dprefix='/usr' \ + -Dsiteprefix='/usr' \ + -Dvendorprefix='/usr' \ + -Dscriptdir='/usr/bin' \ + -Dprivlib="${PRIV_LIB}" \ + -Darchlib="${ARCH_LIB}" \ + -Dsitelib="${SITE_LIB}" \ + -Dsitearch="${SITE_ARCH}" \ + -Dvendorlib="${VENDOR_LIB}" \ + -Dvendorarch="${VENDOR_ARCH}" \ + -Dman1dir=/usr/share/man/man1 \ + -Dman3dir=/usr/share/man/man3 \ + -Dsiteman1dir=/usr/share/man/man1 \ + -Dsiteman3dir=/usr/share/man/man3 \ + -Dvendorman1dir=/usr/share/man/man1 \ + -Dvendorman3dir=/usr/share/man/man3 \ + -Dman1ext='1' \ + -Dman3ext='3pm' \ + -Dlibperl="${LIBPERL}" \ + -Dlocincpth=' ' \ + -Duselargefiles \ + -Dd_semctl_semun \ + -Dcf_by='Gentoo' \ + -Dmyhostname='localhost' \ + -Dperladmin='root@localhost' \ + -Dinstallusrbinperl='n' \ + -Ud_csh \ + -Uusenm \ + "${myconf[@]}" || die "Unable to configure" +} + +src_test() { + if [[ ${EUID} == 0 ]] ; then + ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..." + return 0 + fi + use elibc_uclibc && export MAKEOPTS+=" -j1" + TEST_JOBS=$(echo -j1 ${MAKEOPTS} | sed -r 's/.*(-j[[:space:]]*|--jobs=)([[:digit:]]+).*/\2/' ) \ + make test_harness || die "test failed" +} + +src_install() { + local i + local coredir="${ARCH_LIB}/CORE" + + local installtarget=install + if use build ; then + installtarget=install.perl + fi + emake DESTDIR="${D}" ${installtarget} + + rm -f "${D}"/usr/bin/perl + ln -s perl${MY_PV} "${D}"/usr/bin/perl || die + + dolib.so "${D}"${coredir}/${LIBPERL} + rm -f "${D}"${coredir}/${LIBPERL} + ln -sf ${LIBPERL} "${D}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ${LIBPERL} "${D}"/usr/$(get_libdir)/libperl$(get_libname) || die + ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${D}"${coredir}/${LIBPERL} || die + ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${D}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${D}"${coredir}/libperl$(get_libname) || die + + rm -rf "${D}"/usr/share/man/man3 || die "Unable to remove module man pages" + +# # A poor fix for the miniperl issues +# dosed 's:./miniperl:/usr/bin/perl:' /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp +# fperms 0444 /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp +# dosed 's:./miniperl:/usr/bin/perl:' /usr/bin/xsubpp +# fperms 0755 /usr/bin/xsubpp + + # This removes ${D} from Config.pm + for i in $(find "${D}" -iname "Config.pm" ) ; do + einfo "Removing ${D} from ${i}..." + sed -i -e "s:${D}::" "${i}" || die "Sed failed" + done + + find "${D}" -type f -name .packlist -delete || die + + # Note: find out from psm why we would need/want this. + # ( use berkdb && has_version '=sys-libs/db-1*' ) || + # find "${D}" -name "*NDBM*" | xargs rm -f + + dodoc Changes* README AUTHORS + + if use doc ; then + # HTML Documentation + # We expect errors, warnings, and such with the following. + + dodir /usr/share/doc/${PF}/html + LD_LIBRARY_PATH=. ./perl installhtml \ + --podroot='.' \ + --podpath='lib:ext:pod:vms' \ + --recurse \ + --htmldir="${D}/usr/share/doc/${PF}/html" \ + --libpods='perlfunc:perlguts:perlvar:perlrun:perlop' + fi + + if use build ; then + src_remove_extra_files + fi + + dual_scripts +} + +pkg_postinst() { + dual_scripts + + if [[ "${ROOT}" = "/" ]] ; then + local INC DIR file + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }') + einfo "Removing old .ph files" + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + for file in $(find "${DIR}" -name "*.ph" -type f ) ; do + rm -f "${file}" + einfo "<< ${file}" + done + fi + done + # Silently remove the now empty dirs + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + fi + done +# if ! use build ; then +# ebegin "Generating ConfigLocal.pm (ignore any error)" +# enc2xs -C +# fi + + einfo "Converting C header files to the corresponding Perl format (ignore any error)" + pushd /usr/include >/dev/null + h2ph -Q -a -d ${ARCH_LIB} \ + asm/termios.h syscall.h syslimits.h syslog.h sys/ioctl.h \ + sys/socket.h sys/time.h wait.h sysexits.h + popd >/dev/null + +# This has been moved into a function because rumor has it that a future release +# of portage will allow us to check what version was just removed - which means +# we will be able to invoke this only as needed :) + # Tried doing this via -z, but $INC is too big... + #if [[ "${INC}x" != "x" ]]; then + # cleaner_msg + #fi + fi +} + +pkg_postrm(){ + dual_scripts + +# if [[ -e ${ARCH_LIB}/Encode/ConfigLocal.pm ]] ; then +# ebegin "Removing ConfigLocal.pm" +# rm "${ARCH_LIB}/Encode/ConfigLocal.pm" +# fi +} + +cleaner_msg() { + eerror "You have had multiple versions of perl. It is recommended" + eerror "that you run perl-cleaner now. perl-cleaner will" + eerror "assist with this transition. This script is capable" + eerror "of cleaning out old .ph files, rebuilding modules for " + eerror "your new version of perl, as well as re-emerging" + eerror "applications that compiled against your old libperl$(get_libname)" + eerror + eerror "PLEASE DO NOT INTERRUPT THE RUNNING OF THIS SCRIPT." + eerror "Part of the rebuilding of applications compiled against " + eerror "your old libperl involves temporarily unmerging" + eerror "them - interruptions could leave you with unmerged" + eerror "packages before they can be remerged." + eerror "" + eerror "If you have run perl-cleaner and a package still gives" + eerror "you trouble, and re-emerging it fails to correct" + eerror "the problem, please check http://bugs.gentoo.org/" + eerror "for more information or to report a bug." + eerror "" +} + +src_remove_dual_file() { + local i pkg ver + pkg="$1" + ver="$2" + shift 2 + case "${EBUILD_PHASE:-none}" in + postinst|postrm) + for i in "$@" ; do + alternatives_auto_makesym "${i}" "${i}-[0-9]*" + done + ;; + setup) + for i in "$@" ; do + if [[ -f ${ROOT}${i} && ! -h ${ROOT}${i} ]] ; then + has_version ${pkg} && ewarn "You must reinstall ${pkg} !" + break + fi + done + ;; + install) + for i in "$@" ; do + if ! [[ -f "${D}"${i} ]] ; then + use build || ewarn "${i} does not exist!" + continue + fi + mv "${D}"${i}{,-${ver}-${P}} || die + done + ;; + esac +} + +src_remove_dual_man() { + local i pkg ver ff + pkg="$1" + ver="$2" + shift 2 + case "${EBUILD_PHASE:-none}" in + postinst|postrm) + for i in "$@" ; do + ff=`echo "${ROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*` + ff=${ff##*${i#${i%.[0-9]}}} + alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*" + done + ;; + install) + for i in "$@" ; do + if ! [[ -f "${D}"${i} ]] ; then + use build || ewarn "${i} does not exist!" + continue + fi + mv "${D}"${i} "${D}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die + done + ;; + esac +} + +src_remove_dual() { + local i pkg ver + pkg="$1" + ver="$2" + shift 2 + for i in "$@" ; do + src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}" + src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1" + done +} + +src_remove_extra_files() { + local prefix="./usr" # ./ is important + local bindir="${prefix}/bin" + local libdir="${prefix}/$(get_libdir)" + + # I made this list from the Mandr*, Debian and ex-Connectiva perl-base list + # Then, I added several files to get GNU autotools running + # FIXME: should this be in a separated file to be sourced? + local MINIMAL_PERL_INSTALL=" + ${bindir}/h2ph + ${bindir}/perl + ${bindir}/perl${MY_PV} + ${bindir}/pod2man + ${libdir}/${LIBPERL} + ${libdir}/libperl$(get_libname) + ${libdir}/libperl$(get_libname ${SHORT_PV}) + .${PRIV_LIB}/AutoLoader.pm + .${PRIV_LIB}/B/Deparse.pm + .${PRIV_LIB}/Carp.pm + .${PRIV_LIB}/Carp/Heavy.pm + .${PRIV_LIB}/Class/Struct.pm + .${PRIV_LIB}/DirHandle.pm + .${PRIV_LIB}/Exporter.pm + .${PRIV_LIB}/Exporter/Heavy.pm + .${PRIV_LIB}/ExtUtils/Command.pm + .${PRIV_LIB}/ExtUtils/Command/MM.pm + .${PRIV_LIB}/ExtUtils/Constant.pm + .${PRIV_LIB}/ExtUtils/Constant/Base.pm + .${PRIV_LIB}/ExtUtils/Constant/Utils.pm + .${PRIV_LIB}/ExtUtils/Constant/XS.pm + .${PRIV_LIB}/ExtUtils/Embed.pm + .${PRIV_LIB}/ExtUtils/Install.pm + .${PRIV_LIB}/ExtUtils/Installed.pm + .${PRIV_LIB}/ExtUtils/Liblist.pm + .${PRIV_LIB}/ExtUtils/Liblist/Kid.pm + .${PRIV_LIB}/ExtUtils/MM.pm + .${PRIV_LIB}/ExtUtils/MM_Any.pm + .${PRIV_LIB}/ExtUtils/MM_MacOS.pm + .${PRIV_LIB}/ExtUtils/MM_Unix.pm + .${PRIV_LIB}/ExtUtils/MY.pm + .${PRIV_LIB}/ExtUtils/MakeMaker.pm + .${PRIV_LIB}/ExtUtils/MakeMaker/Config.pm + .${PRIV_LIB}/ExtUtils/Manifest.pm + .${PRIV_LIB}/ExtUtils/Miniperl.pm + .${PRIV_LIB}/ExtUtils/Mkbootstrap.pm + .${PRIV_LIB}/ExtUtils/Mksymlists.pm + .${PRIV_LIB}/ExtUtils/Packlist.pm + .${PRIV_LIB}/ExtUtils/testlib.pm + .${PRIV_LIB}/File/Basename.pm + .${PRIV_LIB}/File/Compare.pm + .${PRIV_LIB}/File/Copy.pm + .${PRIV_LIB}/File/Find.pm + .${PRIV_LIB}/File/Path.pm + .${PRIV_LIB}/File/stat.pm + .${PRIV_LIB}/FileHandle.pm + .${PRIV_LIB}/Getopt/Long.pm + .${PRIV_LIB}/Getopt/Std.pm + .${PRIV_LIB}/IPC/Open2.pm + .${PRIV_LIB}/IPC/Open3.pm + .${PRIV_LIB}/PerlIO.pm + .${PRIV_LIB}/Pod/InputObjects.pm + .${PRIV_LIB}/Pod/Man.pm + .${PRIV_LIB}/Pod/ParseLink.pm + .${PRIV_LIB}/Pod/Parser.pm + .${PRIV_LIB}/Pod/Select.pm + .${PRIV_LIB}/Pod/Text.pm + .${PRIV_LIB}/Pod/Usage.pm + .${PRIV_LIB}/SelectSaver.pm + .${PRIV_LIB}/Symbol.pm + .${PRIV_LIB}/Text/ParseWords.pm + .${PRIV_LIB}/Text/Tabs.pm + .${PRIV_LIB}/Text/Wrap.pm + .${PRIV_LIB}/Tie/Hash.pm + .${PRIV_LIB}/Time/Local.pm + .${PRIV_LIB}/XSLoader.pm + .${PRIV_LIB}/autouse.pm + .${PRIV_LIB}/base.pm + .${PRIV_LIB}/bigint.pm + .${PRIV_LIB}/bignum.pm + .${PRIV_LIB}/bigrat.pm + .${PRIV_LIB}/blib.pm + .${PRIV_LIB}/bytes.pm + .${PRIV_LIB}/bytes_heavy.pl + .${PRIV_LIB}/charnames.pm + .${PRIV_LIB}/constant.pm + .${PRIV_LIB}/diagnostics.pm + .${PRIV_LIB}/fields.pm + .${PRIV_LIB}/filetest.pm + .${PRIV_LIB}/if.pm + .${PRIV_LIB}/integer.pm + .${PRIV_LIB}/less.pm + .${PRIV_LIB}/locale.pm + .${PRIV_LIB}/open.pm + .${PRIV_LIB}/overload.pm + .${PRIV_LIB}/sigtrap.pm + .${PRIV_LIB}/sort.pm + .${PRIV_LIB}/stat.pl + .${PRIV_LIB}/strict.pm + .${PRIV_LIB}/subs.pm + .${PRIV_LIB}/unicore/To/Fold.pl + .${PRIV_LIB}/unicore/To/Lower.pl + .${PRIV_LIB}/unicore/To/Upper.pl + .${PRIV_LIB}/utf8.pm + .${PRIV_LIB}/utf8_heavy.pl + .${PRIV_LIB}/vars.pm + .${PRIV_LIB}/vmsish.pm + .${PRIV_LIB}/warnings + .${PRIV_LIB}/warnings.pm + .${PRIV_LIB}/warnings/register.pm + .${ARCH_LIB}/B.pm + .${ARCH_LIB}/CORE/libperl$(get_libname) + .${ARCH_LIB}/Config.pm + .${ARCH_LIB}/Config_heavy.pl + .${ARCH_LIB}/Cwd.pm + .${ARCH_LIB}/Data/Dumper.pm + .${ARCH_LIB}/DynaLoader.pm + .${ARCH_LIB}/Errno.pm + .${ARCH_LIB}/Fcntl.pm + .${ARCH_LIB}/File/Glob.pm + .${ARCH_LIB}/File/Spec.pm + .${ARCH_LIB}/File/Spec/Unix.pm + .${ARCH_LIB}/IO.pm + .${ARCH_LIB}/IO/File.pm + .${ARCH_LIB}/IO/Handle.pm + .${ARCH_LIB}/IO/Pipe.pm + .${ARCH_LIB}/IO/Seekable.pm + .${ARCH_LIB}/IO/Select.pm + .${ARCH_LIB}/IO/Socket.pm + .${ARCH_LIB}/IO/Socket/INET.pm + .${ARCH_LIB}/IO/Socket/UNIX.pm + .${ARCH_LIB}/List/Util.pm + .${ARCH_LIB}/NDBM_File.pm + .${ARCH_LIB}/POSIX.pm + .${ARCH_LIB}/Scalar/Util.pm + .${ARCH_LIB}/Socket.pm + .${ARCH_LIB}/Storable.pm + .${ARCH_LIB}/attributes.pm + .${ARCH_LIB}/auto/Cwd/Cwd$(get_libname) + .${ARCH_LIB}/auto/Data/Dumper/Dumper$(get_libname) + .${ARCH_LIB}/auto/DynaLoader/dl_findfile.al + .${ARCH_LIB}/auto/Fcntl/Fcntl$(get_libname) + .${ARCH_LIB}/auto/File/Glob/Glob$(get_libname) + .${ARCH_LIB}/auto/IO/IO$(get_libname) + .${ARCH_LIB}/auto/POSIX/POSIX$(get_libname) + .${ARCH_LIB}/auto/POSIX/autosplit.ix + .${ARCH_LIB}/auto/POSIX/fstat.al + .${ARCH_LIB}/auto/POSIX/load_imports.al + .${ARCH_LIB}/auto/POSIX/stat.al + .${ARCH_LIB}/auto/POSIX/tmpfile.al + .${ARCH_LIB}/auto/Socket/Socket$(get_libname) + .${ARCH_LIB}/auto/Storable/Storable$(get_libname) + .${ARCH_LIB}/auto/Storable/_retrieve.al + .${ARCH_LIB}/auto/Storable/_store.al + .${ARCH_LIB}/auto/Storable/autosplit.ix + .${ARCH_LIB}/auto/Storable/retrieve.al + .${ARCH_LIB}/auto/Storable/store.al + .${ARCH_LIB}/auto/re/re$(get_libname) + .${ARCH_LIB}/encoding.pm + .${ARCH_LIB}/lib.pm + .${ARCH_LIB}/ops.pm + .${ARCH_LIB}/re.pm + .${ARCH_LIB}/threads.pm +" + + pushd "${D}" > /dev/null + # Remove cruft + einfo "Removing files that are not in the minimal install" + echo "${MINIMAL_PERL_INSTALL}" + for f in $(find . -type f ) ; do + has "${f}" ${MINIMAL_PERL_INSTALL} || rm -f "${f}" + done + # Remove empty directories + find . -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + #for f in ${MINIMAL_PERL_INSTALL} ; do + # [[ -e ${f} ]] || ewarn "${f} unused in MINIMAL_PERL_INSTALL" + #done + popd > /dev/null +} diff --git a/dev-lang/perl/perl-5.14.1.ebuild b/dev-lang/perl/perl-5.14.1.ebuild new file mode 100644 index 0000000..0102670 --- /dev/null +++ b/dev-lang/perl/perl-5.14.1.ebuild @@ -0,0 +1,633 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.14.1.ebuild,v 1.2 2012/01/02 22:52:21 zmedico Exp $ + +EAPI=4 + +inherit eutils alternatives flag-o-matic toolchain-funcs multilib + +PATCH_VER=1 + +PERL_OLDVERSEN="5.14.0" +MODULE_AUTHOR=JESSE + +SHORT_PV="${PV%.*}" +MY_P="perl-${PV/_rc/-RC}" +MY_PV="${PV%_rc*}" + +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" + +SRC_URI=" + mirror://cpan/src/${MY_P}.tar.bz2 + mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MY_P}.tar.bz2 + mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 + http://dev.gentoo.org/~tove/distfiles/${CATEGORY}/${PN}/${MY_P}-${PATCH_VER}.tar.bz2" +# mirror://cpan/src/${MY_P}.tar.bz2 +# mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 +HOMEPAGE="http://www.perl.org/" + +LICENSE="|| ( Artistic GPL-1 GPL-2 GPL-3 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="berkdb build debug doc gdbm ithreads" + +COMMON_DEPEND=" + berkdb? ( sys-libs/db ) + gdbm? ( >=sys-libs/gdbm-1.8.3 ) + app-arch/bzip2 + sys-libs/zlib +" +DEPEND="${COMMON_DEPEND} + elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) +" +RDEPEND="${COMMON_DEPEND} +" +PDEPEND=">=app-admin/perl-cleaner-2.5" + +S="${WORKDIR}/${MY_P}" + +dual_scripts() { + src_remove_dual_scripts perl-core/Archive-Tar 1.760.0 ptar ptardiff ptargrep + src_remove_dual_scripts perl-core/Digest-SHA 5.610.0 shasum + src_remove_dual_scripts perl-core/CPAN 1.960.0 cpan + src_remove_dual_scripts perl-core/CPANPLUS 0.910.300 cpanp cpan2dist cpanp-run-perl + src_remove_dual_scripts perl-core/Encode 2.420.0 enc2xs piconv + src_remove_dual_scripts perl-core/ExtUtils-MakeMaker 6.570.500_rc instmodsh + src_remove_dual_scripts perl-core/JSON-PP 2.271.50 json_pp + src_remove_dual_scripts perl-core/Module-Build 0.380.0 config_data + src_remove_dual_scripts perl-core/Module-CoreList 2.490.100-rc corelist + src_remove_dual_scripts perl-core/PodParser 1.370.0 pod2usage podchecker podselect + src_remove_dual_scripts perl-core/Test-Harness 3.230.0 prove + src_remove_dual_scripts perl-core/podlators 2.4.0 pod2man pod2text +} + +pkg_setup() { + case ${CHOST} in + *-freebsd*) osname="freebsd" ;; + *-dragonfly*) osname="dragonfly" ;; + *-netbsd*) osname="netbsd" ;; + *-openbsd*) osname="openbsd" ;; + *-darwin*) osname="darwin" ;; + *) osname="linux" ;; + esac + + if use ithreads ; then + mythreading="-multi" + myarch="${CHOST%%-*}-${osname}-thread" + else + myarch="${CHOST%%-*}-${osname}" + fi + if use debug ; then + myarch="${myarch}-debug" + fi + + LIBPERL="libperl$(get_libname ${MY_PV} )" + PRIV_LIB="/usr/$(get_libdir)/perl5/${MY_PV}" + ARCH_LIB="/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" + SITE_LIB="/usr/local/$(get_libdir)/perl5/${MY_PV}" + SITE_ARCH="/usr/local/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" + VENDOR_LIB="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}" + VENDOR_ARCH="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}/${myarch}${mythreading}" + + if use ithreads ; then + echo "" + ewarn "THREADS WARNING:" + ewarn "PLEASE NOTE: You are compiling ${MY_P} with" + ewarn "interpreter-level threading enabled." + ewarn "Threading is not supported by all applications " + ewarn "that compile against perl. You use threading at " + ewarn "your own discretion. " + fi + if has_version "<dev-lang/perl-${SHORT_PV}" ; then + echo "" + ewarn "UPDATE THE PERL MODULES:" + ewarn "After updating dev-lang/perl you must reinstall" + ewarn "the installed perl modules." + ewarn "Use: perl-cleaner --all" + elif has_version dev-lang/perl ; then + # doesnot work + #if ! has_version dev-lang/perl[ithreads=,debug=] ; then + #if ! has_version dev-lang/perl[ithreads=] || ! has_version dev-lang/perl[debug=] ; then + if ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \ + ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \ + ( use debug && ! has_version dev-lang/perl[debug] ) || \ + ( ! use debug && has_version dev-lang/perl[debug] ) ; then + echo "" + ewarn "TOGGLED USE-FLAGS WARNING:" + ewarn "You changed one of the use-flags ithreads or debug." + ewarn "You must rebuild all perl-modules installed." + ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" + fi + fi + dual_scripts +} + +src_prepare_update_patchlevel_h() { + [[ -f ${WORKDIR}/perl-patch/series ]] || return 0 + + while read patch level ; do + sed -i -e "s/^\t,NULL$/ ,\"${patch//__/_}\"\n&/" "${S}"/patchlevel.h || die + done < "${WORKDIR}"/perl-patch/series +} + +src_prepare() { + EPATCH_SOURCE="${WORKDIR}/perl-patch" \ + EPATCH_SUFFIX="diff" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch + + src_prepare_update_patchlevel_h + + # pod/perltoc.pod fails + # lib/ExtUtils/t/Embed.t fails + ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die + ln -s ${LIBPERL} libperl$(get_libname ) || die +} + +myconf() { + # the myconf array is declared in src_configure + myconf=( "${myconf[@]}" "$@" ) +} + +src_configure() { + declare -a myconf + + export LC_ALL="C" + [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091 + + # some arches and -O do not mix :) + use ppc && replace-flags -O? -O1 + # Perl has problems compiling with -Os in your flags with glibc + use elibc_uclibc || replace-flags "-Os" "-O2" + # This flag makes compiling crash in interesting ways + filter-flags "-malign-double" + # Fixes bug #97645 + use ppc && filter-flags "-mpowerpc-gpopt" + # Fixes bug #143895 on gcc-4.1.1 + filter-flags "-fsched2-use-superblocks" + + # this is needed because gcc 3.3-compiled kernels will hang + # the machine trying to run this test - check with `Kumba + # <rac@gentoo.org> 2003.06.26 + use mips && myconf -Dd_u32align + + use sparc && myconf -Ud_longdbl + + # 266337 + export BUILD_BZIP2=0 + export BZIP2_INCLUDE=/usr/include + export BZIP2_LIB=/usr/$(get_libdir) + cat <<-EOF > "${S}/cpan/Compress-Raw-Zlib/config.in" + BUILD_ZLIB = False + INCLUDE = /usr/include + LIB = /usr/$(get_libdir) + + OLD_ZLIB = False + GZIP_OS_CODE = AUTO_DETECT + EOF + + # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1 + + myndbm='U' + mygdbm='U' + mydb='U' + + if use gdbm ; then + mygdbm='D' + myndbm='D' + fi + if use berkdb ; then + mydb='D' + has_version '=sys-libs/db-1*' && myndbm='D' + fi + + myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db" + + if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then + ewarn "Perl will not be built with berkdb support, use gcc if you needed it..." + myconf -Ui_db -Ui_ndbm + fi + + use ithreads && myconf -Dusethreads + + if use debug ; then + append-cflags "-g" + myconf -DDEBUGGING + elif [[ ${CFLAGS} == *-g* ]] ; then + myconf -DDEBUGGING=-g + else + myconf -DDEBUGGING=none + fi + + if [[ -n ${PERL_OLDVERSEN} ]] ; then + local inclist=$(for v in ${PERL_OLDVERSEN}; do echo -n "${v}/${myarch}${mythreading} ${v} "; done ) + myconf -Dinc_version_list="$inclist" + fi + + [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a" + + if [[ $(get_libdir) != "lib" ]] ; then + # We need to use " and not ', as the written config.sh use ' ... + myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)" + fi + + sh Configure \ + -des \ + -Duseshrplib \ + -Darchname="${myarch}" \ + -Dcc="$(tc-getCC)" \ + -Doptimize="${CFLAGS}" \ + -Dldflags="${LDFLAGS}" \ + -Dprefix='/usr' \ + -Dsiteprefix='/usr' \ + -Dvendorprefix='/usr' \ + -Dscriptdir='/usr/bin' \ + -Dprivlib="${PRIV_LIB}" \ + -Darchlib="${ARCH_LIB}" \ + -Dsitelib="${SITE_LIB}" \ + -Dsitearch="${SITE_ARCH}" \ + -Dvendorlib="${VENDOR_LIB}" \ + -Dvendorarch="${VENDOR_ARCH}" \ + -Dman1dir=/usr/share/man/man1 \ + -Dman3dir=/usr/share/man/man3 \ + -Dsiteman1dir=/usr/share/man/man1 \ + -Dsiteman3dir=/usr/share/man/man3 \ + -Dvendorman1dir=/usr/share/man/man1 \ + -Dvendorman3dir=/usr/share/man/man3 \ + -Dman1ext='1' \ + -Dman3ext='3pm' \ + -Dlibperl="${LIBPERL}" \ + -Dlocincpth=' ' \ + -Duselargefiles \ + -Dd_semctl_semun \ + -Dcf_by='Gentoo' \ + -Dmyhostname='localhost' \ + -Dperladmin='root@localhost' \ + -Dinstallusrbinperl='n' \ + -Ud_csh \ + -Uusenm \ + "${myconf[@]}" || die "Unable to configure" +} + +src_test() { + if [[ ${EUID} == 0 ]] ; then + ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..." + return 0 + fi + use elibc_uclibc && export MAKEOPTS+=" -j1" + TEST_JOBS=$(echo -j1 ${MAKEOPTS} | sed -r 's/.*(-j[[:space:]]*|--jobs=)([[:digit:]]+).*/\2/' ) \ + make test_harness || die "test failed" +} + +src_install() { + local i + local coredir="${ARCH_LIB}/CORE" + + local installtarget=install + if use build ; then + installtarget=install.perl + fi + emake DESTDIR="${D}" ${installtarget} + + rm -f "${D}"/usr/bin/perl + ln -s perl${MY_PV} "${D}"/usr/bin/perl || die + + dolib.so "${D}"${coredir}/${LIBPERL} + rm -f "${D}"${coredir}/${LIBPERL} + ln -sf ${LIBPERL} "${D}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ${LIBPERL} "${D}"/usr/$(get_libdir)/libperl$(get_libname) || die + ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${D}"${coredir}/${LIBPERL} || die + ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${D}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${D}"${coredir}/libperl$(get_libname) || die + + rm -rf "${D}"/usr/share/man/man3 || die "Unable to remove module man pages" + +# # A poor fix for the miniperl issues +# dosed 's:./miniperl:/usr/bin/perl:' /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp +# fperms 0444 /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp +# dosed 's:./miniperl:/usr/bin/perl:' /usr/bin/xsubpp +# fperms 0755 /usr/bin/xsubpp + + # This removes ${D} from Config.pm + for i in $(find "${D}" -iname "Config.pm" ) ; do + einfo "Removing ${D} from ${i}..." + sed -i -e "s:${D}::" "${i}" || die "Sed failed" + done + + find "${D}" -type f -name .packlist -delete || die + + # Note: find out from psm why we would need/want this. + # ( use berkdb && has_version '=sys-libs/db-1*' ) || + # find "${D}" -name "*NDBM*" | xargs rm -f + + dodoc Changes* README AUTHORS + + if use doc ; then + # HTML Documentation + # We expect errors, warnings, and such with the following. + + dodir /usr/share/doc/${PF}/html + LD_LIBRARY_PATH=. ./perl installhtml \ + --podroot='.' \ + --podpath='lib:ext:pod:vms' \ + --recurse \ + --htmldir="${D}/usr/share/doc/${PF}/html" \ + --libpods='perlfunc:perlguts:perlvar:perlrun:perlop' + fi + + if use build ; then + src_remove_extra_files + fi + + dual_scripts +} + +pkg_postinst() { + dual_scripts + + if [[ "${ROOT}" = "/" ]] ; then + local INC DIR file + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }') + einfo "Removing old .ph files" + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + for file in $(find "${DIR}" -name "*.ph" -type f ) ; do + rm -f "${file}" + einfo "<< ${file}" + done + fi + done + # Silently remove the now empty dirs + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + fi + done +# if ! use build ; then +# ebegin "Generating ConfigLocal.pm (ignore any error)" +# enc2xs -C +# fi + + einfo "Converting C header files to the corresponding Perl format (ignore any error)" + pushd /usr/include >/dev/null + h2ph -Q -a -d ${ARCH_LIB} \ + asm/termios.h syscall.h syslimits.h syslog.h sys/ioctl.h \ + sys/socket.h sys/time.h wait.h sysexits.h + popd >/dev/null + +# This has been moved into a function because rumor has it that a future release +# of portage will allow us to check what version was just removed - which means +# we will be able to invoke this only as needed :) + # Tried doing this via -z, but $INC is too big... + #if [[ "${INC}x" != "x" ]]; then + # cleaner_msg + #fi + fi +} + +pkg_postrm(){ + dual_scripts + +# if [[ -e ${ARCH_LIB}/Encode/ConfigLocal.pm ]] ; then +# ebegin "Removing ConfigLocal.pm" +# rm "${ARCH_LIB}/Encode/ConfigLocal.pm" +# fi +} + +cleaner_msg() { + eerror "You have had multiple versions of perl. It is recommended" + eerror "that you run perl-cleaner now. perl-cleaner will" + eerror "assist with this transition. This script is capable" + eerror "of cleaning out old .ph files, rebuilding modules for " + eerror "your new version of perl, as well as re-emerging" + eerror "applications that compiled against your old libperl$(get_libname)" + eerror + eerror "PLEASE DO NOT INTERRUPT THE RUNNING OF THIS SCRIPT." + eerror "Part of the rebuilding of applications compiled against " + eerror "your old libperl involves temporarily unmerging" + eerror "them - interruptions could leave you with unmerged" + eerror "packages before they can be remerged." + eerror "" + eerror "If you have run perl-cleaner and a package still gives" + eerror "you trouble, and re-emerging it fails to correct" + eerror "the problem, please check http://bugs.gentoo.org/" + eerror "for more information or to report a bug." + eerror "" +} + +src_remove_dual_scripts() { + + local i pkg ver ff + pkg="$1" + ver="$2" + shift 2 + if has "${EBUILD_PHASE:-none}" "postinst" "postrm" ;then + for i in "$@" ; do + alternatives_auto_makesym "/usr/bin/${i}" "/usr/bin/${i}-[0-9]*" + if [[ ${i} != cpanp-run-perl ]] ; then + ff=`echo ${ROOT}/usr/share/man/man1/${i}-${ver}-${P}.1*` + ff=${ff##*.1} + alternatives_auto_makesym "/usr/share/man/man1/${i}.1${ff}" "/usr/share/man/man1/${i}-[0-9]*" + fi + done + elif has "${EBUILD_PHASE:-none}" "setup" ; then + for i in "$@" ; do + if [[ -f ${ROOT}/usr/bin/${i} && ! -h ${ROOT}/usr/bin/${i} ]] ; then + has_version ${pkg} && ewarn "You must reinstall $pkg !" + break + fi + done + else + for i in "$@" ; do + if ! [[ -f "${D}"/usr/bin/${i} ]] ; then + use build || ewarn "/usr/bin/${i} does not exist!" + continue + fi + mv "${D}"/usr/bin/${i}{,-${ver}-${P}} || die + if [[ -f ${D}/usr/share/man/man1/${i}.1 ]] ; then + mv "${D}"/usr/share/man/man1/${i}{.1,-${ver}-${P}.1} || die + else + echo "/usr/share/man/man1/${i}.1 does not exist!" + fi + done + fi +} + +src_remove_extra_files() { + local prefix="./usr" # ./ is important + local bindir="${prefix}/bin" + local libdir="${prefix}/$(get_libdir)" + + # I made this list from the Mandr*, Debian and ex-Connectiva perl-base list + # Then, I added several files to get GNU autotools running + # FIXME: should this be in a separated file to be sourced? + local MINIMAL_PERL_INSTALL=" + ${bindir}/h2ph + ${bindir}/perl + ${bindir}/perl${MY_PV} + ${bindir}/pod2man + ${libdir}/${LIBPERL} + ${libdir}/libperl$(get_libname) + ${libdir}/libperl$(get_libname ${SHORT_PV}) + .${PRIV_LIB}/AutoLoader.pm + .${PRIV_LIB}/B/Deparse.pm + .${PRIV_LIB}/Carp.pm + .${PRIV_LIB}/Carp/Heavy.pm + .${PRIV_LIB}/Class/Struct.pm + .${PRIV_LIB}/DirHandle.pm + .${PRIV_LIB}/Exporter.pm + .${PRIV_LIB}/Exporter/Heavy.pm + .${PRIV_LIB}/ExtUtils/Command.pm + .${PRIV_LIB}/ExtUtils/Command/MM.pm + .${PRIV_LIB}/ExtUtils/Constant.pm + .${PRIV_LIB}/ExtUtils/Constant/Base.pm + .${PRIV_LIB}/ExtUtils/Constant/Utils.pm + .${PRIV_LIB}/ExtUtils/Constant/XS.pm + .${PRIV_LIB}/ExtUtils/Embed.pm + .${PRIV_LIB}/ExtUtils/Install.pm + .${PRIV_LIB}/ExtUtils/Installed.pm + .${PRIV_LIB}/ExtUtils/Liblist.pm + .${PRIV_LIB}/ExtUtils/Liblist/Kid.pm + .${PRIV_LIB}/ExtUtils/MM.pm + .${PRIV_LIB}/ExtUtils/MM_Any.pm + .${PRIV_LIB}/ExtUtils/MM_MacOS.pm + .${PRIV_LIB}/ExtUtils/MM_Unix.pm + .${PRIV_LIB}/ExtUtils/MY.pm + .${PRIV_LIB}/ExtUtils/MakeMaker.pm + .${PRIV_LIB}/ExtUtils/Manifest.pm + .${PRIV_LIB}/ExtUtils/Miniperl.pm + .${PRIV_LIB}/ExtUtils/Mkbootstrap.pm + .${PRIV_LIB}/ExtUtils/Mksymlists.pm + .${PRIV_LIB}/ExtUtils/Packlist.pm + .${PRIV_LIB}/ExtUtils/testlib.pm + .${PRIV_LIB}/File/Basename.pm + .${PRIV_LIB}/File/Compare.pm + .${PRIV_LIB}/File/Copy.pm + .${PRIV_LIB}/File/Find.pm + .${PRIV_LIB}/File/Path.pm + .${PRIV_LIB}/File/stat.pm + .${PRIV_LIB}/FileHandle.pm + .${PRIV_LIB}/Getopt/Long.pm + .${PRIV_LIB}/Getopt/Std.pm + .${PRIV_LIB}/IPC/Open2.pm + .${PRIV_LIB}/IPC/Open3.pm + .${PRIV_LIB}/PerlIO.pm + .${PRIV_LIB}/Pod/InputObjects.pm + .${PRIV_LIB}/Pod/Man.pm + .${PRIV_LIB}/Pod/ParseLink.pm + .${PRIV_LIB}/Pod/Parser.pm + .${PRIV_LIB}/Pod/Select.pm + .${PRIV_LIB}/Pod/Text.pm + .${PRIV_LIB}/Pod/Usage.pm + .${PRIV_LIB}/SelectSaver.pm + .${PRIV_LIB}/Symbol.pm + .${PRIV_LIB}/Text/ParseWords.pm + .${PRIV_LIB}/Text/Tabs.pm + .${PRIV_LIB}/Text/Wrap.pm + .${PRIV_LIB}/Tie/Hash.pm + .${PRIV_LIB}/Time/Local.pm + .${PRIV_LIB}/XSLoader.pm + .${PRIV_LIB}/autouse.pm + .${PRIV_LIB}/base.pm + .${PRIV_LIB}/bigint.pm + .${PRIV_LIB}/bignum.pm + .${PRIV_LIB}/bigrat.pm + .${PRIV_LIB}/blib.pm + .${PRIV_LIB}/bytes.pm + .${PRIV_LIB}/bytes_heavy.pl + .${PRIV_LIB}/charnames.pm + .${PRIV_LIB}/constant.pm + .${PRIV_LIB}/diagnostics.pm + .${PRIV_LIB}/fields.pm + .${PRIV_LIB}/filetest.pm + .${PRIV_LIB}/if.pm + .${PRIV_LIB}/integer.pm + .${PRIV_LIB}/less.pm + .${PRIV_LIB}/locale.pm + .${PRIV_LIB}/open.pm + .${PRIV_LIB}/overload.pm + .${PRIV_LIB}/sigtrap.pm + .${PRIV_LIB}/sort.pm + .${PRIV_LIB}/stat.pl + .${PRIV_LIB}/strict.pm + .${PRIV_LIB}/subs.pm + .${PRIV_LIB}/unicore/To/Fold.pl + .${PRIV_LIB}/unicore/To/Lower.pl + .${PRIV_LIB}/unicore/To/Upper.pl + .${PRIV_LIB}/utf8.pm + .${PRIV_LIB}/utf8_heavy.pl + .${PRIV_LIB}/vars.pm + .${PRIV_LIB}/vmsish.pm + .${PRIV_LIB}/warnings + .${PRIV_LIB}/warnings.pm + .${PRIV_LIB}/warnings/register.pm + .${ARCH_LIB}/B.pm + .${ARCH_LIB}/CORE/libperl$(get_libname) + .${ARCH_LIB}/Config.pm + .${ARCH_LIB}/Config_heavy.pl + .${ARCH_LIB}/Cwd.pm + .${ARCH_LIB}/Data/Dumper.pm + .${ARCH_LIB}/DynaLoader.pm + .${ARCH_LIB}/Errno.pm + .${ARCH_LIB}/Fcntl.pm + .${ARCH_LIB}/File/Glob.pm + .${ARCH_LIB}/File/Spec.pm + .${ARCH_LIB}/File/Spec/Unix.pm + .${ARCH_LIB}/IO.pm + .${ARCH_LIB}/IO/File.pm + .${ARCH_LIB}/IO/Handle.pm + .${ARCH_LIB}/IO/Pipe.pm + .${ARCH_LIB}/IO/Seekable.pm + .${ARCH_LIB}/IO/Select.pm + .${ARCH_LIB}/IO/Socket.pm + .${ARCH_LIB}/IO/Socket/INET.pm + .${ARCH_LIB}/IO/Socket/UNIX.pm + .${ARCH_LIB}/List/Util.pm + .${ARCH_LIB}/NDBM_File.pm + .${ARCH_LIB}/POSIX.pm + .${ARCH_LIB}/Scalar/Util.pm + .${ARCH_LIB}/Socket.pm + .${ARCH_LIB}/Storable.pm + .${ARCH_LIB}/attributes.pm + .${ARCH_LIB}/auto/Cwd/Cwd$(get_libname) + .${ARCH_LIB}/auto/Data/Dumper/Dumper$(get_libname) + .${ARCH_LIB}/auto/DynaLoader/dl_findfile.al + .${ARCH_LIB}/auto/Fcntl/Fcntl$(get_libname) + .${ARCH_LIB}/auto/File/Glob/Glob$(get_libname) + .${ARCH_LIB}/auto/IO/IO$(get_libname) + .${ARCH_LIB}/auto/POSIX/POSIX$(get_libname) + .${ARCH_LIB}/auto/POSIX/autosplit.ix + .${ARCH_LIB}/auto/POSIX/fstat.al + .${ARCH_LIB}/auto/POSIX/load_imports.al + .${ARCH_LIB}/auto/POSIX/stat.al + .${ARCH_LIB}/auto/POSIX/tmpfile.al + .${ARCH_LIB}/auto/Socket/Socket$(get_libname) + .${ARCH_LIB}/auto/Storable/Storable$(get_libname) + .${ARCH_LIB}/auto/Storable/_retrieve.al + .${ARCH_LIB}/auto/Storable/_store.al + .${ARCH_LIB}/auto/Storable/autosplit.ix + .${ARCH_LIB}/auto/Storable/retrieve.al + .${ARCH_LIB}/auto/Storable/store.al + .${ARCH_LIB}/auto/re/re$(get_libname) + .${ARCH_LIB}/encoding.pm + .${ARCH_LIB}/lib.pm + .${ARCH_LIB}/ops.pm + .${ARCH_LIB}/re.pm + .${ARCH_LIB}/threads.pm +" + + pushd "${D}" > /dev/null + # Remove cruft + einfo "Removing files that are not in the minimal install" + echo "${MINIMAL_PERL_INSTALL}" + for f in $(find . -type f ) ; do + has "${f}" ${MINIMAL_PERL_INSTALL} || rm -f "${f}" + done + # Remove empty directories + find . -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + #for f in ${MINIMAL_PERL_INSTALL} ; do + # [[ -e $f ]] || ewarn "$f unused in MINIMAL_PERL_INSTALL" + #done + popd > /dev/null +} diff --git a/dev-lang/perl/perl-5.14.2.ebuild b/dev-lang/perl/perl-5.14.2.ebuild new file mode 100644 index 0000000..a325acb --- /dev/null +++ b/dev-lang/perl/perl-5.14.2.ebuild @@ -0,0 +1,715 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.14.2.ebuild,v 1.4 2012/03/03 12:29:38 grobian Exp $ + +EAPI=4 + +inherit eutils alternatives flag-o-matic toolchain-funcs multilib + +PATCH_VER=1 + +PERL_OLDVERSEN="5.14.0 5.14.1" +MODULE_AUTHOR=FLORA + +SHORT_PV="${PV%.*}" +MY_P="perl-${PV/_rc/-RC}" +MY_PV="${PV%_rc*}" + +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" + +SRC_URI=" + mirror://cpan/src/${MY_P}.tar.bz2 + mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MY_P}.tar.bz2 + mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 + http://dev.gentoo.org/~tove/distfiles/${CATEGORY}/${PN}/${MY_P}-${PATCH_VER}.tar.bz2" +# mirror://cpan/src/${MY_P}.tar.bz2 +# mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 +HOMEPAGE="http://www.perl.org/" + +LICENSE="|| ( Artistic GPL-1 GPL-2 GPL-3 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~ppc-aix ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="berkdb build debug doc gdbm ithreads" + +COMMON_DEPEND=" + berkdb? ( sys-libs/db ) + gdbm? ( >=sys-libs/gdbm-1.8.3 ) + app-arch/bzip2 + sys-libs/zlib +" +DEPEND="${COMMON_DEPEND} + !prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) ) +" +RDEPEND="${COMMON_DEPEND} +" +PDEPEND=">=app-admin/perl-cleaner-2.5" + +S="${WORKDIR}/${MY_P}" + +dual_scripts() { + src_remove_dual perl-core/Archive-Tar 1.760.0 ptar ptardiff ptargrep + src_remove_dual perl-core/Digest-SHA 5.610.0 shasum + src_remove_dual perl-core/CPAN 1.960.1_rc cpan + src_remove_dual perl-core/CPANPLUS 0.910.300 cpanp cpan2dist + src_remove_dual_file perl-core/CPANPLUS 0.910.300 /usr/bin/cpanp-run-perl + src_remove_dual perl-core/Encode 2.420.100_rc enc2xs piconv + src_remove_dual perl-core/ExtUtils-MakeMaker 6.570.500_rc instmodsh + src_remove_dual perl-core/ExtUtils-ParseXS 2.221.0 xsubpp + src_remove_dual perl-core/JSON-PP 2.271.50 json_pp + src_remove_dual perl-core/Module-Build 0.380.0 config_data + src_remove_dual perl-core/Module-CoreList 2.490.200_rc corelist + src_remove_dual perl-core/PodParser 1.370.0 pod2usage podchecker podselect + src_remove_dual perl-core/Test-Harness 3.230.0 prove + src_remove_dual perl-core/podlators 2.4.0 pod2man pod2text + src_remove_dual_man perl-core/podlators 2.4.0 /usr/share/man/man1/perlpodstyle.1 +} + +pkg_pretend() { + check_rebuild +} + +pkg_setup() { + case ${CHOST} in + *-freebsd*) osname="freebsd" ;; + *-dragonfly*) osname="dragonfly" ;; + *-netbsd*) osname="netbsd" ;; + *-openbsd*) osname="openbsd" ;; + *-darwin*) osname="darwin" ;; + *-interix*) osname="interix" ;; + *) osname="linux" ;; + esac + + if use ithreads ; then + mythreading="-multi" + myarch="${CHOST%%-*}-${osname}-thread" + else + myarch="${CHOST%%-*}-${osname}" + fi + if use debug ; then + myarch="${myarch}-debug" + fi + + LIBPERL="libperl$(get_libname ${MY_PV} )" + PRIV_LIB="/usr/$(get_libdir)/perl5/${MY_PV}" + ARCH_LIB="/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" + SITE_LIB="/usr/local/$(get_libdir)/perl5/${MY_PV}" + SITE_ARCH="/usr/local/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" + VENDOR_LIB="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}" + VENDOR_ARCH="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}/${myarch}${mythreading}" + + if use ithreads ; then + echo "" + ewarn "THREADS WARNING:" + ewarn "PLEASE NOTE: You are compiling ${MY_P} with" + ewarn "interpreter-level threading enabled." + ewarn "Threading is not supported by all applications " + ewarn "that compile against perl. You use threading at " + ewarn "your own discretion. " + fi + check_rebuild + dual_scripts +} + +check_rebuild() { + if has_version "<dev-lang/perl-${SHORT_PV}" ; then + echo "" + ewarn "UPDATE THE PERL MODULES:" + ewarn "After updating dev-lang/perl you must reinstall" + ewarn "the installed perl modules." + ewarn "Use: perl-cleaner --all" + elif has_version dev-lang/perl ; then + # doesnot work + #if ! has_version dev-lang/perl[ithreads=,debug=] ; then + #if ! has_version dev-lang/perl[ithreads=] || ! has_version dev-lang/perl[debug=] ; then + if ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \ + ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \ + ( use debug && ! has_version dev-lang/perl[debug] ) || \ + ( ! use debug && has_version dev-lang/perl[debug] ) ; then + echo "" + ewarn "TOGGLED USE-FLAGS WARNING:" + ewarn "You changed one of the use-flags ithreads or debug." + ewarn "You must rebuild all perl-modules installed." + ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" + fi + fi +} + +src_prepare_update_patchlevel_h() { + [[ -f ${WORKDIR}/perl-patch/series ]] || return 0 + + while read patch level ; do + sed -i -e "s/^\t,NULL$/ ,\"${patch//__/_}\"\n&/" "${S}"/patchlevel.h || die + done < "${WORKDIR}"/perl-patch/series +} + +src_prepare() { + EPATCH_SOURCE="${WORKDIR}/perl-patch" \ + EPATCH_SUFFIX="diff" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch + + src_prepare_update_patchlevel_h + + # pod/perltoc.pod fails + # lib/ExtUtils/t/Embed.t fails + if ! tc-is-static-only ; then + ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die + ln -s ${LIBPERL} libperl$(get_libname ) || die + fi + + epatch "${FILESDIR}"/${PN}-5.12.3-aix-soname.patch + epatch "${FILESDIR}"/${PN}-5.8.8-solaris-relocation.patch + epatch "${FILESDIR}"/${PN}-5.8.8-solaris11.patch + epatch "${FILESDIR}"/${PN}-5.14.1-cleanup-paths.patch + epatch "${FILESDIR}"/${PN}-5.8.8-usr-local.patch + epatch "${FILESDIR}"/${PN}-5.10.1-hpux.patch + epatch "${FILESDIR}"/${PN}-5.8.8-darwin-cc-ld.patch + epatch "${FILESDIR}"/${PN}-5.12.3-mint.patch + epatch "${FILESDIR}"/${PN}-5.12.3-interix.patch + + # rest of usr-local patch + sed -i \ + -e '/^locincpth=/c\locincpth=""' \ + -e '/^loclibpth=/c\loclibpth=""' \ + -e '/^glibpth=.*\/local\//s: /usr/local/lib.*":":' \ + Configure || die +} + +myconf() { + # the myconf array is declared in src_configure + myconf=( "${myconf[@]}" "$@" ) +} + +src_configure() { + declare -a myconf + + export LC_ALL="C" + [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091 + + # some arches and -O do not mix :) + use ppc && replace-flags -O? -O1 + # Perl has problems compiling with -Os in your flags with glibc + use elibc_uclibc || replace-flags "-Os" "-O2" + # This flag makes compiling crash in interesting ways + filter-flags "-malign-double" + # Fixes bug #97645 + use ppc && filter-flags "-mpowerpc-gpopt" + # Fixes bug #143895 on gcc-4.1.1 + filter-flags "-fsched2-use-superblocks" + + use sparc && myconf -Ud_longdbl + + # 266337 + export BUILD_BZIP2=0 + export BZIP2_INCLUDE=${EPREFIX}/usr/include + export BZIP2_LIB=${EPREFIX}/usr/$(get_libdir) + cat <<-EOF > "${S}/cpan/Compress-Raw-Zlib/config.in" + BUILD_ZLIB = False + INCLUDE = ${EPREFIX}/usr/include + LIB = ${EPREFIX}/usr/$(get_libdir) + + OLD_ZLIB = False + GZIP_OS_CODE = AUTO_DETECT + EOF + + # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1 + + myndbm='U' + mygdbm='U' + mydb='U' + + if use gdbm ; then + mygdbm='D' + myndbm='D' + fi + if use berkdb ; then + mydb='D' + has_version '=sys-libs/db-1*' && myndbm='D' + fi + + myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db" + + if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then + ewarn "Perl will not be built with berkdb support, use gcc if you needed it..." + myconf -Ui_db -Ui_ndbm + fi + + use ithreads && myconf -Dusethreads + + if use debug ; then + append-cflags "-g" + myconf -DDEBUGGING + elif [[ ${CFLAGS} == *-g* ]] ; then + myconf -DDEBUGGING=-g + else + myconf -DDEBUGGING=none + fi + + if [[ -n ${PERL_OLDVERSEN} ]] ; then + local inclist=$(for v in ${PERL_OLDVERSEN}; do echo -n "${v}/${myarch}${mythreading} ${v} "; done ) + myconf -Dinc_version_list="${inclist}" + fi + + [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a" + + # Prefix: the host system needs not to follow Gentoo multilib stuff, and in + # Prefix itself we don't do multilib either, so make sure perl can find + # something compatible. + if use prefix ; then + local ldir + local llib + local paths="" + echo "int main() {}" > "${T}"/t.c + # need to ensure dirs contain compatible libs, bug #358875 + for ldir in /lib /usr/lib /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 ; do + [[ -d ${ldir} ]] || continue + # find a random lib from here + llib=( ${ldir}/*$(get_libname) ) + [[ -e ${llib[0]} ]] || continue + $(tc-getCC) -o "${T}"/t "${T}"/t.c ${llib[0]} >& /dev/null \ + && paths="${paths} ${ldir}" + done + myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}" + elif [[ $(get_libdir) != "lib" ]] ; then + # We need to use " and not ', as the written config.sh use ' ... + myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)" + fi + + # don't try building ODBM, bug #354453 + myconf -Dnoextensions=ODBM_File + + sh Configure \ + -des \ + -Duseshrplib \ + -Darchname="${myarch}" \ + -Dcc="$(tc-getCC)" \ + -Doptimize="${CFLAGS}" \ + -Dldflags="${LDFLAGS}" \ + -Dprefix="${EPREFIX}"'/usr' \ + -Dinstallprefix="${EPREFIX}"'/usr' \ + -Dsiteprefix="${EPREFIX}"'/usr' \ + -Dvendorprefix="${EPREFIX}"'/usr' \ + -Dscriptdir="${EPREFIX}"'/usr/bin' \ + -Dprivlib="${EPREFIX}${PRIV_LIB}" \ + -Darchlib="${EPREFIX}${ARCH_LIB}" \ + -Dsitelib="${EPREFIX}${SITE_LIB}" \ + -Dsitearch="${EPREFIX}${SITE_ARCH}" \ + -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \ + -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \ + -Dman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dsiteman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dsiteman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dman1ext='1' \ + -Dman3ext='3pm' \ + -Dlibperl="${LIBPERL}" \ + -Dlocincpth="${EPREFIX}"'/usr/include ' \ + -Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \ + -Duselargefiles \ + -Dd_semctl_semun \ + -Dcf_by='Gentoo' \ + -Dmyhostname='localhost' \ + -Dperladmin='root@localhost' \ + -Dinstallusrbinperl='n' \ + -Ud_csh \ + -Uusenm \ + "${myconf[@]}" || die "Unable to configure" +} + +src_test() { + if [[ ${EUID} == 0 ]] ; then + ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..." + return 0 + fi + use elibc_uclibc && export MAKEOPTS+=" -j1" + TEST_JOBS=$(echo -j1 ${MAKEOPTS} | sed -r 's/.*(-j[[:space:]]*|--jobs=)([[:digit:]]+).*/\2/' ) \ + make test_harness || die "test failed" +} + +src_install() { + local i + local coredir="${ARCH_LIB}/CORE" + + local installtarget=install + if use build ; then + installtarget=install.perl + fi + emake DESTDIR="${D}" ${installtarget} + + rm -f "${ED}"/usr/bin/perl + ln -s perl${MY_PV} "${ED}"/usr/bin/perl || die + + if ! tc-is-static-only ; then + dolib.so "${ED}"${coredir}/${LIBPERL} + rm -f "${ED}"${coredir}/${LIBPERL} + ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die + ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die + ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die + fi + + rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages" + +# # A poor fix for the miniperl issues +# dosed 's:./miniperl:/usr/bin/perl:' /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp +# fperms 0444 /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp +# dosed 's:./miniperl:/usr/bin/perl:' /usr/bin/xsubpp +# fperms 0755 /usr/bin/xsubpp + + # This removes ${D} from Config.pm + for i in $(find "${D}" -iname "Config.pm" ) ; do + einfo "Removing ${D} from ${i}..." + sed -i -e "s:${D}::" "${i}" || die "Sed failed" + done + + find "${ED}" -type f -name .packlist -delete || die + + # Note: find out from psm why we would need/want this. + # ( use berkdb && has_version '=sys-libs/db-1*' ) || + # find "${ED}" -name "*NDBM*" | xargs rm -f + + dodoc Changes* README AUTHORS + + if use doc ; then + # HTML Documentation + # We expect errors, warnings, and such with the following. + + dodir /usr/share/doc/${PF}/html + LD_LIBRARY_PATH=. ./perl installhtml \ + --podroot='.' \ + --podpath='lib:ext:pod:vms' \ + --recurse \ + --htmldir="${ED}/usr/share/doc/${PF}/html" \ + --libpods='perlfunc:perlguts:perlvar:perlrun:perlop' + fi + + if use build ; then + src_remove_extra_files + fi + + dual_scripts +} + +pkg_postinst() { + dual_scripts + + if [[ "${ROOT}" = "/" ]] ; then + local INC DIR file + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }') + einfo "Removing old .ph files" + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + for file in $(find "${DIR}" -name "*.ph" -type f ) ; do + rm -f "${file}" + einfo "<< ${file}" + done + fi + done + # Silently remove the now empty dirs + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + fi + done +# if ! use build ; then +# ebegin "Generating ConfigLocal.pm (ignore any error)" +# enc2xs -C +# fi + + einfo "Converting C header files to the corresponding Perl format (ignore any error)" + # Prefix note: unprefixed as this is all kernel/libc stuff that we never provide + pushd /usr/include >/dev/null + h2ph -Q -a -d "${EPREFIX}"${ARCH_LIB} \ + asm/termios.h syscall.h syslimits.h syslog.h sys/ioctl.h \ + sys/socket.h sys/time.h wait.h sysexits.h + popd >/dev/null + +# This has been moved into a function because rumor has it that a future release +# of portage will allow us to check what version was just removed - which means +# we will be able to invoke this only as needed :) + # Tried doing this via -z, but $INC is too big... + #if [[ "${INC}x" != "x" ]]; then + # cleaner_msg + #fi + fi +} + +pkg_postrm(){ + dual_scripts + +# if [[ -e ${ARCH_LIB}/Encode/ConfigLocal.pm ]] ; then +# ebegin "Removing ConfigLocal.pm" +# rm "${ARCH_LIB}/Encode/ConfigLocal.pm" +# fi +} + +cleaner_msg() { + eerror "You have had multiple versions of perl. It is recommended" + eerror "that you run perl-cleaner now. perl-cleaner will" + eerror "assist with this transition. This script is capable" + eerror "of cleaning out old .ph files, rebuilding modules for " + eerror "your new version of perl, as well as re-emerging" + eerror "applications that compiled against your old libperl$(get_libname)" + eerror + eerror "PLEASE DO NOT INTERRUPT THE RUNNING OF THIS SCRIPT." + eerror "Part of the rebuilding of applications compiled against " + eerror "your old libperl involves temporarily unmerging" + eerror "them - interruptions could leave you with unmerged" + eerror "packages before they can be remerged." + eerror "" + eerror "If you have run perl-cleaner and a package still gives" + eerror "you trouble, and re-emerging it fails to correct" + eerror "the problem, please check http://bugs.gentoo.org/" + eerror "for more information or to report a bug." + eerror "" +} + +src_remove_dual_file() { + local i pkg ver + pkg="$1" + ver="$2" + shift 2 + case "${EBUILD_PHASE:-none}" in + postinst|postrm) + for i in "$@" ; do + alternatives_auto_makesym "${i}" "${i}-[0-9]*" + done + ;; + setup) + for i in "$@" ; do + if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then + has_version ${pkg} && ewarn "You must reinstall ${pkg} !" + break + fi + done + ;; + install) + for i in "$@" ; do + if ! [[ -f "${ED}"${i} ]] ; then + use build || ewarn "${i} does not exist!" + continue + fi + mv "${ED}"${i}{,-${ver}-${P}} || die + done + ;; + esac +} + +src_remove_dual_man() { + local i pkg ver ff + pkg="$1" + ver="$2" + shift 2 + case "${EBUILD_PHASE:-none}" in + postinst|postrm) + for i in "$@" ; do + ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*` + ff=${ff##*${i#${i%.[0-9]}}} + alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*" + done + ;; + install) + for i in "$@" ; do + if ! [[ -f "${ED}"${i} ]] ; then + use build || ewarn "${i} does not exist!" + continue + fi + mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die + done + ;; + esac +} + +src_remove_dual() { + local i pkg ver + pkg="$1" + ver="$2" + shift 2 + for i in "$@" ; do + src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}" + src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1" + done +} + +src_remove_extra_files() { + local prefix="./usr" # ./ is important + local bindir="${prefix}/bin" + local libdir="${prefix}/$(get_libdir)" + + # I made this list from the Mandr*, Debian and ex-Connectiva perl-base list + # Then, I added several files to get GNU autotools running + # FIXME: should this be in a separated file to be sourced? + local MINIMAL_PERL_INSTALL=" + ${bindir}/h2ph + ${bindir}/perl + ${bindir}/perl${MY_PV} + ${bindir}/pod2man + ${libdir}/${LIBPERL} + ${libdir}/libperl$(get_libname) + ${libdir}/libperl$(get_libname ${SHORT_PV}) + .${PRIV_LIB}/AutoLoader.pm + .${PRIV_LIB}/B/Deparse.pm + .${PRIV_LIB}/Carp.pm + .${PRIV_LIB}/Carp/Heavy.pm + .${PRIV_LIB}/Class/Struct.pm + .${PRIV_LIB}/DirHandle.pm + .${PRIV_LIB}/Exporter.pm + .${PRIV_LIB}/Exporter/Heavy.pm + .${PRIV_LIB}/ExtUtils/Command.pm + .${PRIV_LIB}/ExtUtils/Command/MM.pm + .${PRIV_LIB}/ExtUtils/Constant.pm + .${PRIV_LIB}/ExtUtils/Constant/Base.pm + .${PRIV_LIB}/ExtUtils/Constant/Utils.pm + .${PRIV_LIB}/ExtUtils/Constant/XS.pm + .${PRIV_LIB}/ExtUtils/Embed.pm + .${PRIV_LIB}/ExtUtils/Install.pm + .${PRIV_LIB}/ExtUtils/Installed.pm + .${PRIV_LIB}/ExtUtils/Liblist.pm + .${PRIV_LIB}/ExtUtils/Liblist/Kid.pm + .${PRIV_LIB}/ExtUtils/MM.pm + .${PRIV_LIB}/ExtUtils/MM_Any.pm + .${PRIV_LIB}/ExtUtils/MM_MacOS.pm + .${PRIV_LIB}/ExtUtils/MM_Unix.pm + .${PRIV_LIB}/ExtUtils/MY.pm + .${PRIV_LIB}/ExtUtils/MakeMaker.pm + .${PRIV_LIB}/ExtUtils/MakeMaker/Config.pm + .${PRIV_LIB}/ExtUtils/Manifest.pm + .${PRIV_LIB}/ExtUtils/Miniperl.pm + .${PRIV_LIB}/ExtUtils/Mkbootstrap.pm + .${PRIV_LIB}/ExtUtils/Mksymlists.pm + .${PRIV_LIB}/ExtUtils/Packlist.pm + .${PRIV_LIB}/ExtUtils/testlib.pm + .${PRIV_LIB}/File/Basename.pm + .${PRIV_LIB}/File/Compare.pm + .${PRIV_LIB}/File/Copy.pm + .${PRIV_LIB}/File/Find.pm + .${PRIV_LIB}/File/Path.pm + .${PRIV_LIB}/File/stat.pm + .${PRIV_LIB}/FileHandle.pm + .${PRIV_LIB}/Getopt/Long.pm + .${PRIV_LIB}/Getopt/Std.pm + .${PRIV_LIB}/IPC/Open2.pm + .${PRIV_LIB}/IPC/Open3.pm + .${PRIV_LIB}/PerlIO.pm + .${PRIV_LIB}/Pod/InputObjects.pm + .${PRIV_LIB}/Pod/Man.pm + .${PRIV_LIB}/Pod/ParseLink.pm + .${PRIV_LIB}/Pod/Parser.pm + .${PRIV_LIB}/Pod/Select.pm + .${PRIV_LIB}/Pod/Text.pm + .${PRIV_LIB}/Pod/Usage.pm + .${PRIV_LIB}/SelectSaver.pm + .${PRIV_LIB}/Symbol.pm + .${PRIV_LIB}/Text/ParseWords.pm + .${PRIV_LIB}/Text/Tabs.pm + .${PRIV_LIB}/Text/Wrap.pm + .${PRIV_LIB}/Tie/Hash.pm + .${PRIV_LIB}/Time/Local.pm + .${PRIV_LIB}/XSLoader.pm + .${PRIV_LIB}/autouse.pm + .${PRIV_LIB}/base.pm + .${PRIV_LIB}/bigint.pm + .${PRIV_LIB}/bignum.pm + .${PRIV_LIB}/bigrat.pm + .${PRIV_LIB}/blib.pm + .${PRIV_LIB}/bytes.pm + .${PRIV_LIB}/bytes_heavy.pl + .${PRIV_LIB}/charnames.pm + .${PRIV_LIB}/constant.pm + .${PRIV_LIB}/diagnostics.pm + .${PRIV_LIB}/fields.pm + .${PRIV_LIB}/filetest.pm + .${PRIV_LIB}/if.pm + .${PRIV_LIB}/integer.pm + .${PRIV_LIB}/less.pm + .${PRIV_LIB}/locale.pm + .${PRIV_LIB}/open.pm + .${PRIV_LIB}/overload.pm + .${PRIV_LIB}/sigtrap.pm + .${PRIV_LIB}/sort.pm + .${PRIV_LIB}/stat.pl + .${PRIV_LIB}/strict.pm + .${PRIV_LIB}/subs.pm + .${PRIV_LIB}/unicore/To/Fold.pl + .${PRIV_LIB}/unicore/To/Lower.pl + .${PRIV_LIB}/unicore/To/Upper.pl + .${PRIV_LIB}/utf8.pm + .${PRIV_LIB}/utf8_heavy.pl + .${PRIV_LIB}/vars.pm + .${PRIV_LIB}/vmsish.pm + .${PRIV_LIB}/warnings + .${PRIV_LIB}/warnings.pm + .${PRIV_LIB}/warnings/register.pm + .${ARCH_LIB}/B.pm + .${ARCH_LIB}/CORE/libperl$(get_libname) + .${ARCH_LIB}/Config.pm + .${ARCH_LIB}/Config_heavy.pl + .${ARCH_LIB}/Cwd.pm + .${ARCH_LIB}/Data/Dumper.pm + .${ARCH_LIB}/DynaLoader.pm + .${ARCH_LIB}/Errno.pm + .${ARCH_LIB}/Fcntl.pm + .${ARCH_LIB}/File/Glob.pm + .${ARCH_LIB}/File/Spec.pm + .${ARCH_LIB}/File/Spec/Unix.pm + .${ARCH_LIB}/IO.pm + .${ARCH_LIB}/IO/File.pm + .${ARCH_LIB}/IO/Handle.pm + .${ARCH_LIB}/IO/Pipe.pm + .${ARCH_LIB}/IO/Seekable.pm + .${ARCH_LIB}/IO/Select.pm + .${ARCH_LIB}/IO/Socket.pm + .${ARCH_LIB}/IO/Socket/INET.pm + .${ARCH_LIB}/IO/Socket/UNIX.pm + .${ARCH_LIB}/List/Util.pm + .${ARCH_LIB}/NDBM_File.pm + .${ARCH_LIB}/POSIX.pm + .${ARCH_LIB}/Scalar/Util.pm + .${ARCH_LIB}/Socket.pm + .${ARCH_LIB}/Storable.pm + .${ARCH_LIB}/attributes.pm + .${ARCH_LIB}/auto/Cwd/Cwd$(get_libname) + .${ARCH_LIB}/auto/Data/Dumper/Dumper$(get_libname) + .${ARCH_LIB}/auto/DynaLoader/dl_findfile.al + .${ARCH_LIB}/auto/Fcntl/Fcntl$(get_libname) + .${ARCH_LIB}/auto/File/Glob/Glob$(get_libname) + .${ARCH_LIB}/auto/IO/IO$(get_libname) + .${ARCH_LIB}/auto/POSIX/POSIX$(get_libname) + .${ARCH_LIB}/auto/POSIX/autosplit.ix + .${ARCH_LIB}/auto/POSIX/fstat.al + .${ARCH_LIB}/auto/POSIX/load_imports.al + .${ARCH_LIB}/auto/POSIX/stat.al + .${ARCH_LIB}/auto/POSIX/tmpfile.al + .${ARCH_LIB}/auto/Socket/Socket$(get_libname) + .${ARCH_LIB}/auto/Storable/Storable$(get_libname) + .${ARCH_LIB}/auto/Storable/_retrieve.al + .${ARCH_LIB}/auto/Storable/_store.al + .${ARCH_LIB}/auto/Storable/autosplit.ix + .${ARCH_LIB}/auto/Storable/retrieve.al + .${ARCH_LIB}/auto/Storable/store.al + .${ARCH_LIB}/auto/re/re$(get_libname) + .${ARCH_LIB}/encoding.pm + .${ARCH_LIB}/lib.pm + .${ARCH_LIB}/ops.pm + .${ARCH_LIB}/re.pm + .${ARCH_LIB}/threads.pm +" + + pushd "${ED}" > /dev/null + # Remove cruft + einfo "Removing files that are not in the minimal install" + echo "${MINIMAL_PERL_INSTALL}" + for f in $(find . -type f ) ; do + has "${f}" ${MINIMAL_PERL_INSTALL} || rm -f "${f}" + done + # Remove empty directories + find . -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + #for f in ${MINIMAL_PERL_INSTALL} ; do + # [[ -e ${f} ]] || ewarn "${f} unused in MINIMAL_PERL_INSTALL" + #done + popd > /dev/null +} diff --git a/dev-lang/perl/perl-5.16.0.ebuild b/dev-lang/perl/perl-5.16.0.ebuild new file mode 100644 index 0000000..3b3393d --- /dev/null +++ b/dev-lang/perl/perl-5.16.0.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.16.0.ebuild,v 1.3 2012/06/07 06:02:12 tove Exp $ + +EAPI=4 + +inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing + +PATCH_VER=3 + +PERL_OLDVERSEN="" +MODULE_AUTHOR=RJBS + +SHORT_PV="${PV%.*}" +MY_P="perl-${PV/_rc/-RC}" +MY_PV="${PV%_rc*}" + +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" + +SRC_URI=" + mirror://cpan/src/${MY_P}.tar.bz2 + mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MY_P}.tar.bz2 + mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 + http://dev.gentoo.org/~tove/distfiles/${CATEGORY}/${PN}/${MY_P}-${PATCH_VER}.tar.bz2 +" +HOMEPAGE="http://www.perl.org/" + +LICENSE="|| ( Artistic GPL-1 GPL-2 GPL-3 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="berkdb debug doc gdbm ithreads" + +RDEPEND=" + berkdb? ( sys-libs/db ) + gdbm? ( >=sys-libs/gdbm-1.8.3 ) + app-arch/bzip2 + sys-libs/zlib +" +DEPEND="${RDEPEND} + !prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) ) +" +PDEPEND=">=app-admin/perl-cleaner-2.5" + +S="${WORKDIR}/${MY_P}" + +dual_scripts() { + src_remove_dual perl-core/Archive-Tar 1.820.0 ptar ptardiff ptargrep + src_remove_dual perl-core/Digest-SHA 5.710.0 shasum + src_remove_dual perl-core/CPAN 1.980.0 cpan + src_remove_dual perl-core/CPANPLUS 0.912.100 cpanp cpan2dist + src_remove_dual_file perl-core/CPANPLUS 0.912.100 /usr/bin/cpanp-run-perl + src_remove_dual perl-core/Encode 2.440.0 enc2xs piconv + src_remove_dual perl-core/ExtUtils-MakeMaker 6.630.200_rc instmodsh + src_remove_dual perl-core/ExtUtils-ParseXS 3.160.0 xsubpp + src_remove_dual perl-core/IO-Compress 2.48.0 zipdetails + src_remove_dual perl-core/JSON-PP 2.272.0 json_pp + src_remove_dual perl-core/Module-Build 0.390.100_rc config_data + src_remove_dual perl-core/Module-CoreList 2.660.0 corelist + src_remove_dual perl-core/PodParser 1.510.0 pod2usage podchecker podselect + src_remove_dual perl-core/Test-Harness 3.230.0 prove + src_remove_dual perl-core/podlators 2.4.0 pod2man pod2text + src_remove_dual_man perl-core/podlators 2.4.0 /usr/share/man/man1/perlpodstyle.1 +} + +# eblit-include [--skip] <function> [version] +eblit-include() { + local skipable=false + [[ $1 == "--skip" ]] && skipable=true && shift + [[ $1 == pkg_* ]] && skipable=true + + local e v func=$1 ver=$2 + [[ -z ${func} ]] && die "Usage: eblit-include <function> [version]" + for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do + e="${FILESDIR}/eblits/${func}${v}.eblit" + if [[ -e ${e} ]] ; then + . "${e}" + return 0 + fi + done + ${skipable} && return 0 + die "Could not locate requested eblit '${func}' in ${FILESDIR}/eblits/" +} + +# eblit-run-maybe <function> +# run the specified function if it is defined +eblit-run-maybe() { + [[ $(type -t "$@") == "function" ]] && "$@" +} + +# eblit-run <function> [version] +# aka: src_unpack() { eblit-run src_unpack ; } +eblit-run() { + eblit-include --skip common "${*:2}" + eblit-include "$@" + eblit-run-maybe eblit-$1-pre + eblit-${PN}-$1 + eblit-run-maybe eblit-$1-post +} + +#src_unpack() { eblit-run src_unpack v50160001 ; } +src_prepare() { eblit-run src_prepare v50160001 ; } +src_configure() { eblit-run src_configure v50160001 ; } +#src_compile() { eblit-run src_compile v50160001 ; } +src_test() { eblit-run src_test v50160001 ; } +src_install() { eblit-run src_install v50160001 ; } + +# FILESDIR might not be available during binpkg install +# FIXME: version passing +for x in setup {pre,post}{inst,rm} ; do + e="${FILESDIR}/eblits/pkg_${x}-v50160001.eblit" + if [[ -e ${e} ]] ; then + . "${e}" + eval "pkg_${x}() { eblit-run pkg_${x} v50160001 ; }" + fi +done diff --git a/dev-lang/perl/perl-5.16.1.ebuild b/dev-lang/perl/perl-5.16.1.ebuild new file mode 100644 index 0000000..813d318 --- /dev/null +++ b/dev-lang/perl/perl-5.16.1.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.16.1.ebuild,v 1.1 2012/08/09 14:38:29 tove Exp $ + +EAPI=4 + +inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing + +PATCH_VER=1 + +PERL_OLDVERSEN="5.16.0" +MODULE_AUTHOR=RJBS + +SHORT_PV="${PV%.*}" +MY_P="perl-${PV/_rc/-RC}" +MY_PV="${PV%_rc*}" + +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" + +SRC_URI=" + mirror://cpan/src/${MY_P}.tar.bz2 + mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MY_P}.tar.bz2 + mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 + http://dev.gentoo.org/~tove/distfiles/${CATEGORY}/${PN}/${MY_P}-${PATCH_VER}.tar.bz2 +" +HOMEPAGE="http://www.perl.org/" + +LICENSE="|| ( Artistic GPL-1 GPL-2 GPL-3 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="berkdb debug doc gdbm ithreads" + +RDEPEND=" + berkdb? ( sys-libs/db ) + gdbm? ( >=sys-libs/gdbm-1.8.3 ) + app-arch/bzip2 + sys-libs/zlib +" +DEPEND="${RDEPEND} + !prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) ) +" +PDEPEND=">=app-admin/perl-cleaner-2.5" + +S="${WORKDIR}/${MY_P}" + +dual_scripts() { + src_remove_dual perl-core/Archive-Tar 1.820.0 ptar ptardiff ptargrep + src_remove_dual perl-core/Digest-SHA 5.710.0 shasum + src_remove_dual perl-core/CPAN 1.980.0 cpan + src_remove_dual perl-core/CPANPLUS 0.912.100 cpanp cpan2dist + src_remove_dual_file perl-core/CPANPLUS 0.912.100 /usr/bin/cpanp-run-perl + src_remove_dual perl-core/Encode 2.440.0 enc2xs piconv + src_remove_dual perl-core/ExtUtils-MakeMaker 6.630.200_rc instmodsh + src_remove_dual perl-core/ExtUtils-ParseXS 3.160.0 xsubpp + src_remove_dual perl-core/IO-Compress 2.48.0 zipdetails + src_remove_dual perl-core/JSON-PP 2.272.0 json_pp + src_remove_dual perl-core/Module-Build 0.390.100_rc config_data + src_remove_dual perl-core/Module-CoreList 2.700.0 corelist + src_remove_dual perl-core/PodParser 1.510.0 pod2usage podchecker podselect + src_remove_dual perl-core/Test-Harness 3.230.0 prove + src_remove_dual perl-core/podlators 2.4.0 pod2man pod2text + src_remove_dual_man perl-core/podlators 2.4.0 /usr/share/man/man1/perlpodstyle.1 +} + +# eblit-include [--skip] <function> [version] +eblit-include() { + local skipable=false + [[ $1 == "--skip" ]] && skipable=true && shift + [[ $1 == pkg_* ]] && skipable=true + + local e v func=$1 ver=$2 + [[ -z ${func} ]] && die "Usage: eblit-include <function> [version]" + for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do + e="${FILESDIR}/eblits/${func}${v}.eblit" + if [[ -e ${e} ]] ; then + . "${e}" + return 0 + fi + done + ${skipable} && return 0 + die "Could not locate requested eblit '${func}' in ${FILESDIR}/eblits/" +} + +# eblit-run-maybe <function> +# run the specified function if it is defined +eblit-run-maybe() { + [[ $(type -t "$@") == "function" ]] && "$@" +} + +# eblit-run <function> [version] +# aka: src_unpack() { eblit-run src_unpack ; } +eblit-run() { + eblit-include --skip common "${*:2}" + eblit-include "$@" + eblit-run-maybe eblit-$1-pre + eblit-${PN}-$1 + eblit-run-maybe eblit-$1-post +} + +#src_unpack() { eblit-run src_unpack v50160001 ; } +src_prepare() { eblit-run src_prepare v50160001 ; } +src_configure() { eblit-run src_configure v50160001 ; } +#src_compile() { eblit-run src_compile v50160001 ; } +src_test() { eblit-run src_test v50160001 ; } +src_install() { eblit-run src_install v50160001 ; } + +# FILESDIR might not be available during binpkg install +# FIXME: version passing +for x in setup {pre,post}{inst,rm} ; do + e="${FILESDIR}/eblits/pkg_${x}-v50160001.eblit" + if [[ -e ${e} ]] ; then + . "${e}" + eval "pkg_${x}() { eblit-run pkg_${x} v50160001 ; }" + fi +done diff --git a/dev-lang/perl/perl-5.16.2-r1.ebuild b/dev-lang/perl/perl-5.16.2-r1.ebuild new file mode 100644 index 0000000..4800ce3 --- /dev/null +++ b/dev-lang/perl/perl-5.16.2-r1.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.16.2-r1.ebuild,v 1.1 2013/03/04 19:51:15 tove Exp $ + +EAPI=5 + +inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing + +PATCH_VER=3 + +PERL_OLDVERSEN="5.16.1 5.16.0" +MODULE_AUTHOR=RJBS + +SHORT_PV="${PV%.*}" +MY_P="perl-${PV/_rc/-RC}" +MY_PV="${PV%_rc*}" + +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" + +SRC_URI=" + mirror://cpan/src/${MY_P}.tar.bz2 + mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MY_P}.tar.bz2 + mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 + http://dev.gentoo.org/~tove/distfiles/${CATEGORY}/${PN}/${MY_P}-${PATCH_VER}.tar.bz2 +" +HOMEPAGE="http://www.perl.org/" + +LICENSE="|| ( Artistic GPL-1+ )" +SLOT="0/${SHORT_PV}" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="berkdb build debug doc gdbm ithreads" + +RDEPEND=" + berkdb? ( sys-libs/db ) + gdbm? ( >=sys-libs/gdbm-1.8.3 ) + app-arch/bzip2 + sys-libs/zlib +" +DEPEND="${RDEPEND} + !prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) ) +" +PDEPEND=">=app-admin/perl-cleaner-2.5" + +S="${WORKDIR}/${MY_P}" + +dual_scripts() { + src_remove_dual perl-core/Archive-Tar 1.820.0 ptar ptardiff ptargrep + src_remove_dual perl-core/Digest-SHA 5.710.0 shasum + src_remove_dual perl-core/CPAN 1.980.0 cpan + src_remove_dual perl-core/CPANPLUS 0.912.100 cpanp cpan2dist + src_remove_dual_file perl-core/CPANPLUS 0.912.100 /usr/bin/cpanp-run-perl + src_remove_dual perl-core/Encode 2.440.0 enc2xs piconv + src_remove_dual perl-core/ExtUtils-MakeMaker 6.630.200_rc instmodsh + src_remove_dual perl-core/ExtUtils-ParseXS 3.160.0 xsubpp + src_remove_dual perl-core/IO-Compress 2.48.0 zipdetails + src_remove_dual perl-core/JSON-PP 2.272.0 json_pp + src_remove_dual perl-core/Module-Build 0.390.100_rc config_data + src_remove_dual perl-core/Module-CoreList 2.760.0 corelist + src_remove_dual perl-core/PodParser 1.510.0 pod2usage podchecker podselect + src_remove_dual perl-core/Pod-Perldoc 1.170.0 perldoc + src_remove_dual perl-core/Test-Harness 3.230.0 prove + src_remove_dual perl-core/podlators 2.4.0 pod2man pod2text + src_remove_dual_man perl-core/podlators 2.4.0 /usr/share/man/man1/perlpodstyle.1 +} + +# eblit-include [--skip] <function> [version] +eblit-include() { + local skipable=false + [[ $1 == "--skip" ]] && skipable=true && shift + [[ $1 == pkg_* ]] && skipable=true + + local e v func=$1 ver=$2 + [[ -z ${func} ]] && die "Usage: eblit-include <function> [version]" + for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do + e="${FILESDIR}/eblits/${func}${v}.eblit" + if [[ -e ${e} ]] ; then + . "${e}" + return 0 + fi + done + ${skipable} && return 0 + die "Could not locate requested eblit '${func}' in ${FILESDIR}/eblits/" +} + +# eblit-run-maybe <function> +# run the specified function if it is defined +eblit-run-maybe() { + [[ $(type -t "$@") == "function" ]] && "$@" +} + +# eblit-run <function> [version] +# aka: src_unpack() { eblit-run src_unpack ; } +eblit-run() { + eblit-include --skip common "${*:2}" + eblit-include "$@" + eblit-run-maybe eblit-$1-pre + eblit-${PN}-$1 + eblit-run-maybe eblit-$1-post +} + +#src_unpack() { eblit-run src_unpack v50160001 ; } +src_prepare() { eblit-run src_prepare v50160001 ; } +src_configure() { eblit-run src_configure v50160001 ; } +#src_compile() { eblit-run src_compile v50160001 ; } +src_test() { eblit-run src_test v50160001 ; } +src_install() { eblit-run src_install v50160001 ; } + +# FILESDIR might not be available during binpkg install +# FIXME: version passing +for x in setup {pre,post}{inst,rm} ; do + e="${FILESDIR}/eblits/pkg_${x}-v50160001.eblit" + if [[ -e ${e} ]] ; then + . "${e}" + eval "pkg_${x}() { eblit-run pkg_${x} v50160001 ; }" + fi +done diff --git a/dev-lang/perl/perl-5.16.2.ebuild b/dev-lang/perl/perl-5.16.2.ebuild new file mode 100644 index 0000000..6a56790 --- /dev/null +++ b/dev-lang/perl/perl-5.16.2.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.16.2.ebuild,v 1.3 2013/02/18 22:46:49 zmedico Exp $ + +EAPI=5 + +inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing + +PATCH_VER=2 + +PERL_OLDVERSEN="5.16.1 5.16.0" +MODULE_AUTHOR=RJBS + +SHORT_PV="${PV%.*}" +MY_P="perl-${PV/_rc/-RC}" +MY_PV="${PV%_rc*}" + +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" + +SRC_URI=" + mirror://cpan/src/${MY_P}.tar.bz2 + mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MY_P}.tar.bz2 + mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 + http://dev.gentoo.org/~tove/distfiles/${CATEGORY}/${PN}/${MY_P}-${PATCH_VER}.tar.bz2 +" +HOMEPAGE="http://www.perl.org/" + +LICENSE="|| ( Artistic GPL-1 GPL-2 GPL-3 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="berkdb build debug doc gdbm ithreads" + +RDEPEND=" + berkdb? ( sys-libs/db ) + gdbm? ( >=sys-libs/gdbm-1.8.3 ) + app-arch/bzip2 + sys-libs/zlib +" +DEPEND="${RDEPEND} + !prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) ) +" +PDEPEND=">=app-admin/perl-cleaner-2.5" + +S="${WORKDIR}/${MY_P}" + +dual_scripts() { + src_remove_dual perl-core/Archive-Tar 1.820.0 ptar ptardiff ptargrep + src_remove_dual perl-core/Digest-SHA 5.710.0 shasum + src_remove_dual perl-core/CPAN 1.980.0 cpan + src_remove_dual perl-core/CPANPLUS 0.912.100 cpanp cpan2dist + src_remove_dual_file perl-core/CPANPLUS 0.912.100 /usr/bin/cpanp-run-perl + src_remove_dual perl-core/Encode 2.440.0 enc2xs piconv + src_remove_dual perl-core/ExtUtils-MakeMaker 6.630.200_rc instmodsh + src_remove_dual perl-core/ExtUtils-ParseXS 3.160.0 xsubpp + src_remove_dual perl-core/IO-Compress 2.48.0 zipdetails + src_remove_dual perl-core/JSON-PP 2.272.0 json_pp + src_remove_dual perl-core/Module-Build 0.390.100_rc config_data + src_remove_dual perl-core/Module-CoreList 2.760.0 corelist + src_remove_dual perl-core/PodParser 1.510.0 pod2usage podchecker podselect + src_remove_dual perl-core/Test-Harness 3.230.0 prove + src_remove_dual perl-core/podlators 2.4.0 pod2man pod2text + src_remove_dual_man perl-core/podlators 2.4.0 /usr/share/man/man1/perlpodstyle.1 +} + +# eblit-include [--skip] <function> [version] +eblit-include() { + local skipable=false + [[ $1 == "--skip" ]] && skipable=true && shift + [[ $1 == pkg_* ]] && skipable=true + + local e v func=$1 ver=$2 + [[ -z ${func} ]] && die "Usage: eblit-include <function> [version]" + for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do + e="${FILESDIR}/eblits/${func}${v}.eblit" + if [[ -e ${e} ]] ; then + . "${e}" + return 0 + fi + done + ${skipable} && return 0 + die "Could not locate requested eblit '${func}' in ${FILESDIR}/eblits/" +} + +# eblit-run-maybe <function> +# run the specified function if it is defined +eblit-run-maybe() { + [[ $(type -t "$@") == "function" ]] && "$@" +} + +# eblit-run <function> [version] +# aka: src_unpack() { eblit-run src_unpack ; } +eblit-run() { + eblit-include --skip common "${*:2}" + eblit-include "$@" + eblit-run-maybe eblit-$1-pre + eblit-${PN}-$1 + eblit-run-maybe eblit-$1-post +} + +#src_unpack() { eblit-run src_unpack v50160001 ; } +src_prepare() { eblit-run src_prepare v50160001 ; } +src_configure() { eblit-run src_configure v50160001 ; } +#src_compile() { eblit-run src_compile v50160001 ; } +src_test() { eblit-run src_test v50160001 ; } +src_install() { eblit-run src_install v50160001 ; } + +# FILESDIR might not be available during binpkg install +# FIXME: version passing +for x in setup {pre,post}{inst,rm} ; do + e="${FILESDIR}/eblits/pkg_${x}-v50160001.eblit" + if [[ -e ${e} ]] ; then + . "${e}" + eval "pkg_${x}() { eblit-run pkg_${x} v50160001 ; }" + fi +done diff --git a/dev-lang/perl/perl-5.16.3.ebuild b/dev-lang/perl/perl-5.16.3.ebuild new file mode 100644 index 0000000..42fe0c5 --- /dev/null +++ b/dev-lang/perl/perl-5.16.3.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.16.3.ebuild,v 1.1 2013/03/12 04:38:09 tove Exp $ + +EAPI=5 + +inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing prefix + +PATCH_VER=1 + +PERL_OLDVERSEN="5.16.2 5.16.1 5.16.0" +MODULE_AUTHOR=RJBS + +SHORT_PV="${PV%.*}" +MY_P="perl-${PV/_rc/-RC}" +MY_PV="${PV%_rc*}" + +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" + +SRC_URI=" + mirror://cpan/src/${MY_P}.tar.bz2 + mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MY_P}.tar.bz2 + mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2 + http://dev.gentoo.org/~tove/distfiles/${CATEGORY}/${PN}/${MY_P}-${PATCH_VER}.tar.bz2 +" +HOMEPAGE="http://www.perl.org/" + +LICENSE="|| ( Artistic GPL-1+ )" +SLOT="0/${SHORT_PV}" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="berkdb build debug doc gdbm ithreads" + +RDEPEND=" + berkdb? ( sys-libs/db ) + gdbm? ( >=sys-libs/gdbm-1.8.3 ) + app-arch/bzip2 + sys-libs/zlib +" +DEPEND="${RDEPEND} + !prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) ) +" +PDEPEND=">=app-admin/perl-cleaner-2.5" + +S="${WORKDIR}/${MY_P}" + +dual_scripts() { + src_remove_dual perl-core/Archive-Tar 1.820.0 ptar ptardiff ptargrep + src_remove_dual perl-core/Digest-SHA 5.710.0 shasum + src_remove_dual perl-core/CPAN 1.980.0 cpan + src_remove_dual perl-core/CPANPLUS 0.912.100 cpanp cpan2dist + src_remove_dual_file perl-core/CPANPLUS 0.912.100 /usr/bin/cpanp-run-perl + src_remove_dual perl-core/Encode 2.440.0 enc2xs piconv + src_remove_dual perl-core/ExtUtils-MakeMaker 6.630.200_rc instmodsh + src_remove_dual perl-core/ExtUtils-ParseXS 3.160.0 xsubpp + src_remove_dual perl-core/IO-Compress 2.48.0 zipdetails + src_remove_dual perl-core/JSON-PP 2.272.0 json_pp + src_remove_dual perl-core/Module-Build 0.390.100_rc config_data + src_remove_dual perl-core/Module-CoreList 2.840.0 corelist + src_remove_dual perl-core/PodParser 1.510.0 pod2usage podchecker podselect + src_remove_dual perl-core/Pod-Perldoc 1.170.0 perldoc + src_remove_dual perl-core/Test-Harness 3.230.0 prove + src_remove_dual perl-core/podlators 2.4.0 pod2man pod2text + src_remove_dual_man perl-core/podlators 2.4.0 /usr/share/man/man1/perlpodstyle.1 +} + +# eblit-include [--skip] <function> [version] +eblit-include() { + local skipable=false + [[ $1 == "--skip" ]] && skipable=true && shift + [[ $1 == pkg_* ]] && skipable=true + + local e v func=$1 ver=$2 + [[ -z ${func} ]] && die "Usage: eblit-include <function> [version]" + for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do + e="${FILESDIR}/eblits/${func}${v}.eblit" + if [[ -e ${e} ]] ; then + . "${e}" + return 0 + fi + done + ${skipable} && return 0 + die "Could not locate requested eblit '${func}' in ${FILESDIR}/eblits/" +} + +# eblit-run-maybe <function> +# run the specified function if it is defined +eblit-run-maybe() { + [[ $(type -t "$@") == "function" ]] && "$@" +} + +# eblit-run <function> [version] +# aka: src_unpack() { eblit-run src_unpack ; } +eblit-run() { + eblit-include --skip common "${*:2}" + eblit-include "$@" + eblit-run-maybe eblit-$1-pre + eblit-${PN}-$1 + eblit-run-maybe eblit-$1-post +} + +#src_unpack() { eblit-run src_unpack v50160001 ; } +src_prepare() { eblit-run src_prepare v50160001 ; } +src_configure() { eblit-run src_configure v50160001 ; } +#src_compile() { eblit-run src_compile v50160001 ; } +src_test() { eblit-run src_test v50160001 ; } +src_install() { eblit-run src_install v50160001 ; } + +# FILESDIR might not be available during binpkg install +# FIXME: version passing +for x in setup {pre,post}{inst,rm} ; do + e="${FILESDIR}/eblits/pkg_${x}-v50160001.eblit" + if [[ -e ${e} ]] ; then + . "${e}" + eval "pkg_${x}() { eblit-run pkg_${x} v50160001 ; }" + fi +done diff --git a/dev-lang/perl/perl-5.8.8-r8.ebuild b/dev-lang/perl/perl-5.8.8-r8.ebuild new file mode 100644 index 0000000..acea381 --- /dev/null +++ b/dev-lang/perl/perl-5.8.8-r8.ebuild @@ -0,0 +1,698 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.8.8-r8.ebuild,v 1.14 2012/01/02 22:52:21 zmedico Exp $ + +inherit eutils alternatives flag-o-matic toolchain-funcs multilib + +# The slot of this binary compat version of libperl.so +PERLSLOT="1" + +SHORT_PV="${PV%.*}" +MY_P="perl-${PV/_rc/-RC}" +MY_PV="${PV%_rc*}" +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" +S="${WORKDIR}/${MY_P}" +SRC_URI="mirror://cpan/src/${MY_P}.tar.bz2" +HOMEPAGE="http://www.perl.org/" +LIBPERL="libperl$(get_libname ${PERLSLOT}.${SHORT_PV})" + +LICENSE="|| ( Artistic GPL-1 GPL-2 GPL-3 )" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd" +IUSE="berkdb debug doc gdbm ithreads perlsuid build elibc_FreeBSD" +PERL_OLDVERSEN="5.8.0 5.8.2 5.8.4 5.8.5 5.8.6 5.8.7" + +DEPEND="berkdb? ( sys-libs/db ) + gdbm? ( >=sys-libs/gdbm-1.8.3 ) + >=sys-devel/libperl-${PV}-r1 + elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) + <sys-devel/libperl-5.9 + !<perl-core/File-Spec-0.87 + !<perl-core/Test-Simple-0.47-r1" + +RDEPEND="~sys-devel/libperl-${PV} + berkdb? ( sys-libs/db ) + gdbm? ( >=sys-libs/gdbm-1.8.3 ) + build? ( + !perl-core/Test-Harness + !perl-core/PodParser + !dev-perl/Locale-gettext + )" + +PDEPEND=">=app-admin/perl-cleaner-1.03" + +dual_scripts() { + src_remove_dual_scripts perl-core/Encode 2.12 enc2xs piconv + src_remove_dual_scripts perl-core/PodParser 1.32 pod2usage podchecker podselect + src_remove_dual_scripts perl-core/ExtUtils-MakeMaker 6.30 instmodsh + src_remove_dual_scripts perl-core/Test-Harness 2.56 prove + src_remove_dual_scripts perl-core/CPAN 1.76_02 cpan + src_remove_dual_scripts perl-core/podlators 1.37 pod2man pod2text +} + +pkg_setup() { + # I think this should rather be displayed if you *have* 'ithreads' + # in USE if it could break things ... + if use ithreads + then + ewarn "PLEASE NOTE: You are compiling ${MY_P} with" + ewarn "interpreter-level threading enabled." + ewarn "Threading is not supported by all applications " + ewarn "that compile against perl. You use threading at " + ewarn "your own discretion. " + epause 5 + fi + + if [[ ! -f "${ROOT}/usr/$(get_libdir)/${LIBPERL}" ]] + then + # Make sure we have libperl installed ... + eerror "Cannot find ${ROOT}/usr/$(get_libdir)/${LIBPERL}! Make sure that you" + eerror "have sys-libs/libperl installed properly ..." + die "Cannot find ${ROOT}/usr/$(get_libdir)/${LIBPERL}!" + fi + dual_scripts +} + +src_unpack() { + unpack ${A} + + # Get -lpthread linked before -lc. This is needed + # when using glibc >= 2.3, or else runtime signal + # handling breaks. Fixes bug #14380. + # <rac@gentoo.org> (14 Feb 2003) + # reinstated to try to avoid sdl segfaults 03.10.02 + cd "${S}"; epatch "${FILESDIR}"/${PN}-prelink-lpthread.patch + + # Patch perldoc to not abort when it attempts to search + # nonexistent directories; fixes bug #16589. + # <rac@gentoo.org> (28 Feb 2003) + + cd "${S}"; epatch "${FILESDIR}"/${PN}-perldoc-emptydirs.patch + + # this lays the groundwork for solving the issue of what happens + # when people (or ebuilds) install different versiosn of modules + # that are in the core, by rearranging the @INC directory to look + # site -> vendor -> core. + cd "${S}"; epatch "${FILESDIR}"/${P}-reorder-INC.patch + + # 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 + # attempts to avoid bringing cccdlflags to bear on static + # extensions (like DynaLoader). i believe this is + # counterproductive on a Gentoo system which has both a shared + # and static libperl, so effectively revert this here. + cd "${S}"; epatch "${FILESDIR}"/${PN}-picdl.patch + + # Configure makes an unwarranted assumption that /bin/ksh is a + # good shell. This patch makes it revert to using /bin/sh unless + # /bin/ksh really is executable. Should fix bug 42665. + # rac 2004.06.09 + cd "${S}"; epatch "${FILESDIR}"/${PN}-noksh.patch + + # makedepend.SH contains a syntax error which is ignored by bash but causes + # dash to abort + epatch "${FILESDIR}"/${P}-makedepend-syntax.patch + + # We do not want the build root in the linked perl module's RUNPATH, so + # strip paths containing PORTAGE_TMPDIR if its set. This is for the + # MakeMaker module, bug #105054. + epatch "${FILESDIR}"/${PN}-5.8.7-MakeMaker-RUNPATH.patch + + # Starting and hopefully ending with 5.8.7 we observe stack + # corruption with the regexp handling in perls DynaLoader code + # with ssp enabled. This become fatal during compile time so we + # temporally disable ssp on two regexp files till upstream has a + # chance to work it out. Bug #97452 + [[ -n $(test-flags -fno-stack-protector) ]] && \ + epatch "${FILESDIR}"/${PN}-regexp-nossp.patch + + # On PA7200, uname -a contains a single quote and we need to + # filter it otherwise configure fails. See #125535. + epatch "${FILESDIR}"/perl-hppa-pa7200-configure.patch + + case "$(get_libdir)" in + lib64) cd "${S}" && epatch "${FILESDIR}"/${P}-lib64.patch;; + lib32) cd "${S}" && epatch "${FILESDIR}"/${P}-lib32.patch;; + lib) true;; + *) die "Something's wrong with your libdir, don't know how to treat it.";; + esac + + [[ ${CHOST} == *-dragonfly* ]] && cd "${S}" && epatch "${FILESDIR}"/${P}-dragonfly-clean.patch + [[ ${CHOST} == *-freebsd* ]] && cd "${S}" && epatch "${FILESDIR}"/${P}-fbsdhints.patch + cd "${S}"; epatch "${FILESDIR}"/${P}-USE_MM_LD_RUN_PATH.patch + cd "${S}"; epatch "${FILESDIR}"/${P}-links.patch + # c++ patch - should address swig related items + cd "${S}"; epatch "${FILESDIR}"/${P}-cplusplus.patch + + epatch "${FILESDIR}"/${P}-gcc42-command-line.patch + + # Newer linux-headers don't include asm/page.h. Fix this. + # Patch from bug 168312, thanks Peter! + echo "#include <asm/page.h>" | $(tc-getCPP) > /dev/null 2>&1 || \ + epatch "${FILESDIR}"/${P}-asm-page-h-compile-failure.patch + + # Also add the directory prefix of the current file when the quote syntax is + # used; 'require' will only look in @INC, not the current directory. + epatch "${FILESDIR}"/${PN}-fix_h2ph_include_quote.patch + + # perlcc fix patch - bug #181229 + epatch "${FILESDIR}"/${P}-perlcc.patch + + # libnet hostname test patch + epatch "${FILESDIR}"/${P}-libnet-hostname.patch + + # patch to fix bug #198196 + # UTF/Regular expressions boundary error (CVE-2007-5116) + epatch "${FILESDIR}"/${P}-utf8-boundary.patch + + # patch to fix bug #219203 + epatch "${FILESDIR}"/${P}-CVE-2008-1927.patch + + epatch "${FILESDIR}"/${P}-CAN-2005-0448-rmtree-2.patch + epatch "${FILESDIR}"/${P}-fix_file_path_chdir.patch + + # Respect CFLAGS even for linking when done with compiler + epatch "${FILESDIR}"/${P}-ccld-cflags.patch +} + +myconf() { + # the myconf array is declared in src_configure + myconf=( "${myconf[@]}" "$@" ) +} + +src_configure() { + declare -a myconf + + # some arches and -O do not mix :) + use ppc && replace-flags -O? -O1 + # Perl has problems compiling with -Os in your flags with glibc + use elibc_uclibc || replace-flags "-Os" "-O2" + ( gcc-specs-ssp && use ia64 ) && append-flags -fno-stack-protector + # This flag makes compiling crash in interesting ways + filter-flags -malign-double + # Fixes bug #97645 + use ppc && filter-flags -mpowerpc-gpopt + # Fixes bug #143895 on gcc-4.1.1 + filter-flags "-fsched2-use-superblocks" + + export LC_ALL="C" + [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091 + + case ${CHOST} in + *-freebsd*) osname="freebsd" ;; + *-dragonfly*) osname="dragonfly" ;; + *-netbsd*) osname="netbsd" ;; + *-openbsd*) osname="openbsd" ;; + *-darwin*) osname="darwin" ;; + + *) osname="linux" ;; + esac + + if use ithreads + then + einfo "using ithreads" + mythreading="-multi" + myconf -Dusethreads + myarch=${CHOST} + myarch="${myarch%%-*}-${osname}-thread" + else + myarch=${CHOST} + myarch="${myarch%%-*}-${osname}" + fi + + local inclist=$(for v in $PERL_OLDVERSEN; do echo -n "$v $v/$myarch$mythreading "; done) + + # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1 + + myndbm='U' + mygdbm='U' + mydb='U' + + if use gdbm + then + mygdbm='D' + myndbm='D' + fi + if use berkdb + then + mydb='D' + has_version '=sys-libs/db-1*' && myndbm='D' + fi + + myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db" + + if use mips + then + # this is needed because gcc 3.3-compiled kernels will hang + # the machine trying to run this test - check with `Kumba + # <rac@gentoo.org> 2003.06.26 + myconf -Dd_u32align + fi + + if use perlsuid + then + myconf -Dd_dosuid + ewarn "You have enabled Perl's suid compile. Please" + ewarn "read http://search.cpan.org/~nwclark/perl-5.8.8/INSTALL#suidperl" + epause 3 + fi + + if use debug + then + CFLAGS="${CFLAGS} -g" + myconf -DDEBUGGING + fi + + if use sparc + then + myconf -Ud_longdbl + fi + + if use alpha && "$(tc-getCC)" == "ccc" + then + ewarn "Perl will not be built with berkdb support, use gcc if you needed it..." + myconf -Ui_db -Ui_ndbm + fi + + [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a" + + if [[ $(get_libdir) != "lib" ]] ; then + # We need to use " and not ', as the written config.sh use ' ... + myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)" + fi + + sh Configure -des \ + -Darchname="${myarch}" \ + -Dcccdlflags='-fPIC' \ + -Dccdlflags='-rdynamic' \ + -Dcc="$(tc-getCC)" \ + -Dprefix='/usr' \ + -Dvendorprefix='/usr' \ + -Dsiteprefix='/usr' \ + -Dlocincpth=' ' \ + -Doptimize="${CFLAGS}" \ + -Duselargefiles \ + -Dd_semctl_semun \ + -Dscriptdir=/usr/bin \ + -Dman1dir=/usr/share/man/man1 \ + -Dman3dir=/usr/share/man/man3 \ + -Dinstallman1dir=/usr/share/man/man1 \ + -Dinstallman3dir=/usr/share/man/man3 \ + -Dman1ext='1' \ + -Dman3ext='3pm' \ + -Dinc_version_list="$inclist" \ + -Dcf_by='Gentoo' \ + -Ud_csh \ + -Dusenm \ + "${myconf[@]}" || die "Unable to configure" +} + +src_compile() { + + # would like to bracket this with a test for the existence of a + # dotfile, but can't clean it automatically now. + + src_configure + + emake -j1 || die "Unable to make" +} + +src_test() { + use elibc_uclibc && export MAKEOPTS="${MAKEOPTS} -j1" + emake -i test CCDLFLAGS= || die "test failed" +} + +src_install() { + + export LC_ALL="C" + + # Need to do this, else apps do not link to dynamic version of + # the library ... + local coredir="/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}/CORE" + dodir ${coredir} + dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/${LIBPERL} + dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname ${PERLSLOT}) + dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname) + + # Fix for "stupid" modules and programs + dodir /usr/$(get_libdir)/perl5/site_perl/${MY_PV}/${myarch}${mythreading} + + local installtarget=install + if use build ; then + installtarget=install.perl + fi + make DESTDIR="${D}" ${installtarget} || die "Unable to make ${installtarget}" + + rm "${D}"/usr/bin/perl + ln -s perl${MY_PV} "${D}"/usr/bin/perl + + cp -f utils/h2ph utils/h2ph_patched + epatch "${FILESDIR}"/${PN}-h2ph-ansi-header.patch + + LD_LIBRARY_PATH=. ./perl -Ilib utils/h2ph_patched \ + -a -d "${D}"/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading} <<EOF +asm/termios.h +syscall.h +syslimits.h +syslog.h +sys/ioctl.h +sys/socket.h +sys/time.h +wait.h +EOF + + # This is to fix a missing c flag for backwards compat + for i in `find "${D}"/usr/$(get_libdir)/perl5 -iname "Config.pm"`;do + sed -e "s:ccflags=':ccflags='-DPERL5 :" \ + -e "s:cppflags=':cppflags='-DPERL5 :" \ + ${i} > ${i}.new &&\ + mv ${i}.new ${i} || die "Sed failed" + done + + # A poor fix for the miniperl issues + dosed 's:./miniperl:/usr/bin/perl:' /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp + fperms 0444 /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp + dosed 's:./miniperl:/usr/bin/perl:' /usr/bin/xsubpp + fperms 0755 /usr/bin/xsubpp + + # This removes ${D} from Config.pm and .packlist + for i in `find "${D}" -iname "Config.pm"` `find "${D}" -iname ".packlist"`;do + einfo "Removing ${D} from ${i}..." + sed -e "s:${D}::" ${i} > ${i}.new &&\ + mv ${i}.new ${i} || die "Sed failed" + done + + # Note: find out from psm why we would need/want this. + # ( use berkdb && has_version '=sys-libs/db-1*' ) || + # find ${D} -name "*NDBM*" | xargs rm -f + + dodoc Changes* Artistic Copying README Todo* AUTHORS + + if use doc + then + # HTML Documentation + # We expect errors, warnings, and such with the following. + + dodir /usr/share/doc/${PF}/html + ./perl installhtml \ + --podroot='.' \ + --podpath='lib:ext:pod:vms' \ + --recurse \ + --htmldir="${D}/usr/share/doc/${PF}/html" \ + --libpods='perlfunc:perlguts:perlvar:perlrun:perlop' + fi + cd `find "${D}" -name Path.pm|sed -e 's/Path.pm//'` + # CAN patch in bug 79685 + #epatch "${FILESDIR}"/${P}-CAN-2005-0448-rmtree-2.patch + + dual_scripts + + if use build ; then + src_remove_extra_files + fi +} + +pkg_postinst() { + dual_scripts + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${MY_PV}'|etc|local|perl$/; print "$line\n" }') + if [[ "${ROOT}" = "/" ]] + then + ebegin "Removing old .ph files" + for DIR in $INC; do + if [[ -d "${ROOT}"/$DIR ]]; then + for file in $(find "${ROOT}"/$DIR -name "*.ph" -type f); do + rm "${ROOT}"/$file + einfo "<< $file" + done + fi + done + # Silently remove the now empty dirs + for DIR in $INC; do + if [[ -d "${ROOT}"/$DIR ]]; then + find "${ROOT}"/$DIR -depth -type d | xargs -r rmdir &> /dev/null + fi + done + ebegin "Generating ConfigLocal.pm (ignore any error)" + enc2xs -C + ebegin "Converting C header files to the corresponding Perl format" + cd /usr/include; + h2ph * + h2ph -r sys/* arpa/* netinet/* bits/* security/* asm/* gnu/* linux/* gentoo* + cd /usr/include/linux + h2ph * + fi + +# This has been moved into a function because rumor has it that a future release +# of portage will allow us to check what version was just removed - which means +# we will be able to invoke this only as needed :) + # Tried doing this via -z, but $INC is too big... + if [[ "${INC}x" != "x" ]]; then + cleaner_msg + epause 5 + fi +} + +pkg_postrm() { + dual_scripts +} + +cleaner_msg() { + eerror "You have had multiple versions of perl. It is recommended" + eerror "that you run perl-cleaner now. perl-cleaner will" + eerror "assist with this transition. This script is capable" + eerror "of cleaning out old .ph files, rebuilding modules for " + eerror "your new version of perl, as well as re-emerging" + eerror "applications that compiled against your old libperl$(get_libname)" + eerror + eerror "PLEASE DO NOT INTERRUPT THE RUNNING OF THIS SCRIPT." + eerror "Part of the rebuilding of applications compiled against " + eerror "your old libperl involves temporarily unmerging" + eerror "them - interruptions could leave you with unmerged" + eerror "packages before they can be remerged." + eerror "" + eerror "If you have run perl-cleaner and a package still gives" + eerror "you trouble, and re-emerging it fails to correct" + eerror "the problem, please check http://bugs.gentoo.org/" + eerror "for more information or to report a bug." + eerror "" + eerror "" +} + +src_remove_dual_scripts() { + local i pkg ver ff + pkg="$1" + ver="$2" + shift 2 + if has "${EBUILD_PHASE:-none}" "postinst" "postrm" ;then + for i in "$@" ; do + ff=`echo ${ROOT}/usr/share/man/man1/${i}-${ver}-${P}.1*` + ff=${ff##*.1} + alternatives_auto_makesym "/usr/bin/${i}" "/usr/bin/${i}-[0-9]*" + alternatives_auto_makesym "/usr/share/man/man1/${i}.1${ff}" "/usr/share/man/man1/${i}-[0-9]*" + done + elif has "${EBUILD_PHASE:-none}" "setup" ; then + for i in "$@" ; do + if [[ -f ${ROOT}/usr/bin/${i} && ! -h ${ROOT}/usr/bin/${i} ]] ; then + has_version ${pkg} && ewarn "You must reinstall $pkg !" + break + fi + done + else + for i in "$@" ; do + mv "${D}"/usr/bin/${i}{,-${ver}-${P}} || die + mv "${D}"/usr/share/man/man1/${i}{.1,-${ver}-${P}.1} || \ + echo "/usr/share/man/man1/${i}.1 does not exist!" + done + fi +} + +src_remove_extra_files() { + local prefix="./usr" # ./ is important + local bindir="${prefix}/bin" + local perlroot="${prefix}/$(get_libdir)/perl5" # perl installs per-arch dirs + local prV="${perlroot}/${MY_PV}" + # myarch and mythreading are defined inside src_configure() + local prVA="${prV}/${myarch}${mythreading}" + + # I made this list from the Mandr*, Debian and ex-Connectiva perl-base list + # Then, I added several files to get GNU autotools running + # FIXME: should this be in a separated file to be sourced? + local MINIMAL_PERL_INSTALL=" + ${bindir}/h2ph + ${bindir}/perl + ${bindir}/perl${MY_PV} + ${bindir}/pod2man + ${prV}/attributes.pm + ${prV}/AutoLoader.pm + ${prV}/autouse.pm + ${prV}/base.pm + ${prV}/bigint.pm + ${prV}/bignum.pm + ${prV}/bigrat.pm + ${prV}/blib.pm + ${prV}/bytes_heavy.pl + ${prV}/bytes.pm + ${prV}/Carp/Heavy.pm + ${prV}/Carp.pm + ${prV}/charnames.pm + ${prV}/Class/Struct.pm + ${prV}/constant.pm + ${prV}/diagnostics.pm + ${prV}/DirHandle.pm + ${prV}/Exporter/Heavy.pm + ${prV}/Exporter.pm + ${prV}/ExtUtils/Command.pm + ${prV}/ExtUtils/Constant.pm + ${prV}/ExtUtils/Embed.pm + ${prV}/ExtUtils/Installed.pm + ${prV}/ExtUtils/Install.pm + ${prV}/ExtUtils/Liblist.pm + ${prV}/ExtUtils/MakeMaker.pm + ${prV}/ExtUtils/Manifest.pm + ${prV}/ExtUtils/Mkbootstrap.pm + ${prV}/ExtUtils/Mksymlists.pm + ${prV}/ExtUtils/MM_Any.pm + ${prV}/ExtUtils/MM_MacOS.pm + ${prV}/ExtUtils/MM.pm + ${prV}/ExtUtils/MM_Unix.pm + ${prV}/ExtUtils/MY.pm + ${prV}/ExtUtils/Packlist.pm + ${prV}/ExtUtils/testlib.pm + ${prV}/ExtUtils/Miniperl.pm + ${prV}/ExtUtils/Command/MM.pm + ${prV}/ExtUtils/Constant/Base.pm + ${prV}/ExtUtils/Constant/Utils.pm + ${prV}/ExtUtils/Constant/XS.pm + ${prV}/ExtUtils/Liblist/Kid.pm + ${prV}/ExtUtils/MakeMaker/bytes.pm + ${prV}/ExtUtils/MakeMaker/vmsish.pm + ${prV}/fields.pm + ${prV}/File/Basename.pm + ${prV}/File/Compare.pm + ${prV}/File/Copy.pm + ${prV}/File/Find.pm + ${prV}/FileHandle.pm + ${prV}/File/Path.pm + ${prV}/File/Spec.pm + ${prV}/File/Spec/Unix.pm + ${prV}/File/stat.pm + ${prV}/filetest.pm + ${prVA}/attrs.pm + ${prVA}/auto/attrs + ${prVA}/auto/Cwd/Cwd$(get_libname) + ${prVA}/auto/Data/Dumper/Dumper$(get_libname) + ${prVA}/auto/DynaLoader/dl_findfile.al + ${prVA}/auto/Fcntl/Fcntl$(get_libname) + ${prVA}/auto/File/Glob/Glob$(get_libname) + ${prVA}/auto/IO/IO$(get_libname) + ${prVA}/auto/POSIX/autosplit.ix + ${prVA}/auto/POSIX/fstat.al + ${prVA}/auto/POSIX/load_imports.al + ${prVA}/auto/POSIX/POSIX.bs + ${prVA}/auto/POSIX/POSIX$(get_libname) + ${prVA}/auto/POSIX/assert.al + ${prVA}/auto/POSIX/stat.al + ${prVA}/auto/POSIX/tmpfile.al + ${prVA}/auto/re/re$(get_libname) + ${prVA}/auto/Socket/Socket$(get_libname) + ${prVA}/auto/Storable/autosplit.ix + ${prVA}/auto/Storable/_retrieve.al + ${prVA}/auto/Storable/retrieve.al + ${prVA}/auto/Storable/Storable$(get_libname) + ${prVA}/auto/Storable/_store.al + ${prVA}/auto/Storable/store.al + ${prVA}/B/Deparse.pm + ${prVA}/B.pm + ${prVA}/Config.pm + ${prVA}/Config_heavy.pl + ${prVA}/CORE/libperl$(get_libname) + ${prVA}/Cwd.pm + ${prVA}/Data/Dumper.pm + ${prVA}/DynaLoader.pm + ${prVA}/encoding.pm + ${prVA}/Errno.pm + ${prVA}/Fcntl.pm + ${prVA}/File/Glob.pm + ${prVA}/_h2ph_pre.ph + ${prVA}/IO/File.pm + ${prVA}/IO/Handle.pm + ${prVA}/IO/Pipe.pm + ${prVA}/IO.pm + ${prVA}/IO/Seekable.pm + ${prVA}/IO/Select.pm + ${prVA}/IO/Socket.pm + ${prVA}/lib.pm + ${prVA}/NDBM_File.pm + ${prVA}/ops.pm + ${prVA}/POSIX.pm + ${prVA}/re.pm + ${prVA}/Socket.pm + ${prVA}/Storable.pm + ${prVA}/threads + ${prVA}/threads.pm + ${prVA}/XSLoader.pm + ${prV}/Getopt/Long.pm + ${prV}/Getopt/Std.pm + ${prV}/if.pm + ${prV}/integer.pm + ${prV}/IO/Socket/INET.pm + ${prV}/IO/Socket/UNIX.pm + ${prV}/IPC/Open2.pm + ${prV}/IPC/Open3.pm + ${prV}/less.pm + ${prV}/List/Util.pm + ${prV}/locale.pm + ${prV}/open.pm + ${prV}/overload.pm + ${prV}/Pod/InputObjects.pm + ${prV}/Pod/Man.pm + ${prV}/Pod/ParseLink.pm + ${prV}/Pod/Parser.pm + ${prV}/Pod/Select.pm + ${prV}/Pod/Text.pm + ${prV}/Pod/Usage.pm + ${prV}/PerlIO.pm + ${prV}/Scalar/Util.pm + ${prV}/SelectSaver.pm + ${prV}/sigtrap.pm + ${prV}/sort.pm + ${prV}/stat.pl + ${prV}/strict.pm + ${prV}/subs.pm + ${prV}/Symbol.pm + ${prV}/Text/ParseWords.pm + ${prV}/Text/Tabs.pm + ${prV}/Text/Wrap.pm + ${prV}/Time/Local.pm + ${prV}/unicore/Canonical.pl + ${prV}/unicore/Exact.pl + ${prV}/unicore/lib/gc_sc/Digit.pl + ${prV}/unicore/lib/gc_sc/Word.pl + ${prV}/unicore/PVA.pl + ${prV}/unicore/To/Fold.pl + ${prV}/unicore/To/Lower.pl + ${prV}/unicore/To/Upper.pl + ${prV}/utf8_heavy.pl + ${prV}/utf8.pm + ${prV}/vars.pm + ${prV}/vmsish.pm + ${prV}/warnings + ${prV}/warnings.pm + ${prV}/warnings/register.pm" + + if use perlsuid ; then + MINIMAL_PERL_INSTALL="${MINIMAL_PERL_INSTALL} + ${bindir}/suidperl + ${bindir}/sperl${MY_PV}" + fi + + pushd "${D}" > /dev/null + # Remove cruft + einfo "Removing files that are not in the minimal install" + echo "${MINIMAL_PERL_INSTALL}" + for f in $(find . -type f); do + has ${f} ${MINIMAL_PERL_INSTALL} || rm -f ${f} + done + # Remove empty directories + find . -depth -type d | xargs -r rmdir &> /dev/null + popd > /dev/null +} diff --git a/dev-lang/php/files/php-fpm-r4.init b/dev-lang/php/files/php-fpm-r4.init index a186d83..a186d83 100755..100644 --- a/dev-lang/php/files/php-fpm-r4.init +++ b/dev-lang/php/files/php-fpm-r4.init |