Updated for 5.60
[catagits/Catalyst-Runtime.git] / Makefile.PL
1 use inc::Module::Install;
2
3 # ExtUtils::AutoInstall Bootstrap Code, version 7.
4 BEGIN {
5     my $p = 'ExtUtils::AutoInstall';
6     my $v = 0.45;
7     $p->VERSION || 0 >= $v
8       or +eval "use $p $v;1"
9       or +do {
10         my $e = $ENV{PERL_EXTUTILS_AUTOINSTALL};
11         (
12             !defined($e) || $e !~ m/--(?:default|skip|testonly)/ and -t STDIN
13               or eval
14               "use ExtUtils::MakeMaker;WriteMakefile(PREREQ_PM=>{'$p',$v}
15 );1" and exit
16           )
17           and print "==> $p $v required. Install it from CP" . "AN? [Y/n] "
18           and <STDIN> !~ /^n/i
19           and print "*** Installing $p\n"
20           and do {
21             if ( eval '$>' and lc(`sudo -V`) =~ /version/ ) {
22                 system( 'sudo', $^X, "-MCPANPLUS", "-e",
23                     "CPANPLUS::install $p" );
24                 eval "use $p $v;1"
25                   || system( 'sudo', $^X, "-MCPAN", "-e", "CPAN::install $p" );
26             }
27             eval {
28                 require CPANPLUS;
29                 CPANPLUS::install $p;
30             };
31             eval "use $p $v;1" or eval {
32                 require CPAN;
33                 CPAN::install $p;
34             };
35             eval "use $p $v;1" || die "*** Please
36 manually install $p $v from cpan.org first...\n";
37           }
38       }
39 }
40
41 name('Catalyst');
42 abstract('Catalyst Web Framework');
43 author('Sebastian Riedel');
44 version_from('lib/Catalyst.pm');
45 license('perl');
46
47 requires( 'perl'               => '5.8.1' );
48 requires( 'UNIVERSAL::require' => "0.10" );
49 requires('Class::Accessor::Fast');
50 requires('Class::Data::Inheritable');
51 requires('Class::Inspector');
52 requires('CGI::Cookie');
53 requires('File::Modified');
54 requires('HTML::Entities');
55 requires( 'HTTP::Body'    => 0.5 );
56 requires( 'HTTP::Headers' => 1.59 );
57 requires('HTTP::Request');
58 requires('HTTP::Response');
59 requires('HTTP::Request::AsCGI');
60 requires('LWP::UserAgent');
61 requires('MIME::Types');
62 requires( 'Module::Pluggable::Fast' => 0.16 );
63 requires('NEXT');
64 requires( 'Path::Class' => 0.09 );
65 requires('Scalar::Util');
66 requires('Template');
67 requires('Text::SimpleTable');
68 requires('Test::MockObject');
69 requires('Time::HiRes');
70 requires('Tree::Simple');
71 requires('Tree::Simple::Visitor::FindByPath');
72 requires( 'URI' => 1.35 );
73 requires('File::Copy::Recursive');
74 requires('Module::Install::Admin');
75
76 features(
77     'Apache/mod_perl Support' => [
78         -default                   => 0,
79         'Catalyst::Engine::Apache' => '1.00'
80     ],
81     'FastCGI Support' => [
82         -default            => 0,
83         'FCGI'              => 0,
84         'FCGI::ProcManager' => 0
85     ],
86     'PAR Support' => [
87         -default => 0,
88         'PAR'    => 0
89     ],
90     'CPANPLUS (for easier installations)' => [
91         -default   => 0,
92         'CPANPLUS' => 0
93     ],
94 );
95
96 install_script( glob('script/*.pl') );
97 auto_install();
98 &WriteAll;
99
100 print( '*' x 80, "\n" );
101 my $banner =
102   (qw/andyg chansen draven fordmason mst naughton sri jester/)[ int( rand(8) ) ]
103   . " is the greatest and gabb is "
104   . ( (localtime)[2] > 12 ? "drunk" : "hung over" )
105   . " again!";
106 print " $banner \n";
107 print( '*' x 80, "\n" );
108
109 eval "use FCGI";
110 print qq/ Install "FCGI" for FastCGI support.\n/ if $@;
111 eval "use FCGI::ProcManager";
112 print
113   qq/ Install "FCGI::ProcManager" for multiprocess FastCGI external support.\n/
114   if ($@);
115 eval "use PAR ()";
116 print qq/ Install "PAR" for PAR packaging support.\n/ if $@;
117
118 print <<"EOF";
119
120  Important:
121     Install Task::Catalyst to get everything you need to start writing
122     serious applications with Catalyst.
123
124         perl -MCPANPLUS -e 'install Task::Catalyst'
125         perl -MCPAN -e 'install Task::Catalyst'
126
127  Have fun!
128 EOF