diff options
author | Michael Cummings <mcummings@gentoo.org> | 2006-02-07 15:20:50 +0000 |
---|---|---|
committer | Michael Cummings <mcummings@gentoo.org> | 2006-02-07 15:20:50 +0000 |
commit | 14b56d75cbc6e83401b3e4202d3a91fe5cbba964 (patch) | |
tree | 0f64b6478cc589a641f4018a4b7886040a0ff6b5 /dev-lang/perl/files | |
parent | Fixes for #116346, removed old version. (diff) | |
download | gentoo-2-14b56d75cbc6e83401b3e4202d3a91fe5cbba964.tar.gz gentoo-2-14b56d75cbc6e83401b3e4202d3a91fe5cbba964.tar.bz2 gentoo-2-14b56d75cbc6e83401b3e4202d3a91fe5cbba964.zip |
Perl 5.8.8, with amd64 fixes, RUNPATH fixes, a completely reversed INC, and a shiny set of changes.
(Portage version: 2.1_pre3-r1)
Diffstat (limited to 'dev-lang/perl/files')
-rw-r--r-- | dev-lang/perl/files/digest-perl-5.8.8 | 1 | ||||
-rw-r--r-- | dev-lang/perl/files/digest-perl-5.8.8_rc1 | 1 | ||||
-rw-r--r-- | dev-lang/perl/files/perl-5.8.8-CAN-2005-0448-rmtree.patch (renamed from dev-lang/perl/files/perl-5.8.8_rc1-CAN-2005-0448-rmtree.patch) | 0 | ||||
-rw-r--r-- | dev-lang/perl/files/perl-5.8.8-USE_MM_LD_RUN_PATH.patch | 111 | ||||
-rw-r--r-- | dev-lang/perl/files/perl-5.8.8-lib64.patch | 96 | ||||
-rw-r--r-- | dev-lang/perl/files/perl-5.8.8-links.patch | 86 | ||||
-rw-r--r-- | dev-lang/perl/files/perl-5.8.8-reorder-INC.patch (renamed from dev-lang/perl/files/perl-5.8.8_rc1-reorder-INC.patch) | 0 |
7 files changed, 294 insertions, 1 deletions
diff --git a/dev-lang/perl/files/digest-perl-5.8.8 b/dev-lang/perl/files/digest-perl-5.8.8 new file mode 100644 index 000000000000..b172ce39e3ef --- /dev/null +++ b/dev-lang/perl/files/digest-perl-5.8.8 @@ -0,0 +1 @@ +MD5 a377c0c67ab43fd96eeec29ce19e8382 perl-5.8.8.tar.bz2 10123359 diff --git a/dev-lang/perl/files/digest-perl-5.8.8_rc1 b/dev-lang/perl/files/digest-perl-5.8.8_rc1 deleted file mode 100644 index ea4ce0d8601a..000000000000 --- a/dev-lang/perl/files/digest-perl-5.8.8_rc1 +++ /dev/null @@ -1 +0,0 @@ -MD5 1d7ca5a1059d91af7f6e613130c0334b perl-5.8.8-RC1.tar.bz2 10128298 diff --git a/dev-lang/perl/files/perl-5.8.8_rc1-CAN-2005-0448-rmtree.patch b/dev-lang/perl/files/perl-5.8.8-CAN-2005-0448-rmtree.patch index 0bee3e107ebf..0bee3e107ebf 100644 --- a/dev-lang/perl/files/perl-5.8.8_rc1-CAN-2005-0448-rmtree.patch +++ b/dev-lang/perl/files/perl-5.8.8-CAN-2005-0448-rmtree.patch 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 000000000000..edcfc6a41b53 --- /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-lib64.patch b/dev-lang/perl/files/perl-5.8.8-lib64.patch new file mode 100644 index 000000000000..dcc91846d69d --- /dev/null +++ b/dev-lang/perl/files/perl-5.8.8-lib64.patch @@ -0,0 +1,96 @@ +--- Configure.orig 2006-02-03 16:15:00.000000000 -0500 ++++ Configure 2006-02-03 16:25:04.000000000 -0500 +@@ -1256,17 +1256,24 @@ locincpth="$locincpth /opt/gnu/include / + : no include file wanted by default + inclwanted='' + ++: determine libdir name ++: Should be */lib64 on x86-64, sparc64, ppc64 ++case `arch` in ++ x86_64) lib='lib64';; ++ *) lib='lib';; ++esac ++ + groupstype='' + 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/$lib /opt/local/$lib /usr/gnu/$lib" ++loclibpth="$loclibpth /opt/gnu/$lib /usr/GNU/$lib /opt/GNU/$lib" + + : general looking path for locating libraries +-glibpth="/lib /usr/lib $xlibpth" +-glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib" ++glibpth="/$lib /usr/$lib $xlibpth" ++glibpth="$glibpth /usr/ccs/$lib /usr/ucblib /usr/local/$lib" + test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth" + test -f /shlib/libc.so && glibpth="/shlib $glibpth" + +@@ -5951,8 +5958,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" ;; +@@ -5968,8 +5975,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 +@@ -6471,8 +6478,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" +@@ -6598,8 +6605,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" +@@ -10556,9 +10563,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/$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 $contains socket libc.list >/dev/null 2>&1; then + d_socket="$define" + socketlib="-l$net" +@@ -21677,6 +21684,7 @@ ldflags='$ldflags' + ldflags_uselargefiles='$ldflags_uselargefiles' + ldlibpthname='$ldlibpthname' + less='$less' ++lib='$lib' + lib_ext='$lib_ext' + libc='$libc' + libperl='$libperl' 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 000000000000..22e74b3a68be --- /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_rc1-reorder-INC.patch b/dev-lang/perl/files/perl-5.8.8-reorder-INC.patch index 11c56929cf1a..11c56929cf1a 100644 --- a/dev-lang/perl/files/perl-5.8.8_rc1-reorder-INC.patch +++ b/dev-lang/perl/files/perl-5.8.8-reorder-INC.patch |