diff options
author | Chris 'BinGOs' Williams <chris@bingosnet.co.uk> | 2012-12-17 09:46:37 +0000 |
---|---|---|
committer | Chris 'BinGOs' Williams <chris@bingosnet.co.uk> | 2012-12-17 09:46:37 +0000 |
commit | 4800031444245dc3dac9967b46b4860ff3863d32 (patch) | |
tree | d01413df596d1a4c0b4a8712a83a2d74b9c8b4f7 /cpan | |
parent | 8b1989690cb5c8e76b281f6f8b7829d8081649fc (diff) | |
download | perl-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')
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'; |