Release commit for 5.9013
[catagits/Catalyst-Manual.git] / Makefile.PL
1 use strict;
2 use warnings;
3 use 5.006;
4 use utf8;
5
6 my %META = (
7   name => 'Catalyst-Manual',
8   license => 'perl_5',
9   author => [
10     'Catalyst Contributors, see Catalyst.pm',
11     'Kieren Diment <zarquon@cpan.org>',
12   ],
13   dynamic_config => 0,
14   resources => {
15     repository => {
16       url => 'https://github.com/perl-catalyst/Catalyst-Manual.git',
17       web => 'https://github.com/perl-catalyst/Catalyst-Manual',
18       type => 'git',
19     },
20     bugtracker => {
21       mailto => 'bug-Catalyst-Manual@rt.cpan.org',
22       web => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Catalyst-Manual',
23     },
24     x_IRC => 'irc://irc.perl.org/#catalyst',
25     x_MailingList => 'http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst',
26   },
27   # perl -MData::Dumper -e'$Data::Dumper::Indent = $Data::Dumper::Terse = $Data::Dumper::Trailingcomma = 1; print Dumper([map /^\s*\d+\s+(.*)/, `git shortlog -e -s -n`]);'
28   x_contributors => [
29     'Kennedy Clark <hkclark@gmail.com>',
30     'Tomas Doran <bobtfish@bobtfish.net>',
31     'Kieren Diment <diment@gmail.com>',
32     'Karen Etheridge <ether@cpan.org>',
33     'Graham Knop <haarg@haarg.org>',
34     'Jonathan Rockway <jon@jrock.us>',
35     'Jesse Sheidlower <jester@panix.com>',
36     'Brian Cassidy <bricas@cpan.org>',
37     'Caleb Cushing <xenoterracide@gmail.com>',
38     'Dan Dascalescu <bigbang7@gmail.com>',
39     'Rafael Kitover <rkitover@cpan.org>',
40     'Jason Felds <wolfman.ncsu2000@gmail.com>',
41     'Frederik Schwarzer <schwarzerf@gmail.com>',
42     'Jonathan Yu <jawnsy@cpan.org>',
43     'Breno G. de Oliveira <garu@cpan.org>',
44     'Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 <daxim@cpan.org>',
45     'Matt S Trout <mst@shadowcat.co.uk>',
46     'Florian Ragwitz <rafl@debian.org>',
47     'Jess Robinson <cpan@desert-island.me.uk>',
48     'Matthew Horsfall <wolfsage@gmail.com>',
49     'Andrew Rodland <andrew@cleverdomain.org>',
50     'Artem Konev <artem.konev@nginx.com>',
51     'Eden Cardim <edencardim@gmail.com>',
52     'Justin Hunter <justin.d.hunter@gmail.com>',
53     'Ricardo Signes <rjbs@semiotic.systems>',
54     'Robert \'phaylon\' Sedlacek <rs@474.at>',
55     'Shlomi Fish <shlomif@iglu.org.il>',
56     'antgel <no@se.com>',
57     'Alexander Hartmaier <abraxxa@cpan.org>',
58     'Andreas Marienborg <omega@palle.net>',
59     'Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>',
60     'Gerda Shank <gerda.shank@gmail.com>',
61     'Ian Wells <ijw@cack.org.uk>',
62     'Jay Hannah <jay@jays.net>',
63     'Jay Kuri <jayk@cpan.org>',
64     'Mark A. Stratman <stratman@gmail.com>',
65     'Mateu X. Hunter <hunter@missoula.org>',
66     'Nick Tonkin <1nickt@users.noreply.github.com>',
67     'Peter Karman <perl@peknet.com>',
68     'Wes Sheldahl <wes.sheldahl@gmail.com>',
69     'Alastair McGowan-Douglas <altreus@cpan.org>',
70     'Andy Grundman <andy@hybridized.org>',
71     'Ash Berlin <ash@cpan.org>',
72     'David Schmidt <mail@davidschmidt.at>',
73     'David Steinbrunner <dsteinbrunner@pobox.com>',
74     'Dominic Humphries <djh@thermeon.eu>',
75     'Edwin de Graaf <egraaf@egraaf.org>',
76     'Eisenberger Tamás <tamas@eisenberger.hu>',
77     'Eric A. Zarko <ezarko@cpan.org>',
78     'Iñigo Tejedor Arrondo <poisonbit@gmail.com>',
79     'Jonathan "Duke" Leto <jonathan@leto.net>',
80     'Jonathan Otsuka <djgoku@gmail.com>',
81     'Kartik Thakore <thakore.kartik@gmail.com>',
82     'Kostya Ten <kostya@cpan.org>',
83     'Lilly An <lilly@ziprecruiter.com>',
84     'Marcus Ramberg <marcus@nordaaker.com>',
85     'Matthias Dietrich <perl@rb.ly>',
86     'Paul Waring <paul@xk7.net>',
87     'Ronald J Kimball <rjk@tamias.net>',
88     'Tom Feist <shabble@metavore.org>',
89     'Ton Voon <ton.voon@opsera.com>',
90     'Zsolt Zemancsik <darwick@cyberground.hu>',
91     'kmx <kmx@cpan.org>',
92   ],
93   prereqs => {
94     configure => {
95       requires => {
96         'ExtUtils::MakeMaker' => '0',
97       },
98     },
99     runtime => {
100       requires => {
101         perl => '5.006',
102       },
103     },
104     test => {
105       requires => {
106         'Test::More' => '0.88',
107       },
108     },
109     develop => {
110       requires => {
111         'Pod::Simple' => '3.11', # L<Foo|http://foo.com> support
112         'Test::Pod' => '1.14',
113         'Test::Pod::Coverage' => '1.04',
114       },
115     },
116   },
117 );
118
119 my %MM_ARGS = ();
120
121 ## BOILERPLATE ###############################################################
122 require ExtUtils::MakeMaker;
123 (do './maint/Makefile.PL.include' or die $@) unless -f 'META.yml';
124
125 # have to do this since old EUMM dev releases miss the eval $VERSION line
126 my $eumm_version  = eval $ExtUtils::MakeMaker::VERSION;
127 my $mymeta        = $eumm_version >= 6.57_02;
128 my $mymeta_broken = $mymeta && $eumm_version < 6.57_07;
129
130 ($MM_ARGS{NAME} = $META{name}) =~ s/-/::/g;
131 ($MM_ARGS{VERSION_FROM} = "lib/$MM_ARGS{NAME}.pm") =~ s{::}{/}g;
132 $META{license} = [ $META{license} ]
133   if $META{license} && !ref $META{license};
134 $MM_ARGS{LICENSE} = $META{license}[0]
135   if $META{license} && $eumm_version >= 6.30;
136 $MM_ARGS{NO_MYMETA} = 1
137   if $mymeta_broken;
138 $MM_ARGS{META_ADD} = { 'meta-spec' => { version => 2 }, %META }
139   unless -f 'META.yml';
140 $MM_ARGS{PL_FILES} ||= {};
141 $MM_ARGS{NORECURS} = 1
142   if not exists $MM_ARGS{NORECURS};
143
144 for (qw(configure build test runtime)) {
145   my $key = $_ eq 'runtime' ? 'PREREQ_PM' : uc $_.'_REQUIRES';
146   my $r = $MM_ARGS{$key} = {
147     %{$META{prereqs}{$_}{requires} || {}},
148     %{delete $MM_ARGS{$key} || {}},
149   };
150   defined $r->{$_} or delete $r->{$_} for keys %$r;
151 }
152
153 $MM_ARGS{MIN_PERL_VERSION} = delete $MM_ARGS{PREREQ_PM}{perl} || 0;
154
155 delete $MM_ARGS{MIN_PERL_VERSION}
156   if $eumm_version < 6.47_01;
157 $MM_ARGS{BUILD_REQUIRES} = {%{$MM_ARGS{BUILD_REQUIRES}}, %{delete $MM_ARGS{TEST_REQUIRES}}}
158   if $eumm_version < 6.63_03;
159 $MM_ARGS{PREREQ_PM} = {%{$MM_ARGS{PREREQ_PM}}, %{delete $MM_ARGS{BUILD_REQUIRES}}}
160   if $eumm_version < 6.55_01;
161 delete $MM_ARGS{CONFIGURE_REQUIRES}
162   if $eumm_version < 6.51_03;
163
164 ExtUtils::MakeMaker::WriteMakefile(%MM_ARGS);
165 ## END BOILERPLATE ###########################################################