keep namespace cleaner: don't import blessed()
[p5sagit/Safe-Isa.git] / Makefile.PL
CommitLineData
e6995dc6 1use strict;
2use warnings FATAL => 'all';
3use 5.008001;
4use ExtUtils::MakeMaker;
f11115fb 5(do './maint/Makefile.PL.include' or die $@) unless -f 'META.yml';
e6995dc6 6
74a7df2b 7my %WriteMakefileArgs = (
dcf9b5b3 8 NAME => 'Safe::Isa',
e6995dc6 9 VERSION_FROM => 'lib/Safe/Isa.pm',
944651ea 10
74a7df2b 11 META_MERGE => {
6c703264 12 'meta-spec' => { version => 2 },
13 dynamic_config => 0,
944651ea 14
6c703264 15 resources => {
16 # r/w: p5sagit@git.shadowcat.co.uk:Safe-Isa.git
17 repository => {
18 url => 'git://git.shadowcat.co.uk/p5sagit/Safe-Isa.git',
19 web => 'http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/Safe-Isa.git',
20 type => 'git',
21 },
22 bugtracker => {
23 mailto => 'bug-Safe-Isa@rt.cpan.org',
24 web => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Safe-Isa',
25 },
26 },
74a7df2b 27 },
28
29 META_ADD => {
5c638b01 30 'meta-spec' => { version => 2 },
74a7df2b 31 prereqs => {
32 configure => {
33 requires => {
34 'ExtUtils::MakeMaker' => '0',
35 },
36 },
37 runtime => {
38 requires => {
39 'Exporter' => '5.57',
40 'Scalar::Util' => 0,
41 perl => '5.006',
42 },
43 },
b1878734 44 test => {
45 requires => {
46 'Test::More' => '0',
47 },
48 },
944651ea 49 },
74a7df2b 50 },
e6995dc6 51);
74a7df2b 52
53my $eumm_version = eval $ExtUtils::MakeMaker::VERSION;
54
55for (qw(configure build test runtime)) {
56 my $key = $_ eq 'runtime' ? 'PREREQ_PM' : uc $_.'_REQUIRES';
57 next unless exists $WriteMakefileArgs{META_ADD}{prereqs}{$_}
58 or exists $WriteMakefileArgs{$key};
59 my $r = $WriteMakefileArgs{$key} = {
60 %{$WriteMakefileArgs{META_ADD}{prereqs}{$_}{requires} || {}},
61 %{delete $WriteMakefileArgs{$key} || {}},
62 };
63 defined $r->{$_} or delete $r->{$_} for keys %$r;
64}
65
66# dynamic prereqs get added here.
67
68$WriteMakefileArgs{MIN_PERL_VERSION} = delete $WriteMakefileArgs{PREREQ_PM}{perl} || 0;
69
70die 'attention developer: you need to do a sane meta merge here!'
71 if keys %{$WriteMakefileArgs{BUILD_REQUIRES}};
72
73$WriteMakefileArgs{BUILD_REQUIRES} = {
74 %{$WriteMakefileArgs{BUILD_REQUIRES} || {}},
75 %{delete $WriteMakefileArgs{TEST_REQUIRES}}
76} if $eumm_version < 6.63_03;
77
78$WriteMakefileArgs{PREREQ_PM} = {
79 %{$WriteMakefileArgs{PREREQ_PM}},
80 %{delete $WriteMakefileArgs{BUILD_REQUIRES}}
81} if $eumm_version < 6.55_01;
82
83delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
84 if $eumm_version < 6.51_03;
85
86delete $WriteMakefileArgs{MIN_PERL_VERSION}
87 if $eumm_version < 6.48;
88
89delete @WriteMakefileArgs{qw(META_ADD META_MERGE)}
90 if $eumm_version < 6.46;
91
92delete $WriteMakefileArgs{LICENSE}
93 if $eumm_version < 6.31;
94
95WriteMakefile(%WriteMakefileArgs);