require a version of Test::More suitable for note()
[p5sagit/Safe-Isa.git] / Makefile.PL
CommitLineData
e6995dc6 1use strict;
2use warnings FATAL => 'all';
e6995dc6 3use ExtUtils::MakeMaker;
f11115fb 4(do './maint/Makefile.PL.include' or die $@) unless -f 'META.yml';
e6995dc6 5
74a7df2b 6my %WriteMakefileArgs = (
dcf9b5b3 7 NAME => 'Safe::Isa',
e6995dc6 8 VERSION_FROM => 'lib/Safe/Isa.pm',
944651ea 9
74a7df2b 10 META_MERGE => {
6c703264 11 'meta-spec' => { version => 2 },
12 dynamic_config => 0,
6c703264 13 resources => {
7423cd2f 14 # GitHub mirrors from Shadowcat. We list it so we can get pull requests.
15 # The canonical repo is:
16 # r/o: git://git.shadowcat.co.uk/p5sagit/Safe-Isa.git
6c703264 17 # r/w: p5sagit@git.shadowcat.co.uk:Safe-Isa.git
7423cd2f 18 # web: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/Safe-Isa.git
6c703264 19 repository => {
7423cd2f 20 url => 'https://github.com/p5sagit/Safe-Isa.git',
21 web => 'https://github.com/p5sagit/Safe-Isa',
6c703264 22 type => 'git',
23 },
24 bugtracker => {
25 mailto => 'bug-Safe-Isa@rt.cpan.org',
26 web => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Safe-Isa',
27 },
28 },
e5a678c6 29 x_contributors => [ # manually added, from git shortlog -e -s -n
30 'Karen Etheridge <ether@cpan.org>',
31 'Matt S Trout <mst@shadowcat.co.uk>',
32 'Graham Knop <haarg@haarg.org>',
33 'David Steinbrunner <dsteinbrunner@pobox.com>',
34 ],
74a7df2b 35 },
36
37 META_ADD => {
5c638b01 38 'meta-spec' => { version => 2 },
74a7df2b 39 prereqs => {
40 configure => {
41 requires => {
42 'ExtUtils::MakeMaker' => '0',
43 },
44 },
45 runtime => {
46 requires => {
47 'Exporter' => '5.57',
48 'Scalar::Util' => 0,
49 perl => '5.006',
50 },
51 },
b1878734 52 test => {
53 requires => {
a16ae635 54 'Test::More' => '0.88',
b1878734 55 },
56 },
944651ea 57 },
74a7df2b 58 },
e6995dc6 59);
74a7df2b 60
61my $eumm_version = eval $ExtUtils::MakeMaker::VERSION;
62
63for (qw(configure build test runtime)) {
64 my $key = $_ eq 'runtime' ? 'PREREQ_PM' : uc $_.'_REQUIRES';
65 next unless exists $WriteMakefileArgs{META_ADD}{prereqs}{$_}
66 or exists $WriteMakefileArgs{$key};
67 my $r = $WriteMakefileArgs{$key} = {
68 %{$WriteMakefileArgs{META_ADD}{prereqs}{$_}{requires} || {}},
69 %{delete $WriteMakefileArgs{$key} || {}},
70 };
71 defined $r->{$_} or delete $r->{$_} for keys %$r;
72}
73
74# dynamic prereqs get added here.
75
76$WriteMakefileArgs{MIN_PERL_VERSION} = delete $WriteMakefileArgs{PREREQ_PM}{perl} || 0;
77
78die 'attention developer: you need to do a sane meta merge here!'
79 if keys %{$WriteMakefileArgs{BUILD_REQUIRES}};
80
81$WriteMakefileArgs{BUILD_REQUIRES} = {
82 %{$WriteMakefileArgs{BUILD_REQUIRES} || {}},
83 %{delete $WriteMakefileArgs{TEST_REQUIRES}}
84} if $eumm_version < 6.63_03;
85
86$WriteMakefileArgs{PREREQ_PM} = {
87 %{$WriteMakefileArgs{PREREQ_PM}},
88 %{delete $WriteMakefileArgs{BUILD_REQUIRES}}
89} if $eumm_version < 6.55_01;
90
91delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
92 if $eumm_version < 6.51_03;
93
94delete $WriteMakefileArgs{MIN_PERL_VERSION}
95 if $eumm_version < 6.48;
96
97delete @WriteMakefileArgs{qw(META_ADD META_MERGE)}
98 if $eumm_version < 6.46;
99
100delete $WriteMakefileArgs{LICENSE}
101 if $eumm_version < 6.31;
102
103WriteMakefile(%WriteMakefileArgs);