summaryrefslogtreecommitdiff
path: root/cpan
diff options
context:
space:
mode:
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>2012-12-17 09:46:37 +0000
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>2012-12-17 09:46:37 +0000
commit4800031444245dc3dac9967b46b4860ff3863d32 (patch)
treed01413df596d1a4c0b4a8712a83a2d74b9c8b4f7 /cpan
parent8b1989690cb5c8e76b281f6f8b7829d8081649fc (diff)
downloadperl-4800031444245dc3dac9967b46b4860ff3863d32.tar.gz
Update ExtUtils-MakeMaker to CPAN version 6.64
[DELTA] 6.64 Sun Dec 16 18:27:40 PST 2012 Build Fixes * Update the home page in the meta file. makemaker.org has been unmaintained for a while. 6.63_04 Thu Nov 22 13:18:06 PST 2012 Test Fixes * Eliminated the problematic and not very useful PASTHRU test on Windows. A better test will come after stable. [github 41] (Michael G Schwern) * Avoid a new regex warning in 5.17.x in t/MM_OS2.t. (Craig A. Berry) VMS Fixes * Better ignore files due to non-case-preserving filesystems. (Craig A. Berry)
Diffstat (limited to 'cpan')
-rw-r--r--cpan/ExtUtils-MakeMaker/Changes43
-rw-r--r--cpan/ExtUtils-MakeMaker/MANIFEST3
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm14
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm57
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm33
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm78
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm114
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm8
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm2
-rw-r--r--cpan/ExtUtils-MakeMaker/t/01perl_bugs.t25
-rw-r--r--cpan/ExtUtils-MakeMaker/t/FIRST_MAKEFILE.t2
-rw-r--r--cpan/ExtUtils-MakeMaker/t/Liblist.t2
-rw-r--r--cpan/ExtUtils-MakeMaker/t/MM_OS2.t2
-rw-r--r--cpan/ExtUtils-MakeMaker/t/MM_Win32.t6
-rw-r--r--cpan/ExtUtils-MakeMaker/t/hints.t60
-rw-r--r--cpan/ExtUtils-MakeMaker/t/metafile_data.t75
-rw-r--r--cpan/ExtUtils-MakeMaker/t/parse_abstract.t1
38 files changed, 378 insertions, 189 deletions
diff --git a/cpan/ExtUtils-MakeMaker/Changes b/cpan/ExtUtils-MakeMaker/Changes
index d30b8580af..0abb6d11a1 100644
--- a/cpan/ExtUtils-MakeMaker/Changes
+++ b/cpan/ExtUtils-MakeMaker/Changes
@@ -1,3 +1,46 @@
+6.64 Sun Dec 16 18:27:40 PST 2012
+ Build Fixes
+ * Update the home page in the meta file. makemaker.org has been
+ unmaintained for a while.
+
+
+6.63_04 Thu Nov 22 13:18:06 PST 2012
+ Test Fixes
+ * Eliminated the problematic and not very useful PASTHRU test
+ on Windows. A better test will come after stable. [github 41]
+ (Michael G Schwern)
+ * Avoid a new regex warning in 5.17.x in t/MM_OS2.t. (Craig A. Berry)
+
+ VMS Fixes
+ * Better ignore files due to non-case-preserving filesystems.
+ (Craig A. Berry)
+
+
+6.63_03 Thu Nov 1 19:52:30 PDT 2012
+ New Features
+ * Added TEST_REQUIRES keyword to specify prerequisites only needed
+ for testing. [github 29] (Ricardo Signes)
+
+ Bug Fixes
+ * Update bundled modules: ExtUtils::Install to 1.54, ExtUtils::Manifest
+ to 1.60.
+ * Update CPAN::Meta::YAML to 0.08 for compatibility with older versions
+ of Scalar::Util.
+
+ Misc
+ * Change 'Note' to 'Warning' when libraries aren't found since people
+ often fail to realise that this is the cause of a build failure.
+ [github 20] (Matt Trout)
+
+ Test Fixes
+ * Added an early test to check for a common 5.6 bug where 0.01 is
+ incorrectly stringified to 1.e-02. [rt.cpan.org 74095]
+
+ Doc Fixes
+ * Clarified NAME. [rt.cpan.org 73361]
+ * SYNOPSIS is a bit more useful.
+
+
6.63_02 Tue Nov 1 17:02:40 PDT 2011
Test Fixes
* Inform BSDPAN (on FreeBSD) to not register modules installed while
diff --git a/cpan/ExtUtils-MakeMaker/MANIFEST b/cpan/ExtUtils-MakeMaker/MANIFEST
index fe47e55b18..74d6075f59 100644
--- a/cpan/ExtUtils-MakeMaker/MANIFEST
+++ b/cpan/ExtUtils-MakeMaker/MANIFEST
@@ -60,7 +60,7 @@ lib/ExtUtils/MM_Win95.pm
lib/ExtUtils/MY.pm
lib/ExtUtils/testlib.pm
Makefile.PL
-MANIFEST This list of files
+MANIFEST
MANIFEST.SKIP
my/bundles.pm
NOTES
@@ -68,6 +68,7 @@ PATCHING
README
README.packaging
t/00compile.t
+t/01perl_bugs.t
t/arch_check.t
t/backwards.t
t/basic.t
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm
index 8d82ee49b1..3b35d8bf8e 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm
@@ -10,7 +10,7 @@ our @ISA = qw(Exporter);
our @EXPORT = qw(test_harness pod2man perllocal_install uninstall
warn_if_old_packlist);
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
my $Is_VMS = $^O eq 'VMS';
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
index a2ef4268d1..71fef20f10 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
@@ -2,7 +2,7 @@ package ExtUtils::Liblist;
use strict;
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
use File::Spec;
require ExtUtils::Liblist::Kid;
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
index eddcc72c74..3feb4fc224 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
@@ -11,7 +11,7 @@ use 5.006;
use strict;
use warnings;
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
use ExtUtils::MakeMaker::Config;
use Cwd 'cwd';
@@ -232,7 +232,7 @@ sub _unix_os2_ext {
}
last; # found one here so don't bother looking further
}
- warn "Note (probably harmless): " . "No library found for -l$thislib\n"
+ warn "Warning (mostly harmless): " . "No library found for -l$thislib\n"
unless $found_lib > 0;
}
@@ -308,7 +308,7 @@ sub _win32_ext {
my ( $fullname, $path ) = _win32_search_file( $thislib, $libext, \@paths, $verbose, $GC );
if ( !$fullname ) {
- warn "Note (probably harmless): No library found for $thislib\n";
+ warn "Warning (mostly harmless): No library found for $thislib\n";
next;
}
@@ -559,11 +559,11 @@ sub _vms_ext {
if ( $fullname =~ /(?:$so|exe)$/i ) { $type = 'SHR'; }
elsif ( $fullname =~ /(?:$lib_ext|olb)$/i ) { $type = 'OLB'; }
elsif ( $fullname =~ /(?:$obj_ext|obj)$/i ) {
- warn "Note (probably harmless): " . "Plain object file $fullname found in library list\n";
+ warn "Warning (mostly harmless): " . "Plain object file $fullname found in library list\n";
$type = 'OBJ';
}
else {
- warn "Note (probably harmless): " . "Unknown library type for $fullname; assuming shared\n";
+ warn "Warning (mostly harmless): " . "Unknown library type for $fullname; assuming shared\n";
$type = 'SHR';
}
}
@@ -588,7 +588,7 @@ sub _vms_ext {
( -f ( $fullname = VMS::Filespec::rmsexpand( $name, $obj_ext ) ) or -f ( $fullname = VMS::Filespec::rmsexpand( $name, '.obj' ) ) )
)
{
- warn "Note (probably harmless): " . "Plain object file $fullname found in library list\n";
+ warn "Warning (mostly harmless): " . "Plain object file $fullname found in library list\n";
$type = 'OBJ';
$name = $fullname unless $fullname =~ /obj;?\d*$/i;
}
@@ -609,7 +609,7 @@ sub _vms_ext {
next LIB;
}
}
- warn "Note (probably harmless): " . "No library found for $lib\n";
+ warn "Warning (mostly harmless): " . "No library found for $lib\n";
}
push @fndlibs, @{ $found{OBJ} } if exists $found{OBJ};
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
index 418eb190dd..ab8e8e8e8f 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
@@ -3,7 +3,7 @@ package ExtUtils::MM;
use strict;
use ExtUtils::MakeMaker::Config;
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
require ExtUtils::Liblist;
require ExtUtils::MakeMaker;
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm
index 0b0547ff52..28e433642e 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_AIX;
use strict;
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
index fd856129af..73ce2498dc 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_Any;
use strict;
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
use Carp;
use File::Spec;
@@ -999,7 +999,7 @@ sub metafile_data {
};
}
- %meta = $self->_add_requirements_to_meta( %meta );
+ %meta = $self->_add_requirements_to_meta_v1_4( %meta );
while( my($key, $val) = each %$meta_add ) {
$meta{$key} = $val;
@@ -1017,12 +1017,11 @@ sub metafile_data {
=cut
-sub _add_requirements_to_meta {
+sub _add_requirements_to_meta_v1_4 {
my ( $self, %meta ) = @_;
# Check the original args so we can tell between the user setting it
# to an empty hash and it just being initialized.
-
if( $self->{ARGS}{BUILD_REQUIRES} ) {
$meta{build_requires} = _normalize_prereqs($self->{BUILD_REQUIRES});
} else {
@@ -1031,6 +1030,13 @@ sub _add_requirements_to_meta {
};
}
+ if( $self->{ARGS}{TEST_REQUIRES} ) {
+ $meta{build_requires} = {
+ %{ $meta{build_requires} },
+ %{ _normalize_prereqs($self->{TEST_REQUIRES}) },
+ };
+ }
+
$meta{requires} = _normalize_prereqs($self->{PREREQ_PM})
if defined $self->{PREREQ_PM};
$meta{requires}{perl} = _normalize_version($self->{MIN_PERL_VERSION})
@@ -1039,6 +1045,31 @@ sub _add_requirements_to_meta {
return %meta;
}
+sub _add_requirements_to_meta_v2 {
+ my ( $self, %meta ) = @_;
+
+ # Check the original args so we can tell between the user setting it
+ # to an empty hash and it just being initialized.
+ if( $self->{ARGS}{BUILD_REQUIRES} ) {
+ $meta{prereqs}{build}{requires} = _normalize_prereqs($self->{BUILD_REQUIRES});
+ } else {
+ $meta{prereqs}{build}{requires} = {
+ 'ExtUtils::MakeMaker' => 0,
+ };
+ }
+
+ if( $self->{ARGS}{TEST_REQUIRES} ) {
+ $meta{prereqs}{test}{requires} = _normalize_prereqs($self->{TEST_REQUIRES});
+ }
+
+ $meta{prereqs}{runtime}{requires} = _normalize_prereqs($self->{PREREQ_PM})
+ if defined $self->{PREREQ_PM};
+ $meta{prereqs}{runtime}{requires}{perl} = _normalize_version($self->{MIN_PERL_VERSION})
+ if $self->{MIN_PERL_VERSION};
+
+ return %meta;
+}
+
sub _normalize_prereqs {
my ($hash) = @_;
my %prereqs;
@@ -1262,6 +1293,7 @@ sub mymeta {
my $file = shift || ''; # for testing
my $mymeta = $self->_mymeta_from_meta($file);
+ my $v2 = 1;
unless ( $mymeta ) {
my @metadata = $self->metafile_data(
@@ -1269,11 +1301,16 @@ sub mymeta {
$self->{META_MERGE} || {},
);
$mymeta = {@metadata};
+ $v2 = 0;
}
# Overwrite the non-configure dependency hashes
- $mymeta = { $self->_add_requirements_to_meta( %$mymeta ) };
+ my $method = $v2
+ ? '_add_requirements_to_meta_v2'
+ : '_add_requirements_to_meta_v1_4';
+
+ $mymeta = { $self->$method( %$mymeta ) };
$mymeta->{dynamic_config} = 0;
@@ -1291,12 +1328,12 @@ sub _mymeta_from_meta {
for my $file ( $metafile, "META.json", "META.yml" ) {
next unless -e $file;
eval {
- $meta = CPAN::Meta->load_file($file)->as_struct( {version => "1.4"} );
+ $meta = CPAN::Meta->load_file($file)->as_struct( { version => 2 } );
};
last if $meta;
}
return undef unless $meta;
-
+
# META.yml before 6.25_01 cannot be trusted. META.yml lived in the source directory.
# There was a good chance the author accidentally uploaded a stale META.yml if they
# rolled their own tarball rather than using "make dist".
@@ -1811,7 +1848,7 @@ sub init_INSTALL_from_PREFIX {
my($s, $t, $d, $style) = @{$layout}{qw(s t d style)};
my $r = '$('.$type2prefix{$t}.')';
- print STDERR "Prefixing $var\n" if $Verbose >= 2;
+ warn "Prefixing $var\n" if $Verbose >= 2;
my $installvar = "install$var";
my $Installvar = uc $installvar;
@@ -1820,7 +1857,7 @@ sub init_INSTALL_from_PREFIX {
$d = "$style/$d" if $style;
$self->prefixify($installvar, $s, $r, $d);
- print STDERR " $Installvar == $self->{$Installvar}\n"
+ warn " $Installvar == $self->{$Installvar}\n"
if $Verbose >= 2;
}
@@ -2383,7 +2420,7 @@ sub arch_check {
my $arch = (grep length, $self->splitdir($pthinks))[-1];
- print STDOUT <<END unless $self->{UNINSTALLED_PERL};
+ print <<END unless $self->{UNINSTALLED_PERL};
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [$arch]
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm
index a31cf2320c..3aa65bdb96 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm
@@ -26,7 +26,7 @@ require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
=item os_flavor
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
index de6f13085e..e462270c8c 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
@@ -9,7 +9,7 @@ require ExtUtils::MM_Unix;
require ExtUtils::MM_Win32;
our @ISA = qw( ExtUtils::MM_Unix );
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
=head1 NAME
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm
index d902038412..971fa30780 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm
@@ -2,7 +2,7 @@ package ExtUtils::MM_DOS;
use strict;
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm
index 6d78157fe5..c9ca0e2029 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm
@@ -7,7 +7,7 @@ BEGIN {
our @ISA = qw( ExtUtils::MM_Unix );
}
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
=head1 NAME
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm
index 17bcde790e..18f581dba9 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm
@@ -2,7 +2,7 @@ package ExtUtils::MM_MacOS;
use strict;
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
sub new {
die <<'UNSUPPORTED';
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm
index be1e155557..661bc489d8 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm
@@ -22,7 +22,7 @@ use strict;
use ExtUtils::MakeMaker::Config;
use File::Basename;
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
require ExtUtils::MM_Win32;
our @ISA = qw(ExtUtils::MM_Win32);
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm
index f4ebd1e738..e0cfb6e9b2 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm
@@ -5,7 +5,7 @@ use strict;
use ExtUtils::MakeMaker qw(neatvalue);
use File::Spec;
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm
index 9d1f29223d..9e7c1c9983 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_QNX;
use strict;
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm
index d4b9370bd1..62171e3571 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_UWIN;
use strict;
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
index b537393d3e..388192e8ef 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
@@ -15,7 +15,7 @@ use ExtUtils::MakeMaker qw($Verbose neatvalue);
# If we make $VERSION an our variable parse_version() breaks
use vars qw($VERSION);
-$VERSION = '6.63_02';
+$VERSION = '6.64';
$VERSION = eval $VERSION;
require ExtUtils::MM_Any;
@@ -217,7 +217,7 @@ sub cflags {
( $name = $self->{NAME} . "_cflags" ) =~ s/:/_/g ;
if ($prog = $Config{$name}) {
# Expand hints for this extension via the shell
- print STDOUT "Processing $name hint:\n" if $Verbose;
+ print "Processing $name hint:\n" if $Verbose;
my(@o)=`cc=\"$cflags{cc}\"
ccflags=\"$cflags{ccflags}\"
optimize=\"$cflags{optimize}\"
@@ -234,9 +234,9 @@ sub cflags {
chomp $line;
if ($line =~ /(.*?)=\s*(.*)\s*$/){
$cflags{$1} = $2;
- print STDOUT " $1 = $2\n" if $Verbose;
+ print " $1 = $2\n" if $Verbose;
} else {
- print STDOUT "Unrecognised result from hint: '$line'\n";
+ print "Unrecognised result from hint: '$line'\n";
}
}
}
@@ -1064,7 +1064,7 @@ WARNING
}
}
}
- print STDOUT "Unable to find a perl $ver (by these names: @$names, in these dirs: @$dirs)\n";
+ print "Unable to find a perl $ver (by these names: @$names, in these dirs: @$dirs)\n";
0; # false and not empty
}
@@ -1177,7 +1177,7 @@ sub _fixin_replace_shebang {
my ($does_shbang) = $Config{'sharpbang'} =~ /^\s*\#\!/;
my ($shb) = "";
if ($interpreter) {
- print STDOUT "Changing sharpbang in $file to $interpreter"
+ print "Changing sharpbang in $file to $interpreter"
if $Verbose;
# this is probably value-free on DOSISH platforms
if ($does_shbang) {
@@ -1275,6 +1275,7 @@ sub init_dirscan { # --- File and Directory Lists (.xs .pm .pod etc)
foreach my $name ($self->lsdir($Curdir)){
next if $name =~ /\#/;
+ $name = lc($name) if $Is{VMS};
next if $name eq $Curdir or $name eq $Updir or $ignore{$name};
next unless $self->libscan($name);
if (-d $name){
@@ -1682,7 +1683,7 @@ from the perl source tree.
$self->{PERL_ARCHLIB} = $lib;
$self->{PERL_INC} = $inc;
$self->{UNINSTALLED_PERL} = 1;
- print STDOUT <<EOP;
+ print <<EOP;
... Detected uninstalled Perl. Trying to continue.
EOP
}
@@ -1701,7 +1702,7 @@ EOP
$self->{MAN3EXT} ||= $Config{man3ext};
# Get some stuff out of %Config if we haven't yet done so
- print STDOUT "CONFIG must be an array ref\n"
+ print "CONFIG must be an array ref\n"
if ($self->{CONFIG} and ref $self->{CONFIG} ne 'ARRAY');
$self->{CONFIG} = [] unless (ref $self->{CONFIG});
push(@{$self->{CONFIG}}, @ExtUtils::MakeMaker::Get_from_Config);
@@ -1709,7 +1710,7 @@ EOP
my(%once_only);
foreach my $m (@{$self->{CONFIG}}){
next if $once_only{$m};
- print STDOUT "CONFIG key '$m' does not exist in Config.pm\n"
+ print "CONFIG key '$m' does not exist in Config.pm\n"
unless exists $Config{$m};
$self->{uc $m} ||= $Config{$m};
$once_only{$m} = 1;
@@ -1819,11 +1820,11 @@ sub init_lib2arch {
$self->prefixify($Arch,$ilib,$self->{$Lib});
unless (-d $self->{$Arch}) {
- print STDOUT "Directory $self->{$Arch} not found\n"
+ print "Directory $self->{$Arch} not found\n"
if $Verbose;
$self->{$Arch} = $self->{$Lib};
}
- print STDOUT "Defaulting $Arch to $self->{$Arch}\n" if $Verbose;
+ print "Defaulting $Arch to $self->{$Arch}\n" if $Verbose;
}
}
}
@@ -2423,7 +2424,7 @@ MAP_PRELIBS = $Config{perllibs} $Config{cryptlib}
}
}
- print STDOUT "Warning: $libperl not found
+ print "Warning: $libperl not found
If you're going to build a static perl binary, make sure perl is installed
otherwise ignore this warning\n"
unless (-f $lperl || defined($self->{PERL_SRC}));
@@ -3004,15 +3005,15 @@ sub prefixify {
$rprefix .= '/' if $sprefix =~ m|/$|;
- print STDERR " prefixify $var => $path\n" if $Verbose >= 2;
- print STDERR " from $sprefix to $rprefix\n" if $Verbose >= 2;
+ warn " prefixify $var => $path\n" if $Verbose >= 2;
+ warn " from $sprefix to $rprefix\n" if $Verbose >= 2;
if( $self->{ARGS}{PREFIX} &&
$path !~ s{^\Q$sprefix\E\b}{$rprefix}s )
{
- print STDERR " cannot prefix, using default.\n" if $Verbose >= 2;
- print STDERR " no default!\n" if !$default && $Verbose >= 2;
+ warn " cannot prefix, using default.\n" if $Verbose >= 2;
+ warn " no default!\n" if !$default && $Verbose >= 2;
$path = $self->catdir($rprefix, $default) if $default;
}
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm
index c204abcb2d..254836738a 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm
@@ -15,7 +15,7 @@ BEGIN {
use File::Basename;
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
@@ -134,13 +134,13 @@ sub guess_name {
last;
}
}
- print STDOUT "Warning (non-fatal): Couldn't find package name in ${defpm}.pm;\n\t",
+ print "Warning (non-fatal): Couldn't find package name in ${defpm}.pm;\n\t",
"defaulting package name to $defname\n"
if eof($pm);
close $pm;
}
else {
- print STDOUT "Warning (non-fatal): Couldn't find ${defpm}.pm;\n\t",
+ print "Warning (non-fatal): Couldn't find ${defpm}.pm;\n\t",
"defaulting package name to $defname\n";
}
$defname =~ s#[\d.\-_]+$##;
@@ -244,7 +244,7 @@ sub find_perl {
return "MCR $vmsfile";
}
}
- print STDOUT "Unable to find a perl $ver (by these names: @$names, in these dirs: @$dirs)\n";
+ print "Unable to find a perl $ver (by these names: @$names, in these dirs: @$dirs)\n";
0; # false and not empty
}
@@ -507,34 +507,6 @@ CODE
return;
}
-
-=item init_others (override)
-
-Provide VMS-specific forms of various compile and link commands
-
-=cut
-
-sub init_others {
- my $self = shift;
-
- # Must come first as we're modifying and deriving from the defaults.
- $self->SUPER::init_others;
-
- if ($self->{OBJECT} =~ /\s/) {
- $self->{OBJECT} =~ s/(\\)?\n+\s+/ /g;
- $self->{OBJECT} = $self->wraplist(
- map $self->fixpath($_,0), split /,?\s+/, $self->{OBJECT}
- );
- }
-
- $self->{LDFROM} = $self->wraplist(
- map $self->fixpath($_,0), split /,?\s+/, $self->{LDFROM}
- );
-
- return;
-}
-
-
=item init_platform (override)
Add PERL_VMS, MM_VMS_REVISION and MM_VMS_VERSION.
@@ -628,13 +600,31 @@ sub constants {
# Fixup files for MMS macros
# XXX is this list complete?
for my $macro (qw/
- FULLEXT VERSION_FROM OBJECT LDFROM
+ FULLEXT VERSION_FROM
/ ) {
next unless defined $self->{$macro};
$self->{$macro} = $self->fixpath($self->{$macro},0);
}
+ for my $macro (qw/
+ OBJECT LDFROM
+ / ) {
+ next unless defined $self->{$macro};
+
+ # Must expand macros before splitting on unescaped whitespace.
+ $self->{$macro} = $self->eliminate_macros($self->{$macro});
+ if ($self->{$macro} =~ /(?<!\^)\s/) {
+ $self->{$macro} =~ s/(\\)?\n+\s+/ /g;
+ $self->{$macro} = $self->wraplist(
+ map $self->fixpath($_,0), split /,?(?<!\^)\s+/, $self->{$macro}
+ );
+ }
+ else {
+ $self->{$macro} = $self->fixpath($self->{$macro},0);
+ }
+ }
+
for my $macro (qw/ XS MAN1PODS MAN3PODS PM /) {
# Where is the space coming from? --jhi
next unless $self ne " " && defined $self->{$macro};
@@ -697,7 +687,7 @@ sub cflags {
my($name,$sys,@m);
( $name = $self->{NAME} . "_cflags" ) =~ s/:/_/g ;
- print STDOUT "Unix shell script ".$Config{"$self->{'BASEEXT'}_cflags"}.
+ print "Unix shell script ".$Config{"$self->{'BASEEXT'}_cflags"}.
" required to modify CC command for $self->{'BASEEXT'}\n"
if ($Config{$name});
@@ -1513,7 +1503,7 @@ $(MAP_TARGET) :: $(MAKE_APERL_FILE)
push @optlibs, grep { !/PerlShr/i } split ' ', +($self->ext())[2];
if ($libperl) {
unless (-f $libperl || -f ($libperl = $self->catfile($Config{'installarchlib'},'CORE',$libperl))) {
- print STDOUT "Warning: $libperl not found\n";
+ print "Warning: $libperl not found\n";
undef $libperl;
}
}
@@ -1522,7 +1512,7 @@ $(MAP_TARGET) :: $(MAKE_APERL_FILE)
$libperl = $self->catfile($self->{PERL_SRC},"libperl$self->{LIB_EXT}");
} elsif (-f ($libperl = $self->catfile($Config{'installarchlib'},'CORE',"libperl$self->{LIB_EXT}")) ) {
} else {
- print STDOUT "Warning: $libperl not found
+ print "Warning: $libperl not found
If you're going to build a static perl binary, make sure perl is installed
otherwise ignore this warning\n";
}
@@ -1651,23 +1641,23 @@ sub prefixify {
$Config{lc $var} || $Config{lc $var_no_install};
if( !$path ) {
- print STDERR " no Config found for $var.\n" if $Verbose >= 2;
+ warn " no Config found for $var.\n" if $Verbose >= 2;
$path = $self->_prefixify_default($rprefix, $default);
}
elsif( !$self->{ARGS}{PREFIX} || !$self->file_name_is_absolute($path) ) {
# do nothing if there's no prefix or if its relative
}
elsif( $sprefix eq $rprefix ) {
- print STDERR " no new prefix.\n" if $Verbose >= 2;
+ warn " no new prefix.\n" if $Verbose >= 2;
}
else {
- print STDERR " prefixify $var => $path\n" if $Verbose >= 2;
- print STDERR " from $sprefix to $rprefix\n" if $Verbose >= 2;
+ warn " prefixify $var => $path\n" if $Verbose >= 2;
+ warn " from $sprefix to $rprefix\n" if $Verbose >= 2;
my($path_vol, $path_dirs) = $self->splitpath( $path );
if( $path_vol eq $Config{vms_prefix}.':' ) {
- print STDERR " $Config{vms_prefix}: seen\n" if $Verbose >= 2;
+ warn " $Config{vms_prefix}: seen\n" if $Verbose >= 2;
$path_dirs =~ s{^\[}{\[.} unless $path_dirs =~ m{^\[\.};
$path = $self->_catprefix($rprefix, $path_dirs);
@@ -1685,14 +1675,14 @@ sub prefixify {
sub _prefixify_default {
my($self, $rprefix, $default) = @_;
- print STDERR " cannot prefix, using default.\n" if $Verbose >= 2;
+ warn " cannot prefix, using default.\n" if $Verbose >= 2;
if( !$default ) {
- print STDERR "No default!\n" if $Verbose >= 1;
+ warn "No default!\n" if $Verbose >= 1;
return;
}
if( !$rprefix ) {
- print STDERR "No replacement prefix!\n" if $Verbose >= 1;
+ warn "No replacement prefix!\n" if $Verbose >= 1;
return '';
}
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm
index cdc6659b7f..3feaca786e 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_VOS;
use strict;
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm
index 43ae9a4dd5..45712b49a2 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm
@@ -27,7 +27,7 @@ use ExtUtils::MakeMaker qw( neatvalue );
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
$ENV{EMXSHELL} = 'sh'; # to run `commands`
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm
index 694655c1ba..f3121ae1ff 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm
@@ -2,7 +2,7 @@ package ExtUtils::MM_Win95;
use strict;
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
require ExtUtils::MM_Win32;
our @ISA = qw(ExtUtils::MM_Win32);
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm
index 92d4da0a4b..62a00391b9 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm
@@ -3,7 +3,7 @@ package ExtUtils::MY;
use strict;
require ExtUtils::MM;
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
our @ISA = qw(ExtUtils::MM);
{
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
index 3885ab00f1..d040891f94 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
@@ -18,7 +18,7 @@ our @Overridable;
my @Prepend_parent;
my %Recognized_Att_Keys;
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
$VERSION = eval $VERSION;
# Emulate something resembling CVS $Revision$
@@ -94,6 +94,7 @@ my %Special_Sigs = (
PREREQ_PM => 'HASH',
BUILD_REQUIRES => 'HASH',
CONFIGURE_REQUIRES => 'HASH',
+ TEST_REQUIRES => 'HASH',
SKIP => 'ARRAY',
TYPEMAPS => 'ARRAY',
XS => 'HASH',
@@ -274,12 +275,13 @@ sub full_setup {
INC INCLUDE_EXT LDFROM LIB LIBPERL_A LIBS LICENSE
LINKTYPE MAKE MAKEAPERL MAKEFILE MAKEFILE_OLD MAN1PODS MAN3PODS MAP_TARGET
META_ADD META_MERGE MIN_PERL_VERSION BUILD_REQUIRES CONFIGURE_REQUIRES
- MYEXTLIB NAME NEEDS_LINKING NOECHO NO_META NO_MYMETA NORECURS NO_VC OBJECT
- OPTIMIZE PERL_MALLOC_OK PERL PERLMAINCC PERLRUN PERLRUNINST PERL_CORE
+ MYEXTLIB NAME NEEDS_LINKING NOECHO NO_META NO_MYMETA
+ NORECURS NO_VC OBJECT OPTIMIZE PERL_MALLOC_OK PERL PERLMAINCC PERLRUN
+ PERLRUNINST PERL_CORE
PERL_SRC PERM_DIR PERM_RW PERM_RWX
PL_FILES PM PM_FILTER PMLIBDIRS PMLIBPARENTDIRS POLLUTE PPM_INSTALL_EXEC
PPM_INSTALL_SCRIPT PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ
- SIGN SKIP TYPEMAPS VERSION VERSION_FROM XS XSOPT XSPROTOARG
+ SIGN SKIP TEST_REQUIRES TYPEMAPS VERSION VERSION_FROM XS XSOPT XSPROTOARG
XS_VERSION clean depend dist dynamic_lib linkext macro realclean
tool_autosplit
@@ -416,7 +418,7 @@ sub new {
bless $self, "MM";
# Cleanup all the module requirement bits
- for my $key (qw(PREREQ_PM BUILD_REQUIRES CONFIGURE_REQUIRES)) {
+ for my $key (qw(PREREQ_PM BUILD_REQUIRES CONFIGURE_REQUIRES TEST_REQUIRES)) {
$self->{$key} ||= {};
$self->clean_versions( $key );
}
@@ -431,7 +433,7 @@ sub new {
$self->_PRINT_PREREQ;
}
- print STDOUT "MakeMaker (v$VERSION)\n" if $Verbose;
+ print "MakeMaker (v$VERSION)\n" if $Verbose;
if (-f "MANIFEST" && ! -f "Makefile" && ! $ENV{PERL_CORE}){
check_manifest();
}
@@ -780,7 +782,11 @@ END
if ($key eq 'PREREQ_PM') {
# CPAN.pm takes prereqs from this field in 'Makefile'
# and does not know about BUILD_REQUIRES
- $v = neatvalue({ %{ $att->{PREREQ_PM} || {} }, %{ $att->{BUILD_REQUIRES} || {} } });
+ $v = neatvalue({
+ %{ $att->{PREREQ_PM} || {} },
+ %{ $att->{BUILD_REQUIRES} || {} },
+ %{ $att->{TEST_REQUIRES} || {} },
+ });
} else {
$v = neatvalue($att->{$key});
}
@@ -795,18 +801,18 @@ END
sub check_manifest {
- print STDOUT "Checking if your kit is complete...\n";
+ print "Checking if your kit is complete...\n";
require ExtUtils::Manifest;
# avoid warning
$ExtUtils::Manifest::Quiet = $ExtUtils::Manifest::Quiet = 1;
my(@missed) = ExtUtils::Manifest::manicheck();
if (@missed) {
- print STDOUT "Warning: the following files are missing in your kit:\n";
+ print "Warning: the following files are missing in your kit:\n";
print "\t", join "\n\t", @missed;
- print STDOUT "\n";
- print STDOUT "Please inform the author.\n";
+ print "\n";
+ print "Please inform the author.\n";
} else {
- print STDOUT "Looks good\n";
+ print "Looks good\n";
}
}
@@ -834,9 +840,9 @@ sub parse_args{
if (defined $self->{potential_libs}){
my($msg)="'potential_libs' => '$self->{potential_libs}' should be";
if ($self->{potential_libs}){
- print STDOUT "$msg changed to:\n\t'LIBS' => ['$self->{potential_libs}']\n";
+ print "$msg changed to:\n\t'LIBS' => ['$self->{potential_libs}']\n";
} else {
- print STDOUT "$msg deleted.\n";
+ print "$msg deleted.\n";
}
$self->{LIBS} = [$self->{potential_libs}];
delete $self->{potential_libs};
@@ -844,14 +850,14 @@ sub parse_args{
# catch old-style 'ARMAYBE' and inform user how to 'upgrade'
if (defined $self->{ARMAYBE}){
my($armaybe) = $self->{ARMAYBE};
- print STDOUT "ARMAYBE => '$armaybe' should be changed to:\n",
+ print "ARMAYBE => '$armaybe' should be changed to:\n",
"\t'dynamic_lib' => {ARMAYBE => '$armaybe'}\n";
my(%dl) = %{$self->{dynamic_lib} || {}};
$self->{dynamic_lib} = { %dl, ARMAYBE => $armaybe};
delete $self->{ARMAYBE};
}
if (defined $self->{LDTARGET}){
- print STDOUT "LDTARGET should be changed to LDFROM\n";
+ print "LDTARGET should be changed to LDFROM\n";
$self->{LDFROM} = $self->{LDTARGET};
delete $self->{LDTARGET};
}
@@ -873,8 +879,8 @@ sub parse_args{
foreach my $mmkey (sort keys %$self){
next if $mmkey eq 'ARGS';
- print STDOUT " $mmkey => ", neatvalue($self->{$mmkey}), "\n" if $Verbose;
- print STDOUT "'$mmkey' is not a known MakeMaker parameter name.\n"
+ print " $mmkey => ", neatvalue($self->{$mmkey}), "\n" if $Verbose;
+ print "'$mmkey' is not a known MakeMaker parameter name.\n"
unless exists $Recognized_Att_Keys{$mmkey};
}
$| = 1 if $Verbose;
@@ -915,7 +921,7 @@ sub _run_hintfile {
my($hint_file) = shift;
local($@, $!);
- print STDERR "Processing hints file $hint_file\n";
+ warn "Processing hints file $hint_file\n";
# Just in case the ./ isn't on the hint file, which File::Spec can
# often strip off, we bung the curdir into @INC
@@ -923,7 +929,7 @@ sub _run_hintfile {
my $ret = do $hint_file;
if( !defined $ret ) {
my $error = $@ || $!;
- print STDERR $error;
+ warn $error;
}
}
@@ -993,20 +999,20 @@ sub skipcheck {
my($self) = shift;
my($section) = @_;
if ($section eq 'dynamic') {
- print STDOUT "Warning (non-fatal): Target 'dynamic' depends on targets ",
+ print "Warning (non-fatal): Target 'dynamic' depends on targets ",
"in skipped section 'dynamic_bs'\n"
if $self->{SKIPHASH}{dynamic_bs} && $Verbose;
- print STDOUT "Warning (non-fatal): Target 'dynamic' depends on targets ",
+ print "Warning (non-fatal): Target 'dynamic' depends on targets ",
"in skipped section 'dynamic_lib'\n"
if $self->{SKIPHASH}{dynamic_lib} && $Verbose;
}
if ($section eq 'dynamic_lib') {
- print STDOUT "Warning (non-fatal): Target '\$(INST_DYNAMIC)' depends on ",
+ print "Warning (non-fatal): Target '\$(INST_DYNAMIC)' depends on ",
"targets in skipped section 'dynamic_bs'\n"
if $self->{SKIPHASH}{dynamic_bs} && $Verbose;
}
if ($section eq 'static') {
- print STDOUT "Warning (non-fatal): Target 'static' depends on targets ",
+ print "Warning (non-fatal): Target 'static' depends on targets ",
"in skipped section 'static_lib'\n"
if $self->{SKIPHASH}{static_lib} && $Verbose;
}
@@ -1018,7 +1024,7 @@ sub flush {
my $self = shift;
my $finalname = $self->{MAKEFILE};
- print STDOUT "Writing $finalname for $self->{NAME}\n";
+ print "Writing $finalname for $self->{NAME}\n";
unlink($finalname, "MakeMaker.tmp", $Is_VMS ? 'Descrip.MMS' : ());
open(my $fh,">", "MakeMaker.tmp")
@@ -1037,8 +1043,8 @@ sub flush {
unless ($self->{NO_MYMETA}) {
# Write MYMETA.yml to communicate metadata up to the CPAN clients
- if ( $self->write_mymeta( $self->mymeta ) ) {;
- print STDOUT "Writing MYMETA.yml and MYMETA.json\n";
+ if ( $self->write_mymeta( $self->mymeta ) ) {
+ print "Writing MYMETA.yml and MYMETA.json\n";
}
}
@@ -1156,7 +1162,10 @@ ExtUtils::MakeMaker - Create a module Makefile
use ExtUtils::MakeMaker;
- WriteMakefile( ATTRIBUTE => VALUE [, ...] );
+ WriteMakefile(
+ NAME => "Foo::Bar",
+ VERSION_FROM => "lib/Foo/Bar.pm",
+ );
=head1 DESCRIPTION
@@ -1168,6 +1177,18 @@ It splits the task of generating the Makefile into several subroutines
that can be individually overridden. Each subroutine returns the text
it wishes to have written to the Makefile.
+As there are various Make programs with incompatible syntax, which
+use operating system shells, again with incompatible syntax, it is
+important for users of this module to know which flavour of Make
+a Makefile has been written for so they'll use the correct one and
+won't have to face the possibly bewildering errors resulting from
+using the wrong one.
+
+On POSIX systems, that program will likely be GNU Make; on Microsoft
+Windows, it will be either Microsoft NMake or DMake. Note that this
+module does not support generating Makefiles for GNU Make on Windows.
+See the section on the L</"MAKE"> parameter for details.
+
MakeMaker is object oriented. Each directory below the current
directory that contains a Makefile.PL is treated as a separate
object. This makes it possible to write an unlimited number of
@@ -1938,9 +1959,17 @@ MakeMaker also honors the MAKE environment variable. This parameter
takes precedent.
Currently the only significant values are 'dmake' and 'nmake' for Windows
-users.
+users, instructing MakeMaker to generate a Makefile in the flavour of
+DMake ("Dennis Vadura's Make") or Microsoft NMake respectively.
+
+Defaults to $Config{make}, which may go looking for a Make program
+in your environment.
-Defaults to $Config{make}.
+How are you supposed to know what flavour of Make a Makefile has
+been generated for if you didn't specify a value explicitly? Search
+the generated Makefile for the definition of the MAKE variable,
+which is used to recursively invoke the Make utility. That will tell
+you what Make you're supposed to invoke the Makefile with.
=item MAKEAPERL
@@ -2013,9 +2042,18 @@ name of the library (see SDBM_File)
=item NAME
-Perl module name for this extension (DBD::Oracle). This will default
-to the directory name but should be explicitly defined in the
-Makefile.PL.
+The package representing the distribution. For example, C<Test::More>
+or C<ExtUtils::MakeMaker>. It will be used to derive information about
+the distribution such as the L<DISTNAME>, installation locations
+within the Perl library and where XS files will be looked for by
+default (see L<XS>).
+
+C<NAME> I<must> be a valid Perl package name and it I<must> have an
+associated C<.pm> file. For example, C<Foo::Bar> is a valid C<NAME>
+and there must exist F<Foo/Bar.pm>. Any XS code should be in
+F<Bar.xs> unless stated otherwise.
+
+Your distribution B<must> have a C<NAME>.
=item NEEDS_LINKING
@@ -2372,6 +2410,16 @@ Makefile. Caution! Do not use the SKIP attribute for the negligible
speedup. It may seriously damage the resulting Makefile. Only use it
if you really need it.
+=item TEST_REQUIRES
+
+A hash of modules that are needed to test your module but not run or
+build it.
+
+This will go into the C<test_requires> field of your CPAN Meta file.
+(F<META.yml> or F<META.json>).
+
+The format is the same as PREREQ_PM.
+
=item TYPEMAPS
Ref to array of typemap file names. Use this when the typemaps are
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm
index 872f8c181c..01d1e3e3ca 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm
@@ -2,7 +2,7 @@ package ExtUtils::MakeMaker::Config;
use strict;
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
use Config ();
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod
index 675c95fc11..093b843fe8 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod
@@ -1,6 +1,6 @@
package ExtUtils::MakeMaker::FAQ;
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
1;
__END__
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod
index 5120271979..dbe3087fed 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod
@@ -1,6 +1,6 @@
package ExtUtils::MakeMaker::Tutorial;
-our $VERSION = 6.63_02;
+our $VERSION = 6.64;
=head1 NAME
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm
index b5f19ea95c..0436691b94 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm
@@ -3,7 +3,7 @@ package ExtUtils::Mkbootstrap;
# There's just too much Dynaloader incest here to turn on strict vars.
use strict 'refs';
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
require Exporter;
our @ISA = ('Exporter');
@@ -18,7 +18,7 @@ sub Mkbootstrap {
my($baseext, @bsloadlibs)=@_;
@bsloadlibs = grep($_, @bsloadlibs); # strip empty libs
- print STDOUT " bsloadlibs=@bsloadlibs\n" if $Verbose;
+ print " bsloadlibs=@bsloadlibs\n" if $Verbose;
# We need DynaLoader here because we and/or the *_BS file may
# call dl_findfile(). We don't say `use' here because when
@@ -50,8 +50,8 @@ sub Mkbootstrap {
if (@all){
open my $bs, ">", "$baseext.bs"
or die "Unable to open $baseext.bs: $!";
- print STDOUT "Writing $baseext.bs\n";
- print STDOUT " containing: @all" if $Verbose;
+ print "Writing $baseext.bs\n";
+ print " containing: @all" if $Verbose;
print $bs "# $baseext DynaLoader bootstrap file for $^O architecture.\n";
print $bs "# Do not edit this file, changes will be lost.\n";
print $bs "# This file was automatically generated by the\n";
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm
index f086085592..1bc58fb290 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm
@@ -10,7 +10,7 @@ use Config;
our @ISA = qw(Exporter);
our @EXPORT = qw(&Mksymlists);
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
sub Mksymlists {
my(%spec) = @_;
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm
index 44832ee353..b287544780 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm
@@ -3,7 +3,7 @@ package ExtUtils::testlib;
use strict;
use warnings;
-our $VERSION = '6.63_02';
+our $VERSION = '6.64';
use Cwd;
use File::Spec;
diff --git a/cpan/ExtUtils-MakeMaker/t/01perl_bugs.t b/cpan/ExtUtils-MakeMaker/t/01perl_bugs.t
new file mode 100644
index 0000000000..618dc09278
--- /dev/null
+++ b/cpan/ExtUtils-MakeMaker/t/01perl_bugs.t
@@ -0,0 +1,25 @@
+#!/usr/bin/env perl -w
+
+# Inform the user early and clearly that their Perl is broken beyond redemption
+
+use strict;
+use warnings;
+
+use lib 't/lib';
+
+use Test::More;
+
+note "The 0.01 / Gconvert bug"; {
+ my $number = 0.01;
+ my $string = "VERSION=$number";
+
+ is "VERSION=$number", "VERSION=0.01" or do {
+ diag <<END;
+Sorry, but your perl's ability to translate decimal numbers to strings
+is broken. You should probably recompile it with -Dd_Gconvert=sprintf
+or upgrade to a newer version of Perl.
+END
+ };
+}
+
+done_testing;
diff --git a/cpan/ExtUtils-MakeMaker/t/FIRST_MAKEFILE.t b/cpan/ExtUtils-MakeMaker/t/FIRST_MAKEFILE.t
index 6de5a73e94..71f65f8bd5 100644
--- a/cpan/ExtUtils-MakeMaker/t/FIRST_MAKEFILE.t
+++ b/cpan/ExtUtils-MakeMaker/t/FIRST_MAKEFILE.t
@@ -31,4 +31,4 @@ cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) || diag @mpl_out;
ok( -e 'jakefile', 'FIRST_MAKEFILE honored' );
ok( grep(/^Writing jakefile(?:\.)? for Big::Dummy/, @mpl_out) == 1,
- 'Makefile.PL output looks right' );
+ 'Makefile.PL output looks right' );
diff --git a/cpan/ExtUtils-MakeMaker/t/Liblist.t b/cpan/ExtUtils-MakeMaker/t/Liblist.t
index 7161fd373b..37d10a1c6e 100644
--- a/cpan/ExtUtils-MakeMaker/t/Liblist.t
+++ b/cpan/ExtUtils-MakeMaker/t/Liblist.t
@@ -24,5 +24,5 @@ ok( defined &ExtUtils::Liblist::ext,
unlike( $out[2], qr/-ln0tt43r3_perl/, 'bogus library not added' );
ok( @warn, 'had warning');
- is( grep(/\QNote (probably harmless): No library found for \E(-l)?n0tt43r3_perl/, map { @$_ } @warn), 1 ) || diag join "\n", @warn;
+ is( grep(/\QWarning (mostly harmless): No library found for \E(-l)?n0tt43r3_perl/, map { @$_ } @warn), 1 ) || diag join "\n", @warn;
}
diff --git a/cpan/ExtUtils-MakeMaker/t/MM_OS2.t b/cpan/ExtUtils-MakeMaker/t/MM_OS2.t
index 4d88e85f28..08d0e1abab 100644
--- a/cpan/ExtUtils-MakeMaker/t/MM_OS2.t
+++ b/cpan/ExtUtils-MakeMaker/t/MM_OS2.t
@@ -42,7 +42,7 @@ delete $mm->{SKIPHASH};
my $res = $mm->dlsyms();
like( $res, qr/baseext\.def: Makefile/,
'... without flag, should return make targets' );
-like( $res, qr/"DL_FUNCS" => { }/,
+like( $res, qr/"DL_FUNCS" => \{ \}/,
'... should provide empty hash refs where necessary' );
like( $res, qr/"DL_VARS" => \[]/, '... and empty array refs too' );
diff --git a/cpan/ExtUtils-MakeMaker/t/MM_Win32.t b/cpan/ExtUtils-MakeMaker/t/MM_Win32.t
index 4bc030d902..6d4bf8d288 100644
--- a/cpan/ExtUtils-MakeMaker/t/MM_Win32.t
+++ b/cpan/ExtUtils-MakeMaker/t/MM_Win32.t
@@ -272,12 +272,6 @@ unlink "${script_name}$script_ext" if -f "${script_name}$script_ext";
# dist_ci() should look into that
# dist_core() should look into that
-# pasthru()
-{
- my $pastru = "PASTHRU = " . ($Config{make} =~ /^nmake/i ? "-nologo" : "");
- is( $MM->pasthru(), $pastru, 'pasthru()' );
-}
-
# _identify_compiler_environment()
{
sub _run_cc_id {
diff --git a/cpan/ExtUtils-MakeMaker/t/hints.t b/cpan/ExtUtils-MakeMaker/t/hints.t
index ab9d9553f7..19bee553cd 100644
--- a/cpan/ExtUtils-MakeMaker/t/hints.t
+++ b/cpan/ExtUtils-MakeMaker/t/hints.t
@@ -1,8 +1,9 @@
#!/usr/bin/perl -w
-BEGIN {
- unshift @INC, 't/lib/';
-}
+use strict;
+use warnings;
+
+use lib 't/lib';
chdir 't';
use File::Spec;
@@ -13,36 +14,55 @@ use Test::More tests => 3;
my $curdir = File::Spec->curdir;
@INC = grep { $_ ne $curdir && $_ ne '.' } @INC;
+use ExtUtils::MakeMaker;
+
+# Make a hints directory for testing
mkdir('hints', 0777);
(my $os = $^O) =~ s/\./_/g;
-my $hint_file = File::Spec->catfile('hints', "$os.pl");
+my $Hint_File = File::Spec->catfile('hints', "$os.pl");
-open(HINT, ">$hint_file") || die "Can't write dummy hints file $hint_file: $!";
-print HINT <<'CLOO';
+
+my $mm = bless {}, 'ExtUtils::MakeMaker';
+
+# Write a hints file for testing
+{
+ open my $hint_fh, ">", $Hint_File || die "Can't write dummy hints file $Hint_File: $!";
+ print $hint_fh <<'CLOO';
$self->{CCFLAGS} = 'basset hounds got long ears';
CLOO
-close HINT;
+}
-use TieOut;
-use ExtUtils::MakeMaker;
+# Test our hint file is detected
+{
+ my $stderr = '';
+ local $SIG{__WARN__} = sub { $stderr .= join '', @_ };
+
+ $mm->check_hints;
+ is( $mm->{CCFLAGS}, 'basset hounds got long ears' );
+ is( $stderr, "Processing hints file $Hint_File\n" );
+}
-my $out = tie *STDERR, 'TieOut';
-my $mm = bless {}, 'ExtUtils::MakeMaker';
-$mm->check_hints;
-is( $mm->{CCFLAGS}, 'basset hounds got long ears' );
-is( $out->read, "Processing hints file $hint_file\n" );
-open(HINT, ">$hint_file") || die "Can't write dummy hints file $hint_file: $!";
-print HINT <<'CLOO';
+# Test a hint file which dies
+{
+ open my $hint_fh, ">", $Hint_File || die "Can't write dummy hints file $Hint_File: $!";
+ print $hint_fh <<'CLOO';
die "Argh!\n";
CLOO
-close HINT;
+}
+
-$mm->check_hints;
-is( $out->read, <<OUT, 'hint files produce errors' );
-Processing hints file $hint_file
+# Test the hint file which produces errors
+{
+ my $stderr = '';
+ local $SIG{__WARN__} = sub { $stderr .= join '', @_ };
+
+ $mm->check_hints;
+ is( $stderr, <<OUT, 'hint files produce errors' );
+Processing hints file $Hint_File
Argh!
OUT
+}
END {
use File::Path;
diff --git a/cpan/ExtUtils-MakeMaker/t/metafile_data.t b/cpan/ExtUtils-MakeMaker/t/metafile_data.t
index 4c8fa76231..1fb8d10b9d 100644
--- a/cpan/ExtUtils-MakeMaker/t/metafile_data.t
+++ b/cpan/ExtUtils-MakeMaker/t/metafile_data.t
@@ -3,7 +3,7 @@ BEGIN {
}
use strict;
-use Test::More tests => 19;
+use Test::More tests => 22;
use Data::Dumper;
use File::Temp;
@@ -402,29 +402,37 @@ my $new_mm = sub {
version => '6.57_07',
abstract => 'Create a module Makefile',
author => ['Michael G Schwern <schwern@pobox.com>'],
- license => 'perl',
+ license => ['perl_5'],
dynamic_config => 0,
- requires => {
- "DirHandle" => 0,
- "File::Basename" => 0,
- "File::Spec" => "0.8",
- "Pod::Man" => 0,
- "perl" => "5.006"
- },
-
- configure_requires => {
- },
- build_requires => {
- 'Fake::Module1' => 1.01,
+ prereqs => {
+ runtime => {
+ requires => {
+ "DirHandle" => 0,
+ "File::Basename" => 0,
+ "File::Spec" => "0.8",
+ "Pod::Man" => 0,
+ "perl" => "5.006",
+ },
+ },
+ configure => {
+ requires => {
+ },
+ },
+ build => {
+ requires => {
+ 'Fake::Module1' => 1.01,
+ },
+ },
},
+ release_status => 'testing',
resources => {
- license => 'http://dev.perl.org/licenses/',
- homepage => 'http://makemaker.org',
- bugtracker => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
- repository => 'http://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker',
- x_MailingList => 'makemaker@perl.org',
+ license => [ 'http://dev.perl.org/licenses/' ],
+ homepage => 'http://makemaker.org',
+ bugtracker => { web => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker' },
+ repository => { url => 'http://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker' },
+ x_MailingList => 'makemaker@perl.org',
},
no_index => {
@@ -434,8 +442,8 @@ my $new_mm = sub {
generated_by => "ExtUtils::MakeMaker version 6.5707, CPAN::Meta::Converter version 2.110580",
'meta-spec' => {
- url => 'http://module-build.sourceforge.net/META-spec-v1.4.html',
- version => 1.4
+ url => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec',
+ version => 2,
},
};
@@ -448,6 +456,28 @@ my $new_mm = sub {
'MYMETA YAML data (BUILD_REQUIRES wins)';
}
+{
+ my $mm = $new_mm->(
+ DISTNAME => 'Foo-Bar',
+ VERSION => 1.23,
+ BUILD_REQUIRES => { "Fake::Module1" => 1.01 },
+ TEST_REQUIRES => { "Fake::Module2" => 1.23 },
+ );
+
+ my $meta = $mm->mymeta('t/META_for_testing.json');
+ is($meta->{build_requires}, undef, "no build_requires in v2 META");
+ is_deeply(
+ $meta->{prereqs}{build}{requires},
+ { "Fake::Module1" => 1.01 },
+ "build requires are one thing in META v2...",
+ );
+
+ is_deeply(
+ $meta->{prereqs}{test}{requires},
+ { "Fake::Module2" => 1.23 },
+ "...and test requires are another",
+ );
+}
note "CPAN::Meta bug using the module version instead of the meta spec version"; {
my $mm = $new_mm->(
@@ -462,7 +492,7 @@ note "CPAN::Meta bug using the module version instead of the meta spec version";
);
my $meta = $mm->mymeta("t/META_for_testing_tricky_version.yml");
- is $meta->{'meta-spec'}{version}, 1.4;
+ is $meta->{'meta-spec'}{version}, 2, "internally, our MYMETA struct is v2";
in_dir {
$mm->write_mymeta($meta);
@@ -475,7 +505,6 @@ note "CPAN::Meta bug using the module version instead of the meta spec version";
my $meta_json = Parse::CPAN::Meta->load_file("MYMETA.json");
cmp_ok $meta_json->{'meta-spec'}{version}, ">=", 2, "MYMETA.json at 2 or better";
};
-
}
diff --git a/cpan/ExtUtils-MakeMaker/t/parse_abstract.t b/cpan/ExtUtils-MakeMaker/t/parse_abstract.t
index 03e56c932e..6f9634544d 100644
--- a/cpan/ExtUtils-MakeMaker/t/parse_abstract.t
+++ b/cpan/ExtUtils-MakeMaker/t/parse_abstract.t
@@ -3,6 +3,7 @@
use strict;
use warnings;
+use lib 't/lib';
use ExtUtils::MakeMaker;
use Test::More 'no_plan';