Hello community, here is the log from the commit of package perl-ExtUtils-MakeMaker for openSUSE:Factory checked in at 2014-02-11 10:44:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-ExtUtils-MakeMaker (Old) and /work/SRC/openSUSE:Factory/.perl-ExtUtils-MakeMaker.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-ExtUtils-MakeMaker" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-ExtUtils-MakeMaker/perl-ExtUtils-MakeMaker.changes 2013-12-06 14:42:55.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.perl-ExtUtils-MakeMaker.new/perl-ExtUtils-MakeMaker.changes 2014-02-11 10:44:36.000000000 +0100 @@ -1,0 +2,34 @@ +Sat Feb 8 10:54:51 UTC 2014 - l...@linux-schulserver.de + +- update to 6.88: + Misc: + * disable make parallelism for pure_all target + * Enable bootstrapping to work on v5.10.x again + Bug fixes: + * Don't recurse into stale dist dirs + * RT#90780 fix Macro `BOOTSTRAP' redefined warnings + * Only enable automatic OBJECT generation if MAGICXS is true + * harden xsubpp locating loop in MM_Unix + * RT#91540 PREREQ_FATAL not recognised on command line + * Export 'configure' section of prereqs when meta-spec version 2 + * Explicitly require dynaloader before using mod2fname + * Expanded test coverage for metafiles + * Get rid of unused printf arguments in dir_target + * Get rid of unused printf arguments in dynamic_bs + * On Android, pass PERL_LIB through rel2abs(). + * Synchronisation with blead to remove old cross-compilation model + New Features: + * OBJECT can now be specified as an array + * build C_FILES/O_FILES/OBJECT automatically from XS + * Added MAGICXS attribute to explicitly enable automagic + XS building. + * Added PPM_UNINSTALL_EXEC and PPM_UNINSTALL_SCRIPT options + to PPD generation + Doc fixes: + * Correct the documentation for MAGICXS + * Document BUILD_REQUIRES defaults + * Documentation expanded to mention JSON metafiles + * mention that TEST_REQUIRES is in v6.64 and above + * Update documentation for LICENSE attribute. + +------------------------------------------------------------------- Old: ---- ExtUtils-MakeMaker-6.82.tar.gz New: ---- ExtUtils-MakeMaker-6.88.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-ExtUtils-MakeMaker.spec ++++++ --- /var/tmp/diff_new_pack.gElF8Y/_old 2014-02-11 10:44:36.000000000 +0100 +++ /var/tmp/diff_new_pack.gElF8Y/_new 2014-02-11 10:44:36.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package perl-ExtUtils-MakeMaker # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: perl-ExtUtils-MakeMaker -Version: 6.82 +Version: 6.88 Release: 0 %define cpan_name ExtUtils-MakeMaker Summary: Create a module Makefile ++++++ ExtUtils-MakeMaker-6.82.tar.gz -> ExtUtils-MakeMaker-6.88.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/Changes new/ExtUtils-MakeMaker-6.88/Changes --- old/ExtUtils-MakeMaker-6.82/Changes 2013-11-04 20:20:56.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/Changes 2014-01-31 21:50:06.000000000 +0100 @@ -1,3 +1,103 @@ +6.88 Fri Jan 31 20:49:13 GMT 2014 + + No changes from 6.87_05 + +6.87_05 Tue Jan 28 13:54:21 GMT 2014 + Bug fixes: + * Synchronisation with blead to remove old cross-compilation model + +6.87_04 Sun Jan 26 19:29:05 GMT 2014 + Bug fixes: + * On Android, pass PERL_LIB through rel2abs(). + +6.87_03 Sun Jan 19 17:49:43 GMT 2014 + Bug fixes: + * Get rid of unused printf arguments in dynamic_bs + +6.87_02 Sat Jan 18 13:00:36 GMT 2014 + Doc fixes: + * Update documentation for LICENSE attribute. + + Bug fixes: + * Get rid of unused printf arguments in dir_target + +6.87_01 Sun Jan 12 10:31:41 GMT 2014 + Doc fixes: + * mention that TEST_REQUIRES is in v6.64 and above + +6.86 Sat Jan 4 12:17:53 GMT 2014 + + No changes from 6.85_07 + +6.85_07 Wed Jan 1 18:55:22 GMT 2014 + Bug fixes: + * Expanded test coverage for metafiles + + Doc fixes: + * Documentation expanded to mention JSON metafiles + +6.85_06 Mon Dec 30 23:14:37 GMT 2013 + Bug fixes: + * Explicitly require dynaloader before using mod2fname + +6.85_05 Sun Dec 29 11:25:00 GMT 2013 + Bug fixes: + * Export 'configure' section of prereqs when meta-spec version 2 + + Doc fixes: + * Document BUILD_REQUIRES defaults + +6.85_04 Mon Dec 23 15:00:14 GMT 2013 + + No changes since v6.85_03 fixing repo tags + +6.85_03 Mon Dec 23 14:55:37 GMT 2013 + Bug fixes: + * RT#91540 PREREQ_FATAL not recognised on command line + +6.85_02 Tue Dec 17 10:13:28 GMT 2013 + New features: + * Added PPM_UNINSTALL_EXEC and PPM_UNINSTALL_SCRIPT options + to PPD generation + +6.85_01 Mon Dec 16 13:15:43 GMT 2013 + Bug Fixes: + * harden xsubpp locating loop in MM_Unix + +6.84 Sat Nov 30 15:22:35 GMT 2013 + + No changes from 6.83_06 + +6.83_06 Fri Nov 29 21:50:51 GMT 2013 + Doc fixes: + * Correct the documentation for MAGICXS + +6.83_05 Mon Nov 25 22:51:11 GMT 2013 + New Features: + * Added MAGICXS attribute to explicitly enable automagic + XS building. + + Bug fixes: + * RT#90780 fix Macro `BOOTSTRAP' redefined warnings + * Only enable automatic OBJECT generation if MAGICXS is true + +6.83_04 Sun Nov 17 11:41:43 GMT 2013 + New Features: + * OBJECT can now be specified as an array + * build C_FILES/O_FILES/OBJECT automatically from XS + +6.83_03 Fri Nov 15 09:44:26 GMT 2013 + Bug fixes: + * Don't recurse into stale dist dirs + +6.83_02 Tue Nov 12 11:11:34 GMT 2013 + Misc: + * Enable bootstrapping to work on v5.10.x again + +6.83_01 Tue Nov 5 11:43:50 GMT 2013 + Misc: + * disable make parallelism for pure_all target + 6.82 Mon Nov 4 19:20:07 GMT 2013 No changes from 6.81_05 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/META.json new/ExtUtils-MakeMaker-6.88/META.json --- old/ExtUtils-MakeMaker-6.82/META.json 2013-11-04 20:21:58.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/META.json 2014-01-31 21:58:06.000000000 +0100 @@ -4,7 +4,7 @@ "Michael G Schwern <schw...@pobox.com>" ], "dynamic_config" : 1, - "generated_by" : "ExtUtils::MakeMaker version 6.82, CPAN::Meta::Converter version 2.120351", + "generated_by" : "ExtUtils::MakeMaker version 6.88, CPAN::Meta::Converter version 2.120351", "license" : [ "perl_5" ], @@ -58,5 +58,5 @@ }, "x_MailingList" : "makema...@perl.org" }, - "version" : "6.82" + "version" : "6.88" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/META.yml new/ExtUtils-MakeMaker-6.88/META.yml --- old/ExtUtils-MakeMaker-6.82/META.yml 2013-11-04 20:21:58.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/META.yml 2014-01-31 21:58:06.000000000 +0100 @@ -6,7 +6,7 @@ Data::Dumper: 0 configure_requires: {} dynamic_config: 1 -generated_by: 'ExtUtils::MakeMaker version 6.82, CPAN::Meta::Converter version 2.120351' +generated_by: 'ExtUtils::MakeMaker version 6.88, CPAN::Meta::Converter version 2.120351' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -33,4 +33,4 @@ license: http://dev.perl.org/licenses/ repository: http://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker x_MailingList: makema...@perl.org -version: 6.82 +version: 6.88 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/Makefile.PL new/ExtUtils-MakeMaker-6.88/Makefile.PL --- old/ExtUtils-MakeMaker-6.82/Makefile.PL 2013-09-22 19:39:56.000000000 +0200 +++ new/ExtUtils-MakeMaker-6.88/Makefile.PL 2014-01-22 21:12:31.000000000 +0100 @@ -244,4 +244,14 @@ END } + + sub special_targets { + my $make_frag = shift->SUPER::special_targets(@_); + $make_frag .= <<'MAKE_FRAG'; +.NOTPARALLEL: pure_all + +MAKE_FRAG + return $make_frag; + } + } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/bundled/CPAN-Meta/CPAN/Meta/Converter.pm new/ExtUtils-MakeMaker-6.88/bundled/CPAN-Meta/CPAN/Meta/Converter.pm --- old/ExtUtils-MakeMaker-6.82/bundled/CPAN-Meta/CPAN/Meta/Converter.pm 2013-08-01 10:09:55.000000000 +0200 +++ new/ExtUtils-MakeMaker-6.88/bundled/CPAN-Meta/CPAN/Meta/Converter.pm 2013-11-12 11:22:59.000000000 +0100 @@ -6,7 +6,7 @@ use CPAN::Meta::Validator; -use version 0.82 (); +use version (); # Removed 0.82 constraint, EUMM installed CPAN::Meta use Parse::CPAN::Meta 1.4400 (); sub _dclone { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/Command/MM.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/Command/MM.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/Command/MM.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/Command/MM.pm 2014-01-31 21:50:13.000000000 +0100 @@ -10,7 +10,7 @@ our @EXPORT = qw(test_harness pod2man perllocal_install uninstall warn_if_old_packlist test_s cp_nonempty); -our $VERSION = '6.82'; +our $VERSION = '6.88'; my $Is_VMS = $^O eq 'VMS'; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/Liblist/Kid.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/Liblist/Kid.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/Liblist/Kid.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/Liblist/Kid.pm 2014-01-31 21:50:13.000000000 +0100 @@ -11,7 +11,7 @@ use strict; use warnings; -our $VERSION = '6.82'; +our $VERSION = '6.88'; use ExtUtils::MakeMaker::Config; use Cwd 'cwd'; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/Liblist.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/Liblist.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/Liblist.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/Liblist.pm 2014-01-31 21:50:13.000000000 +0100 @@ -2,7 +2,7 @@ use strict; -our $VERSION = '6.82'; +our $VERSION = '6.88'; use File::Spec; require ExtUtils::Liblist::Kid; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM.pm 2014-01-31 21:50:13.000000000 +0100 @@ -3,7 +3,7 @@ use strict; use ExtUtils::MakeMaker::Config; -our $VERSION = '6.82'; +our $VERSION = '6.88'; require ExtUtils::Liblist; require ExtUtils::MakeMaker; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_AIX.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_AIX.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_AIX.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_AIX.pm 2014-01-31 21:50:13.000000000 +0100 @@ -1,7 +1,7 @@ package ExtUtils::MM_AIX; use strict; -our $VERSION = '6.82'; +our $VERSION = '6.88'; require ExtUtils::MM_Unix; our @ISA = qw(ExtUtils::MM_Unix); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_Any.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_Any.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_Any.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_Any.pm 2014-01-31 21:50:13.000000000 +0100 @@ -1,7 +1,7 @@ package ExtUtils::MM_Any; use strict; -our $VERSION = '6.82'; +our $VERSION = '6.88'; use Carp; use File::Spec; @@ -643,7 +643,7 @@ my $make = ''; foreach my $dir (@dirs) { - $make .= sprintf <<'MAKE', ($dir) x 7; + $make .= sprintf <<'MAKE', ($dir) x 4; %s$(DFSEP).exists :: Makefile.PL $(NOECHO) $(MKPATH) %s $(NOECHO) $(CHMOD) $(PERM_DIR) %s @@ -806,9 +806,9 @@ Generate the metafile target. -Writes the file META.yml YAML encoded meta-data about the module in -the distdir. The format follows Module::Build's as closely as -possible. +Writes the file META.yml (YAML encoded meta-data) and META.json +(JSON encoded meta-data) about the module in the distdir. +The format follows Module::Build's as closely as possible. =cut @@ -959,7 +959,8 @@ my @metadata_pairs = $mm->metafile_data(\%meta_add, \%meta_merge); -Returns the data which MakeMaker turns into the META.yml file. +Returns the data which MakeMaker turns into the META.yml file +and the META.json file. Values of %meta_add will overwrite any existing metadata in those keys. %meta_merge will be merged with them. @@ -995,17 +996,6 @@ # The author key is required and it takes a list. $meta{author} = defined $self->{AUTHOR} ? $self->{AUTHOR} : []; - # 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}{CONFIGURE_REQUIRES} ) { - $meta{configure_requires} - = _normalize_prereqs($self->{CONFIGURE_REQUIRES}); - } else { - $meta{configure_requires} = { - 'ExtUtils::MakeMaker' => 0, - }; - } - { my $vers = _metaspec_version( $meta_add, $meta_merge ); my $method = $vers =~ m!^2! @@ -1046,6 +1036,15 @@ # 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}{CONFIGURE_REQUIRES} ) { + $meta{configure_requires} + = _normalize_prereqs($self->{CONFIGURE_REQUIRES}); + } else { + $meta{configure_requires} = { + 'ExtUtils::MakeMaker' => 0, + }; + } + if( $self->{ARGS}{BUILD_REQUIRES} ) { $meta{build_requires} = _normalize_prereqs($self->{BUILD_REQUIRES}); } else { @@ -1074,6 +1073,15 @@ # 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}{CONFIGURE_REQUIRES} ) { + $meta{prereqs}{configure}{requires} + = _normalize_prereqs($self->{CONFIGURE_REQUIRES}); + } else { + $meta{prereqs}{configure}{requires} = { + 'ExtUtils::MakeMaker' => 0, + }; + } + if( $self->{ARGS}{BUILD_REQUIRES} ) { $meta{prereqs}{build}{requires} = _normalize_prereqs($self->{BUILD_REQUIRES}); } else { @@ -1270,8 +1278,8 @@ my $make_frag = $mm->distmeta_target; -Generates the distmeta target to add META.yml to the MANIFEST in the -distdir. +Generates the distmeta target to add META.yml and META.json to the MANIFEST +in the distdir. =cut @@ -1307,8 +1315,8 @@ my $mymeta = $mm->mymeta; -Generate MYMETA information as a hash either from an existing META.yml -or from internal data. +Generate MYMETA information as a hash either from an existing CPAN Meta file +(META.json or META.yml) or from internal data. =cut @@ -1376,9 +1384,7 @@ $self->write_mymeta( $mymeta ); -Write MYMETA information to MYMETA.yml. - -This will probably be refactored into a more generic YAML dumping method. +Write MYMETA information to MYMETA.json and MYMETA.yml. =cut @@ -1627,14 +1633,7 @@ # you to build directly into, say $Config{privlibexp}. unless ($self->{INST_LIB}){ if ($self->{PERL_CORE}) { - if (defined $Cross::platform) { - $self->{INST_LIB} = $self->{INST_ARCHLIB} = - $self->catdir($self->{PERL_LIB},"..","xlib", - $Cross::platform); - } - else { - $self->{INST_LIB} = $self->{INST_ARCHLIB} = $self->{PERL_LIB}; - } + $self->{INST_LIB} = $self->{INST_ARCHLIB} = $self->{PERL_LIB}; } else { $self->{INST_LIB} = $self->catdir($Curdir,"blib","lib"); } @@ -2154,6 +2153,10 @@ } if ( $self->{OBJECT} ) { + $self->{OBJECT} = join(" ", @{$self->{OBJECT}}) if ref $self->{OBJECT}; + $self->{OBJECT} =~ s!\.o(bj)?\b!\$(OBJ_EXT)!g; + } elsif ( $self->{MAGICXS} && @{$self->{O_FILES}||[]} ) { + $self->{OBJECT} = join(" ", @{$self->{O_FILES}}); $self->{OBJECT} =~ s!\.o(bj)?\b!\$(OBJ_EXT)!g; } else { # init_dirscan should have found out, if we have C files diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_BeOS.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_BeOS.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_BeOS.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_BeOS.pm 2014-01-31 21:50:13.000000000 +0100 @@ -26,7 +26,7 @@ require ExtUtils::MM_Unix; our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix ); -our $VERSION = '6.82'; +our $VERSION = '6.88'; =item os_flavor diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_Cygwin.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_Cygwin.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_Cygwin.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_Cygwin.pm 2014-01-31 21:50:13.000000000 +0100 @@ -9,7 +9,7 @@ require ExtUtils::MM_Win32; our @ISA = qw( ExtUtils::MM_Unix ); -our $VERSION = '6.82'; +our $VERSION = '6.88'; =head1 NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_DOS.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_DOS.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_DOS.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_DOS.pm 2014-01-31 21:50:13.000000000 +0100 @@ -2,7 +2,7 @@ use strict; -our $VERSION = '6.82'; +our $VERSION = '6.88'; require ExtUtils::MM_Any; require ExtUtils::MM_Unix; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_Darwin.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_Darwin.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_Darwin.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_Darwin.pm 2014-01-31 21:50:13.000000000 +0100 @@ -7,7 +7,7 @@ our @ISA = qw( ExtUtils::MM_Unix ); } -our $VERSION = '6.82'; +our $VERSION = '6.88'; =head1 NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_MacOS.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_MacOS.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_MacOS.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_MacOS.pm 2014-01-31 21:50:13.000000000 +0100 @@ -2,7 +2,7 @@ use strict; -our $VERSION = '6.82'; +our $VERSION = '6.88'; sub new { die <<'UNSUPPORTED'; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_NW5.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_NW5.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_NW5.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_NW5.pm 2014-01-31 21:50:13.000000000 +0100 @@ -22,7 +22,7 @@ use ExtUtils::MakeMaker::Config; use File::Basename; -our $VERSION = '6.82'; +our $VERSION = '6.88'; require ExtUtils::MM_Win32; our @ISA = qw(ExtUtils::MM_Win32); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_OS2.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_OS2.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_OS2.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_OS2.pm 2014-01-31 21:50:13.000000000 +0100 @@ -5,7 +5,7 @@ use ExtUtils::MakeMaker qw(neatvalue); use File::Spec; -our $VERSION = '6.82'; +our $VERSION = '6.88'; require ExtUtils::MM_Any; require ExtUtils::MM_Unix; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_QNX.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_QNX.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_QNX.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_QNX.pm 2014-01-31 21:50:13.000000000 +0100 @@ -1,7 +1,7 @@ package ExtUtils::MM_QNX; use strict; -our $VERSION = '6.82'; +our $VERSION = '6.88'; require ExtUtils::MM_Unix; our @ISA = qw(ExtUtils::MM_Unix); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_UWIN.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_UWIN.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_UWIN.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_UWIN.pm 2014-01-31 21:50:13.000000000 +0100 @@ -1,7 +1,7 @@ package ExtUtils::MM_UWIN; use strict; -our $VERSION = '6.82'; +our $VERSION = '6.88'; require ExtUtils::MM_Unix; our @ISA = qw(ExtUtils::MM_Unix); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_Unix.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_Unix.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_Unix.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_Unix.pm 2014-01-31 21:50:13.000000000 +0100 @@ -15,7 +15,7 @@ # If we make $VERSION an our variable parse_version() breaks use vars qw($VERSION); -$VERSION = '6.82'; +$VERSION = '6.88'; $VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval] require ExtUtils::MM_Any; @@ -37,6 +37,7 @@ $Is{BSD} = ($^O =~ /^(?:free|net|open)bsd$/ or grep( $^O eq $_, qw(bsdos interix dragonfly) ) ); + $Is{Android} = $^O =~ /android/; } BEGIN { @@ -866,7 +867,7 @@ my $target = $Is{VMS} ? '$(MMS$TARGET)' : '$@'; - return sprintf <<'MAKE_FRAG', ($target) x 5; + return sprintf <<'MAKE_FRAG', ($target) x 2; BOOTSTRAP = $(BASEEXT).bs # As Mkbootstrap might not write a file (if none is required) @@ -933,7 +934,7 @@ my $libs = '$(LDLOADLIBS)'; - if (($Is{NetBSD} || $Is{Interix}) && $Config{'useshrplib'} eq 'true') { + if (($Is{NetBSD} || $Is{Interix} || $Is{Android}) && $Config{'useshrplib'} eq 'true') { # Use nothing on static perl platforms, and to the flags needed # to link against the shared libperl library on shared perl # platforms. We peek at lddlflags to see if we need -Wl,-R @@ -942,6 +943,10 @@ $libs .= ' -L$(PERL_INC) -Wl,-R$(INSTALLARCHLIB)/CORE -Wl,-R$(PERL_ARCHLIB)/CORE -lperl'; } elsif ($Config{'lddlflags'} =~ /-R/) { $libs .= ' -L$(PERL_INC) -R$(INSTALLARCHLIB)/CORE -R$(PERL_ARCHLIB)/CORE -lperl'; + } elsif ( $Is{Android} ) { + # The Android linker will not recognize symbols from + # libperl unless the module explicitly depends on it. + $libs .= ' -L$(PERL_INC) -lperl'; } } @@ -1039,8 +1044,6 @@ print "Executing $abs\n" if ($trace >= 2); my $version_check = qq{$abs -le "require $ver; print qq{VER_OK}"}; - $version_check = "$Config{run} $version_check" - if defined $Config{run} and length $Config{run}; # To avoid using the unportable 2>&1 to suppress STDERR, # we close it before running the command. @@ -1266,7 +1269,7 @@ sub init_dirscan { # --- File and Directory Lists (.xs .pm .pod etc) my($self) = @_; - my(%dir, %xs, %c, %h, %pl_files, %pm); + my(%dir, %xs, %c, %o, %h, %pl_files, %pm); my %ignore = map {( $_ => 1 )} qw(Makefile.PL Build.PL test.pl t); @@ -1274,10 +1277,21 @@ $Is{VMS} ? $ignore{"$self->{DISTVNAME}.dir"} = 1 : $ignore{$self->{DISTVNAME}} = 1; + my $distprefix = $Is{VMS} ? qr/^\Q$self->{DISTNAME}\E-.*\.dir$/i + : qr/^\Q$self->{DISTNAME}-/; + @ignore{map lc, keys %ignore} = values %ignore if $Is{VMS}; + if ( defined $self->{XS} and !defined $self->{C} ) { + my @c_files = grep { m/\.c(pp|xx)?\z/i } values %{$self->{XS}}; + my @o_files = grep { m/(?:.(?:o(?:bj)?)|\$\(OBJ_EXT\))\z/i } values %{$self->{XS}}; + %c = map { $_ => 1 } @c_files; + %o = map { $_ => 1 } @o_files; + } + foreach my $name ($self->lsdir($Curdir)){ next if $name =~ /\#/; + next if $name =~ $distprefix; $name = lc($name) if $Is{VMS}; next if $name eq $Curdir or $name eq $Updir or $ignore{$name}; next unless $self->libscan($name); @@ -1319,7 +1333,8 @@ $self->{PM} ||= \%pm; my @o_files = @{$self->{C}}; - $self->{O_FILES} = [grep s/\.c(pp|xx|c)?\z/$self->{OBJ_EXT}/i, @o_files]; + %o = (%o, map { $_ => 1 } grep s/\.c(pp|xx|c)?\z/$self->{OBJ_EXT}/i, @o_files); + $self->{O_FILES} = [sort keys %o]; } @@ -1582,6 +1597,8 @@ # Some systems have restrictions on files names for DLL's etc. # mod2fname returns appropriate file base name (typically truncated) # It may also edit @modparts if required. + # We require DynaLoader to make sure that mod2fname is loaded + eval { require DynaLoader }; if (defined &DynaLoader::mod2fname) { $modfname = &DynaLoader::mod2fname(\@modparts); } @@ -1623,18 +1640,9 @@ if ($self->{PERL_SRC}){ $self->{PERL_LIB} ||= $self->catdir("$self->{PERL_SRC}","lib"); - if (defined $Cross::platform) { - $self->{PERL_ARCHLIB} = - $self->catdir("$self->{PERL_SRC}","xlib",$Cross::platform); - $self->{PERL_INC} = - $self->catdir("$self->{PERL_SRC}","xlib",$Cross::platform, - $Is{Win32}?("CORE"):()); - } - else { - $self->{PERL_ARCHLIB} = $self->{PERL_LIB}; - $self->{PERL_INC} = ($Is{Win32}) ? - $self->catdir($self->{PERL_LIB},"CORE") : $self->{PERL_SRC}; - } + $self->{PERL_ARCHLIB} = $self->{PERL_LIB}; + $self->{PERL_INC} = ($Is{Win32}) ? + $self->catdir($self->{PERL_LIB},"CORE") : $self->{PERL_SRC}; # catch a situation that has occurred a few times in the past: unless ( @@ -1694,6 +1702,17 @@ } } + if ($Is{Android}) { + # Android fun times! + # ../../perl -I../../lib -MFile::Glob -e1 works + # ../../../perl -I../../../lib -MFile::Glob -e1 fails to find + # the .so for File::Glob. + # This always affects core perl, but may also affect an installed + # perl built with -Duserelocatableinc. + $self->{PERL_LIB} = File::Spec->rel2abs($self->{PERL_LIB}); + $self->{PERL_ARCHLIB} = File::Spec->rel2abs($self->{PERL_ARCHLIB}); + } + # We get SITELIBEXP and SITEARCHEXP directly via # Get_from_Config. When we are running standard modules, these # won't matter, we will set INSTALLDIRS to "perl". Otherwise we @@ -2971,6 +2990,17 @@ } } + if ($self->{PPM_UNINSTALL_SCRIPT}) { + if ($self->{PPM_UNINSTALL_EXEC}) { + $ppd_xml .= sprintf qq{ <UNINSTALL EXEC="%s">%s</UNINSTALL>\n}, + $self->{PPM_UNINSTALL_EXEC}, $self->{PPM_UNINSTALL_SCRIPT}; + } + else { + $ppd_xml .= sprintf qq{ <UNINSTALL>%s</UNINSTALL>\n}, + $self->{PPM_UNINSTALL_SCRIPT}; + } + } + my ($bin_location) = $self->{BINARY_LOCATION} || ''; $bin_location =~ s/\\/\\\\/g; @@ -3492,12 +3522,15 @@ # Make sure we pick up the new xsubpp if we're building perl. unshift @xsubpp_dirs, $self->{PERL_LIB} if $self->{PERL_CORE}; + my $foundxsubpp = 0; foreach my $dir (@xsubpp_dirs) { $xsdir = $self->catdir($dir, 'ExtUtils'); if( -r $self->catfile($xsdir, "xsubpp") ) { + $foundxsubpp = 1; last; } } + die "ExtUtils::MM_Unix::tool_xsubpp : Can't find xsubpp" if !$foundxsubpp; my $tmdir = File::Spec->catdir($self->{PERL_LIB},"ExtUtils"); my(@tmdeps) = $self->catfile($tmdir,'typemap'); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_VMS.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_VMS.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_VMS.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_VMS.pm 2014-01-31 21:50:13.000000000 +0100 @@ -15,7 +15,7 @@ use File::Basename; -our $VERSION = '6.82'; +our $VERSION = '6.88'; require ExtUtils::MM_Any; require ExtUtils::MM_Unix; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_VOS.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_VOS.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_VOS.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_VOS.pm 2014-01-31 21:50:13.000000000 +0100 @@ -1,7 +1,7 @@ package ExtUtils::MM_VOS; use strict; -our $VERSION = '6.82'; +our $VERSION = '6.88'; require ExtUtils::MM_Unix; our @ISA = qw(ExtUtils::MM_Unix); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_Win32.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_Win32.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_Win32.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_Win32.pm 2014-01-31 21:50:13.000000000 +0100 @@ -27,7 +27,7 @@ require ExtUtils::MM_Any; require ExtUtils::MM_Unix; our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix ); -our $VERSION = '6.82'; +our $VERSION = '6.88'; $ENV{EMXSHELL} = 'sh'; # to run `commands` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_Win95.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_Win95.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MM_Win95.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MM_Win95.pm 2014-01-31 21:50:13.000000000 +0100 @@ -2,7 +2,7 @@ use strict; -our $VERSION = '6.82'; +our $VERSION = '6.88'; require ExtUtils::MM_Win32; our @ISA = qw(ExtUtils::MM_Win32); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MY.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MY.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MY.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MY.pm 2014-01-31 21:50:13.000000000 +0100 @@ -3,7 +3,7 @@ use strict; require ExtUtils::MM; -our $VERSION = '6.82'; +our $VERSION = '6.88'; our @ISA = qw(ExtUtils::MM); { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MakeMaker/Config.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MakeMaker/Config.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MakeMaker/Config.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MakeMaker/Config.pm 2014-01-31 21:50:13.000000000 +0100 @@ -2,7 +2,7 @@ use strict; -our $VERSION = '6.82'; +our $VERSION = '6.88'; use Config (); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MakeMaker/FAQ.pod new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MakeMaker/FAQ.pod --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MakeMaker/FAQ.pod 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MakeMaker/FAQ.pod 2014-01-31 21:50:13.000000000 +0100 @@ -1,6 +1,6 @@ package ExtUtils::MakeMaker::FAQ; -our $VERSION = '6.82'; +our $VERSION = '6.88'; 1; __END__ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MakeMaker/Tutorial.pod new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MakeMaker/Tutorial.pod --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MakeMaker/Tutorial.pod 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MakeMaker/Tutorial.pod 2014-01-31 21:50:13.000000000 +0100 @@ -1,6 +1,6 @@ package ExtUtils::MakeMaker::Tutorial; -our $VERSION = '6.82'; +our $VERSION = '6.88'; =head1 NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MakeMaker.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MakeMaker.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/MakeMaker.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/MakeMaker.pm 2014-01-31 21:50:13.000000000 +0100 @@ -18,7 +18,7 @@ my @Prepend_parent; my %Recognized_Att_Keys; -our $VERSION = '6.82'; +our $VERSION = '6.88'; $VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval] # Emulate something resembling CVS $Revision$ @@ -87,6 +87,7 @@ MAN3PODS => 'HASH', META_ADD => 'HASH', META_MERGE => 'HASH', + OBJECT => ['ARRAY', ''], PL_FILES => 'HASH', PM => 'HASH', PMLIBDIRS => 'ARRAY', @@ -278,9 +279,9 @@ MYEXTLIB NAME NEEDS_LINKING NOECHO NO_META NO_MYMETA NO_PACKLIST NO_PERLLOCAL 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 + PERL_SRC PERM_DIR PERM_RW PERM_RWX MAGICXS + PL_FILES PM PM_FILTER PMLIBDIRS PMLIBPARENTDIRS POLLUTE PPM_INSTALL_EXEC PPM_UNINSTALL_EXEC + PPM_INSTALL_SCRIPT PPM_UNINSTALL_SCRIPT PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ SIGN SKIP TEST_REQUIRES TYPEMAPS UNINST VERSION VERSION_FROM XS XSOPT XSPROTOARG XS_VERSION clean depend dist dynamic_lib linkext macro realclean tool_autosplit @@ -315,7 +316,7 @@ special_targets c_o xs_c xs_o - top_targets blibdirs linkext dlsyms dynamic dynamic_bs + top_targets blibdirs linkext dlsyms dynamic_bs dynamic dynamic_lib static static_lib manifypods processPL installbin subdirs clean_subdirs clean realclean_subdirs realclean @@ -604,6 +605,17 @@ parse_args($self, _shellwords($ENV{PERL_MM_OPT} || ''),@ARGV); } + # RT#91540 PREREQ_FATAL not recognized on command line + if (%unsatisfied && $self->{PREREQ_FATAL}){ + my $failedprereqs = join "\n", map {" $_ $unsatisfied{$_}"} + sort { $a cmp $b } keys %unsatisfied; + die <<"END"; +MakeMaker FATAL: prerequisites not found. +$failedprereqs + +Please install these modules first and rerun 'perl Makefile.PL'. +END + } $self->{NAME} ||= $self->guess_name; @@ -1674,8 +1686,9 @@ A hash of modules that are needed to build your module but not run it. -This will go into the C<build_requires> field of your CPAN Meta file. -(F<META.yml> or F<META.json>). +This will go into the C<build_requires> field of your F<META.yml> and the C<build> of the C<prereqs> field of your F<META.json>. + +Defaults to C<<< { "ExtUtils::MakeMaker" => 0 } >>> if this attribute is not specified. The format is the same as PREREQ_PM. @@ -1724,10 +1737,9 @@ A hash of modules that are required to run Makefile.PL itself, but not to run your distribution. -This will go into the C<configure_requires> field of your CPAN Meta file -(F<META.yml> or F<META.json>) +This will go into the C<configure_requires> field of your F<META.yml> and the C<configure> of the C<prereqs> field of your F<META.json>. -Defaults to C<<< { "ExtUtils::MakeMaker" => 0 } >>> +Defaults to C<<< { "ExtUtils::MakeMaker" => 0 } >>> if this attribute is not specified. The format is the same as PREREQ_PM. @@ -2071,10 +2083,10 @@ Available in version 6.31 and above. -The licensing terms of your distribution. Generally it's "perl" for the +The licensing terms of your distribution. Generally it's "perl_5" for the same license as Perl itself. -See L<Module::Build::API> for the list of options. +See L<CPAN::Meta::Spec> for the list of options. Defaults to "unknown". @@ -2084,6 +2096,10 @@ config.sh). Should only be used to force static linking (also see linkext below). +=item MAGICXS + +When this is set to C<1>, C<OBJECT> will be automagically derived from C<XS>. + =item MAKE Variant of make you intend to run the generated Makefile with. This @@ -2270,8 +2286,8 @@ =item OBJECT List of object files, defaults to '$(BASEEXT)$(OBJ_EXT)', but can be a long -string containing all object files, e.g. "tkpBind.o -tkpButton.o tkpCanvas.o" +string or an array containing all object files, e.g. "tkpBind.o +tkpButton.o tkpCanvas.o" or ["tkpBind.o", "tkpButton.o", "tkpCanvas.o"] (Where BASEEXT is the last component of NAME, and OBJ_EXT is $Config{obj_ext}.) @@ -2476,6 +2492,15 @@ Name of the script that gets executed by the Perl Package Manager after the installation of a package. +=item PPM_UNINSTALL_EXEC + +Name of the executable used to run C<PPM_UNINSTALL_SCRIPT> below. (e.g. perl) + +=item PPM_UNINSTALL_SCRIPT + +Name of the script that gets executed by the Perl Package Manager before +the removal of a package. + =item PREFIX This overrides all the default install locations. Man pages, @@ -2516,8 +2541,7 @@ the module names ie. Test::More, and the minimum version is the value. If the required version number is 0 any version will do. -This will go into the C<requires> field of your CPAN Meta file -(F<META.yml> or F<META.json>). +This will go into the C<requires> field of your F<META.yml> and the C<runtime> of the C<prereqs> field of your F<META.json>. PREREQ_PM => { # Require Test::More at least 0.47 @@ -2586,11 +2610,12 @@ =item TEST_REQUIRES +Available in version 6.64 and above. + 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>). +This will go into the C<build_requires> field of your F<META.yml> and the C<test> of the C<prereqs> field of your F<META.json>. The format is the same as PREREQ_PM. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/Mkbootstrap.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/Mkbootstrap.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/Mkbootstrap.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/Mkbootstrap.pm 2014-01-31 21:50:13.000000000 +0100 @@ -3,7 +3,7 @@ # There's just too much Dynaloader incest here to turn on strict vars. use strict 'refs'; -our $VERSION = '6.82'; +our $VERSION = '6.88'; require Exporter; our @ISA = ('Exporter'); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/Mksymlists.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/Mksymlists.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/Mksymlists.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/Mksymlists.pm 2014-01-31 21:50:13.000000000 +0100 @@ -10,7 +10,7 @@ our @ISA = qw(Exporter); our @EXPORT = qw(&Mksymlists); -our $VERSION = '6.82'; +our $VERSION = '6.88'; sub Mksymlists { my(%spec) = @_; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/testlib.pm new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/testlib.pm --- old/ExtUtils-MakeMaker-6.82/lib/ExtUtils/testlib.pm 2013-11-04 20:21:05.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/lib/ExtUtils/testlib.pm 2014-01-31 21:50:13.000000000 +0100 @@ -3,7 +3,7 @@ use strict; use warnings; -our $VERSION = '6.82'; +our $VERSION = '6.88'; use Cwd; use File::Spec; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/my/bundles.pm new/ExtUtils-MakeMaker-6.88/my/bundles.pm --- old/ExtUtils-MakeMaker-6.82/my/bundles.pm 2013-11-02 22:21:45.000000000 +0100 +++ new/ExtUtils-MakeMaker-6.88/my/bundles.pm 2013-11-12 12:09:22.000000000 +0100 @@ -48,6 +48,11 @@ # Special case for version, never override the XS version with a # pure Perl version. Just check that it's there. my $installed = find_installed("version.pm"); + if ( $] == 5.010000 ) { + # Special special case + my $installed_version = $installed ? MM->parse_version( $installed ) : 0; + return should_use_dist('version') if $installed_version < 0.77; + } return if $installed; my $inc_version = MM->parse_version("$bundle_dir/version/version.pm"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/t/INST.t new/ExtUtils-MakeMaker-6.88/t/INST.t --- old/ExtUtils-MakeMaker-6.82/t/INST.t 2013-10-24 19:17:25.000000000 +0200 +++ new/ExtUtils-MakeMaker-6.88/t/INST.t 2014-01-26 20:27:08.000000000 +0100 @@ -100,9 +100,13 @@ is( keys %{$mm->{CHILDREN}}, 1 ); my($child_pack) = keys %{$mm->{CHILDREN}}; my $c_mm = $mm->{CHILDREN}{$child_pack}; -is( $c_mm->{INST_ARCHLIB}, - $c_mm->{PERL_CORE} ? $c_mm->{PERL_ARCHLIB} - : File::Spec->catdir($Updir, 'blib', 'arch'), +# Android passes ARCHLIB through ->rel2abs, so in case the same +# path is presented in two different ways, we need to +# pass it through Cwd::realpath. +my $normalize = $^O =~ /android/ ? \&Cwd::realpath : sub {shift}; +is( $normalize->($c_mm->{INST_ARCHLIB}), + $normalize->($c_mm->{PERL_CORE} ? $c_mm->{PERL_ARCHLIB} + : File::Spec->catdir($Updir, 'blib', 'arch')), 'CHILD INST_ARCHLIB'); is( $c_mm->{INST_BIN}, File::Spec->catdir($Updir, 'blib', 'bin'), 'CHILD INST_BIN' ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/t/metafile_data.t new/ExtUtils-MakeMaker-6.88/t/metafile_data.t --- old/ExtUtils-MakeMaker-6.82/t/metafile_data.t 2013-08-01 10:09:55.000000000 +0200 +++ new/ExtUtils-MakeMaker-6.88/t/metafile_data.t 2014-01-01 19:47:49.000000000 +0100 @@ -3,7 +3,7 @@ } use strict; -use Test::More tests => 22; +use Test::More tests => 29; use Data::Dumper; use File::Temp; @@ -181,7 +181,7 @@ } -# Test MIN_PERL_VERSION +# Test MIN_PERL_VERSION meta-spec 1.4 { my $mm = $new_mm->( DISTNAME => 'Foo-Bar', @@ -221,11 +221,68 @@ url => 'http://module-build.sourceforge.net/META-spec-v1.4.html', version => 1.4 }, - }; + }, 'MIN_PERL_VERSION meta-spec 1.4'; } +# Test MIN_PERL_VERSION meta-spec 2.0 +{ + my $mm = $new_mm->( + DISTNAME => 'Foo-Bar', + VERSION => 1.23, + PM => { + "Foo::Bar" => 'lib/Foo/Bar.pm', + }, + MIN_PERL_VERSION => 5.006, + ); + + is_deeply { + $mm->metafile_data( + {}, { + 'meta-spec' => { + url => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec', + version => 2 + } } ) + }, { + name => 'Foo-Bar', + version => 1.23, + abstract => 'unknown', + author => [], + license => 'unknown', + dynamic_config => 1, + distribution_type => 'module', + + prereqs => { + configure => { + requires => { + 'ExtUtils::MakeMaker' => 0, + }, + }, + build => { + requires => { + 'ExtUtils::MakeMaker' => 0, + }, + }, + runtime => { + requires => { + 'perl' => '5.006', + }, + }, + }, + + no_index => { + directory => [qw(t inc)], + }, + + generated_by => "ExtUtils::MakeMaker version $ExtUtils::MakeMaker::VERSION", + 'meta-spec' => { + + url => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec', + version => 2 + }, + }, 'MIN_PERL_VERSION meta-spec 2.0'; +} -# Test MIN_PERL_VERSION +# Test MIN_PERL_VERSION meta-spec 1.4 { my $mm = $new_mm->( DISTNAME => 'Foo-Bar', @@ -269,10 +326,10 @@ url => 'http://module-build.sourceforge.net/META-spec-v1.4.html', version => 1.4 }, - }; + }, 'MIN_PERL_VERSION and PREREQ_PM meta-spec 1.4'; } -# Test CONFIGURE_REQUIRES +# Test CONFIGURE_REQUIRES meta-spec 1.4 { my $mm = $new_mm->( DISTNAME => 'Foo-Bar', @@ -295,10 +352,10 @@ distribution_type => 'module', configure_requires => { - 'Fake::Module1' => 1.01, + 'Fake::Module1' => 1.01, }, build_requires => { - 'ExtUtils::MakeMaker' => 0, + 'ExtUtils::MakeMaker' => 0, }, no_index => { @@ -310,10 +367,65 @@ url => 'http://module-build.sourceforge.net/META-spec-v1.4.html', version => 1.4 }, - },'CONFIGURE_REQUIRES'; + },'CONFIGURE_REQUIRES meta-spec 1.4'; } -# Test BUILD_REQUIRES +# Test CONFIGURE_REQUIRES meta-spec 2.0 +{ + my $mm = $new_mm->( + DISTNAME => 'Foo-Bar', + VERSION => 1.23, + CONFIGURE_REQUIRES => { + "Fake::Module1" => 1.01, + }, + PM => { + "Foo::Bar" => 'lib/Foo/Bar.pm', + }, + ); + + is_deeply { + $mm->metafile_data( + {}, { + 'meta-spec' => { + url => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec', + version => 2 + } } ) + }, { + name => 'Foo-Bar', + version => 1.23, + abstract => 'unknown', + author => [], + license => 'unknown', + dynamic_config => 1, + distribution_type => 'module', + + prereqs => { + configure => { + requires => { + 'Fake::Module1' => 1.01, + }, + }, + build => { + requires => { + 'ExtUtils::MakeMaker' => 0, + }, + }, + }, + + no_index => { + directory => [qw(t inc)], + }, + + generated_by => "ExtUtils::MakeMaker version $ExtUtils::MakeMaker::VERSION", + 'meta-spec' => { + url => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec', + version => 2 + }, + },'CONFIGURE_REQUIRES meta-spec 2.0'; +} + + +# Test BUILD_REQUIRES meta-spec 1.4 { my $mm = $new_mm->( DISTNAME => 'Foo-Bar', @@ -336,10 +448,107 @@ distribution_type => 'module', configure_requires => { + 'ExtUtils::MakeMaker' => 0, + }, + build_requires => { + 'Fake::Module1' => 1.01, + }, + + no_index => { + directory => [qw(t inc)], + }, + + generated_by => "ExtUtils::MakeMaker version $ExtUtils::MakeMaker::VERSION", + 'meta-spec' => { + url => 'http://module-build.sourceforge.net/META-spec-v1.4.html', + version => 1.4 + }, + },'BUILD_REQUIRES meta-spec 1.4'; +} + +# Test BUILD_REQUIRES meta-spec 2.0 +{ + my $mm = $new_mm->( + DISTNAME => 'Foo-Bar', + VERSION => 1.23, + BUILD_REQUIRES => { + "Fake::Module1" => 1.01, + }, + PM => { + "Foo::Bar" => 'lib/Foo/Bar.pm', + }, + META_MERGE => { "meta-spec" => { version => 2 }}, + ); + + is_deeply { + $mm->metafile_data( + {}, { + 'meta-spec' => { + url => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec', + version => 2 + } } ) + }, { + name => 'Foo-Bar', + version => 1.23, + abstract => 'unknown', + author => [], + license => 'unknown', + dynamic_config => 1, + distribution_type => 'module', + + prereqs => { + configure => { + requires => { + 'ExtUtils::MakeMaker' => 0, + }, + }, + build => { + requires => { + 'Fake::Module1' => 1.01, + }, + }, + }, + + no_index => { + directory => [qw(t inc)], + }, + + generated_by => "ExtUtils::MakeMaker version $ExtUtils::MakeMaker::VERSION", + 'meta-spec' => { + url => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec', + version => 2 + }, + },'BUILD_REQUIRES meta-spec 2.0'; +} + +# Test TEST_REQUIRES meta-spec 1.4 +{ + my $mm = $new_mm->( + DISTNAME => 'Foo-Bar', + VERSION => 1.23, + TEST_REQUIRES => { + "Fake::Module1" => 1.01, + }, + PM => { + "Foo::Bar" => 'lib/Foo/Bar.pm', + }, + ); + + is_deeply {$mm->metafile_data}, { + name => 'Foo-Bar', + version => 1.23, + abstract => 'unknown', + author => [], + license => 'unknown', + dynamic_config => 1, + distribution_type => 'module', + + configure_requires => { 'ExtUtils::MakeMaker' => 0, }, build_requires => { - 'Fake::Module1' => 1.01, + 'ExtUtils::MakeMaker' => 0, + 'Fake::Module1' => 1.01, }, no_index => { @@ -351,9 +560,70 @@ url => 'http://module-build.sourceforge.net/META-spec-v1.4.html', version => 1.4 }, - },'CONFIGURE_REQUIRES'; + },'TEST_REQUIRES meta-spec 1.4'; } +# Test TEST_REQUIRES meta-spec 2.0 +{ + my $mm = $new_mm->( + DISTNAME => 'Foo-Bar', + VERSION => 1.23, + TEST_REQUIRES => { + "Fake::Module1" => 1.01, + }, + PM => { + "Foo::Bar" => 'lib/Foo/Bar.pm', + }, + META_MERGE => { "meta-spec" => { version => 2 }}, + ); + + is_deeply { + $mm->metafile_data( + {}, { + 'meta-spec' => { + url => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec', + version => 2 + } } ) + }, { + name => 'Foo-Bar', + version => 1.23, + abstract => 'unknown', + author => [], + license => 'unknown', + dynamic_config => 1, + distribution_type => 'module', + + prereqs => { + configure => { + requires => { + 'ExtUtils::MakeMaker' => 0, + }, + }, + build => { + requires => { + 'ExtUtils::MakeMaker' => 0, + }, + }, + test => { + requires => { + "Fake::Module1" => 1.01, + }, + }, + }, + + no_index => { + directory => [qw(t inc)], + }, + + generated_by => "ExtUtils::MakeMaker version $ExtUtils::MakeMaker::VERSION", + 'meta-spec' => { + url => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec', + version => 2 + }, + },'TEST_REQUIRES meta-spec 2.0'; +} + + # Test _REQUIRES key priority over META_ADD { @@ -363,7 +633,7 @@ BUILD_REQUIRES => { "Fake::Module1" => 1.01, }, - META_ADD => (my $meta_add = { build_requires => {} }), + META_ADD => (my $meta_add = { build_requires => {}, configure_requires => {} }), PM => { "Foo::Bar" => 'lib/Foo/Bar.pm', }, @@ -378,10 +648,8 @@ dynamic_config => 1, distribution_type => 'module', - configure_requires => { - 'ExtUtils::MakeMaker' => 0, - }, - build_requires => { }, + configure_requires => { }, + build_requires => { }, no_index => { directory => [qw(t inc)], @@ -405,7 +673,7 @@ license => ['perl_5'], dynamic_config => 0, - prereqs => { + prereqs => { runtime => { requires => { "DirHandle" => 0, @@ -417,6 +685,7 @@ }, configure => { requires => { + 'ExtUtils::MakeMaker' => 0, }, }, build => { @@ -458,15 +727,23 @@ { my $mm = $new_mm->( - DISTNAME => 'Foo-Bar', - VERSION => 1.23, - BUILD_REQUIRES => { "Fake::Module1" => 1.01 }, - TEST_REQUIRES => { "Fake::Module2" => 1.23 }, + DISTNAME => 'Foo-Bar', + VERSION => 1.23, + CONFIGURE_REQUIRES => { "Fake::Module0" => 0.99 }, + BUILD_REQUIRES => { "Fake::Module1" => 1.01 }, + TEST_REQUIRES => { "Fake::Module2" => 1.23 }, ); my $meta = $mm->mymeta('t/META_for_testing.json'); + is($meta->{configure_requires}, undef, "no configure_requires in v2 META"); is($meta->{build_requires}, undef, "no build_requires in v2 META"); is_deeply( + $meta->{prereqs}{configure}{requires}, + { "Fake::Module0" => 0.99 }, + "configure requires are one thing in META v2...", + ); + + is_deeply( $meta->{prereqs}{build}{requires}, { "Fake::Module1" => 1.01 }, "build requires are one thing in META v2...", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ExtUtils-MakeMaker-6.82/t/parse_version.t new/ExtUtils-MakeMaker-6.88/t/parse_version.t --- old/ExtUtils-MakeMaker-6.82/t/parse_version.t 2013-08-01 10:09:55.000000000 +0200 +++ new/ExtUtils-MakeMaker-6.88/t/parse_version.t 2013-11-12 11:40:03.000000000 +0100 @@ -80,6 +80,10 @@ END } +if ( $] > 5.009 && $] < 5.012 ) { + delete $versions{'$VERSION = -1.0'}; +} + plan tests => (3 * keys %versions) + 4 + grep { !defined} (values %versions); for my $code ( sort keys %versions ) { -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org