diff options
Diffstat (limited to 'systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils')
63 files changed, 566 insertions, 294 deletions
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm index 60b1662d58..e470d41676 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm @@ -7,7 +7,7 @@ use Perl::OSType qw/os_type/; use warnings; use strict; -our $VERSION = '0.280234'; # VERSION +our $VERSION = '0.280236'; # VERSION our @ISA; # We only use this once - don't waste a symbol table entry on it. diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm index 638014352c..8ee248dfab 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm @@ -9,7 +9,7 @@ use Text::ParseWords; use IPC::Cmd qw(can_run); use File::Temp qw(tempfile); -our $VERSION = '0.280234'; # VERSION +our $VERSION = '0.280236'; # VERSION # More details about C/C++ compilers: # http://developers.sun.com/sunstudio/documentation/product/compiler.jsp diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm index e73933fea1..590068ca6f 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm @@ -4,7 +4,7 @@ use warnings; use strict; use ExtUtils::CBuilder::Base; -our $VERSION = '0.280234'; # VERSION +our $VERSION = '0.280236'; # VERSION our @ISA = qw(ExtUtils::CBuilder::Base); sub link_executable { diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm index dc3e91b7b9..d9b1fbd571 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm @@ -4,7 +4,7 @@ use warnings; use strict; use ExtUtils::CBuilder::Base; -our $VERSION = '0.280234'; # VERSION +our $VERSION = '0.280236'; # VERSION our @ISA = qw(ExtUtils::CBuilder::Base); use File::Spec::Functions qw(catfile catdir); diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm index 35093d16f1..b81384f629 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm @@ -8,7 +8,7 @@ use File::Spec; use ExtUtils::CBuilder::Base; use IO::File; -our $VERSION = '0.280234'; # VERSION +our $VERSION = '0.280236'; # VERSION our @ISA = qw(ExtUtils::CBuilder::Base); =begin comment diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm index 98bdb2d367..657241a214 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm @@ -1,6 +1,6 @@ package ExtUtils::CBuilder::Platform::Windows::BCC; -our $VERSION = '0.280234'; # VERSION +our $VERSION = '0.280236'; # VERSION use strict; use warnings; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm index 5854d57a8f..52664c7083 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm @@ -1,6 +1,6 @@ package ExtUtils::CBuilder::Platform::Windows::GCC; -our $VERSION = '0.280234'; # VERSION +our $VERSION = '0.280236'; # VERSION use warnings; use strict; @@ -40,15 +40,6 @@ sub format_linker_cmd { unshift( @{$spec{other_ldflags}}, '-nostartfiles' ) if ( $spec{startup} && @{$spec{startup}} ); - # From ExtUtils::MM_Win32: - # - ## one thing for GCC/Mingw32: - ## we try to overcome non-relocateable-DLL problems by generating - ## a (hopefully unique) image-base from the dll's name - ## -- BKS, 10-19-1999 - File::Basename::basename( $spec{output} ) =~ /(....)(.{0,4})/; - $spec{image_base} = sprintf( "0x%x0000", unpack('n', $1 ^ $2) ); - %spec = $self->write_linker_script(%spec) if $spec{use_scripts}; @@ -72,7 +63,7 @@ sub format_linker_cmd { @ld , '-o', $spec{output} , "-Wl,--base-file,$spec{base_file}" , - "-Wl,--image-base,$spec{image_base}" , + "-Wl,--enable-auto-image-base" , @{$spec{lddlflags}} , @{$spec{libpath}} , @{$spec{startup}} , @@ -93,7 +84,7 @@ sub format_linker_cmd { push @cmds, [ grep {defined && length} ( @ld , '-o', $spec{output} , - "-Wl,--image-base,$spec{image_base}" , + "-Wl,--enable-auto-image-base" , @{$spec{lddlflags}} , @{$spec{libpath}} , @{$spec{startup}} , diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm index 6a9158020b..6cbcc9b276 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm @@ -1,6 +1,6 @@ package ExtUtils::CBuilder::Platform::Windows::MSVC; -our $VERSION = '0.280234'; # VERSION +our $VERSION = '0.280236'; # VERSION use warnings; use strict; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm index 8b1572d782..2ef8b38c06 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm @@ -5,7 +5,7 @@ use strict; use ExtUtils::CBuilder::Platform::Unix; use File::Spec; -our $VERSION = '0.280234'; # VERSION +our $VERSION = '0.280236'; # VERSION our @ISA = qw(ExtUtils::CBuilder::Platform::Unix); sub need_prelink { 1 } diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/android.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/android.pm index 70eb6cf987..8500ab93e3 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/android.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/android.pm @@ -6,7 +6,7 @@ use File::Spec; use ExtUtils::CBuilder::Platform::Unix; use Config; -our $VERSION = '0.280234'; # VERSION +our $VERSION = '0.280236'; # VERSION our @ISA = qw(ExtUtils::CBuilder::Platform::Unix); # The Android linker will not recognize symbols from diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm index 40d93357ff..3c8beacdeb 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm @@ -5,7 +5,7 @@ use strict; use File::Spec; use ExtUtils::CBuilder::Platform::Unix; -our $VERSION = '0.280234'; # VERSION +our $VERSION = '0.280236'; # VERSION our @ISA = qw(ExtUtils::CBuilder::Platform::Unix); # TODO: If a specific exe_file name is requested, if the exe created diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm index 28deb76580..e050e32ae7 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm @@ -4,7 +4,7 @@ use warnings; use strict; use ExtUtils::CBuilder::Platform::Unix; -our $VERSION = '0.280234'; # VERSION +our $VERSION = '0.280236'; # VERSION our @ISA = qw(ExtUtils::CBuilder::Platform::Unix); sub compile { @@ -15,6 +15,10 @@ sub compile { # it's mistakenly in Config.pm as both. Make the correction here. local $cf->{ccflags} = $cf->{ccflags}; $cf->{ccflags} =~ s/-flat_namespace//; + + # XCode 12 makes this fatal, breaking tons of XS modules + $cf->{ccflags} .= ($cf->{ccflags} ? ' ' : '').'-Wno-error=implicit-function-declaration'; + $self->SUPER::compile(@_); } diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm index 1185f06344..971cf93ff5 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm @@ -5,7 +5,7 @@ use strict; use ExtUtils::CBuilder::Platform::Unix; use File::Spec; -our $VERSION = '0.280234'; # VERSION +our $VERSION = '0.280236'; # VERSION our @ISA = qw(ExtUtils::CBuilder::Platform::Unix); sub link_executable { diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm index b9fae17c28..58d316b57e 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm @@ -4,7 +4,7 @@ use warnings; use strict; use ExtUtils::CBuilder::Platform::Unix; -our $VERSION = '0.280234'; # VERSION +our $VERSION = '0.280236'; # VERSION our @ISA = qw(ExtUtils::CBuilder::Platform::Unix); sub need_prelink { 1 } diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Command.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Command.pm index c5101c37b7..e36453608e 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Command.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Command.pm @@ -2,12 +2,13 @@ package ExtUtils::Command; use 5.00503; use strict; +use warnings; require Exporter; use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION); @ISA = qw(Exporter); @EXPORT = qw(cp rm_f rm_rf mv cat eqtime mkpath touch test_f test_d chmod dos2unix); -$VERSION = '7.44'; +$VERSION = '7.62'; $VERSION =~ tr/_//d; my $Is_VMS = $^O eq 'VMS'; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm index 484fa5b69d..62fd8682d3 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm @@ -10,7 +10,7 @@ our @ISA = qw(Exporter); our @EXPORT = qw(test_harness pod2man perllocal_install uninstall warn_if_old_packlist test_s cp_nonempty); -our $VERSION = '7.44'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; my $Is_VMS = $^O eq 'VMS'; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Install.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Install.pm index 047c007145..96081806f7 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Install.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Install.pm @@ -32,11 +32,11 @@ ExtUtils::Install - install files from here to there =head1 VERSION -2.14 +2.20 =cut -our $VERSION = '2.14'; # <-- do not forget to update the POD section just above this line! +our $VERSION = '2.20'; # <-- do not forget to update the POD section just above this line! $VERSION = eval $VERSION; =pod @@ -65,35 +65,31 @@ anything depending on this module cannot proceed until a reboot has occurred. If this value is defined but false then such an operation has -ocurred, but should not impact later operations. - -=over +occurred, but should not impact later operations. =begin _private -=item _chmod($$;$) +=head2 _chmod($$;$) Wrapper to chmod() for debugging and error trapping. -=item _warnonce(@) +=head2 _warnonce(@) Warns about something only once. -=item _choke(@) +=head2 _choke(@) Dies with a special message. -=back - =end _private =cut BEGIN { - *Is_VMS = $^O eq 'VMS' ? sub(){1} : sub(){0}; - *Is_Win32 = $^O eq 'MSWin32' ? sub(){1} : sub(){0}; - *Is_cygwin = $^O eq 'cygwin' ? sub(){1} : sub(){0}; - *CanMoveAtBoot = ($^O eq 'MSWin32' || $^O eq 'cygwin') ? sub(){1} : sub(){0}; + *_Is_VMS = $^O eq 'VMS' ? sub(){1} : sub(){0}; + *_Is_Win32 = $^O eq 'MSWin32' ? sub(){1} : sub(){0}; + *_Is_cygwin = $^O eq 'cygwin' ? sub(){1} : sub(){0}; + *_CanMoveAtBoot = ($^O eq 'MSWin32' || $^O eq 'cygwin') ? sub(){1} : sub(){0}; } my $Inc_uninstall_warn_handler; @@ -137,8 +133,12 @@ sub _confess { } sub _compare { - require File::Compare; - File::Compare::compare(@_); + # avoid loading File::Compare in the common case + if (-f $_[1] && -s _ == -s $_[0]) { + require File::Compare; + return File::Compare::compare(@_); + } + return 1; } @@ -157,9 +157,7 @@ sub _chmod($$;$) { =begin _private -=over - -=item _move_file_at_boot( $file, $target, $moan ) +=head2 _move_file_at_boot( $file, $target, $moan ) OS-Specific, Win32/Cygwin @@ -184,15 +182,15 @@ If $moan is true then returns 0 on error and warns instead of dies. sub _move_file_at_boot { #XXX OS-SPECIFIC my ( $file, $target, $moan )= @_; _confess("Panic: Can't _move_file_at_boot on this platform!") - unless CanMoveAtBoot; + unless _CanMoveAtBoot; my $descr= ref $target ? "'$file' for deletion" : "'$file' for installation as '$target'"; - # *note* CanMoveAtBoot is only incidentally the same condition as below + # *note* _CanMoveAtBoot is only incidentally the same condition as below # this needs not hold true in the future. - $Has_Win32API_File = (Is_Win32 || Is_cygwin) + $Has_Win32API_File = (_Is_Win32 || _Is_cygwin) ? (eval {require Win32API::File; 1} || 0) : 0 unless defined $Has_Win32API_File; if ( ! $Has_Win32API_File ) { @@ -231,8 +229,7 @@ If $moan is true then returns 0 on error and warns instead of dies. =begin _private - -=item _unlink_or_rename( $file, $tryhard, $installing ) +=head2 _unlink_or_rename( $file, $tryhard, $installing ) OS-Specific, Win32/Cygwin @@ -263,8 +260,6 @@ On failure throws a fatal error. =cut - - sub _unlink_or_rename { #XXX OS-SPECIFIC my ( $file, $tryhard, $installing )= @_; @@ -282,7 +277,7 @@ sub _unlink_or_rename { #XXX OS-SPECIFIC my $error="$!"; _choke("Cannot unlink '$file': $!") - unless CanMoveAtBoot && $tryhard; + unless _CanMoveAtBoot && $tryhard; my $tmp= "AAA"; ++$tmp while -e "$file.$tmp"; @@ -310,25 +305,16 @@ sub _unlink_or_rename { #XXX OS-SPECIFIC } - -=pod - -=back - -=head2 Functions +=head1 Functions =begin _private -=over - -=item _get_install_skip +=head2 _get_install_skip Handles loading the INSTALL.SKIP file. Returns an array of patterns to use. =cut - - sub _get_install_skip { my ( $skip, $verbose )= @_; if ($ENV{EU_INSTALL_IGNORE_SKIP}) { @@ -378,9 +364,7 @@ sub _get_install_skip { return $skip } -=pod - -=item _have_write_access +=head2 _have_write_access Abstract a -w check that tries to use POSIX::access() if possible. @@ -391,7 +375,7 @@ Abstract a -w check that tries to use POSIX::access() if possible. sub _have_write_access { my $dir=shift; unless (defined $has_posix) { - $has_posix = (!Is_cygwin && !Is_Win32 + $has_posix = (!_Is_cygwin && !_Is_Win32 && eval { local $^W; require POSIX; 1} ) || 0; } if ($has_posix) { @@ -402,9 +386,7 @@ Abstract a -w check that tries to use POSIX::access() if possible. } } -=pod - -=item _can_write_dir(C<$dir>) +=head2 _can_write_dir(C<$dir>) Checks whether a given directory is writable, taking account the possibility that the directory might not exist and would have to @@ -423,7 +405,6 @@ relative paths with C<..> in them. But for our purposes it should work ok =cut - sub _can_write_dir { my $dir=shift; return @@ -437,7 +418,7 @@ sub _can_write_dir { my $path=''; my @make; while (@dirs) { - if (Is_VMS) { + if (_Is_VMS) { $dir = File::Spec->catdir($vol,@dirs); } else { @@ -461,9 +442,7 @@ sub _can_write_dir { return 0; } -=pod - -=item _mkpath($dir,$show,$mode,$verbose,$dry_run) +=head2 _mkpath($dir,$show,$mode,$verbose,$dry_run) Wrapper around File::Path::mkpath() to handle errors. @@ -486,10 +465,16 @@ sub _mkpath { printf "mkpath(%s,%d,%#o)\n", $dir, $show, $mode; } if (!$dry_run) { - if ( ! eval { File::Path::mkpath($dir,$show,$mode); 1 } ) { - _choke("Can't create '$dir'","$@"); + my @created; + eval { + @created = File::Path::mkpath($dir,$show,$mode); + 1; + } or _choke("Can't create '$dir'","$@"); + # if we created any directories, we were able to write and don't need + # extra checks + if (@created) { + return; } - } my ($can,$root,@make)=_can_write_dir($dir); if (!$can) { @@ -509,9 +494,7 @@ sub _mkpath { } -=pod - -=item _copy($from,$to,$verbose,$dry_run) +=head2 _copy($from,$to,$verbose,$dry_run) Wrapper around File::Copy::copy to handle errors. @@ -523,7 +506,6 @@ Dies if the copy fails. =cut - sub _copy { my ( $from, $to, $verbose, $dry_run)=@_; if ($verbose && $verbose>1) { @@ -537,7 +519,7 @@ sub _copy { =pod -=item _chdir($from) +=head2 _chdir($from) Wrapper around chdir to catch errors. @@ -558,15 +540,9 @@ sub _chdir { return $ret; } -=pod - -=back - =end _private -=over - -=item B<install> +=head2 install # deprecated forms install(\%from_to); @@ -774,15 +750,9 @@ sub install { #XXX OS-SPECIFIC } # we have to do this for back compat with old File::Finds # and because the target is relative - my $save_cwd = _chdir($cwd); - my $diff = 0; - # XXX: I wonder how useful this logic is actually -- demerphq - if ( $always_copy or !-f $targetfile or -s $targetfile != $size) { - $diff++; - } else { - # we might not need to copy this file - $diff = _compare($sourcefile, $targetfile); - } + my $save_cwd = File::Spec->catfile($cwd, $sourcedir); + _chdir($cwd); + my $diff = $always_copy || _compare($sourcefile, $targetfile); $check_dirs{$targetdir}++ unless -w $targetfile; @@ -822,7 +792,7 @@ sub install { #XXX OS-SPECIFIC #XXX OS-SPECIFIC print "utime($atime,$mtime,$targetfile)\n" if $verbose>1; - utime($atime,$mtime + Is_VMS,$targetfile) unless $dry_run>1; + utime($atime,$mtime + _Is_VMS,$targetfile) unless $dry_run>1; $mode = 0444 | ( $mode & 0111 ? 0111 : 0 ); @@ -864,7 +834,7 @@ sub install { #XXX OS-SPECIFIC =begin _private -=item _do_cleanup +=head2 _do_cleanup Standardize finish event for after another instruction has occurred. Handles converting $MUST_REBOOT to a die for instance. @@ -887,12 +857,12 @@ sub _do_cleanup { =begin _undocumented -=item install_rooted_file( $file ) +=head2 install_rooted_file( $file ) Returns $file, or catfile($INSTALL_ROOT,$file) if $INSTALL_ROOT is defined. -=item install_rooted_dir( $dir ) +=head2 install_rooted_dir( $dir ) Returns $dir, or catdir($INSTALL_ROOT,$dir) if $INSTALL_ROOT is defined. @@ -901,7 +871,6 @@ is defined. =cut - sub install_rooted_file { if (defined $INSTALL_ROOT) { File::Spec->catfile($INSTALL_ROOT, $_[0]); @@ -921,7 +890,7 @@ sub install_rooted_dir { =begin _undocumented -=item forceunlink( $file, $tryhard ) +=head2 forceunlink( $file, $tryhard ) Tries to delete a file. If $tryhard is true then we will use whatever devious tricks we can to delete the file. Currently this only applies to @@ -932,7 +901,6 @@ reboot. A wrapper for _unlink_or_rename(). =cut - sub forceunlink { my ( $file, $tryhard )= @_; #XXX OS-SPECIFIC _unlink_or_rename( $file, $tryhard, not("installing") ); @@ -940,7 +908,7 @@ sub forceunlink { =begin _undocumented -=item directory_not_empty( $dir ) +=head2 directory_not_empty( $dir ) Returns 1 if there is an .exists file somewhere in a directory tree. Returns 0 if there is not. @@ -963,9 +931,9 @@ sub directory_not_empty ($) { return $files; } -=pod +=head2 install_default -=item B<install_default> I<DISCOURAGED> +I<DISCOURAGED> install_default(); install_default($fullext); @@ -1019,7 +987,7 @@ sub install_default { } -=item B<uninstall> +=head2 uninstall uninstall($packlist_file); uninstall($packlist_file, $verbose, $dont_execute); @@ -1057,7 +1025,7 @@ sub uninstall { =begin _undocumented -=item inc_uninstall($filepath,$libdir,$verbose,$dry_run,$ignore,$results) +=head2 inc_uninstall($filepath,$libdir,$verbose,$dry_run,$ignore,$results) Remove shadowed files. If $ignore is true then it is assumed to hold a filename to ignore. This is used to prevent spurious warnings from @@ -1094,7 +1062,7 @@ sub inc_uninstall { #warn join "\n","---",@dirs,"---"; my $seen_ours; foreach $dir ( @dirs ) { - my $canonpath = Is_VMS ? $dir : File::Spec->canonpath($dir); + my $canonpath = _Is_VMS ? $dir : File::Spec->canonpath($dir); next if $canonpath eq $Curdir; next if $seen_dir{$canonpath}++; my $targetfile = File::Spec->catfile($canonpath,$libdir,$file); @@ -1103,13 +1071,8 @@ sub inc_uninstall { # The reason why we compare file's contents is, that we cannot # know, which is the file we just installed (AFS). So we leave # an identical file in place - my $diff = 0; - if ( -f $targetfile && -s _ == -s $filepath) { - # We have a good chance, we can skip this one - $diff = _compare($filepath,$targetfile); - } else { - $diff++; - } + my $diff = _compare($filepath,$targetfile); + print "#$file and $targetfile differ\n" if $diff && $verbose > 1; if (!$diff or $targetfile eq $ignore) { @@ -1150,7 +1113,7 @@ sub inc_uninstall { =begin _undocumented -=item run_filter($cmd,$src,$dest) +=head2 run_filter($cmd,$src,$dest) Filter $src using $cmd into $dest. @@ -1172,9 +1135,7 @@ sub run_filter { close CMD or die "Filter command '$cmd' failed for $src"; } -=pod - -=item B<pm_to_blib> +=head2 pm_to_blib pm_to_blib(\%from_to); pm_to_blib(\%from_to, $autosplit_dir); @@ -1199,6 +1160,7 @@ environment variable will silence this output. sub pm_to_blib { my($fromto,$autodir,$pm_filter) = @_; + my %dirs; _mkpath($autodir,0,0755) if defined $autodir; while(my($from, $to) = each %$fromto) { if( -f $to && -s $from == -s $to && -M $to < -M $from ) { @@ -1214,7 +1176,7 @@ sub pm_to_blib { my $need_filtering = defined $pm_filter && length $pm_filter && $from =~ /\.pm$/; - if (!$need_filtering && 0 == _compare($from,$to)) { + if (!$need_filtering && !_compare($from,$to)) { print "Skip $to (unchanged)\n" unless $INSTALL_QUIET; next; } @@ -1222,7 +1184,10 @@ sub pm_to_blib { # we wont try hard here. its too likely to mess things up. forceunlink($to); } else { - _mkpath(dirname($to),0,0755); + my $dirname = dirname($to); + if (!$dirs{$dirname}++) { + _mkpath($dirname,0,0755); + } } if ($need_filtering) { run_filter($pm_filter, $from, $to); @@ -1232,17 +1197,16 @@ sub pm_to_blib { print "cp $from $to\n" unless $INSTALL_QUIET; } my($mode,$atime,$mtime) = (stat $from)[2,8,9]; - utime($atime,$mtime+Is_VMS,$to); + utime($atime,$mtime+_Is_VMS,$to); _chmod(0444 | ( $mode & 0111 ? 0111 : 0 ),$to); next unless $from =~ /\.pm$/; _autosplit($to,$autodir) if defined $autodir; } } - =begin _private -=item _autosplit +=head2 _autosplit From 1.0307 back, AutoSplit will sometimes leave an open filehandle to the file being split. This causes problems on systems with mandatory @@ -1285,7 +1249,7 @@ sub DESTROY { $plural = $i>1 ? "all those files" : "this file"; my $inst = (_invokant() eq 'ExtUtils::MakeMaker') ? ( $Config::Config{make} || 'make' ).' install' - . ( ExtUtils::Install::Is_VMS ? '/MACRO="UNINST"=1' : ' UNINST=1' ) + . ( ExtUtils::Install::_Is_VMS ? '/MACRO="UNINST"=1' : ' UNINST=1' ) : './Build install uninst=1'; print "## Running '$inst' will unlink $plural for you.\n"; } @@ -1293,7 +1257,7 @@ sub DESTROY { =begin _private -=item _invokant +=head2 _invokant Does a heuristic on the stack to see who called us for more intelligent error messages. Currently assumes we will be called only by Module::Build @@ -1320,10 +1284,6 @@ sub _invokant { return $builder; } -=pod - -=back - =head1 ENVIRONMENT =over 4 diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Installed.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Installed.pm index 8327a95a3d..0cfd96b507 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Installed.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Installed.pm @@ -1,7 +1,6 @@ +use strict; package ExtUtils::Installed; -use 5.00503; -use strict; #use warnings; # XXX requires 5.6 use Carp qw(); use ExtUtils::Packlist; @@ -16,8 +15,7 @@ my $DOSISH = ($^O =~ /^(MSWin\d\d|os2|dos|mint)$/); require VMS::Filespec if $Is_VMS; -use vars qw($VERSION); -$VERSION = '2.14'; +our $VERSION = '2.20'; $VERSION = eval $VERSION; sub _is_prefix { @@ -309,7 +307,7 @@ sub version { return($self->{$module}{version}); } -sub debug_dump { +sub _debug_dump { my ($self, $module) = @_; $self= $self->new(default=>1) if !ref $self; local $self->{":private:"}{Config}; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Liblist.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Liblist.pm index deec54d288..16c13d91cf 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Liblist.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Liblist.pm @@ -1,8 +1,9 @@ package ExtUtils::Liblist; use strict; +use warnings; -our $VERSION = '7.44'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; use File::Spec; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm index e040a899ed..3a715fb082 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm @@ -11,7 +11,7 @@ use 5.006; use strict; use warnings; -our $VERSION = '7.44_01'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; use ExtUtils::MakeMaker::Config; @@ -52,7 +52,7 @@ sub _unix_os2_ext { require Text::ParseWords; my ( @searchpath ); # from "-L/path" entries in $potential_libs - my ( @libpath ) = Text::ParseWords::quotewords( '\s+', 0, $Config{'libpth'} || '' ); + my ( @libpath ) = Text::ParseWords::shellwords( $Config{'libpth'} || '' ); my ( @ldloadlibs, @bsloadlibs, @extralibs, @ld_run_path, %ld_run_path_seen ); my ( @libs, %libs_seen ); my ( $fullname, @fullname ); @@ -65,7 +65,7 @@ sub _unix_os2_ext { $potential_libs =~ s/(^|\s)(-F)\s*(\S+)/$1-Wl,$2 -Wl,$3/g; } - foreach my $thislib ( Text::ParseWords::quotewords( '\s+', 0, $potential_libs) ) { + foreach my $thislib ( Text::ParseWords::shellwords($potential_libs) ) { my ( $custom_name ) = ''; # Handle possible linker path arguments. diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MANIFEST.SKIP b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MANIFEST.SKIP index 72286fdf19..9d1430745a 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MANIFEST.SKIP +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MANIFEST.SKIP @@ -5,6 +5,7 @@ ,v$ \B\.svn\b \B\.git\b +^\.github\b \B\.gitignore\b \b_darcs\b \B\.cvsignore$ @@ -51,6 +52,8 @@ \B\.DS_Store # Mac OSX SMB mount metadata files \B\._ +# Placeholder files created when iCloud will "optimize Mac storage" +\.i[cC]loud$ # Avoid Devel::Cover and Devel::CoverX::Covered files. \bcover_db\b diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM.pm index f1ffa91849..b7765f05b2 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM.pm @@ -1,9 +1,10 @@ package ExtUtils::MM; use strict; +use warnings; use ExtUtils::MakeMaker::Config; -our $VERSION = '7.44'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; require ExtUtils::Liblist; @@ -70,6 +71,7 @@ $Is{VOS} = $^O eq 'vos'; $Is{QNX} = $^O eq 'qnx'; $Is{AIX} = $^O eq 'aix'; $Is{Darwin} = $^O eq 'darwin'; +$Is{OS390} = $^O eq 'os390'; $Is{Unix} = !grep { $_ } values %Is; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm index 654e221359..562ee34520 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm @@ -1,7 +1,8 @@ package ExtUtils::MM_AIX; use strict; -our $VERSION = '7.44'; +use warnings; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; use ExtUtils::MakeMaker::Config; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm index 4f4b252c26..69a94920ee 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm @@ -1,7 +1,8 @@ package ExtUtils::MM_Any; use strict; -our $VERSION = '7.44'; +use warnings; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; use Carp; @@ -1670,7 +1671,7 @@ sub _mymeta_from_meta { # rolled their own tarball rather than using "make dist". if ($meta->{generated_by} && $meta->{generated_by} =~ /ExtUtils::MakeMaker version ([\d\._]+)/) { - my $eummv = do { local $^W = 0; $1+0; }; + my $eummv = do { no warnings; $1+0; }; if ($eummv < 6.2501) { return; } diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm index d62a7d132f..2c12ad1be7 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm @@ -1,6 +1,7 @@ package ExtUtils::MM_BeOS; use strict; +use warnings; =head1 NAME @@ -26,7 +27,7 @@ require ExtUtils::MM_Any; require ExtUtils::MM_Unix; our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix ); -our $VERSION = '7.44'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm index 2052c7c3aa..190db104bd 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm @@ -1,6 +1,7 @@ package ExtUtils::MM_Cygwin; use strict; +use warnings; use ExtUtils::MakeMaker::Config; use File::Spec; @@ -9,7 +10,7 @@ require ExtUtils::MM_Unix; require ExtUtils::MM_Win32; our @ISA = qw( ExtUtils::MM_Unix ); -our $VERSION = '7.44'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; @@ -100,6 +101,16 @@ sub init_linker { $self->{EXPORT_LIST} ||= ''; } +sub init_others { + my $self = shift; + + $self->SUPER::init_others; + + $self->{LDLOADLIBS} ||= $Config{perllibs}; + + return; +} + =item maybe_command Determine whether a file is native to Cygwin by checking whether it diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm index d5c66deb89..5a9eb22707 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm @@ -1,8 +1,9 @@ package ExtUtils::MM_DOS; use strict; +use warnings; -our $VERSION = '7.44'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; require ExtUtils::MM_Any; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm index 9ca9d2c621..5db448b9be 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm @@ -1,13 +1,14 @@ package ExtUtils::MM_Darwin; use strict; +use warnings; BEGIN { require ExtUtils::MM_Unix; our @ISA = qw( ExtUtils::MM_Unix ); } -our $VERSION = '7.44'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; @@ -45,4 +46,29 @@ sub init_dist { $self->SUPER::init_dist(@_); } +=head3 cflags + +Over-ride Apple's automatic setting of -Werror + +=cut + +sub cflags { + my($self,$libperl)=@_; + return $self->{CFLAGS} if $self->{CFLAGS}; + return '' unless $self->needs_linking(); + + my $base = $self->SUPER::cflags($libperl); + + foreach (split /\n/, $base) { + /^(\S*)\s*=\s*(\S*)$/ and $self->{$1} = $2; + }; + $self->{CCFLAGS} .= " -Wno-error=implicit-function-declaration"; + + return $self->{CFLAGS} = qq{ +CCFLAGS = $self->{CCFLAGS} +OPTIMIZE = $self->{OPTIMIZE} +PERLTYPE = $self->{PERLTYPE} +}; +} + 1; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm index b10e3f9cfb..60c149157e 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm @@ -1,8 +1,9 @@ package ExtUtils::MM_MacOS; use strict; +use warnings; -our $VERSION = '7.44'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; sub new { diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm index a9e2e1af54..c345fcb4d9 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm @@ -19,10 +19,11 @@ the semantics. =cut use strict; +use warnings; use ExtUtils::MakeMaker::Config; use File::Basename; -our $VERSION = '7.44'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; require ExtUtils::MM_Win32; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm index 300f091c35..788eb6ec01 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm @@ -1,11 +1,12 @@ package ExtUtils::MM_OS2; use strict; +use warnings; use ExtUtils::MakeMaker qw(neatvalue); use File::Spec; -our $VERSION = '7.44'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; require ExtUtils::MM_Any; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_OS390.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_OS390.pm new file mode 100755 index 0000000000..172d27c85f --- /dev/null +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_OS390.pm @@ -0,0 +1,86 @@ +package ExtUtils::MM_OS390; + +use strict; +use warnings; +our $VERSION = '7.62'; +$VERSION =~ tr/_//d; + +use ExtUtils::MakeMaker::Config; +require ExtUtils::MM_Unix; +our @ISA = qw(ExtUtils::MM_Unix); + +=head1 NAME + +ExtUtils::MM_OS390 - OS390 specific subclass of ExtUtils::MM_Unix + +=head1 SYNOPSIS + + Don't use this module directly. + Use ExtUtils::MM and let it choose. + +=head1 DESCRIPTION + +This is a subclass of L<ExtUtils::MM_Unix> which contains functionality for +OS390. + +Unless otherwise stated it works just like ExtUtils::MM_Unix. + +=head2 Overriden methods + +=over + +=item xs_make_dynamic_lib + +Defines the recipes for the C<dynamic_lib> section. + +=cut + +sub xs_make_dynamic_lib { + my ($self, $attribs, $object, $to, $todir, $ldfrom, $exportlist, $dlsyms) = @_; + $exportlist = '' if $exportlist ne '$(EXPORT_LIST)'; + my $armaybe = $self->_xs_armaybe($attribs); + my @m = sprintf '%s : %s $(MYEXTLIB) %s$(DFSEP).exists %s $(PERL_ARCHIVEDEP) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP) %s'."\n", $to, $object, $todir, $exportlist, ($dlsyms || ''); + my $dlsyms_arg = $self->xs_dlsyms_arg($dlsyms); + if ($armaybe ne ':'){ + $ldfrom = 'tmp$(LIB_EXT)'; + push(@m," \$(ARMAYBE) cr $ldfrom $object\n"); + push(@m," \$(RANLIB) $ldfrom\n"); + } + + # For example in AIX the shared objects/libraries from previous builds + # linger quite a while in the shared dynalinker cache even when nobody + # is using them. This is painful if one for instance tries to restart + # a failed build because the link command will fail unnecessarily 'cos + # the shared object/library is 'busy'. + push(@m," \$(RM_F) \$\@\n"); + + my $libs = '$(LDLOADLIBS)'; + + my $ld_run_path_shell = ""; + if ($self->{LD_RUN_PATH} ne "") { + $ld_run_path_shell = 'LD_RUN_PATH="$(LD_RUN_PATH)" '; + } + + push @m, sprintf <<'MAKE', $ld_run_path_shell, $dlsyms_arg, $self->xs_obj_opt('$@'), $ldfrom, $libs, $exportlist; + %s$(LD) $(LDDLFLAGS) %s $(OTHERLDFLAGS) %s $(MYEXTLIB) %s \ + $(PERL_ARCHIVE) %s $(PERL_ARCHIVE_AFTER) %s \ + $(INST_DYNAMIC_FIX) + $(CHMOD) $(PERM_RWX) $@ +MAKE + join '', @m; +} + +1; + +=back + +=head1 AUTHOR + +Michael G Schwern <schwern@pobox.com> with code from ExtUtils::MM_Unix + +=head1 SEE ALSO + +L<ExtUtils::MakeMaker> + +=cut +__END__ diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm index 3e6f6d0699..475711278c 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm @@ -1,7 +1,8 @@ package ExtUtils::MM_QNX; use strict; -our $VERSION = '7.44'; +use warnings; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; require ExtUtils::MM_Unix; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm index 4201585e32..4eabbcabd4 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm @@ -1,7 +1,8 @@ package ExtUtils::MM_UWIN; use strict; -our $VERSION = '7.44'; +use warnings; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; require ExtUtils::MM_Unix; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm index ce1292740f..977b50ed02 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm @@ -3,6 +3,7 @@ package ExtUtils::MM_Unix; require 5.006; use strict; +use warnings; use Carp; use ExtUtils::MakeMaker::Config; @@ -14,7 +15,7 @@ use ExtUtils::MakeMaker qw($Verbose neatvalue _sprintf562); # If we make $VERSION an our variable parse_version() breaks use vars qw($VERSION); -$VERSION = '7.44'; +$VERSION = '7.62'; $VERSION =~ tr/_//d; require ExtUtils::MM_Any; @@ -3000,7 +3001,7 @@ sub parse_version { chop; next if /^\s*(if|unless|elsif)/; if ( m{^ \s* package \s+ \w[\w\:\']* \s+ (v?[0-9._]+) \s* (;|\{) }x ) { - local $^W = 0; + no warnings; $result = $1; } elsif ( m{(?<!\\) ([\$*]) (([\w\:\']*) \bVERSION)\b .* (?<![<>=!])\=[^=]}x ) { @@ -3018,6 +3019,10 @@ sub parse_version { my $normal = eval { version->new( $result ) }; $result = $normal if defined $normal; } + if ( defined $result ) { + $result = "undef" unless $result =~ m!^v?[\d_\.]+$! + or eval { version->parse( $result ) }; + } $result = "undef" unless defined $result; return $result; } @@ -3033,8 +3038,8 @@ sub get_version { version::->import; }; no strict; + no warnings; local *{$name}; - local $^W = 0; $line = $1 if $line =~ m{^(.+)}s; eval($line); ## no critic return ${$name}; @@ -3232,11 +3237,12 @@ PPD_PERLVERS } my $archname = $Config{archname}; + + # archname did not change from 5.6 to 5.8, but those versions may + # not be not binary compatible so now we append the part of the + # version that changes when binary compatibility may change if ("$]" >= 5.008) { - # archname did not change from 5.6 to 5.8, but those versions may - # not be not binary compatible so now we append the part of the - # version that changes when binary compatibility may change - $archname .= "-$Config{PERL_REVISION}.$Config{PERL_VERSION}"; + $archname .= "-$Config{api_revision}.$Config{api_version}"; } push @ppd_chunks, sprintf <<'PPD_OUT', $archname; <ARCHITECTURE NAME="%s" /> @@ -3973,8 +3979,6 @@ sub top_targets { pure_all :: config pm_to_blib subdirs linkext $(NOECHO) $(NOOP) - $(NOECHO) $(NOOP) - subdirs :: $(MYEXTLIB) $(NOECHO) $(NOOP) diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm index fbf5f9ee26..414ee4b20c 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm @@ -1,6 +1,7 @@ package ExtUtils::MM_VMS; use strict; +use warnings; use ExtUtils::MakeMaker::Config; require Exporter; @@ -15,7 +16,7 @@ BEGIN { use File::Basename; -our $VERSION = '7.44'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; require ExtUtils::MM_Any; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm index dea49e1a56..72f472cca2 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm @@ -1,7 +1,8 @@ package ExtUtils::MM_VOS; use strict; -our $VERSION = '7.44'; +use warnings; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; require ExtUtils::MM_Unix; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm index 3db0f45260..ab2e0b9b68 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm @@ -1,7 +1,7 @@ package ExtUtils::MM_Win32; use strict; - +use warnings; =head1 NAME @@ -27,7 +27,7 @@ use ExtUtils::MakeMaker qw(neatvalue _sprintf562); require ExtUtils::MM_Any; require ExtUtils::MM_Unix; our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix ); -our $VERSION = '7.44'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; $ENV{EMXSHELL} = 'sh'; # to run `commands` @@ -395,8 +395,15 @@ sub perl_script { } sub can_dep_space { - my $self = shift; - 1; # with Win32::GetShortPathName + my ($self) = @_; + return 0 unless $self->can_load_xs; + require Win32; + require File::Spec; + my ($vol, $dir) = File::Spec->splitpath($INC{'ExtUtils/MakeMaker.pm'}); + # can_dep_space via GetShortPathName, if short paths are supported + my $canary = Win32::GetShortPathName(File::Spec->catpath($vol, $dir, 'MakeMaker.pm')); + (undef, undef, my $file) = File::Spec->splitpath($canary); + return (length $file > 11) ? 0 : 1; } =item quote_dep diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm index 4220e52dc3..e415beb2ae 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm @@ -1,8 +1,9 @@ package ExtUtils::MM_Win95; use strict; +use warnings; -our $VERSION = '7.44'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; require ExtUtils::MM_Win32; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MY.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MY.pm index 957ab16459..6640c33157 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MY.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MY.pm @@ -3,7 +3,7 @@ package ExtUtils::MY; use strict; require ExtUtils::MM; -our $VERSION = '7.44'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; our @ISA = qw(ExtUtils::MM); diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm index 6dceb98be4..b9b38368e0 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm @@ -2,6 +2,7 @@ package ExtUtils::MakeMaker; use strict; +use warnings; BEGIN {require 5.006;} @@ -24,7 +25,7 @@ my %Recognized_Att_Keys; our %macro_fsentity; # whether a macro is a filesystem name our %macro_dep; # whether a macro is a dependency -our $VERSION = '7.44'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; # Emulate something resembling CVS $Revision$ @@ -425,7 +426,10 @@ sub _has_cpan_meta_requirements { return eval { require CPAN::Meta::Requirements; CPAN::Meta::Requirements->VERSION(2.130); - require B; # CMR requires this, for core we have to too. + # Make sure vstrings can be handled. Some versions of CMR require B to + # do this, which won't be available in miniperl. + CPAN::Meta::Requirements->new->add_string_requirement('Module' => v1.2); + 1; }; } @@ -510,50 +514,43 @@ sub new { check_hints($self); - if ( defined $self->{MIN_PERL_VERSION} - && $self->{MIN_PERL_VERSION} !~ /^v?[\d_\.]+$/ ) { - require version; - my $normal = eval { - local $SIG{__WARN__} = sub { - # simulate "use warnings FATAL => 'all'" for vintage perls - die @_; - }; - version->new( $self->{MIN_PERL_VERSION} ) - }; - $self->{MIN_PERL_VERSION} = $normal if defined $normal && !$@; - } - - # Translate X.Y.Z to X.00Y00Z - if( defined $self->{MIN_PERL_VERSION} ) { - $self->{MIN_PERL_VERSION} =~ s{ ^v? (\d+) \. (\d+) \. (\d+) $ } - {sprintf "%d.%03d%03d", $1, $2, $3}ex; - } + if ( $self->{MIN_PERL_VERSION}) { + my $perl_version = $self->{MIN_PERL_VERSION}; + if (ref $perl_version) { + # assume a version object + } + else { + $perl_version = eval { + local $SIG{__WARN__} = sub { + # simulate "use warnings FATAL => 'all'" for vintage perls + die @_; + }; + version->new( $perl_version )->numify; + }; + $perl_version =~ tr/_//d + if defined $perl_version; + } - my $perl_version_ok = eval { - local $SIG{__WARN__} = sub { - # simulate "use warnings FATAL => 'all'" for vintage perls - die @_; - }; - !$self->{MIN_PERL_VERSION} or $self->{MIN_PERL_VERSION} <= "$]" - }; - if (!$perl_version_ok) { - if (!defined $perl_version_ok) { - die <<'END'; -Warning: MIN_PERL_VERSION is not in a recognized format. + if (!defined $perl_version) { + # should this be a warning? + die sprintf <<'END', $self->{MIN_PERL_VERSION}; +MakeMaker FATAL: MIN_PERL_VERSION (%s) is not in a recognized format. Recommended is a quoted numerical value like '5.005' or '5.008001'. END } - elsif ($self->{PREREQ_FATAL}) { - die sprintf <<"END", $self->{MIN_PERL_VERSION}, $]; -MakeMaker FATAL: perl version too low for this distribution. -Required is %s. We run %s. + elsif ($perl_version > "$]") { + my $message = sprintf <<'END', $perl_version, $]; +Perl version %s or higher required. We run %s. END + if ($self->{PREREQ_FATAL}) { + die "MakeMaker FATAL: $message"; + } + else { + warn "Warning: $message"; + } } - else { - warn sprintf - "Warning: Perl version %s or higher required. We run %s.\n", - $self->{MIN_PERL_VERSION}, $]; - } + + $self->{MIN_PERL_VERSION} = $perl_version; } my %configure_att; # record &{$self->{CONFIGURE}} attributes @@ -1038,7 +1035,7 @@ sub _parse_line { } sub check_manifest { - print "Checking if your kit is complete...\n"; + print STDOUT "Checking if your kit is complete...\n"; require ExtUtils::Manifest; # avoid warning $ExtUtils::Manifest::Quiet = $ExtUtils::Manifest::Quiet = 1; @@ -1154,20 +1151,19 @@ sub check_hints { } sub _run_hintfile { - our $self; - local($self) = shift; # make $self available to the hint file. - my($hint_file) = shift; + my ($self, $hint_file) = @_; local($@, $!); print "Processing hints file $hint_file\n" if $Verbose; - # Just in case the ./ isn't on the hint file, which File::Spec can - # often strip off, we bung the curdir into @INC - local @INC = (File::Spec->curdir, @INC); - my $ret = do $hint_file; - if( !defined $ret ) { - my $error = $@ || $!; - warn $error; + if(open(my $fh, '<', $hint_file)) { + my $hints_content = do { local $/; <$fh> }; + no strict; + eval $hints_content; + warn "Failed to run hint file $hint_file: $@" if $@; + } + else { + warn "Could not open $hint_file for read: $!"; } } @@ -1237,15 +1233,15 @@ sub flush { my $self = shift; my $finalname = $self->{MAKEFILE}; - printf "Generating a %s %s\n", $self->make_type, $finalname if $Verbose || !$self->{PARENT}; - print "Writing $finalname for $self->{NAME}\n" if $Verbose || !$self->{PARENT}; + printf STDOUT "Generating a %s %s\n", $self->make_type, $finalname if $Verbose || !$self->{PARENT}; + print STDOUT "Writing $finalname for $self->{NAME}\n" if $Verbose || !$self->{PARENT}; unlink($finalname, "MakeMaker.tmp", $Is_VMS ? 'Descrip.MMS' : ()); write_file_via_tmp($finalname, $self->{RESULT}); # Write MYMETA.yml to communicate metadata up to the CPAN clients - print "Writing MYMETA.yml and MYMETA.json\n" + print STDOUT "Writing MYMETA.yml and MYMETA.json\n" if !$self->{NO_MYMETA} and $self->write_mymeta( $self->mymeta ); # save memory @@ -2976,7 +2972,7 @@ that purpose. =item XSPROTOARG -May be set to C<-protoypes>, C<-noprototypes> or the empty string. The +May be set to C<-prototypes>, C<-noprototypes> or the empty string. The empty string is equivalent to the xsubpp default, or C<-noprototypes>. See the xsubpp documentation for details. MakeMaker defaults to the empty string. diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm index 5c93f0afdf..323b1575f7 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm @@ -1,8 +1,9 @@ package ExtUtils::MakeMaker::Config; use strict; +use warnings; -our $VERSION = '7.44'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; use Config (); diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod index a82c53b00c..4b0b237500 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod @@ -1,6 +1,6 @@ package ExtUtils::MakeMaker::FAQ; -our $VERSION = '7.44'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; 1; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Locale.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Locale.pm index 8931826b59..a842bb40d6 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Locale.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Locale.pm @@ -1,7 +1,8 @@ package ExtUtils::MakeMaker::Locale; use strict; -our $VERSION = "7.44"; +use warnings; +our $VERSION = "7.62"; $VERSION =~ tr/_//d; use base 'Exporter'; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod index 6365e4be66..eafccc9d10 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod @@ -1,6 +1,6 @@ package ExtUtils::MakeMaker::Tutorial; -our $VERSION = '7.44'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version.pm index c94c855c54..0208a1f932 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/MakeMaker/version.pm @@ -12,10 +12,11 @@ package ExtUtils::MakeMaker::version; use 5.006001; use strict; +use warnings; use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv); -$VERSION = '7.44'; +$VERSION = '7.62'; $VERSION =~ tr/_//d; $CLASS = 'version'; @@ -25,7 +26,7 @@ $CLASS = 'version'; if ( $@ ) { # don't have any version.pm installed eval "use ExtUtils::MakeMaker::version::vpp"; die "$@" if ( $@ ); - local $^W; + no warnings; delete $INC{'version.pm'}; $INC{'version.pm'} = $INC{'ExtUtils/MakeMaker/version.pm'}; push @version::ISA, "ExtUtils::MakeMaker::version::vpp"; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Manifest.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Manifest.pm index 201fd36cb9..c0a7b06764 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Manifest.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Manifest.pm @@ -1,4 +1,4 @@ -package ExtUtils::Manifest; # git description: 1.71-18-g17b7919 +package ExtUtils::Manifest; # git description: 1.72-7-g54209ce require Exporter; use Config; @@ -10,7 +10,7 @@ use Carp; use strict; use warnings; -our $VERSION = '1.72'; +our $VERSION = '1.73'; our @ISA = ('Exporter'); our @EXPORT_OK = qw(mkmanifest manicheck filecheck fullcheck skipcheck @@ -56,7 +56,7 @@ our $Verbose = defined $ENV{PERL_MM_MANIFEST_VERBOSE} ? our $Quiet = 0; our $MANIFEST = 'MANIFEST'; -our $DEFAULT_MSKIP = File::Spec->catfile( dirname(__FILE__), "$MANIFEST.SKIP" ); +our $DEFAULT_MSKIP = File::Spec->rel2abs(File::Spec->catfile( dirname(__FILE__), "$MANIFEST.SKIP" )); =head1 NAME @@ -65,7 +65,7 @@ ExtUtils::Manifest - Utilities to write and check a MANIFEST file =head1 VERSION -version 1.72 +version 1.73 =head1 SYNOPSIS diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm index 46af2a6073..cdc1244f02 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm @@ -6,7 +6,7 @@ use ExtUtils::Embed 1.31, qw(xsi_header xsi_protos xsi_body); our @ISA = qw(Exporter); our @EXPORT = qw(writemain); -our $VERSION = '1.09'; +our $VERSION = '1.10'; # blead will run this with miniperl, hence we can't use autodie or File::Temp my $temp; @@ -87,15 +87,6 @@ sub writemain{ static void xs_init (pTHX); static PerlInterpreter *my_perl; -#if defined(PERL_GLOBAL_STRUCT_PRIVATE) -/* The static struct perl_vars* may seem counterproductive since the - * whole idea PERL_GLOBAL_STRUCT_PRIVATE was to avoid statics, but note - * that this static is not in the shared perl library, the globals PL_Vars - * and PL_VarsPtr will stay away. */ -static struct perl_vars* my_plvarsp; -struct perl_vars* Perl_GetVarsPrivate(void) { return my_plvarsp; } -#endif - #ifdef NO_ENV_ARRAY_IN_MAIN extern char **environ; int @@ -106,14 +97,6 @@ main(int argc, char **argv, char **env) #endif { int exitstatus, i; -#ifdef PERL_GLOBAL_STRUCT - struct perl_vars *my_vars = init_global_struct(); -# ifdef PERL_GLOBAL_STRUCT_PRIVATE - int veto; - - my_plvarsp = my_vars; -# endif -#endif /* PERL_GLOBAL_STRUCT */ #ifndef NO_ENV_ARRAY_IN_MAIN PERL_UNUSED_ARG(env); #endif @@ -187,20 +170,6 @@ main(int argc, char **argv, char **env) PERL_SYS_TERM(); -#ifdef PERL_GLOBAL_STRUCT -# ifdef PERL_GLOBAL_STRUCT_PRIVATE - veto = my_plvarsp->Gveto_cleanup; -# endif - free_global_struct(my_vars); -# ifdef PERL_GLOBAL_STRUCT_PRIVATE - if (!veto) - my_plvarsp = NULL; - /* Remember, functions registered with atexit() can run after this point, - and may access "global" variables, and hence end up calling - Perl_GetVarsPrivate() */ -#endif -#endif /* PERL_GLOBAL_STRUCT */ - exit(exitstatus); } diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm index a11a950c1b..1f14ee9e76 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm @@ -1,9 +1,9 @@ package ExtUtils::Mkbootstrap; -# There's just too much Dynaloader incest here to turn on strict vars. -use strict 'refs'; +use strict; +use warnings; -our $VERSION = '7.44'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; require Exporter; @@ -33,6 +33,7 @@ sub Mkbootstrap { if (-f "${baseext}_BS"){ $_ = "${baseext}_BS"; package DynaLoader; # execute code as if in DynaLoader + no strict 'vars'; local($osname, $dlsrc) = (); # avoid warnings ($osname, $dlsrc) = @Config::Config{qw(osname dlsrc)}; $bscode = ""; @@ -43,6 +44,7 @@ sub Mkbootstrap { if ($Config{'dlsrc'} =~ /^dl_dld/){ package DynaLoader; + no strict 'vars'; push(@dl_resolve_using, dl_findfile('-lc')); } diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm index 9279b6b785..2a7c455e8e 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm @@ -3,6 +3,7 @@ package ExtUtils::Mksymlists; use 5.006; use strict qw[ subs refs ]; # no strict 'vars'; # until filehandles are exempted +use warnings; use Carp; use Exporter; @@ -10,7 +11,7 @@ use Config; our @ISA = qw(Exporter); our @EXPORT = qw(&Mksymlists); -our $VERSION = '7.44'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; sub Mksymlists { diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/PL2Bat.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/PL2Bat.pm new file mode 100755 index 0000000000..070e186fec --- /dev/null +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/PL2Bat.pm @@ -0,0 +1,194 @@ +package ExtUtils::PL2Bat; +$ExtUtils::PL2Bat::VERSION = '0.004'; +use strict; +use warnings; + +use 5.006; + +use Config; +use Carp qw/croak/; + +# In core, we can't use any other modules except those that already live in +# lib/, so Exporter is not available to us. +sub import { + my ($self, @functions) = @_; + @functions = 'pl2bat' if not @functions; + my $caller = caller; + for my $function (@functions) { + no strict 'refs'; + *{"$caller\::$function"} = \&{$function}; + } +} + +sub pl2bat { + my %opts = @_; + + # NOTE: %0 is already enclosed in doublequotes by cmd.exe, as appropriate + $opts{ntargs} = '-x -S %0 %*' unless exists $opts{ntargs}; + $opts{otherargs} = '-x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9' unless exists $opts{otherargs}; + + $opts{stripsuffix} = qr/\.plx?/ unless exists $opts{stripsuffix}; + + if (not exists $opts{out}) { + $opts{out} = $opts{in}; + $opts{out} =~ s/$opts{stripsuffix}$//i; + $opts{out} .= '.bat' unless $opts{in} =~ /\.bat$/i or $opts{in} eq '-'; + } + + my $head = <<"EOT"; + \@rem = '--*-Perl-*-- + \@set "ErrorLevel=" + \@if "%OS%" == "Windows_NT" \@goto WinNT + \@perl $opts{otherargs} + \@set ErrorLevel=%ErrorLevel% + \@goto endofperl + :WinNT + \@perl $opts{ntargs} + \@set ErrorLevel=%ErrorLevel% + \@if NOT "%COMSPEC%" == "%SystemRoot%\\system32\\cmd.exe" \@goto endofperl + \@if %ErrorLevel% == 9009 \@echo You do not have Perl in your PATH. + \@goto endofperl + \@rem '; +EOT + + $head =~ s/^\s+//gm; + my $headlines = 2 + ($head =~ tr/\n/\n/); + my $tail = <<'EOT'; + __END__ + :endofperl + @set "ErrorLevel=" & @goto _undefined_label_ 2>NUL || @"%COMSPEC%" /d/c @exit %ErrorLevel% +EOT + $tail =~ s/^\s+//gm; + + my $linedone = 0; + my $taildone = 0; + my $linenum = 0; + my $skiplines = 0; + + my $start = $Config{startperl}; + $start = '#!perl' unless $start =~ /^#!.*perl/; + + open my $in, '<', $opts{in} or croak "Can't open $opts{in}: $!"; + my @file = <$in>; + close $in; + + foreach my $line ( @file ) { + $linenum++; + if ( $line =~ /^:endofperl\b/ ) { + if (!exists $opts{update}) { + warn "$opts{in} has already been converted to a batch file!\n"; + return; + } + $taildone++; + } + if ( not $linedone and $line =~ /^#!.*perl/ ) { + if (exists $opts{update}) { + $skiplines = $linenum - 1; + $line .= '#line '.(1+$headlines)."\n"; + } else { + $line .= '#line '.($linenum+$headlines)."\n"; + } + $linedone++; + } + if ( $line =~ /^#\s*line\b/ and $linenum == 2 + $skiplines ) { + $line = ''; + } + } + + open my $out, '>', $opts{out} or croak "Can't open $opts{out}: $!"; + print $out $head; + print $out $start, ( $opts{usewarnings} ? ' -w' : '' ), + "\n#line ", ($headlines+1), "\n" unless $linedone; + print $out @file[$skiplines..$#file]; + print $out $tail unless $taildone; + close $out; + + return $opts{out}; +} + +1; + +# ABSTRACT: Batch file creation to run perl scripts on Windows + +__END__ + +=pod + +=encoding UTF-8 + +=head1 NAME + +ExtUtils::PL2Bat - Batch file creation to run perl scripts on Windows + +=head1 VERSION + +version 0.004 + +=head1 OVERVIEW + +This module converts a perl script into a batch file that can be executed on Windows/DOS-like operating systems. This is intended to allow you to use a Perl script like regular programs and batch files where you just enter the name of the script [probably minus the extension] plus any command-line arguments and the script is found in your B<PATH> and run. + +=head1 FUNCTIONS + +=head2 pl2bat(%opts) + +This function takes a perl script and write a batch file that contains the script. This is sometimes necessary + +=over 8 + +=item * C<in> + +The name of the script that is to be batchified. This argument is mandatory. + +=item * C<out> + +The name of the output batch file. If not given, it will be generated using C<in> and C<stripsuffix>. + +=item * C<ntargs> + +Arguments to invoke perl with in generated batch file when run from +Windows NT. Defaults to S<'-x -S %0 %*'>. + +=item * C<otherargs> + +Arguments to invoke perl with in generated batch file except when +run from Windows NT (ie. when run from DOS, Windows 3.1, or Windows 95). +Defaults to S<'-x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9'>. + +=item * C<stripsuffix> + +Strip a suffix string from file name before appending a ".bat" +suffix. The suffix is not case-sensitive. It can be a regex or a string and a trailing +C<$> is always assumed). Defaults to C<qr/\.plx?/>. + +=item * C<usewarnings> + +With the C<usewarnings> +option, C<" -w"> is added after the value of C<$Config{startperl}>. +If a line matching C</^#!.*perl/> already exists in the script, +then it is not changed and the B<-w> option is ignored. + +=item * C<update> + +If the script appears to have already been processed by B<pl2bat>, +then the script is skipped and not processed unless C<update> was +specified. If C<update> is specified, the existing preamble is replaced. + +=back + +=head1 ACKNOWLEDGEMENTS + +This code was taken from Module::Build and then modified; which had taken it from perl's pl2bat script. This module is an attempt at unifying all three implementations. + +=head1 AUTHOR + +Leon Timmermans <leont@cpan.org> + +=head1 COPYRIGHT AND LICENSE + +This software is copyright (c) 2015 by Leon Timmermans. + +This is free software; you can redistribute it and/or modify it under +the same terms as the Perl 5 programming language system itself. + +=cut diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Packlist.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Packlist.pm index f94e3d05cc..98d09e3d82 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Packlist.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Packlist.pm @@ -1,11 +1,10 @@ package ExtUtils::Packlist; - -use 5.00503; use strict; + use Carp qw(); use Config; -use vars qw($VERSION $Relocations); -$VERSION = '2.14'; +our $Relocations; +our $VERSION = '2.20'; $VERSION = eval $VERSION; # Used for generating filehandle globs. IO::File might not be available! diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm index fba7f4d73d..d2205acd5a 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm @@ -11,7 +11,7 @@ use Symbol; our $VERSION; BEGIN { - $VERSION = '3.40'; + $VERSION = '3.43'; require ExtUtils::ParseXS::Constants; ExtUtils::ParseXS::Constants->VERSION($VERSION); require ExtUtils::ParseXS::CountLines; ExtUtils::ParseXS::CountLines->VERSION($VERSION); require ExtUtils::ParseXS::Utilities; ExtUtils::ParseXS::Utilities->VERSION($VERSION); @@ -42,6 +42,7 @@ use ExtUtils::ParseXS::Utilities qw( our @EXPORT_OK = qw( process_file report_error_count + errors ); ############################## @@ -911,7 +912,7 @@ EOF #-Wall: if there is no $self->{Full_func_name} there are no xsubs in this .xs #so 'file' is unused print Q(<<"EOF") if $self->{Full_func_name}; -##if (PERL_REVISION == 5 && PERL_VERSION < 9) +##if PERL_VERSION_LE(5, 8, 999) /* PERL_VERSION_LT is 5.33+ */ # char* file = __FILE__; ##else # const char* file = __FILE__; @@ -954,7 +955,7 @@ EOF print Q(<<"EOF") if ($self->{Overload}); # /* register the overloading (type 'A') magic */ -##if (PERL_REVISION == 5 && PERL_VERSION < 9) +##if PERL_VERSION_LE(5, 8, 999) /* PERL_VERSION_LT is 5.33+ */ # PL_amagic_generation++; ##endif # /* The magic for overload gets a GV* via gv_fetchmeth as */ @@ -1012,6 +1013,7 @@ sub report_error_count { return $Singleton->{errors}||0; } } +*errors = \&report_error_count; # Input: ($self, $_, @{ $self->{line} }) == unparsed input. # Output: ($_, @{ $self->{line} }) == (rest of line, following lines). @@ -1904,7 +1906,7 @@ sub generate_init { my $inputmap = $typemaps->get_inputmap(xstype => $xstype); if (not defined $inputmap) { - $self->blurt("Error: No INPUT definition for type '$type', typekind '" . $type->xstype . "' found"); + $self->blurt("Error: No INPUT definition for type '$type', typekind '$xstype' found"); return; } diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/ParseXS/Constants.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/ParseXS/Constants.pm index 2c392e3b3d..d7668c4733 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/ParseXS/Constants.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/ParseXS/Constants.pm @@ -3,7 +3,7 @@ use strict; use warnings; use Symbol; -our $VERSION = '3.40'; +our $VERSION = '3.43'; =head1 NAME diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/ParseXS/CountLines.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/ParseXS/CountLines.pm index a9258f9a31..c592621e03 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/ParseXS/CountLines.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/ParseXS/CountLines.pm @@ -1,7 +1,7 @@ package ExtUtils::ParseXS::CountLines; use strict; -our $VERSION = '3.40'; +our $VERSION = '3.43'; our $SECTION_END_MARKER; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/ParseXS/Eval.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/ParseXS/Eval.pm index 840bac7f8e..c509531d2f 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/ParseXS/Eval.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/ParseXS/Eval.pm @@ -2,7 +2,7 @@ package ExtUtils::ParseXS::Eval; use strict; use warnings; -our $VERSION = '3.40'; +our $VERSION = '3.43'; =head1 NAME diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/ParseXS/Utilities.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/ParseXS/Utilities.pm index 58f385600e..6cc8a0e408 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/ParseXS/Utilities.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/ParseXS/Utilities.pm @@ -5,7 +5,7 @@ use Exporter; use File::Spec; use ExtUtils::ParseXS::Constants (); -our $VERSION = '3.40'; +our $VERSION = '3.43'; our (@ISA, @EXPORT_OK); @ISA = qw(Exporter); diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Typemaps.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Typemaps.pm index a762322df9..62a2b1b606 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Typemaps.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Typemaps.pm @@ -2,7 +2,7 @@ package ExtUtils::Typemaps; use 5.006001; use strict; use warnings; -our $VERSION = '3.38'; +our $VERSION = '3.43'; require ExtUtils::ParseXS; require ExtUtils::ParseXS::Constants; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Typemaps/Cmd.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Typemaps/Cmd.pm index 3c33f548a5..5bddcc0569 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Typemaps/Cmd.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Typemaps/Cmd.pm @@ -2,7 +2,7 @@ package ExtUtils::Typemaps::Cmd; use 5.006001; use strict; use warnings; -our $VERSION = '3.38'; +our $VERSION = '3.43'; use ExtUtils::Typemaps; diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Typemaps/InputMap.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Typemaps/InputMap.pm index bf19df1e45..fd2efc878d 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Typemaps/InputMap.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Typemaps/InputMap.pm @@ -2,7 +2,7 @@ package ExtUtils::Typemaps::InputMap; use 5.006001; use strict; use warnings; -our $VERSION = '3.38'; +our $VERSION = '3.43'; =head1 NAME diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Typemaps/OutputMap.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Typemaps/OutputMap.pm index 90adb48978..d4210c5576 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Typemaps/OutputMap.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Typemaps/OutputMap.pm @@ -2,7 +2,7 @@ package ExtUtils::Typemaps::OutputMap; use 5.006001; use strict; use warnings; -our $VERSION = '3.38'; +our $VERSION = '3.43'; =head1 NAME diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Typemaps/Type.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Typemaps/Type.pm index 01bd51d4fb..36d575339c 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Typemaps/Type.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/Typemaps/Type.pm @@ -4,7 +4,7 @@ use strict; use warnings; require ExtUtils::Typemaps; -our $VERSION = '3.38'; +our $VERSION = '3.43'; =head1 NAME diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/testlib.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/testlib.pm index 1ccaf776a0..5826a12736 100644 --- a/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/testlib.pm +++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/ExtUtils/testlib.pm @@ -3,7 +3,7 @@ package ExtUtils::testlib; use strict; use warnings; -our $VERSION = '7.44'; +our $VERSION = '7.62'; $VERSION =~ tr/_//d; use Cwd; |