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.11,
+);
+
+# 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',
- ABSTRACT_FROM => 'lib/Moo.pm',
- AUTHOR => 'Matt S Trout <mst@shadowcat.co.uk>',
+ 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',
);
+