-
Notifications
You must be signed in to change notification settings - Fork 8
/
Makefile.PL
165 lines (156 loc) · 5.71 KB
/
Makefile.PL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
use strict;
use warnings;
use 5.006;
use utf8;
my %META = (
name => 'Catalyst-Manual',
license => 'perl_5',
author => [
'Catalyst Contributors, see Catalyst.pm',
'Kieren Diment <[email protected]>',
],
dynamic_config => 0,
resources => {
repository => {
url => 'https://github.com/perl-catalyst/Catalyst-Manual.git',
web => 'https://github.com/perl-catalyst/Catalyst-Manual',
type => 'git',
},
bugtracker => {
mailto => '[email protected]',
web => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Catalyst-Manual',
},
x_IRC => 'irc://irc.perl.org/#catalyst',
x_MailingList => 'http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst',
},
# 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`]);'
x_contributors => [
'Kennedy Clark <[email protected]>',
'Tomas Doran <[email protected]>',
'Kieren Diment <[email protected]>',
'Karen Etheridge <[email protected]>',
'Graham Knop <[email protected]>',
'Jonathan Rockway <[email protected]>',
'Jesse Sheidlower <[email protected]>',
'Brian Cassidy <[email protected]>',
'Caleb Cushing <[email protected]>',
'Dan Dascalescu <[email protected]>',
'Rafael Kitover <[email protected]>',
'Jason Felds <[email protected]>',
'Frederik Schwarzer <[email protected]>',
'Jonathan Yu <[email protected]>',
'Breno G. de Oliveira <[email protected]>',
'Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 <[email protected]>',
'Matt S Trout <[email protected]>',
'Florian Ragwitz <[email protected]>',
'Jess Robinson <[email protected]>',
'Matthew Horsfall <[email protected]>',
'Andrew Rodland <[email protected]>',
'Artem Konev <[email protected]>',
'Eden Cardim <[email protected]>',
'Justin Hunter <[email protected]>',
'Ricardo Signes <[email protected]>',
'Robert \'phaylon\' Sedlacek <[email protected]>',
'Shlomi Fish <[email protected]>',
'antgel <[email protected]>',
'Alexander Hartmaier <[email protected]>',
'Andreas Marienborg <[email protected]>',
'Dagfinn Ilmari Mannsåker <[email protected]>',
'Gerda Shank <[email protected]>',
'Ian Wells <[email protected]>',
'Jay Hannah <[email protected]>',
'Jay Kuri <[email protected]>',
'Mark A. Stratman <[email protected]>',
'Mateu X. Hunter <[email protected]>',
'Nick Tonkin <[email protected]>',
'Peter Karman <[email protected]>',
'Wes Sheldahl <[email protected]>',
'Alastair McGowan-Douglas <[email protected]>',
'Andy Grundman <[email protected]>',
'Ash Berlin <[email protected]>',
'David Schmidt <[email protected]>',
'David Steinbrunner <[email protected]>',
'Dominic Humphries <[email protected]>',
'Edwin de Graaf <[email protected]>',
'Eisenberger Tamás <[email protected]>',
'Eric A. Zarko <[email protected]>',
'Iñigo Tejedor Arrondo <[email protected]>',
'Jonathan "Duke" Leto <[email protected]>',
'Jonathan Otsuka <[email protected]>',
'Kartik Thakore <[email protected]>',
'Kostya Ten <[email protected]>',
'Lilly An <[email protected]>',
'Marcus Ramberg <[email protected]>',
'Matthias Dietrich <[email protected]>',
'Paul Waring <[email protected]>',
'Ronald J Kimball <[email protected]>',
'Tom Feist <[email protected]>',
'Ton Voon <[email protected]>',
'Zsolt Zemancsik <[email protected]>',
'kmx <[email protected]>',
],
prereqs => {
configure => {
requires => {
'ExtUtils::MakeMaker' => '0',
},
},
runtime => {
requires => {
perl => '5.006',
},
},
test => {
requires => {
'Test::More' => '0.88',
},
},
develop => {
requires => {
'Pod::Simple' => '3.11', # L<Foo|http://foo.com> support
'Test::Pod' => '1.14',
'Test::Pod::Coverage' => '1.04',
},
},
},
);
my %MM_ARGS = ();
## BOILERPLATE ###############################################################
require ExtUtils::MakeMaker;
(do './maint/Makefile.PL.include' or die $@) unless -f 'META.yml';
# have to do this since old EUMM dev releases miss the eval $VERSION line
my $eumm_version = eval $ExtUtils::MakeMaker::VERSION;
my $mymeta = $eumm_version >= 6.57_02;
my $mymeta_broken = $mymeta && $eumm_version < 6.57_07;
($MM_ARGS{NAME} = $META{name}) =~ s/-/::/g;
($MM_ARGS{VERSION_FROM} = "lib/$MM_ARGS{NAME}.pm") =~ s{::}{/}g;
$META{license} = [ $META{license} ]
if $META{license} && !ref $META{license};
$MM_ARGS{LICENSE} = $META{license}[0]
if $META{license} && $eumm_version >= 6.30;
$MM_ARGS{NO_MYMETA} = 1
if $mymeta_broken;
$MM_ARGS{META_ADD} = { 'meta-spec' => { version => 2 }, %META }
unless -f 'META.yml';
$MM_ARGS{PL_FILES} ||= {};
$MM_ARGS{NORECURS} = 1
if not exists $MM_ARGS{NORECURS};
for (qw(configure build test runtime)) {
my $key = $_ eq 'runtime' ? 'PREREQ_PM' : uc $_.'_REQUIRES';
my $r = $MM_ARGS{$key} = {
%{$META{prereqs}{$_}{requires} || {}},
%{delete $MM_ARGS{$key} || {}},
};
defined $r->{$_} or delete $r->{$_} for keys %$r;
}
$MM_ARGS{MIN_PERL_VERSION} = delete $MM_ARGS{PREREQ_PM}{perl} || 0;
delete $MM_ARGS{MIN_PERL_VERSION}
if $eumm_version < 6.47_01;
$MM_ARGS{BUILD_REQUIRES} = {%{$MM_ARGS{BUILD_REQUIRES}}, %{delete $MM_ARGS{TEST_REQUIRES}}}
if $eumm_version < 6.63_03;
$MM_ARGS{PREREQ_PM} = {%{$MM_ARGS{PREREQ_PM}}, %{delete $MM_ARGS{BUILD_REQUIRES}}}
if $eumm_version < 6.55_01;
delete $MM_ARGS{CONFIGURE_REQUIRES}
if $eumm_version < 6.51_03;
ExtUtils::MakeMaker::WriteMakefile(%MM_ARGS);
## END BOILERPLATE ###########################################################