diff options
author | Chris 'BinGOs' Williams <chris@bingosnet.co.uk> | 2013-05-24 21:43:09 +0100 |
---|---|---|
committer | Chris 'BinGOs' Williams <chris@bingosnet.co.uk> | 2013-05-24 21:43:09 +0100 |
commit | ee76e75720066eb0cd82eb280936c6b52bdddc7f (patch) | |
tree | 784c31724ea446cc462e49859882cbf10e0c25c5 /cpan/Module-Build/lib/Module/Build/Base.pm | |
parent | cb1974ba967c78b8c4c5124d5b470405af5b8541 (diff) | |
download | perl-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.pm | 34 |
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"; } ); |