X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Makefile.PL;h=acb2ffb34bc2bd59905b013d8b75b3ad6f2a0ae5;hb=d2185901086d0c8c4f171f3b70f1715517b6f2e2;hp=d232325163c569d1d361eb0f2ba7b377c52b5221;hpb=6d74e2d7e8dd429c0bdf511cbd3249a911135a34;p=p5sagit%2Flocal-lib.git diff --git a/Makefile.PL b/Makefile.PL index d232325..acb2ffb 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -2,7 +2,7 @@ use strict; use warnings; use File::Spec; use Cwd; -use vars qw($bootstrapping $bootstrapping_args); +use vars qw($bootstrapping $bootstrapping_args $no_manpages); use Config; my $cwd; @@ -27,6 +27,10 @@ DEATH if (my ($x) = grep { /^--bootstrap(?:=.*)?$/ } @ARGV) { @ARGV = grep { !/^--bootstrap(?:=.*)?$/ } @ARGV; $bootstrapping = 1; + if(my ($x) = grep { /^--no-manpages/ } @ARGV) { + $no_manpages = 1; + @ARGV = grep { !/^--no-manpages/ } @ARGV; + } my ($path) = $x =~ /^--bootstrap(?:=(.*))?$/; my @args = $path ? $path : (); @@ -46,7 +50,10 @@ DEATH system($^X, '-MExtUtils::MakeMaker 6.31', '-e1'); my $eumm = $? >> 8; - system($^X, '-MCPAN 1.80', '-e1'); + system($^X, '-MExtUtils::Install 1.43', '-e1'); + my $eui = $? >> 8; + + system($^X, '-MCPAN 1.82', '-e1'); my $cpan = $? >> 8; my $cpan_command = ''; @@ -76,6 +83,9 @@ DEATH if ($eumm) { # non-zero exit $cpan_command .= 'force("install","ExtUtils::MakeMaker"); '; } + if ($eui) { + $cpan_command .= 'install("ExtUtils::Install"); '; + } if ($cpan) { $cpan_command .= 'force("install","CPAN"); '; } @@ -85,6 +95,23 @@ DEATH if ($cpan) { system($^X, '-MCPAN', '-e', 'CPAN::Config->load; CPAN::Config->commit;'); } + if($no_manpages) { + # if we call this code directly, the changes get written to + # $BOOTSTRAP/lib/perl5/CPAN/Config.pm, not where the user expects them to + # be in their ~/.cpan/CPAN/MyConfig.pm. + system($^X, '-MCPAN', + '-e', + q[CPAN::HandleConfig->load;], + '-e', + q[$CPAN::Config->{makepl_arg} = ] . + q['INSTALLMAN1DIR=none INSTALLMAN3DIR=none';], + '-e', + q[$CPAN::Config->{buildpl_arg} = ] . + q['--install_path libdoc="" --install_path bindoc=""';], + '-e', + q[CPAN::Config->commit;], + ); + } chdir($cwd); } @@ -96,10 +123,11 @@ name 'local-lib'; all_from 'lib/local/lib.pm'; requires 'ExtUtils::MakeMaker' => '6.31'; # version INSTALL_BASE was added +requires 'ExtUtils::Install' => '1.43'; # ditto requires 'ExtUtils::CBuilder'; # this and ParseXS are needed for MB C_support requires 'ExtUtils::ParseXS'; requires 'Module::Build' => '0.28'; # lib -> lib/perl5 change -my $required_CPAN = '1.80'; +my $required_CPAN = '1.82'; requires 'CPAN' => $required_CPAN; # sudo support + CPAN::HandleConfig # No, really. See