|
Packit |
0b03d9 |
use strict;
|
|
Packit |
0b03d9 |
use warnings;
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
use ExtUtils::MakeMaker;
|
|
Packit |
0b03d9 |
use File::Spec::Functions qw(catfile);
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
ExtUtils::MakeMaker->VERSION(6.98) if -f '.gitignore';
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
# VOS and VMS can't handle dodgy plugin names
|
|
Packit |
0b03d9 |
# and VOS can't even unpack them so we create them on the
|
|
Packit |
0b03d9 |
# fly and only run the tests if they're present
|
|
Packit |
0b03d9 |
my %dodgy_files = (
|
|
Packit |
0b03d9 |
catfile('OddTest', 'Plugin', '-Dodgy.pm') => 'OddTest::Plugin::-Dodgy',
|
|
Packit |
0b03d9 |
catfile('EditorJunk', 'Plugin', '#Bar.pm#') => 'EditorJunk::Bar',
|
|
Packit |
0b03d9 |
catfile('EditorJunk', 'Plugin', '.#Bar.pm') => 'EditorJunk::Bar',
|
|
Packit |
0b03d9 |
);
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
my @files;
|
|
Packit |
0b03d9 |
unless (grep { lc($^O) eq $_ } qw(vms vos)) {
|
|
Packit |
0b03d9 |
foreach my $test (keys %dodgy_files) {
|
|
Packit |
0b03d9 |
my ($file) = (catfile("t", "lib", $test)=~/^(.*)$/);
|
|
Packit |
0b03d9 |
if (open(FH, ">$file")) {
|
|
Packit |
0b03d9 |
my $name = $dodgy_files{$test};
|
|
Packit |
0b03d9 |
print FH "package $name;\nsub new {}\n1;";
|
|
Packit |
0b03d9 |
close(FH);
|
|
Packit |
0b03d9 |
push @files, $file;
|
|
Packit |
0b03d9 |
}
|
|
Packit |
0b03d9 |
}
|
|
Packit |
0b03d9 |
}
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
my %WriteMakefileArgs = (
|
|
Packit |
0b03d9 |
NAME => 'Module::Pluggable',
|
|
Packit |
0b03d9 |
VERSION_FROM => 'lib/Module/Pluggable.pm',
|
|
Packit |
0b03d9 |
ABSTRACT_FROM => 'lib/Module/Pluggable.pm',
|
|
Packit |
0b03d9 |
AUTHOR => 'Simon Wistow <simon@thegestalt.org>',
|
|
Packit |
0b03d9 |
LICENSE => 'perl_5',
|
|
Packit |
0b03d9 |
MIN_PERL_VERSION => '5.00503',
|
|
Packit |
0b03d9 |
INSTALLDIRS => ($] >= 5.008009 && $] <= 5.011000 ? 'perl' : 'site'),
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
CONFIGURE_REQUIRES => {
|
|
Packit |
0b03d9 |
'ExtUtils::MakeMaker' => '0',
|
|
Packit |
0b03d9 |
},
|
|
Packit |
0b03d9 |
PREREQ_PM => {
|
|
Packit |
0b03d9 |
'if' => '0',
|
|
Packit |
0b03d9 |
'File::Basename' => '0',
|
|
Packit |
0b03d9 |
'File::Spec' => '3.00',
|
|
Packit |
0b03d9 |
'Exporter' => '5.57', # use Exporter 'import'
|
|
Packit |
0b03d9 |
'File::Find' => '0',
|
|
Packit |
0b03d9 |
'File::Spec::Functions' => '0',
|
|
Packit |
0b03d9 |
'strict' => '0',
|
|
Packit |
0b03d9 |
},
|
|
Packit |
0b03d9 |
TEST_REQUIRES => {
|
|
Packit |
0b03d9 |
'Test::More' => '0',
|
|
Packit |
0b03d9 |
'Cwd' => '0',
|
|
Packit |
0b03d9 |
'Data::Dumper' => '0',
|
|
Packit |
0b03d9 |
'File::Copy' => '0',
|
|
Packit |
0b03d9 |
'File::Find' => '0',
|
|
Packit |
0b03d9 |
'File::Path' => '0',
|
|
Packit |
0b03d9 |
'File::Spec::Functions' => '0',
|
|
Packit |
0b03d9 |
'File::Temp' => '0',
|
|
Packit |
0b03d9 |
'base' => '0',
|
|
Packit |
0b03d9 |
'FindBin' => '0',
|
|
Packit |
0b03d9 |
'strict' => '0',
|
|
Packit |
0b03d9 |
'warnings' => '0',
|
|
Packit |
0b03d9 |
},
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
META_MERGE => {
|
|
Packit |
0b03d9 |
'meta-spec' => { version => 2 },
|
|
Packit |
0b03d9 |
dynamic_config => 0,
|
|
Packit |
0b03d9 |
resources => {
|
|
Packit |
0b03d9 |
repository => {
|
|
Packit |
0b03d9 |
url => 'https://github.com/simonwistow/Module-Pluggable.git',
|
|
Packit |
0b03d9 |
web => 'https://github.com/simonwistow/Module-Pluggable',
|
|
Packit |
0b03d9 |
type => 'git',
|
|
Packit |
0b03d9 |
},
|
|
Packit |
0b03d9 |
bugtracker => {
|
|
Packit |
0b03d9 |
mailto => 'bug-Module-Pluggable@rt.cpan.org',
|
|
Packit |
0b03d9 |
web => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Module-Pluggable',
|
|
Packit |
0b03d9 |
},
|
|
Packit |
0b03d9 |
},
|
|
Packit |
0b03d9 |
prereqs => {
|
|
Packit |
0b03d9 |
runtime => {
|
|
Packit |
0b03d9 |
recommends => {
|
|
Packit |
0b03d9 |
'Module::Runtime' => '0.012',
|
|
Packit |
0b03d9 |
},
|
|
Packit |
0b03d9 |
},
|
|
Packit |
0b03d9 |
test => {
|
|
Packit |
0b03d9 |
suggests => {
|
|
Packit |
0b03d9 |
'App::Fatpacker' => '0.010000',
|
|
Packit |
0b03d9 |
},
|
|
Packit |
0b03d9 |
},
|
|
Packit |
0b03d9 |
},
|
|
Packit |
0b03d9 |
optional_features => {
|
|
Packit |
0b03d9 |
module_runtime => {
|
|
Packit |
0b03d9 |
description => "Optionally use Module::Runtime for requiring plugins rather than homegrown system",
|
|
Packit |
0b03d9 |
prereqs => {
|
|
Packit |
0b03d9 |
runtime => {
|
|
Packit |
0b03d9 |
requires => {
|
|
Packit |
0b03d9 |
'Module::Runtime' => '0.012',
|
|
Packit |
0b03d9 |
}
|
|
Packit |
0b03d9 |
}
|
|
Packit |
0b03d9 |
}
|
|
Packit |
0b03d9 |
}
|
|
Packit |
0b03d9 |
}
|
|
Packit |
0b03d9 |
},
|
|
Packit |
0b03d9 |
);
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
# degrade gracefully for older EUMM/older perls
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
if (!eval { ExtUtils::MakeMaker->VERSION('6.6303') }) {
|
|
Packit |
0b03d9 |
$WriteMakefileArgs{BUILD_REQUIRES} = $WriteMakefileArgs{TEST_REQUIRES};
|
|
Packit |
0b03d9 |
delete $WriteMakefileArgs{TEST_REQUIRES};
|
|
Packit |
0b03d9 |
}
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
if (!eval { ExtUtils::MakeMaker->VERSION('6.5501') }) {
|
|
Packit |
0b03d9 |
@{$WriteMakefileArgs{PREREQ_PM}}{ keys %{$WriteMakefileArgs{BUILD_REQUIRES}} } =
|
|
Packit |
0b03d9 |
@{$WriteMakefileArgs{BUILD_REQUIRES}}{ keys %{$WriteMakefileArgs{BUILD_REQUIRES}} };
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
delete $WriteMakefileArgs{BUILD_REQUIRES};
|
|
Packit |
0b03d9 |
}
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
WriteMakefile(%WriteMakefileArgs);
|