1use strict; use warnings; 2use ExtUtils::MakeMaker; 3 4require 5.006; 5 6my $mm_ver = $ExtUtils::MakeMaker::VERSION; 7if ($mm_ver =~ /_/) { # dev version 8 $mm_ver = eval $mm_ver; 9 die $@ if $@; 10} 11 12my %PREREQ_PM = ( 13 'List::Util' => '1.45', 14 'Scalar::Util' => 0, 15 'Heap' => '0.80', 16 'Set::Object' => '1.40', 17); 18 19if ($] >= 5.008) { 20 $PREREQ_PM{'Storable'} = '2.05'; 21 $PREREQ_PM{'Safe' } = 0, 22} 23 24my $repo = 'graphviz-perl/Graph'; 25WriteMakefile( 26 NAME => 'Graph', 27 VERSION_FROM => 'lib/Graph.pm', 28 PREREQ_PM => \%PREREQ_PM, 29 AUTHOR => 'Jarkko Hietaniemi <jhi@iki.fi>', 30 31 ($mm_ver >= 6.31 32 ? (LICENSE => 'perl') 33 : () 34 ), 35 36 ($mm_ver >= 6.48 37 ? (MIN_PERL_VERSION => 5.006) 38 : () 39 ), 40 41 ($mm_ver <= 6.45 42 ? () 43 : (META_MERGE => { 44 'meta-spec' => { version => 2 }, 45 resources => { 46 bugtracker => { web => "https://github.com/$repo/issues" }, 47 repository => { 48 type => 'git', 49 web => "https://github.com/$repo", 50 url => "git://github.com/$repo.git", 51 }, 52 }, 53 prereqs => { 54 develop => { 55 requires => { 56 'Test::Pod::Coverage' => '1.00', 57 'Test::Pod' => '1.00', 58 }, 59 }, 60 test => { 61 requires => { 62 'Test::More' => '0.82', # explain 63 'Math::Complex' => 0, 64 }, 65 recommends => { 66 'App::Prove' => '3.00', # prove -j4 67 }, 68 }, 69 }, 70 }) 71 ), 72); 73 74# Some Debian distributions have a broken List::Util (see rt.cpan.org #9568) 75eval 'require Scalar::Util; import Scalar::Util qw(weaken)'; 76if ($@) { 77 die <<__EOF__; 78$@ 79You do not have Scalar::Util::weaken, cannot continue, aborting. 80__EOF__ 81} 82