116 lines
3.6 KiB
Perl
116 lines
3.6 KiB
Perl
# -*- mode: perl; c-basic-offset: 4; indent-tabs-mode: nil; -*-
|
|
|
|
use strict;
|
|
use ExtUtils::MakeMaker qw(WriteMakefile);
|
|
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
|
|
# the contents of the Makefile that is written.
|
|
|
|
# Normalize version strings like 6.30_02 to 6.3002,
|
|
# so that we can do numerical comparisons on it.
|
|
my $eumm_version = $ExtUtils::MakeMaker::VERSION;
|
|
$eumm_version =~ s/_//;
|
|
|
|
my $module = 'Archive::SevenZip';
|
|
(my $main_file = "lib/$module.pm" ) =~ s!::!/!g;
|
|
|
|
# I should maybe use something like Shipwright...
|
|
regen_README();
|
|
#regen_EXAMPLES();
|
|
|
|
my @tests = map { glob $_ } 't/*.t', 't/*/*.t';
|
|
|
|
WriteMakefile1(
|
|
NAME => $module,
|
|
AUTHOR => q{Max Maischein <corion@cpan.org>},
|
|
VERSION_FROM => $main_file,
|
|
ABSTRACT_FROM => $main_file,
|
|
META_MERGE => {
|
|
"meta-spec" => { version => 2 },
|
|
resources => {
|
|
repository => {
|
|
web => 'https://github.com/Corion/archive-sevenzip',
|
|
url => 'git://github.com/Corion/archive-sevenzip.git',
|
|
type => 'git',
|
|
}
|
|
},
|
|
},
|
|
|
|
MIN_PERL_VERSION => '5.006',
|
|
|
|
($eumm_version >= 6.3001
|
|
? ('LICENSE'=> 'perl')
|
|
: ()),
|
|
|
|
PL_FILES => {},
|
|
BUILD_REQUIRES => {
|
|
'ExtUtils::MakeMaker' => 0,
|
|
},
|
|
|
|
PREREQ_PM => {
|
|
'Test::More' => 0,
|
|
'File::Spec' => 0, # some tests do, at least
|
|
'Exporter' => 5, # for 'import'
|
|
|
|
'File::Temp' => 0,
|
|
'File::Copy' => 0,
|
|
'IPC::Open3' => 0, # for talking to 7zip
|
|
'Path::Class' => 0,
|
|
'Encode' => 0,
|
|
'File::Basename' => 0,
|
|
'Time::Piece' => 0,
|
|
},
|
|
dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
|
|
clean => { FILES => 'Archive-SevenZip-*' },
|
|
|
|
test => { TESTS => join( ' ', @tests ) },
|
|
);
|
|
|
|
1;
|
|
|
|
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 not 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;
|
|
|
|
WriteMakefile(%params);
|
|
}
|
|
|
|
sub regen_README {
|
|
eval {
|
|
require Pod::Readme;
|
|
Pod::Readme->VERSION('1.0.2'); #0.11 may hang
|
|
|
|
my $parser = Pod::Readme->new();
|
|
|
|
# Read POD from Module.pm and write to README
|
|
$parser->parse_from_file($_[0], 'README');
|
|
};
|
|
eval {
|
|
require Pod::Markdown;
|
|
|
|
my $parser = Pod::Markdown->new();
|
|
|
|
# Read POD from Module.pm and write to README
|
|
$parser->parse_from_file($_[0]);
|
|
open my $fh, '>', 'README.mkdn'
|
|
or die "Couldn't open 'README.mkdn': $!";
|
|
print $fh $parser->as_markdown;
|
|
};
|
|
}
|
|
|