X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Makefile.PL;h=964ce6b6eac652e040a0b0ad890b6ae05ead5c93;hb=3f9e067ca892ae2b896de150dd22973de622dd1e;hp=e00644c46d9a2354be80ef75aa48f656fd91908c;hpb=54616d610a9050538f8b1041a87e08df1f339f4d;p=catagits%2FCatalyst-Devel.git diff --git a/Makefile.PL b/Makefile.PL index e00644c..964ce6b 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -1,21 +1,117 @@ use strict; use warnings; - -use inc::Module::Install 0.64; +use lib '.'; +use lib 'inc'; +use inc::Module::Install 0.91; +use Module::Install::AuthorRequires; +use Module::Install::AuthorTests; +use Module::Install::Authority; name 'Catalyst-Devel'; all_from 'lib/Catalyst/Devel.pm'; +authority 'cpan:MSTROUT'; -requires 'Class::Accessor::Fast'; +requires 'Moose'; +requires 'MooseX::Emulate::Class::Accessor::Fast'; +requires 'File::ShareDir'; +requires 'namespace::clean'; +requires 'namespace::autoclean'; +requires 'Catalyst' => '5.90001'; +requires 'Catalyst::Action::RenderView' => '0.10'; +requires 'Catalyst::Plugin::Static::Simple' => '0.28'; +requires 'Catalyst::Plugin::ConfigLoader' => '0.30'; +requires 'Config::General' => '2.42'; # as of 1.07, we use .conf and not .yaml +requires 'File::ChangeNotify' => '0.07'; +requires 'File::Copy::Recursive'; requires 'Path::Class' => '0.09'; requires 'Template' => '2.14'; -requires 'Catalyst' => '5.7000'; -requires 'Catalyst::Manual' => '5.7000'; # keep sync'd with Catalyst -requires 'Catalyst::Action::RenderView' => '0.04'; -requires 'Catalyst::Plugin::Static::Simple' => '0.14'; -requires 'Catalyst::Plugin::ConfigLoader'; -requires 'YAML' => '0.55'; -requires 'Module::Install' => '0.64'; -requires 'File::Copy::Recursive'; + +if (!$Module::Install::AUTHOR && $^O ne 'MSWin32') { + requires 'MooseX::Daemonize'; # Optional in scripts + requires 'Starman'; # Optional in scripts +} + +# The Catalyst applications this module distribution have a Makefile.PL using +# Module::Install as well as the Module::Install::Catalyst extension included in +# this distribution. Therefore we really *depend* on Module::Install to be +# installed, even though we also use it to build this distribution and include +# it in its inc/ directory for releases. +requires 'Module::Install' => '1.02'; + +author_requires 'Proc::Background'; +author_requires 'Test::Pod'; +author_requires 'Test::Pod::Coverage'; + +test_requires 'Test::More' => '0.94'; +test_requires 'Test::Fatal' => '0.003'; + +install_share 'share'; + +author_tests 't/author'; + +if (!$ENV{CATALYST_DEVEL_NO_510_CHECK}) { + use Symbol 'gensym'; + use IPC::Open3; + use File::Spec; + open my $null, '>', File::Spec->devnull; + my $err = gensym; + my $pid = open3(gensym, $null, $err, qq{"$^X" -It/lib -MUnknownError -e 1}); + + my $unknown_error = 0; + + while (<$err>) { + $unknown_error = 1 if /^Unknown error/; + } + + waitpid $pid, 0; + + if ($unknown_error) { + warn <= 5.009_005 && can_use('Class::C3') && !can_use('Class::C3', 0.20)) { + requires 'Class::C3' => '0.20'; +} + +auto_install; WriteAll; + +if ($Module::Install::AUTHOR) { + Meta->{values}{resources} = [ + [ 'MailingList' => 'http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst' ], + [ 'IRC' => 'irc://irc.perl.org/#catalyst' ], + [ 'license', => 'http://dev.perl.org/licenses/' ], + [ 'homepage', => 'http://dev.catalyst.perl.org/'], + [ 'repository', => 'git://git.shadowcat.co.uk/catagits/Catalyst-Devel.git' ], + ]; + + Meta->{values}{requires} = [ grep { + $_->[0] ne 'Class::C3' + } @{ Meta->{values}{requires} } ]; + + Meta->write; +}