},
'ExtUtils::MakeMaker' => {
- 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-6.84.tar.gz',
+ 'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-6.86.tar.gz',
'FILES' => q[cpan/ExtUtils-MakeMaker],
'EXCLUDED' => [
qr{^t/lib/Test/},
our @EXPORT = qw(test_harness pod2man perllocal_install uninstall
warn_if_old_packlist test_s cp_nonempty);
-our $VERSION = '6.84';
+our $VERSION = '6.86';
my $Is_VMS = $^O eq 'VMS';
use strict;
-our $VERSION = '6.84';
+our $VERSION = '6.86';
use File::Spec;
require ExtUtils::Liblist::Kid;
use strict;
use warnings;
-our $VERSION = '6.84';
+our $VERSION = '6.86';
use ExtUtils::MakeMaker::Config;
use Cwd 'cwd';
use strict;
use ExtUtils::MakeMaker::Config;
-our $VERSION = '6.84';
+our $VERSION = '6.86';
require ExtUtils::Liblist;
require ExtUtils::MakeMaker;
package ExtUtils::MM_AIX;
use strict;
-our $VERSION = '6.84';
+our $VERSION = '6.86';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
package ExtUtils::MM_Any;
use strict;
-our $VERSION = '6.84';
+our $VERSION = '6.86';
use Carp;
use File::Spec;
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
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.
# 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!
# 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 {
# 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 {
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
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
$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
require ExtUtils::MM_Unix;
our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '6.84';
+our $VERSION = '6.86';
=item os_flavor
require ExtUtils::MM_Win32;
our @ISA = qw( ExtUtils::MM_Unix );
-our $VERSION = '6.84';
+our $VERSION = '6.86';
=head1 NAME
use strict;
-our $VERSION = '6.84';
+our $VERSION = '6.86';
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
our @ISA = qw( ExtUtils::MM_Unix );
}
-our $VERSION = '6.84';
+our $VERSION = '6.86';
=head1 NAME
use strict;
-our $VERSION = '6.84';
+our $VERSION = '6.86';
sub new {
die <<'UNSUPPORTED';
use ExtUtils::MakeMaker::Config;
use File::Basename;
-our $VERSION = '6.84';
+our $VERSION = '6.86';
require ExtUtils::MM_Win32;
our @ISA = qw(ExtUtils::MM_Win32);
use ExtUtils::MakeMaker qw(neatvalue);
use File::Spec;
-our $VERSION = '6.84';
+our $VERSION = '6.86';
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
package ExtUtils::MM_QNX;
use strict;
-our $VERSION = '6.84';
+our $VERSION = '6.86';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
package ExtUtils::MM_UWIN;
use strict;
-our $VERSION = '6.84';
+our $VERSION = '6.86';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
# If we make $VERSION an our variable parse_version() breaks
use vars qw($VERSION);
-$VERSION = '6.84';
+$VERSION = '6.86';
$VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval]
require ExtUtils::MM_Any;
# 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);
}
}
}
+ 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;
# 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');
use File::Basename;
-our $VERSION = '6.84';
+our $VERSION = '6.86';
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
package ExtUtils::MM_VOS;
use strict;
-our $VERSION = '6.84';
+our $VERSION = '6.86';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '6.84';
+our $VERSION = '6.86';
$ENV{EMXSHELL} = 'sh'; # to run `commands`
use strict;
-our $VERSION = '6.84';
+our $VERSION = '6.86';
require ExtUtils::MM_Win32;
our @ISA = qw(ExtUtils::MM_Win32);
use strict;
require ExtUtils::MM;
-our $VERSION = '6.84';
+our $VERSION = '6.86';
our @ISA = qw(ExtUtils::MM);
{
my @Prepend_parent;
my %Recognized_Att_Keys;
-our $VERSION = '6.84';
+our $VERSION = '6.86';
$VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval]
# Emulate something resembling CVS $Revision$
NORECURS NO_VC OBJECT OPTIMIZE PERL_MALLOC_OK PERL PERLMAINCC PERLRUN
PERLRUNINST PERL_CORE
PERL_SRC PERM_DIR PERM_RW PERM_RWX MAGICXS
- PL_FILES PM PM_FILTER PMLIBDIRS PMLIBPARENTDIRS POLLUTE PPM_INSTALL_EXEC
- PPM_INSTALL_SCRIPT PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ
+ 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
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;
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.
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.
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,
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
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.
use strict;
-our $VERSION = '6.84';
+our $VERSION = '6.86';
use Config ();
package ExtUtils::MakeMaker::FAQ;
-our $VERSION = '6.84';
+our $VERSION = '6.86';
1;
__END__
package ExtUtils::MakeMaker::Tutorial;
-our $VERSION = '6.84';
+our $VERSION = '6.86';
=head1 NAME
# There's just too much Dynaloader incest here to turn on strict vars.
use strict 'refs';
-our $VERSION = '6.84';
+our $VERSION = '6.86';
require Exporter;
our @ISA = ('Exporter');
our @ISA = qw(Exporter);
our @EXPORT = qw(&Mksymlists);
-our $VERSION = '6.84';
+our $VERSION = '6.86';
sub Mksymlists {
my(%spec) = @_;
use strict;
use warnings;
-our $VERSION = '6.84';
+our $VERSION = '6.86';
use Cwd;
use File::Spec;
}
use strict;
-use Test::More tests => 22;
+use Test::More tests => 29;
use Data::Dumper;
use File::Temp;
}
-# Test MIN_PERL_VERSION
+# Test MIN_PERL_VERSION meta-spec 1.4
{
my $mm = $new_mm->(
DISTNAME => 'Foo-Bar',
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',
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',
distribution_type => 'module',
configure_requires => {
- 'Fake::Module1' => 1.01,
+ 'Fake::Module1' => 1.01,
},
build_requires => {
- 'ExtUtils::MakeMaker' => 0,
+ 'ExtUtils::MakeMaker' => 0,
},
no_index => {
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',
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 => {
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
{
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',
},
dynamic_config => 1,
distribution_type => 'module',
- configure_requires => {
- 'ExtUtils::MakeMaker' => 0,
- },
- build_requires => { },
+ configure_requires => { },
+ build_requires => { },
no_index => {
directory => [qw(t inc)],
license => ['perl_5'],
dynamic_config => 0,
- prereqs => {
+ prereqs => {
runtime => {
requires => {
"DirHandle" => 0,
},
configure => {
requires => {
+ 'ExtUtils::MakeMaker' => 0,
},
},
build => {
{
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...",