summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Cummings <mcummings@gentoo.org>2006-02-07 15:20:50 +0000
committerMichael Cummings <mcummings@gentoo.org>2006-02-07 15:20:50 +0000
commit14b56d75cbc6e83401b3e4202d3a91fe5cbba964 (patch)
tree0f64b6478cc589a641f4018a4b7886040a0ff6b5 /dev-lang/perl/files
parentFixes for #116346, removed old version. (diff)
downloadgentoo-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.81
-rw-r--r--dev-lang/perl/files/digest-perl-5.8.8_rc11
-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.patch111
-rw-r--r--dev-lang/perl/files/perl-5.8.8-lib64.patch96
-rw-r--r--dev-lang/perl/files/perl-5.8.8-links.patch86
-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