X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Makefile.PL;h=964ce6b6eac652e040a0b0ad890b6ae05ead5c93;hb=3f9e067ca892ae2b896de150dd22973de622dd1e;hp=85735b7cf5dfc209407ae47c2d4a4801e9146d9c;hpb=686fee818b08fa653aee8cd79b62cead1e7b4aa1;p=catagits%2FCatalyst-Devel.git diff --git a/Makefile.PL b/Makefile.PL index 85735b7..964ce6b 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -1,18 +1,117 @@ -use inc::Module::Install 0.62; +use strict; +use warnings; +use lib '.'; +use lib 'inc'; +use inc::Module::Install 0.91; +use Module::Install::AuthorRequires; +use Module::Install::AuthorTests; +use Module::Install::Authority; -perl_version '5.8.1'; +name 'Catalyst-Devel'; +all_from 'lib/Catalyst/Devel.pm'; +authority 'cpan:MSTROUT'; -name 'Catalyst::Helper'; -all_from 'lib/Catalyst/Helper.pm'; - -requires 'perl' => '5.8.1'; -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.66'; -requires 'Catalyst::Plugin::Static::Simple'; -requires 'Catalyst::Plugin::ConfigLoader'; -requires 'YAML' => '0.55'; -requires 'Module::Install' => '0.62'; + +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; +}