X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Makefile.PL;h=a31ac98561142b09633ac7d2c318338ecc24d0bb;hb=ed745a0be72fb033f497fc4d67c8fa85571843bb;hp=d8b21957e15952689b391009ece13d3d07e330ba;hpb=c4a93abc007d5be130bfa16dc7fc2712e3891998;p=p5sagit%2Fstrictures.git diff --git a/Makefile.PL b/Makefile.PL index d8b2195..a31ac98 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -1,11 +1,12 @@ use strict; use warnings FATAL => 'all'; use 5.006; +use lib 'inc'; +use ExtUtils::HasCompiler 'can_compile_loadable_object'; my $have_compiler = ! parse_args()->{PUREPERL_ONLY} - && eval { require ExtUtils::CBuilder; 1 } - && ExtUtils::CBuilder->new->have_compiler; + && can_compile_loadable_object(quiet => 1); my %extra_prereqs = ( indirect => 0, @@ -16,6 +17,7 @@ my %extra_prereqs = ( my %META = ( name => 'strictures', license => 'perl_5', + dynamic_config => 1, prereqs => { configure => { requires => { } }, build => { requires => { } }, @@ -23,20 +25,29 @@ my %META = ( 'Test::More' => 0, } }, runtime => { - requires => { }, - recommends => { + requires => { + perl => '5.006', + }, + suggests => { %extra_prereqs, }, }, develop => { requires => { + 'Test::Pod' => 0, + 'Test::Pod::Coverage' => 0, + 'Pod::Coverage::CountParents' => 0, %extra_prereqs, } }, }, resources => { + # GitHub mirrors from Shadowcat. We list it so we can get pull requests. + # The canonical repo is: + # r/o: git://git.shadowcat.co.uk/p5sagit/strictures.git # r/w: p5sagit@git.shadowcat.co.uk:strictures.git + # web: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/strictures.git repository => { - url => 'git://git.shadowcat.co.uk/p5sagit/strictures.git', - web => 'http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/strictures.git', + url => 'https://github.com/p5sagit/strictures.git', + web => 'https://github.com/p5sagit/strictures', type => 'git', }, bugtracker => { @@ -46,15 +57,15 @@ my %META = ( license => [ 'http://dev.perl.org/licenses/' ], }, no_index => { - directory => [ 't', 'xt' ] + directory => [ 't', 'xt', 'inc' ] }, + x_authority => 'cpan:MSTROUT', ); my %MM_ARGS = ( PREREQ_PM => { - ($] >= 5.008004 && $have_compiler ? %extra_prereqs : () ) + ("$]" >= 5.008004 && $have_compiler ? %extra_prereqs : () ) }, - realclean => { FILES => [ 'Distar/', 'MANIFEST*' ] }, ); sub parse_args { @@ -69,9 +80,9 @@ sub parse_args { return $tmp->{ARGS} || {}; } -############################################################################## +## BOILERPLATE ############################################################### require ExtUtils::MakeMaker; -(do 'maint/Makefile.PL.include' or die $@) unless -f 'META.yml'; +(do './maint/Makefile.PL.include' or die $@) unless -f 'META.yml'; # have to do this since old EUMM dev releases miss the eval $VERSION line my $eumm_version = eval $ExtUtils::MakeMaker::VERSION; @@ -80,8 +91,10 @@ my $mymeta_broken = $mymeta && $eumm_version < 6.57_07; ($MM_ARGS{NAME} = $META{name}) =~ s/-/::/g; ($MM_ARGS{VERSION_FROM} = "lib/$MM_ARGS{NAME}.pm") =~ s{::}{/}g; -$MM_ARGS{LICENSE} = $META{license} - if $eumm_version >= 6.30; +$META{license} = [ $META{license} ] + if $META{license} && !ref $META{license}; +$MM_ARGS{LICENSE} = $META{license}[0] + if $META{license} && $eumm_version >= 6.30; $MM_ARGS{NO_MYMETA} = 1 if $mymeta_broken; $MM_ARGS{META_ADD} = { 'meta-spec' => { version => 2 }, %META } @@ -90,7 +103,7 @@ $MM_ARGS{META_ADD} = { 'meta-spec' => { version => 2 }, %META } for (qw(configure build test runtime)) { my $key = $_ eq 'runtime' ? 'PREREQ_PM' : uc $_.'_REQUIRES'; my $r = $MM_ARGS{$key} = { - %{$META{prereqs}{$_}{requires}}, + %{$META{prereqs}{$_}{requires} || {}}, %{delete $MM_ARGS{$key} || {}}, }; defined $r->{$_} or delete $r->{$_} for keys %$r; @@ -108,3 +121,4 @@ delete $MM_ARGS{CONFIGURE_REQUIRES} if $eumm_version < 6.51_03; ExtUtils::MakeMaker::WriteMakefile(%MM_ARGS); +## END BOILERPLATE ###########################################################