use strict;
use warnings;
use 5.008003;
my %META = (
name => 'Catalyst-Runtime',
license => 'perl_5',
prereqs => {
configure => { requires => {
'ExtUtils::MakeMaker' => 0,
} },
build => { requires => {
} },
test => {
requires => {
'Test::Fatal' => 0,
'Test::More' => '0.88',
'HTTP::Request::Common' => 0,
'IO::Scalar' => 0,
'HTTP::Status' => 0,
},
},
runtime => {
requires => {
'perl' => 5.008003,
'List::Util' => '1.45',
'namespace::autoclean' => '0.28',
'namespace::clean' => '0.23',
'MooseX::Emulate::Class::Accessor::Fast' => '0.00903',
'Class::Load' => '0.12',
'Data::OptList' => 0,
'Moose' => '1.03',
'MooseX::MethodAttributes::Role::AttrContainer::Inheritable' => '0.24',
'MooseX::Role::WithOverloading' => '0.09',
'Carp' => '1.25',
'Class::C3::Adopt::NEXT' => '0.07',
'CGI::Simple::Cookie' => '1.109',
'Data::Dump' => 0,
'Data::OptList' => 0,
'HTML::Entities' => 0,
'HTML::HeadParser' => 0,
'HTTP::Body' => '1.22',
'HTTP::Headers' => '1.64',
'HTTP::Request' => '5.814',
'HTTP::Response' => '5.813',
'HTTP::Request::AsCGI' => '1.0',
'Module::Pluggable' => '4.7',
'Path::Class' => '0.09',
'Scalar::Util' => 0,
'Sub::Exporter' => 0,
'Text::SimpleTable' => '0.03',
'Time::HiRes' => 0,
'Tree::Simple' => '1.15',
'Tree::Simple::Visitor::FindByPath' => 0,
'Try::Tiny' => '0.17',
'Safe::Isa' => 0,
'Task::Weaken' => 0,
'Text::Balanced' => 0, # core in 5.8.x but mentioned for completeness
'MRO::Compat' => 0,
'MooseX::Getopt' => '0.48',
'String::RewritePrefix' => '0.004', # Catalyst::Utils::resolve_namespace
'Devel::InnerPackage' => 0, # No longer core in blead
'Plack' => '0.9991', # IIS6+7 fix middleware
'Plack::Middleware::ReverseProxy' => '0.04',
'Plack::Test::ExternalServer' => 0,
'Class::Data::Inheritable' => 0,
'Encode' => '2.49',
'LWP' => '5.837', # LWP had unicode fail in 5.8.26
'URI' => '1.65',
'URI::ws' => '0.03',
'JSON::MaybeXS' => '1.000000',
'Stream::Buffered' => 0,
'Hash::MultiValue' => 0,
'Plack::Request::Upload' => 0,
'CGI::Struct' => 0,
"Plack::Middleware::Conditional" => 0,
"Plack::Middleware::IIS6ScriptNameFix" => 0,
"Plack::Middleware::IIS7KeepAliveFix" => 0,
"Plack::Middleware::LighttpdScriptNameFix" => 0,
"Plack::Middleware::ContentLength" => 0,
"Plack::Middleware::Head" => 0,
"Plack::Middleware::HTTPExceptions" => 0,
"Plack::Middleware::FixMissingBodyInRedirect" => '0.09',
"Plack::Middleware::MethodOverride" => '0.12',
"Plack::Middleware::RemoveRedundantBody" => '0.03',
},
},
develop => {
requires => {
'Test::Simple' => '0.88',
'CatalystX::LeakChecker' => '0.05',
'Catalyst::Devel' => '1.0', # For http server test
'Catalyst::Engine::PSGI' => 0,
'Test::WWW::Mechanize::Catalyst' => '0.51',
'Test::TCP' => '2.00', # ditto, ships Net::EmptyPort
'File::Copy::Recursive' => '0.40',
'Starman' => 0,
'MooseX::Daemonize' => 0,
'Test::NoTabs' => 0,
'Test::Pod' => 0,
'Test::Pod::Coverage' => 0,
'Test::Spelling' => 0,
'Pod::Coverage::TrustPod' => 0,
'Catalyst::Plugin::Params::Nested' => 0,
'Catalyst::Plugin::ConfigLoader' => 0,
},
},
},
resources => {
repository => {
# r/w: catagits@git.shadowcat.co.uk:Catalyst-Runtime.git
url => 'git://git.shadowcat.co.uk/catagits/Catalyst-Runtime.git',
web => 'http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits/Catalyst-Runtime.git;a=summary',
type => 'git',
},
x_IRC => 'irc://irc.perl.org/#catalyst',
bugtracker => {
web => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Catalyst-Runtime',
mailto => 'bug-Catalyst-Runtime@rt.cpan.org',
},
license => [ 'http://dev.perl.org/licenses/' ],
x_MailingList => 'http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst',
homepage => 'http://dev.catalyst.perl.org/',
},
no_index => {
directory => [ 't', 'xt' ]
},
x_breaks => {
'Catalyst::Plugin::SubRequest' => '<= 0.14',
'Catalyst::Model::Akismet' => '<= 0.02',
'Catalyst::Component::ACCEPT_CONTEXT' => '<= 0.06',
'Catalyst::Plugin::ENV' => 0, # This plugin is just stupid, full stop
# should have been a core fix.
'Catalyst::Plugin::Unicode::Encoding' => '<= 0.2',
'Catalyst::Plugin::Authentication' => '<= 0.10010', # _config accessor in ::Credential::Password
'Catalyst::Authentication::Credential::HTTP' => '<= 1.009',
'Catalyst::Plugin::Session::Store::File' => '<= 0.16',
'Catalyst::Plugin::Session' => '<= 0.21',
'Catalyst::Plugin::Session::State::Cookie' => '<= 0.10',
'Catalyst::Plugin::Session::Store::FastMmap' => '<= 0.09',
'Catalyst::Controller::AllowDisable' => '<= 0.03',
'Reaction' => '<= 0.001999',
'Catalyst::Plugin::Upload::Image::Magick' => '<= 0.03',
'Catalyst::Plugin::ConfigLoader' => '<= 0.22', # Older versions work but
# throw Data::Visitor warns
'Catalyst::Devel' => '<= 1.19',
'Catalyst::Plugin::SmartURI' => '<= 0.032',
'CatalystX::CRUD' => '<= 0.37',
'Catalyst::Action::RenderView' => '<= 0.07',
'Catalyst::Plugin::DebugCookie' => '<= 0.999002',
'Catalyst::Plugin::Authentication' => '<= 0.100091',
'CatalystX::Imports' => '<= 0.03',
'Catalyst::Plugin::HashedCookies' => '<= 1.03',
'Catalyst::Action::REST' => '<= 0.67',
'CatalystX::CRUD' => '<= 0.42',
'CatalystX::CRUD::Model::RDBO' => '<= 0.20',
'Catalyst::View::Mason' => '<= 0.17',
# Note these are not actually needed - they fail tests against the
# new version, but still work fine..
# 'Catalyst::ActionRole::ACL' => '<= 0.05',
# 'Catalyst::Plugin::Session::Store::DBIC' => '<= 0.11',
'Test::WWW::Mechanize::Catalyst' => '<= 0.53', # Dep warnings unless upgraded.
},
x_authority => 'cpan:MSTROUT',
);
my $tests = 't/*.t t/aggregate/*.t';
my %MM_ARGS = (
test => { TESTS => $tests },
EXE_FILES => [ glob 'script/*.pl' ],
PREREQ_PM => {
(eval { require Moose; Moose->VERSION('2.1300') } ? () : (
'MooseX::Role::WithOverloading' => '0.09'
)),
},
);
## BOILERPLATE ###############################################################
require ExtUtils::MakeMaker;
(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;
my $mymeta = $eumm_version >= 6.57_02;
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;
$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 }
unless -f 'META.yml';
for (qw(configure build test runtime)) {
my $key = $_ eq 'runtime' ? 'PREREQ_PM' : uc $_.'_REQUIRES';
my $r = $MM_ARGS{$key} = {
%{$META{prereqs}{$_}{requires} || {}},
%{delete $MM_ARGS{$key} || {}},
};
defined $r->{$_} or delete $r->{$_} for keys %$r;
}
$MM_ARGS{MIN_PERL_VERSION} = delete $MM_ARGS{PREREQ_PM}{perl} || 0;
delete $MM_ARGS{MIN_PERL_VERSION}
if $eumm_version < 6.47_01;
$MM_ARGS{BUILD_REQUIRES} = {%{$MM_ARGS{BUILD_REQUIRES}}, %{delete $MM_ARGS{TEST_REQUIRES}}}
if $eumm_version < 6.63_03;
$MM_ARGS{PREREQ_PM} = {%{$MM_ARGS{PREREQ_PM}}, %{delete $MM_ARGS{BUILD_REQUIRES}}}
if $eumm_version < 6.55_01;
delete $MM_ARGS{CONFIGURE_REQUIRES}
if $eumm_version < 6.51_03;
ExtUtils::MakeMaker::WriteMakefile(%MM_ARGS);
## END BOILERPLATE ###########################################################
print <<"EOF";
Important:
This library is for running Catalyst applications.
For development and use of catalyst.pl and myapp_create.pl, make sure
you also install the development tools package Catalyst::Devel.
perl -MCPANPLUS -e 'install Catalyst::Devel' # or
perl -MCPAN -e 'install Catalyst::Devel' # or
cpanm Catalyst::Devel
To get some commonly used plugins, as well as the TT view and DBIC
model, install Task::Catalyst in the same way.
Have fun!
EOF