throw error on failed new in run_if_script
[catagits/Web-Simple.git] / Makefile.PL
CommitLineData
e4e3b52c 1use strict;
2use warnings FATAL => 'all';
996b5848 3use 5.006;
1f993d62 4use ExtUtils::MakeMaker;
e4e3b52c 5
1f993d62 6(do 'maint/Makefile.PL.include' or die $@) unless -f 'META.yml';
e4e3b52c 7
fe61c5f5 8my %WriteMakefileArgs = (
9136e7f4 9 NAME => 'Web::Simple',
1f993d62 10 VERSION_FROM => 'lib/Web/Simple.pm',
b13ce12e 11
12 META_MERGE => {
13 'meta-spec' => { version => 2 },
14 dynamic_config => 0,
15 resources => {
f9e3823a 16 # r/w: catagits@git.shadowcat.co.uk:Web-Simple.git
b13ce12e 17 repository => {
f9e3823a 18 url => 'git://git.shadowcat.co.uk/catagits/Web-Simple.git',
19 web => 'http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits/Web-Simple.git',
b13ce12e 20 type => 'git',
21 },
22 bugtracker => {
23 mailto => 'bug-Web-Simple@rt.cpan.org',
24 web => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Web-Simple',
25 },
26 },
27 },
28
fe61c5f5 29 META_ADD => {
30 prereqs => {
06d08882 31 configure => {
32 requires => {
33 'ExtUtils::MakeMaker' => 0,
34 },
35 },
fe61c5f5 36 runtime => {
37 requires => {
777ffe5c 38 'Encode' => '0', # not core in 5.6
b45ef3a3 39 'Exporter' => '5.57', # use Exporter 'import'
fe61c5f5 40 'Moo' => '0.009014',
013caf1c 41 'Plack' => '0.9968',
777ffe5c 42 'Scalar::Util' => '0', # not core in 5.6
013caf1c 43 'Syntax::Keyword::Gather' => '1.001',
013caf1c 44 'strictures' => '1',
7346dbd3 45 'Try::Tiny' => '0',
013caf1c 46 'warnings::illegalproto' => '0',
fe61c5f5 47 'perl' => '5.006',
48 },
49 },
013caf1c 50 test => {
51 requires => {
52 'Data::Dumper::Concise' => '2.020',
013caf1c 53 'Test::More' => '0.88',
54 },
55 recommends => {
56 'Devel::Cycle' => '0',
57 'HTTP::Request::AsCGI' => '0',
58 },
59 },
fe61c5f5 60 },
61 },
1f993d62 62);
fe61c5f5 63
64my $eumm_version = eval $ExtUtils::MakeMaker::VERSION;
65
66for (qw(configure build test runtime)) {
67 my $key = $_ eq 'runtime' ? 'PREREQ_PM' : uc $_.'_REQUIRES';
68 next unless exists $WriteMakefileArgs{META_ADD}{prereqs}{$_}
69 or exists $WriteMakefileArgs{$key};
70 my $r = $WriteMakefileArgs{$key} = {
71 %{$WriteMakefileArgs{META_ADD}{prereqs}{$_}{requires} || {}},
72 %{delete $WriteMakefileArgs{$key} || {}},
73 };
74 defined $r->{$_} or delete $r->{$_} for keys %$r;
75}
76
77# dynamic prereqs get added here.
78
79$WriteMakefileArgs{MIN_PERL_VERSION} = delete $WriteMakefileArgs{PREREQ_PM}{perl} || 0;
80
ff73e0b3 81die 'attention developer: you need to do a sane meta merge here!'
82 if keys %{$WriteMakefileArgs{BUILD_REQUIRES}};
83
fe61c5f5 84$WriteMakefileArgs{BUILD_REQUIRES} = {
85 %{$WriteMakefileArgs{BUILD_REQUIRES} || {}},
86 %{delete $WriteMakefileArgs{TEST_REQUIRES}}
87} if $eumm_version < 6.63_03;
88
89$WriteMakefileArgs{PREREQ_PM} = {
90 %{$WriteMakefileArgs{PREREQ_PM}},
91 %{delete $WriteMakefileArgs{BUILD_REQUIRES}}
92} if $eumm_version < 6.55_01;
93
94delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
95 if $eumm_version < 6.51_03;
96
ff73e0b3 97delete $WriteMakefileArgs{MIN_PERL_VERSION}
98 if $eumm_version < 6.48;
99
100delete @WriteMakefileArgs{qw(META_ADD META_MERGE)}
101 if $eumm_version < 6.46;
102
103delete $WriteMakefileArgs{LICENSE}
104 if $eumm_version < 6.31;
105
fe61c5f5 106WriteMakefile(%WriteMakefileArgs);