Subject: | make work with perl-5.8 |
ActivePerl-5.8 comes with PPM-3, which is available from
http://downloads.activestate.com/PPM/
but we like ppm just fine :)
--- PPM.pm 2002-05-28 04:42:33.000000000 -0700
+++ PPM.pm.new 2004-08-05 02:15:20.697921200 -0700
@@ -28,6 +28,15 @@
use Archive::Tar;
use strict;
+$PPM::VERSION = '2.1.7';
+use vars '$Config_archname';
+BEGIN {
+ $Config_archname = $Config{archname}; # PodMaster ~ see ppminst.bat that comes with PPM3
+ # Append "-5.8" to architecture name for Perl 5.8 and later
+ if (length($^V) && ord(substr($^V,1)) >= 8) {
+ $Config_archname .= sprintf("-%d.%d", ord($^V), ord(substr($^V,1)));
+ }
+}
my $useDocTools; # Generate HTML documentation after installing a package
@@ -250,9 +259,9 @@
parsePPD(%PPD);
if (!$current_package{'CODEBASE'} && !$current_package{'INSTALL_HREF'}) {
- &Trace("Read a PPD for '$package', but it is not intended for this build of Perl ($Config{archname})")
+ &Trace("Read a PPD for '$package', but it is not intended for this build of Perl ($Config_archname)")
if $options{'TRACE'};
- $PPM::PPMERR = "Read a PPD for '$package', but it is not intended for this build of Perl ($Config{archname})";
+ $PPM::PPMERR = "Read a PPD for '$package', but it is not intended for this build of Perl ($Config_archname)";
return 0;
}
@@ -622,9 +631,9 @@
parsePPD(%comparePPD);
unless ($current_package{'CODEBASE'} || $current_package{'INSTALL_HREF'}) {
- &Trace("Read a PPD for '$package', but it is not intended for this build of Perl ($Config{archname})")
+ &Trace("Read a PPD for '$package', but it is not intended for this build of Perl ($Config_archname)")
if $options{'TRACE'};
- $PPM::PPMERR = "Read a PPD for '$package', but it is not intended for this build of Perl ($Config{archname})";
+ $PPM::PPMERR = "Read a PPD for '$package', but it is not intended for this build of Perl ($Config_archname)";
return undef;
}
my @compare_version = split (',', $current_package{'VERSION'});
@@ -787,7 +796,7 @@
my ($proxy, $uri) = ($1, $2);
my $client = SOAP::Lite -> uri($uri) -> proxy($proxy);
eval { $data = $client ->
- search_ppds($Config{'archname'}, $searchRE, $searchtag) -> result; };
+ search_ppds($Config_archname, $searchRE, $searchtag) -> result; };
if ($@) {
&Trace("Error searching repository '$proxy': $@")
if $options{'TRACE'};
@@ -1531,7 +1540,7 @@
# Check to see if we've found a valid IMPLEMENTATION for the target
# machine.
- return 0 if ((defined $ImplArch) and ($ImplArch ne $Config{'archname'}));
+ return 0 if ((defined $ImplArch) and ($ImplArch ne $Config_archname));
return 0 if ((defined $ImplProcessor) and ($ImplProcessor ne $CPU));
return 0 if ((defined $ImplLanguage) and ($ImplLanguage ne $LANGUAGE));
return 0 if ((defined $ImplOS) and ($ImplOS ne $OS_VALUE));