1 use inc::Module::Install 0.87;
3 perl_version '5.008001';
5 name 'Catalyst-Runtime';
6 all_from 'lib/Catalyst/Runtime.pm';
8 requires 'namespace::autoclean';
9 requires 'namespace::clean';
10 requires 'B::Hooks::EndOfScope' => '0.08';
11 requires 'MooseX::Emulate::Class::Accessor::Fast' => '0.00801';
12 requires 'Class::MOP' => '0.83';
13 requires 'Moose' => '0.78';
14 requires 'MooseX::MethodAttributes::Inheritable' => '0.12';
16 requires 'Class::C3::Adopt::NEXT' => '0.07';
17 requires 'CGI::Simple::Cookie';
18 requires 'Data::Dump';
19 requires 'File::Modified';
20 requires 'HTML::Entities';
21 requires 'HTTP::Body' => '1.04'; # makes uploadtmp work
22 requires 'HTTP::Headers' => '1.64';
23 requires 'HTTP::Request';
24 requires 'HTTP::Response';
25 requires 'HTTP::Request::AsCGI' => '0.8';
26 requires 'LWP::UserAgent';
27 requires 'Module::Pluggable' => '3.01';
28 requires 'Path::Class' => '0.09';
29 requires 'Scalar::Util';
30 requires 'Sub::Exporter';
31 requires 'Text::SimpleTable' => '0.03';
32 requires 'Time::HiRes';
33 requires 'Tree::Simple' => '1.15';
34 requires 'Tree::Simple::Visitor::FindByPath';
35 requires 'URI' => '1.35';
36 requires 'Task::Weaken';
37 requires 'Text::Balanced'; # core in 5.8.x but mentioned for completeness
38 requires 'MRO::Compat';
39 requires 'String::RewritePrefix' => '0.004'; # Catalyst::Utils::resolve_namespace
41 recommends 'B::Hooks::OP::Check::StashChange';
43 test_requires 'Class::Data::Inheritable';
44 test_requires 'Test::Exception';
46 # aggregate tests if AGGREGATE_TESTS is set and a recent Test::Aggregate and a Test::Simple it works with is available
47 if ($ENV{AGGREGATE_TESTS} && can_use('Test::Simple', '0.88') && can_use('Test::Aggregate', '0.35_05')) {
48 author_requires('Test::Aggregate', '0.35_05');
49 author_requires('Test::Simple', '0.88');
53 grep { $_ ne 't/aggregate.t' }
54 map { glob } qw[t/*.t t/aggregate/*.t];
57 author_requires($_) for qw(
64 if ($Module::Install::AUTHOR) {
65 darwin_check_no_resource_forks();
68 install_script glob('script/*.pl');
72 if ($Module::Install::AUTHOR) {
73 Meta->{values}{resources} = [
74 [ 'MailingList' => 'http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst' ],
75 [ 'IRC' => 'irc://irc.perl.org/#catalyst' ],
76 [ 'license', => 'http://dev.perl.org/licenses/' ],
77 [ 'homepage', => 'http://dev.catalyst.perl.org/'],
78 [ 'repository', => 'http://dev.catalyst.perl.org/repos/Catalyst/Catalyst-Runtime/' ],
88 This library is for running Catalyst applications.
90 For development and use of catalyst.pl and myapp_create.pl, make sure
91 you also install the development tools package Catalyst::Devel.
93 perl -MCPANPLUS -e 'install Catalyst::Devel' # or
94 perl -MCPAN -e 'install Catalyst::Devel'
96 To get some commonly used plugins, as well as the TT view and DBIC
97 model, install Task::Catalyst in the same way.
102 # NOTE - This is the version number of the _incompatible_ code,
103 # not the version number of the fixed version.
105 'Catalyst::Component::ACCEPT_CONTEXT' => '0.06',
106 'Catalyst::Plugin::ENV' => '9999', # This plugin is just stupid, full stop
107 # should have been a core fix.
108 'Catalyst::Plugin::Unicode::Encoding' => '0.2',
109 'Catalyst::Authentication::Credential::HTTP' => '1.009',
110 'Catalyst::Plugin::Session::Store::File' => '0.16',
111 'Catalyst::Plugin::Session' => '0.21',
112 'Catalyst::Plugin::Session::State::Cookie' => '0.10',
113 'Catalyst::Plugin::Session::Store::FastMmap' => '0.09',
114 'Catalyst::Controller::AllowDisable' => '0.03',
115 'Reaction' => '0.001999',
116 'Catalyst::Plugin::Upload::Image::Magick' => '0.03',
117 'Catalyst::Plugin::ConfigLoader' => '0.22', # Older versions work but
118 # throw Data::Visitor warns
119 'Catalyst::Devel' => '0.09',
120 'Catalyst::Plugin::SmartURI' => '0.032',
121 'CatalystX::CRUD' => '0.37',
122 'Catalyst::Action::RenderView' => '0.07',
123 'Catalyst::Plugin::DebugCookie' => '0.999002',
124 'Catalyst::Plugin::Authentication' => '0.100091',
125 'CatalystX::Imports' => '0.03',
126 'Catalyst::Plugin::HashedCookies' => '1.03',
127 'Catalyst::Action::REST' => '0.67',
128 'CatalystX::CRUD' => '0.42',
129 'CatalystX::CRUD::Model::RDBO' => '0.20',
131 check_conflicts(%conflicts);
133 # End of script, helper functions below.
135 sub darwin_check_no_resource_forks {
136 if ($^O eq 'darwin') {
137 my $osx_ver = `/usr/bin/sw_vers -productVersion`;
140 # TAR on 10.4 wants COPY_EXTENDED_ATTRIBUTES_DISABLE
141 # On 10.5 (Leopard) it wants COPYFILE_DISABLE
142 my $attr = $osx_ver eq '10.5' ? 'COPYFILE_DISABLE' : 'COPY_EXTENDED_ATTRIBUTES_DISABLE';
144 makemaker_args(dist => { PREOP => qq{\@if [ "\$\$$attr" != "true" ]; then}.
145 qq{ echo "You must set the ENV variable $attr to true,"; }.
146 ' echo "to avoid getting resource forks in your dist."; exit 255; fi' });
150 sub check_conflicts {
154 for my $mod ( sort keys %conflicts ) {
155 eval "require($mod)";
158 my $installed = $mod->VERSION();
159 $conflicts_found{$mod} = $installed if ( $installed le $conflicts{$mod} );
162 return unless scalar keys %conflicts_found;
168 This version of Catalyst conflicts with the versions of
169 some components you have installed.
171 You will need to upgrade these modules after installing
172 this version of Catalyst.
174 List of the conflicting components and their installed versions:
178 foreach my $mod (keys %conflicts_found) {
179 print sprintf(" %s => %s\n", $mod, $conflicts_found{$mod});
183 # More or less copied from Module::Build, via Moose
184 return if $ENV{PERL_MM_USE_DEFAULT};
185 return unless -t STDIN && (-t STDOUT || !(-f STDOUT || -c STDOUT));