X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Makefile.PL;h=5a952e29e16b9ffe5263a6c349d9dc6f049c940b;hb=c19ca6e801814466346f4b0f3793303561438312;hp=37276d5c25a4b682fa38737126989ac0ff3a46b4;hpb=90706de1867758c4efc19f120e06fec763d27623;p=dbsrgits%2FDBIx-Class.git diff --git a/Makefile.PL b/Makefile.PL index 37276d5..5a952e2 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -16,7 +16,8 @@ BEGIN { } homepage 'http://www.dbix-class.org/'; -resources 'IRC' => 'irc://irc.perl.org/#dbix-class'; +resources 'x_IRC' => 'irc://irc.perl.org/#dbix-class'; +resources 'x_WebIRC' => 'https://chat.mibbit.com/#dbix-class@irc.perl.org'; resources 'license' => 'http://dev.perl.org/licenses/'; resources 'repository' => 'https://github.com/dbsrgits/DBIx-Class'; resources 'MailingList' => 'http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class'; @@ -84,7 +85,7 @@ my $runtime_requires = { 'namespace::clean' => '0.24', 'Path::Class' => '0.18', 'Scope::Guard' => '0.03', - 'SQL::Abstract' => '1.77', + 'SQL::Abstract' => '1.78_02', # TEMPORARY 'Try::Tiny' => '0.07', # Technically this is not a core dependency - it is only required @@ -147,6 +148,52 @@ my $reqs = { # only do author-includes if not part of a `make` run if ($Module::Install::AUTHOR and ! $ENV{MAKELEVEL}) { + invoke_author_mode() +} +else { + # make sure this Makefile can not be used to make a dist + # (without the author includes there are no meta cleanup, no sanity checks, etc) + postamble <{$rtype}} ) { + + # sanity check req duplications + die "$mod specified as both a '$rtype' and a '$final_req{$mod}[0]'\n" + if $final_req{$mod}; + + $final_req{$mod} = [ $rtype, $reqs->{$rtype}{$mod}||0 ], + } +} + +# actual require +for my $mod (sort keys %final_req) { + my ($rtype, $ver) = @{$final_req{$mod}}; + no strict 'refs'; + $rtype->($mod, $ver); +} + +# author-mode or not - this is where we show a list of missing deps +# IFF we are running interactively +auto_install(); + +WriteAll(); + +exit 0; + +# needs to be here to keep 5.8 string eval happy +# (the include of Makefile.PL.inc loop) +my $mm_proto; + +sub invoke_author_mode { # get options here, make $args available to all snippets require Getopt::Long; my $getopt = Getopt::Long::Parser->new( @@ -169,7 +216,7 @@ if ($Module::Install::AUTHOR and ! $ENV{MAKELEVEL}) { # punt here until a new M::I is shipped (if at all) my $name = Meta->name || die 'The Module::Install metadata must be available at this point but is not - did you rearrange the Makefile.PL...?'; $name =~ s/\-/::/g; - my $mm_proto = ExtUtils::MakeMaker->new({ + $mm_proto = ExtUtils::MakeMaker->new({ NORECURS => 1, NAME => $name, }); @@ -201,40 +248,3 @@ if ($Module::Install::AUTHOR and ! $ENV{MAKELEVEL}) { ; } } -else { - # make sure this Makefile can not be used to make a dist - # (without the author includes there are no meta cleanup, no sanity checks, etc) - postamble <{$rtype}} ) { - - # sanity check req duplications - if ($final_req{$mod}) { - die "$mod specified as both a '$rtype' and a '$final_req{$mod}[0]'\n"; - } - - $final_req{$mod} = [ $rtype, $reqs->{$rtype}{$mod}||0 ], - } -} - -# actual require -for my $mod (sort keys %final_req) { - my ($rtype, $ver) = @{$final_req{$mod}}; - no strict 'refs'; - $rtype->($mod, $ver); -} - -# author-mode or not - this is where we show a list of missing deps -# IFF we are running interactively -auto_install(); - -WriteAll();