summaryrefslogtreecommitdiff
path: root/cpan/Module-Build/lib/Module/Build/Base.pm
diff options
context:
space:
mode:
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>2013-05-24 21:43:09 +0100
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>2013-05-24 21:43:09 +0100
commitee76e75720066eb0cd82eb280936c6b52bdddc7f (patch)
tree784c31724ea446cc462e49859882cbf10e0c25c5 /cpan/Module-Build/lib/Module/Build/Base.pm
parentcb1974ba967c78b8c4c5124d5b470405af5b8541 (diff)
downloadperl-ee76e75720066eb0cd82eb280936c6b52bdddc7f.tar.gz
Update Module-Build to CPAN version 0.4005
[DELTA] 0.4005 - Thu Apr 25 15:10:14 CEST 2013 [ENHANCEMENTS] - Added --pureperl-only support [BUG FIXES] - #72176: pod2html will fail with an empty podpath in some cases. [Phillip Moore] - Fix links between modules in HTML docs output [Michael Wild, Leon Timmermans] 0.4004 - Fri Mar 29 15:05:00 CET 2013 [BUG FIXES] - Minor VMS fix for @INC [Craig Berry] [ENHANCEMENTS] - test_requires support has been added [Matsuno Tokuhiro]
Diffstat (limited to 'cpan/Module-Build/lib/Module/Build/Base.pm')
-rw-r--r--cpan/Module-Build/lib/Module/Build/Base.pm34
1 files changed, 22 insertions, 12 deletions
diff --git a/cpan/Module-Build/lib/Module/Build/Base.pm b/cpan/Module-Build/lib/Module/Build/Base.pm
index cf42cc0b23..5fb8506be8 100644
--- a/cpan/Module-Build/lib/Module/Build/Base.pm
+++ b/cpan/Module-Build/lib/Module/Build/Base.pm
@@ -6,7 +6,7 @@ use strict;
use vars qw($VERSION);
use warnings;
-$VERSION = '0.4003';
+$VERSION = '0.4005';
$VERSION = eval $VERSION;
BEGIN { require 5.006001 }
@@ -922,6 +922,8 @@ __PACKAGE__->add_property(test_file_exts => ['.t']);
__PACKAGE__->add_property(use_tap_harness => 0);
__PACKAGE__->add_property(cpan_client => 'cpan');
__PACKAGE__->add_property(tap_harness_args => {});
+__PACKAGE__->add_property(pureperl_only => 0);
+__PACKAGE__->add_property(allow_pureperl => 0);
__PACKAGE__->add_property(
'installdirs',
default => 'site',
@@ -942,7 +944,7 @@ __PACKAGE__->add_property(
}
{
- my @prereq_action_types = qw(requires build_requires conflicts recommends);
+ my @prereq_action_types = qw(requires build_requires test_requires conflicts recommends);
foreach my $type (@prereq_action_types) {
__PACKAGE__->add_property($type => {});
}
@@ -1812,7 +1814,7 @@ sub print_build_script {
my @myINC = $self->_added_to_INC;
for (@myINC, values %q) {
- $_ = File::Spec->canonpath( $_ );
+ $_ = File::Spec->canonpath( $_ ) unless $self->is_vmsish;
s/([\\\'])/\\$1/g;
}
@@ -1915,6 +1917,7 @@ sub create_mymeta {
# XXX refactor this mapping somewhere
$mymeta->{prereqs}{runtime}{requires} = $prereqs->{requires};
$mymeta->{prereqs}{build}{requires} = $prereqs->{build_requires};
+ $mymeta->{prereqs}{test}{requires} = $prereqs->{test_requires};
$mymeta->{prereqs}{runtime}{recommends} = $prereqs->{recommends};
$mymeta->{prereqs}{runtime}{conflicts} = $prereqs->{conflicts};
# delete empty entries
@@ -2119,6 +2122,8 @@ sub _translate_option {
use_tap_harness
tap_harness_args
cpan_client
+ pureperl_only
+ allow_pureperl
); # normalize only selected option names
return $opt;
@@ -2159,6 +2164,8 @@ sub _optional_arg {
debug
sign
use_tap_harness
+ pureperl_only
+ allow_pureperl
);
# inverted boolean options; eg --noverbose or --no-verbose
@@ -2968,7 +2975,9 @@ sub process_PL_files {
sub process_xs_files {
my $self = shift;
+ return if $self->pureperl_only && $self->allow_pureperl;
my $files = $self->find_xs_files;
+ croak 'Can\'t build xs files under --pureperl-only' if %$files && $self->pureperl_only;
while (my ($from, $to) = each %$files) {
unless ($from eq $to) {
$self->add_to_cleanup($to);
@@ -3301,6 +3310,7 @@ sub _find_pods {
foreach my $regexp ( @{ $args{exclude} } ) {
next FILE if $file =~ $regexp;
}
+ $file = $self->localize_file_path($file);
$files{$file} = File::Spec->abs2rel($file, $dir) if $self->contains_pod( $file )
}
}
@@ -3358,11 +3368,11 @@ sub htmlify_pods {
: $self->original_prefix('core');
my $htmlroot = $self->install_sets('core')->{libhtml};
- my @podpath = (map { File::Spec->abs2rel($_ ,$podroot) } grep { -d }
+ my @podpath = ( (map { File::Spec->abs2rel($_ ,$podroot) } grep { -d }
( $self->install_sets('core', 'lib'), # lib
$self->install_sets('core', 'bin'), # bin
$self->install_sets('site', 'lib'), # site/lib
- ) ), File::Spec->rel2abs($self->blib);
+ ) ), File::Spec->rel2abs($self->blib) );
my $podpath = $ENV{PERL_CORE}
? File::Spec->catdir($podroot, 'lib')
@@ -3427,7 +3437,7 @@ sub htmlify_pods {
} or $self->log_warn("[$htmltool] pod2html (" .
join(", ", map { "q{$_} => q{$opts{$_}}" } (keys %opts)) . ") failed: $@");
} else {
- my $path2root = join( '/', ('..') x (@rootdirs+@dirs) );
+ my $path2root = File::Spec->catdir(File::Spec->updir x @dirs);
my $fh = IO::File->new($infile) or die "Can't read $infile: $!";
my $abstract = Module::Build::PodParser->new(fh => $fh)->get_abstract();
@@ -4094,9 +4104,9 @@ sub ACTION_disttest {
$self->run_perl_script('Build.PL') # XXX Should this be run w/ --nouse-rcfile
or die "Error executing 'Build.PL' in dist directory: $!";
- $self->run_perl_script('Build')
- or die "Error executing 'Build' in dist directory: $!";
- $self->run_perl_script('Build', [], ['test'])
+ $self->run_perl_script($self->build_script)
+ or die "Error executing $self->build_script in dist directory: $!";
+ $self->run_perl_script($self->build_script, [], ['test'])
or die "Error executing 'Build test' in dist directory";
});
}
@@ -4110,9 +4120,9 @@ sub ACTION_distinstall {
sub {
$self->run_perl_script('Build.PL')
or die "Error executing 'Build.PL' in dist directory: $!";
- $self->run_perl_script('Build')
- or die "Error executing 'Build' in dist directory: $!";
- $self->run_perl_script('Build', [], ['install'])
+ $self->run_perl_script($self->build_script)
+ or die "Error executing $self->build_script in dist directory: $!";
+ $self->run_perl_script($self->build_script, [], ['install'])
or die "Error executing 'Build install' in dist directory";
}
);