-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.PL
executable file
·129 lines (116 loc) · 4.26 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
# -*- perl -*-
use 5.008;
use strict;
use warnings;
use ExtUtils::MakeMaker;
my $conflictMsg = <<EOCM;
***
This version of SQL::Statement conflicts with
the version of module %s (%s) you have installed.
It's strongly recommended that you update it after
installing this version of SQL::Statement.
***
EOCM
my $selfConflictMsg = <<EOSCM;
***
This version of SQL::Statement conflicts with
the version of %s (%s) you have installed.
It's strongly recommended that you carefully read
the Changes file and test your application with
this version before finally upgrading.
See local::lib how to do it easily.
***
EOSCM
WriteMakefile1(
MIN_PERL_VERSION => '5.008',
META_MERGE => {
resources => {
repository => 'https://svn.perl.org/modules/SQL-Statement/trunk/',
MailingList => 'mailto:dbi-dev@perl.org',
license => 'http://dev.perl.org/licenses/',
},
},
NAME => 'SQL::Statement',
VERSION_FROM => 'lib/SQL/Statement.pm',
ABSTRACT_FROM => 'lib/SQL/Statement.pm',
dist => {
'SUFFIX' => ".gz",
'DIST_DEFAULT' => 'manifest tardist',
'COMPRESS' => "gzip -9vf"
},
PREREQ_PM => {
'Carp' => '0',
'Clone' => '0.30',
'Data::Dumper' => '0',
'Params::Util' => '1.00',
'Scalar::Util' => '1.0',
},
CONFLICTS => {
'SQL::Statement' => '1.20',
'DBI' => '1.611',
'DBD::AnyData' => '0.09',
'DBD::CSV' => '0.29',
},
LICENSE => 'perl',
BUILD_REQUIRES => {
'Test::Simple' => '0.90',
},
AUTHOR => 'Jeff Zucker <jeff@vpservices.com>, Jens Rehsack <rehsack@cpan.org>',
test => { TESTS => 't/*.t xt/*.t' },
);
sub CheckConflicts
{
my %params = @_;
my %conflicts = %{ $params{CONFLICTS} };
my $found = 0;
while ( my ( $module, $version ) = each(%conflicts) )
{
undef $@;
eval "require $module";
next if $@;
my $installed = eval "\$" . $module . "::VERSION";
if ( $installed le $version )
{
++$found;
my $msg = $module eq $params{NAME} ? $selfConflictMsg : $conflictMsg;
my $warning = sprintf( $msg, $module, $installed );
warn $warning;
}
}
return !$found;
}
sub WriteMakefile1
{ #Written by Alexandr Ciornii, version 0.21. Added by eumm-upgrade.
my %params = @_;
my $eumm_version = $ExtUtils::MakeMaker::VERSION;
$eumm_version = eval $eumm_version;
die "EXTRA_META is deprecated" if ( exists( $params{EXTRA_META} ) );
die "License not specified" if ( !exists( $params{LICENSE} ) );
if ( $params{BUILD_REQUIRES} and ( $eumm_version < 6.5503 ) )
{
#EUMM 6.5502 has problems with BUILD_REQUIRES
$params{PREREQ_PM} = { %{ $params{PREREQ_PM} || {} }, %{ $params{BUILD_REQUIRES} } };
delete $params{BUILD_REQUIRES};
}
delete $params{CONFIGURE_REQUIRES} if ( $eumm_version < 6.52 );
delete $params{MIN_PERL_VERSION} if ( $eumm_version < 6.48 );
delete $params{META_MERGE} if ( $eumm_version < 6.46 );
delete $params{META_ADD} if ( $eumm_version < 6.46 );
delete $params{LICENSE} if ( $eumm_version < 6.31 );
delete $params{AUTHOR} if ( $] < 5.005 );
delete $params{ABSTRACT_FROM} if ( $] < 5.005 );
delete $params{BINARY_LOCATION} if ( $] < 5.005 );
# more or less taken from Moose' Makefile.PL
if ( $params{CONFLICTS} )
{
my $ok = CheckConflicts(%params);
exit(0) if ( $params{PREREQ_FATAL} and not $ok );
my $cpan_smoker = grep { $_ =~ m/(?:CR_SMOKER|CPAN_REPORTER|AUTOMATED_TESTING)/ } keys %ENV;
unless ( $cpan_smoker || $ENV{PERL_MM_USE_DEFAULT} || $ENV{SQL_STATEMENT_WARN_UPDATE} )
{
sleep 4 unless ($ok);
}
delete $params{CONFLICTS};
}
WriteMakefile(%params);
}