# -*- 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 }, 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; }; }