Catalyst::Devel - bump up Config::General dep
[catagits/Catalyst-Devel.git] / Makefile.PL
1 use inc::Module::Install 0.87;
2
3 name     'Catalyst-Devel';
4 all_from 'lib/Catalyst/Devel.pm';
5
6 requires 'Catalyst'    => '5.7000';
7 requires 'Catalyst::Action::RenderView' => '0.04';
8 requires 'Catalyst::Plugin::Static::Simple' => '0.16';
9 requires 'Catalyst::Plugin::ConfigLoader';
10 requires 'Class::Accessor::Fast';
11 requires 'Config::General' => '2.42'; # as of 1.07, we use .conf and not .yaml
12 requires 'File::Copy::Recursive';
13 requires 'Module::Install' => '0.64';
14 requires 'parent'; # as of 1.04
15 requires 'Path::Class' => '0.09';
16 requires 'Template'    => '2.14';
17
18 if (!$ENV{CATALYST_DEVEL_NO_510_CHECK}) {
19     use Symbol 'gensym';
20     use IPC::Open3;
21     use File::Spec;
22     open NULL, '>', File::Spec->devnull;
23     my $err = gensym;
24     my $pid = open3(gensym, '&>NULL', $err, "$^X -It/lib -MUnknownError -e 1");
25     
26     my $unknown_error = 0;
27
28     while (<$err>) {
29         $unknown_error = 1 if /^Unknown error/;
30     }
31
32     waitpid $pid, 0;
33
34     if ($unknown_error) {
35         warn <<EOE;
36 ############################### WARNING #################################
37 #                                                                       #
38 # You are using perl 5.10.0 with the "Unknown error" bug. This can make #
39 # developing Catalyst applications much more painful, as it will come   # 
40 # up with no details every time you have a syntax error in a Controller.#
41 #                                                                       #
42 # For more information see:                                             #
43 #                                                                       #
44 #  * http://rt.perl.org/rt3/Public/Bug/Display.html?id=49472            #
45 #                                                                       #
46 # It is highly recommended that you use a different version of perl or  #
47 # compile a patched version for Catalyst development.                   #
48 #                                                                       #
49 # To skip this check, set the CATALYST_DEVEL_NO_510_CHECK environment   #
50 # variable.                                                             #
51 #                                                                       #
52 #########################################################################
53
54 EOE
55         my $ans = prompt('Do you want to continue?', 'no');
56         exit 0 unless $ans =~ /^y(es)?\z/i;
57     }
58 }
59
60 # kill warning from older versions of Class::C3
61 if ($] >= 5.009_005 && can_use('Class::C3') && !can_use('Class::C3', 0.20)) {
62     requires 'Class::C3' => '0.20';
63 }
64
65 auto_install;
66
67 WriteAll;
68
69 if ($Module::Install::AUTHOR) {
70     Meta->{values}{resources} = [
71         [ 'MailingList' => 'http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst' ],
72         [ 'IRC'         => 'irc://irc.perl.org/#catalyst' ],
73         [ 'license',    => 'http://dev.perl.org/licenses/' ],
74         [ 'homepage',   => 'http://dev.catalyst.perl.org/'],
75         [ 'repository', => 'http://dev.catalyst.perl.org/repos/Catalyst/Catalyst-Devel/' ],
76     ];
77
78     Meta->{values}{requires} = [ grep {
79         $_->[0] ne 'Class::C3'
80     } @{ Meta->{values}{requires} } ];
81
82     Meta->write;
83 }