use strict; use warnings FATAL => 'all'; use 5.008001; use ExtUtils::MakeMaker; (do 'maint/Makefile.PL.include' or die $@) unless -f 'META.yml'; my %BUILD_DEPS = (); my %TEST_DEPS = ( 'Test::More' => 0.96, 'Test::Fatal' => 0.003, ); my %RUN_DEPS = ( 'Class::Method::Modifiers' => 1.10, 'strictures' => 1.004003, 'Module::Runtime' => 0.012, 'Role::Tiny' => 1.002004, 'Devel::GlobalDestruction' => 0.09, ); # have to do this since old EUMM dev releases miss the eval $VERSION line my $mymeta_works = do { no warnings; $ExtUtils::MakeMaker::VERSION >= 6.5707 }; my $mymeta = do { no warnings; $ExtUtils::MakeMaker::VERSION >= 6.5702 }; my $has_test_requires = do { no warnings; $ExtUtils::MakeMaker::VERSION >= 6.63_03 }; if (not $has_test_requires) { %BUILD_DEPS = (%BUILD_DEPS, %TEST_DEPS); %TEST_DEPS = (); } my %extra_info = ( resources => { repository => 'git://git.shadowcat.co.uk/gitmo/Moo.git', IRC => 'irc://irc.perl.org/#moose', bugtracker => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=Moo', license => 'http://dev.perl.org/licenses/', } ); WriteMakefile( NAME => 'Moo', VERSION_FROM => 'lib/Moo.pm', PREREQ_PM => { %RUN_DEPS, ($] >= 5.010 ? () : ('MRO::Compat' => 0)), ($mymeta_works ? () : (%BUILD_DEPS)), }, ($mymeta_works ? ( # BUILD_REQUIRES makes MYMETA right, requires stops META being wrong BUILD_REQUIRES => \%BUILD_DEPS, $has_test_requires ? ( TEST_REQUIRES => \%TEST_DEPS ) : (), META_ADD => { requires => \%RUN_DEPS, %extra_info } ) : ( # META_ADD both to get META right - only Makefile written META_ADD => { requires => \%RUN_DEPS, build_requires => \%BUILD_DEPS, test_requires => \%TEST_DEPS, %extra_info, } ) ), META_MERGE => { no_index => { directory => [ 'xt' ] } }, ($mymeta && !$mymeta_works ? (NO_MYMETA => 1) : ()), LICENSE => 'perl', );