From 33a37ffe062a4400837148289eccd51c23d458bf Mon Sep 17 00:00:00 2001 From: Oliver Gorwits Date: Fri, 6 Jan 2017 14:33:27 +0000 Subject: [PATCH] update M::I --- Netdisco/inc/Module/Install.pm | 35 +++++-------------------- Netdisco/inc/Module/Install/Base.pm | 2 +- Netdisco/inc/Module/Install/Can.pm | 13 +++++++-- Netdisco/inc/Module/Install/Fetch.pm | 2 +- Netdisco/inc/Module/Install/Makefile.pm | 2 +- Netdisco/inc/Module/Install/Metadata.pm | 2 +- Netdisco/inc/Module/Install/Scripts.pm | 2 +- Netdisco/inc/Module/Install/Share.pm | 2 +- Netdisco/inc/Module/Install/Win32.pm | 2 +- Netdisco/inc/Module/Install/WriteAll.pm | 2 +- 10 files changed, 25 insertions(+), 39 deletions(-) diff --git a/Netdisco/inc/Module/Install.pm b/Netdisco/inc/Module/Install.pm index f44ab4d2..dbe10ca9 100644 --- a/Netdisco/inc/Module/Install.pm +++ b/Netdisco/inc/Module/Install.pm @@ -31,7 +31,7 @@ BEGIN { # This is not enforced yet, but will be some time in the next few # releases once we can make sure it won't clash with custom # Module::Install extensions. - $VERSION = '1.16'; + $VERSION = '1.17'; # Storage for the pseudo-singleton $MAIN = undef; @@ -244,6 +244,8 @@ sub new { } return $args{_self} if $args{_self}; + $base_path = VMS::Filespec::unixify($base_path) if $^O eq 'VMS'; + $args{dispatch} ||= 'Admin'; $args{prefix} ||= 'inc'; $args{author} ||= ($^O eq 'VMS' ? '_author' : '.author'); @@ -322,7 +324,7 @@ sub find_extensions { my ($self, $path) = @_; my @found; - File::Find::find( sub { + File::Find::find( {no_chdir => 1, wanted => sub { my $file = $File::Find::name; return unless $file =~ m!^\Q$path\E/(.+)\.pm\Z!is; my $subpath = $1; @@ -336,7 +338,7 @@ sub find_extensions { # correctly. Otherwise, root through the file to locate the case-preserved # version of the package name. if ( $subpath eq lc($subpath) || $subpath eq uc($subpath) ) { - my $content = Module::Install::_read($subpath . '.pm'); + my $content = Module::Install::_read($File::Find::name); my $in_pod = 0; foreach ( split /\n/, $content ) { $in_pod = 1 if /^=\w/; @@ -351,7 +353,7 @@ sub find_extensions { } push @found, [ $file, $pkg ]; - }, $path ) if -d $path; + }}, $path ) if -d $path; @found; } @@ -373,8 +375,6 @@ sub _caller { return $call; } -# Done in evals to avoid confusing Perl::MinimumVersion -eval( $] >= 5.006 ? <<'END_NEW' : <<'END_OLD' ); die $@ if $@; sub _read { local *FH; open( FH, '<', $_[0] ) or die "open($_[0]): $!"; @@ -383,16 +383,6 @@ sub _read { close FH or die "close($_[0]): $!"; return $string; } -END_NEW -sub _read { - local *FH; - open( FH, "< $_[0]" ) or die "open($_[0]): $!"; - binmode FH; - my $string = do { local $/; }; - close FH or die "close($_[0]): $!"; - return $string; -} -END_OLD sub _readperl { my $string = Module::Install::_read($_[0]); @@ -413,8 +403,6 @@ sub _readpod { return $string; } -# Done in evals to avoid confusing Perl::MinimumVersion -eval( $] >= 5.006 ? <<'END_NEW' : <<'END_OLD' ); die $@ if $@; sub _write { local *FH; open( FH, '>', $_[0] ) or die "open($_[0]): $!"; @@ -424,17 +412,6 @@ sub _write { } close FH or die "close($_[0]): $!"; } -END_NEW -sub _write { - local *FH; - open( FH, "> $_[0]" ) or die "open($_[0]): $!"; - binmode FH; - foreach ( 1 .. $#_ ) { - print FH $_[$_] or die "print($_[0]): $!"; - } - close FH or die "close($_[0]): $!"; -} -END_OLD # _version is for processing module versions (eg, 1.03_05) not # Perl versions (eg, 5.8.1). diff --git a/Netdisco/inc/Module/Install/Base.pm b/Netdisco/inc/Module/Install/Base.pm index 5762a74b..3d899182 100644 --- a/Netdisco/inc/Module/Install/Base.pm +++ b/Netdisco/inc/Module/Install/Base.pm @@ -4,7 +4,7 @@ package Module::Install::Base; use strict 'vars'; use vars qw{$VERSION}; BEGIN { - $VERSION = '1.16'; + $VERSION = '1.17'; } # Suspend handler for "redefined" warnings diff --git a/Netdisco/inc/Module/Install/Can.pm b/Netdisco/inc/Module/Install/Can.pm index d859276e..fc699b35 100644 --- a/Netdisco/inc/Module/Install/Can.pm +++ b/Netdisco/inc/Module/Install/Can.pm @@ -8,7 +8,7 @@ use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.16'; + $VERSION = '1.17'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } @@ -121,6 +121,15 @@ END_C # Can we locate a (the) C compiler sub can_cc { my $self = shift; + + if ($^O eq 'VMS') { + require ExtUtils::CBuilder; + my $builder = ExtUtils::CBuilder->new( + quiet => 1, + ); + return $builder->have_compiler; + } + my @chunks = split(/ /, $Config::Config{cc}) or return; # $Config{cc} may contain args; try to find out the program part @@ -151,4 +160,4 @@ if ( $^O eq 'cygwin' ) { __END__ -#line 236 +#line 245 diff --git a/Netdisco/inc/Module/Install/Fetch.pm b/Netdisco/inc/Module/Install/Fetch.pm index 41d35173..3ee0aa1a 100644 --- a/Netdisco/inc/Module/Install/Fetch.pm +++ b/Netdisco/inc/Module/Install/Fetch.pm @@ -6,7 +6,7 @@ use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.16'; + $VERSION = '1.17'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff --git a/Netdisco/inc/Module/Install/Makefile.pm b/Netdisco/inc/Module/Install/Makefile.pm index e9918d2b..bc81e062 100644 --- a/Netdisco/inc/Module/Install/Makefile.pm +++ b/Netdisco/inc/Module/Install/Makefile.pm @@ -8,7 +8,7 @@ use Fcntl qw/:flock :seek/; use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.16'; + $VERSION = '1.17'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff --git a/Netdisco/inc/Module/Install/Metadata.pm b/Netdisco/inc/Module/Install/Metadata.pm index 97926853..29934cf0 100644 --- a/Netdisco/inc/Module/Install/Metadata.pm +++ b/Netdisco/inc/Module/Install/Metadata.pm @@ -6,7 +6,7 @@ use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.16'; + $VERSION = '1.17'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff --git a/Netdisco/inc/Module/Install/Scripts.pm b/Netdisco/inc/Module/Install/Scripts.pm index 333d49b5..c0da8101 100644 --- a/Netdisco/inc/Module/Install/Scripts.pm +++ b/Netdisco/inc/Module/Install/Scripts.pm @@ -6,7 +6,7 @@ use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.16'; + $VERSION = '1.17'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff --git a/Netdisco/inc/Module/Install/Share.pm b/Netdisco/inc/Module/Install/Share.pm index e2bb7e6b..ea8aaaa0 100644 --- a/Netdisco/inc/Module/Install/Share.pm +++ b/Netdisco/inc/Module/Install/Share.pm @@ -8,7 +8,7 @@ use ExtUtils::Manifest (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.16'; + $VERSION = '1.17'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff --git a/Netdisco/inc/Module/Install/Win32.pm b/Netdisco/inc/Module/Install/Win32.pm index 218a66bb..dba25f90 100644 --- a/Netdisco/inc/Module/Install/Win32.pm +++ b/Netdisco/inc/Module/Install/Win32.pm @@ -6,7 +6,7 @@ use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.16'; + $VERSION = '1.17'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff --git a/Netdisco/inc/Module/Install/WriteAll.pm b/Netdisco/inc/Module/Install/WriteAll.pm index 530749b6..d553bd74 100644 --- a/Netdisco/inc/Module/Install/WriteAll.pm +++ b/Netdisco/inc/Module/Install/WriteAll.pm @@ -6,7 +6,7 @@ use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.16'; + $VERSION = '1.17'; @ISA = qw{Module::Install::Base}; $ISCORE = 1; }