This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update Module-Build to CPAN version 0.3607
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Tue, 29 Jun 2010 14:14:15 +0000 (15:14 +0100)
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Tue, 29 Jun 2010 15:11:56 +0000 (16:11 +0100)
      [DELTA]

      0.3607 - Thu Apr  1 11:27:16 EDT 2010

        Bug fixes:

        - The 'dist' action now always ensures a clean dist directory before
          creating the tarball [David Golden]

      0.36_06 - Thu Apr  1 01:23:58 EDT 2010

        Other:

        - Migrated repository to git and updated META.yml to match

        - Removed bugtracker URL (let search.cpan.org use default)

        - Disabled SIGNATURE generation

      0.3605 - Wed Mar 31 12:05:11 EDT 2010

        - No changes from 0.36_04

      0.36_04 - Tue Mar 16 21:41:41 EDT 2010

      Bug fixes:

        - Added missing newline to "Changing sharpbang" messages under verbose
          output (RT#54474) [David Golden]

        - Added 'beos' to list of Unix-like os types (RT#53876) [Nigel Horne]

        - Sets $ENV{HOME} to a temporary directory during testing [David Golden]

        - For VMS: fixed prefix handling plus other test fixes [Craig Berry]

        - Support anonymous array of directories for c_source [Alberto Sim<C3><B5>es]

        - Small POD formatting fix [James Keenan]

33 files changed:
Porting/Maintainers.pl
cpan/Module-Build/Changes
cpan/Module-Build/lib/Module/Build.pm
cpan/Module-Build/lib/Module/Build/API.pod
cpan/Module-Build/lib/Module/Build/Base.pm
cpan/Module-Build/lib/Module/Build/Compat.pm
cpan/Module-Build/lib/Module/Build/Config.pm
cpan/Module-Build/lib/Module/Build/Cookbook.pm
cpan/Module-Build/lib/Module/Build/Dumper.pm
cpan/Module-Build/lib/Module/Build/ModuleInfo.pm
cpan/Module-Build/lib/Module/Build/Notes.pm
cpan/Module-Build/lib/Module/Build/PPMMaker.pm
cpan/Module-Build/lib/Module/Build/Platform/Amiga.pm
cpan/Module-Build/lib/Module/Build/Platform/Default.pm
cpan/Module-Build/lib/Module/Build/Platform/EBCDIC.pm
cpan/Module-Build/lib/Module/Build/Platform/MPEiX.pm
cpan/Module-Build/lib/Module/Build/Platform/MacOS.pm
cpan/Module-Build/lib/Module/Build/Platform/RiscOS.pm
cpan/Module-Build/lib/Module/Build/Platform/Unix.pm
cpan/Module-Build/lib/Module/Build/Platform/VMS.pm
cpan/Module-Build/lib/Module/Build/Platform/VOS.pm
cpan/Module-Build/lib/Module/Build/Platform/Windows.pm
cpan/Module-Build/lib/Module/Build/Platform/aix.pm
cpan/Module-Build/lib/Module/Build/Platform/cygwin.pm
cpan/Module-Build/lib/Module/Build/Platform/darwin.pm
cpan/Module-Build/lib/Module/Build/Platform/os2.pm
cpan/Module-Build/lib/Module/Build/PodParser.pm
cpan/Module-Build/lib/inc/latest.pm
cpan/Module-Build/lib/inc/latest/private.pm
cpan/Module-Build/scripts/config_data
cpan/Module-Build/t/bundled/Tie/CPHash.pm
cpan/Module-Build/t/compat.t
cpan/Module-Build/t/lib/MBTest.pm

index 20a3195..25f78c0 100755 (executable)
@@ -932,7 +932,7 @@ use File::Glob qw(:case);
     'Module::Build' =>
        {
        'MAINTAINER'    => 'kwilliams',
-       'DISTRIBUTION'  => 'DAGOLDEN/Module-Build-0.3603.tar.gz',
+       'DISTRIBUTION'  => 'DAGOLDEN/Module-Build-0.3607.tar.gz',
        'FILES'         => q[cpan/Module-Build],
        'EXCLUDED'      => [ qw{ t/par.t t/signature.t },
                             qr!^contrib/!,  qr!^devtools! ],
index ad9195c..7da9782 100644 (file)
@@ -1,5 +1,43 @@
 Revision history for Perl extension Module::Build.
 
+0.3607 - Thu Apr  1 11:27:16 EDT 2010
+
+ Bug fixes:
+
+ - The 'dist' action now always ensures a clean dist directory before
+   creating the tarball [David Golden]
+
+0.36_06 - Thu Apr  1 01:23:58 EDT 2010
+
+ Other:
+
+ - Migrated repository to git and updated META.yml to match
+
+ - Removed bugtracker URL (let search.cpan.org use default)
+
+ - Disabled SIGNATURE generation
+
+0.3605 - Wed Mar 31 12:05:11 EDT 2010
+
+ - No changes from 0.36_04
+
+0.36_04 - Tue Mar 16 21:41:41 EDT 2010
+
+ Bug fixes:
+
+ - Added missing newline to "Changing sharpbang" messages under verbose
+   output (RT#54474) [David Golden]
+
+ - Added 'beos' to list of Unix-like os types (RT#53876) [Nigel Horne]
+
+ - Sets $ENV{HOME} to a temporary directory during testing [David Golden]
+
+ - For VMS: fixed prefix handling plus other test fixes [Craig Berry]
+
+ - Support anonymous array of directories for c_source [Alberto Simões]
+
+ - Small POD formatting fix [James Keenan]
+
 0.3603 - Mon Jan 18 22:28:59 EST 2010
 
 (Oops, I released the last one before I realized this should have been
index 356fd42..224e245 100644 (file)
@@ -15,7 +15,7 @@ use Module::Build::Base;
 
 use vars qw($VERSION @ISA);
 @ISA = qw(Module::Build::Base);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 
 # Okay, this is the brute-force method of finding out what kind of
@@ -25,6 +25,7 @@ $VERSION = eval $VERSION;
 my %OSTYPES = qw(
                 aix       Unix
                 bsdos     Unix
+                beos      Unix
                 dgux      Unix
                 dragonfly Unix
                 dynixptx  Unix
index 146d28e..494297f 100644 (file)
@@ -181,6 +181,11 @@ files in the directory will be compiled to object files.  The
 directory will be added to the search path during the compilation and
 linking phases of any C or XS files.
 
+[version 0.3604]
+
+A list of directories can be supplied using an anonymous array
+reference of strings.
+
 =item conflicts
 
 [version 0.07]
@@ -1836,7 +1841,7 @@ accessor methods for the following properties:
 
 If you would like to add other useful metadata, C<Module::Build>
 supports this with the C<meta_add> and C<meta_merge> arguments to
-L</new>. The authoritative list of supported metadata can be found at
+L</new()>. The authoritative list of supported metadata can be found at
 L<http://module-build.sourceforge.net/META-spec-current.html>, but for
 convenience - here are a few of the more useful ones:
 
index 5bd8ec7..45205e8 100644 (file)
@@ -4,7 +4,7 @@ package Module::Build::Base;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 BEGIN { require 5.00503 }
 
@@ -2728,11 +2728,19 @@ sub process_support_files {
   my $p = $self->{properties};
   return unless $p->{c_source};
 
-  push @{$p->{include_dirs}}, $p->{c_source};
+  my $files;
+  if (ref($p->{c_source}) eq "ARRAY") {
+      push @{$p->{include_dirs}}, @{$p->{c_source}};
+      for my $path (@{$p->{c_source}}) {
+          push @$files, @{ $self->rscan_dir($path, file_qr('\.c(c|p|pp|xx|\+\+)?$')) };
+      }
+  } else {
+      push @{$p->{include_dirs}}, $p->{c_source};
+      $files = $self->rscan_dir($p->{c_source}, file_qr('\.c(c|p|pp|xx|\+\+)?$'));
+  }
 
-  my $files = $self->rscan_dir($p->{c_source}, file_qr('\.c(c|p|pp|xx|\+\+)?$'));
   foreach my $file (@$files) {
-    push @{$p->{objects}}, $self->compile_c($file);
+      push @{$p->{objects}}, $self->compile_c($file);
   }
 }
 
@@ -2934,7 +2942,7 @@ sub fix_shebang_line { # Adapted from fixin() in ExtUtils::MM_Unix 1.35
     next unless $cmd =~ /perl/i;
     my $interpreter = $self->{properties}{perl};
 
-    $self->log_verbose("Changing sharpbang in $file to $interpreter");
+    $self->log_verbose("Changing sharpbang in $file to $interpreter\n");
     my $shb = '';
     $shb .= $c->get('sharpbang')."$interpreter $arg\n" if $does_shbang;
 
@@ -3513,7 +3521,8 @@ sub ACTION_pardist {
 sub ACTION_dist {
   my ($self) = @_;
 
-  $self->depends_on('distdir');
+  # MUST dispatch() and not depends_ok() so we generate a clean distdir
+  $self->dispatch('distdir');
 
   my $dist_dir = $self->dist_dir;
 
@@ -4385,6 +4394,8 @@ sub find_dist_packages {
   return $self->find_packages_in_files(\@pm_files, \%dist_files);
 }
 
+# XXX Do not document this function; mst wrote it and now says the API is
+# stupid and needs to be fixed and it shouldn't become a public API until then
 sub find_packages_in_files {
   my ($self, $file_list, $filename_map) = @_;
 
index 95d695f..d078c37 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Compat;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 
 use File::Basename ();
 use File::Spec;
index 9979600..40f2c30 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Config;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 use Config;
 
index a68dca5..56d5a84 100644 (file)
@@ -1,7 +1,7 @@
 package Module::Build::Cookbook;
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 
 
 =head1 NAME
index 2a9bad1..09dd59a 100644 (file)
@@ -1,7 +1,7 @@
 package Module::Build::Dumper;
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 
 # This is just a split-out of a wrapper function to do Data::Dumper
 # stuff "the right way".  See:
index 053ae18..531d13b 100644 (file)
@@ -8,7 +8,7 @@ package Module::Build::ModuleInfo;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 
 use File::Spec;
index cf85d4e..5b1e95a 100644 (file)
@@ -4,7 +4,7 @@ package Module::Build::Notes;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 use Data::Dumper;
 use IO::File;
index 977b437..ed6b4a3 100644 (file)
@@ -5,7 +5,7 @@ use Config;
 use vars qw($VERSION);
 use IO::File;
 
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 
 # This code is mostly borrowed from ExtUtils::MM_Unix 6.10_03, with a
index 9356325..c825fc8 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::Amiga;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 
index 8d46fc4..79c391b 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::Default;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 
index 140e278..a0ee31e 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::EBCDIC;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 
index 66bbdc9..25a0aa5 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::MPEiX;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 
index b80781b..85572f0 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::MacOS;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 use vars qw(@ISA);
index 95e3151..eb434b8 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::RiscOS;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 
index 0be5fc7..5f51882 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::Unix;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 
index f406b7a..15394dd 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::VMS;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 use Config;
@@ -77,10 +77,29 @@ Prefixify taking into account VMS' filepath syntax.
 =cut
 
 # Translated from ExtUtils::MM_VMS::prefixify()
+
+sub _catprefix {
+    my($self, $rprefix, $default) = @_;
+
+    my($rvol, $rdirs) = File::Spec->splitpath($rprefix);
+    if( $rvol ) {
+        return File::Spec->catpath($rvol,
+                                   File::Spec->catdir($rdirs, $default),
+                                   ''
+                                  )
+    }
+    else {
+        return File::Spec->catdir($rdirs, $default);
+    }
+}
+
+
 sub _prefixify {
     my($self, $path, $sprefix, $type) = @_;
     my $rprefix = $self->prefix;
 
+    return '' unless defined $path;
+
     $self->log_verbose("  prefixify $path from $sprefix to $rprefix\n");
 
     # Translate $(PERLPREFIX) to a real path.
@@ -90,7 +109,7 @@ sub _prefixify {
     $self->log_verbose("  rprefix translated to $rprefix\n".
                        "  sprefix translated to $sprefix\n");
 
-    if( length $path == 0 ) {
+    if( length($path) == 0 ) {
         $self->log_verbose("  no path to prefixify.\n")
     }
     elsif( !File::Spec->file_name_is_absolute($path) ) {
index 001a950..452f2f3 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::VOS;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 
index 1e248a7..18de060 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::Windows;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 
 use Config;
index dab0648..212a5ca 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::aix;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 use Module::Build::Platform::Unix;
 
index eb45b62..7d5573d 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::cygwin;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.360301'; # patched in bleadperl
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 use Module::Build::Platform::Unix;
 
@@ -14,16 +14,16 @@ sub manpage_separator {
 }
 
 # Copied from ExtUtils::MM_Cygwin::maybe_command()
-# If our path begins with F</cygdrive/> then we use M::B::Platform::Windows
+# If our path begins with F</cygdrive/> then we use C<ExtUtils::MM_Win32>
 # to determine if it may be a command.  Otherwise we use the tests
-# from M::B::Platform::Unix.
+# from C<ExtUtils::MM_Unix>.
 
 sub _maybe_command {
     my ($self, $file) = @_;
 
     if ($file =~ m{^/cygdrive/}i) {
-        require Module::Build::Platform::Windows;
-        return Module::Build::Platform::Windows->_maybe_command($file);
+        require Module::Build::Platform::Win32;
+        return Module::Build::Platform::Win32->_maybe_command($file);
     }
 
     return $self->SUPER::_maybe_command($file);
index c2f3126..9ae176d 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::darwin;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 use Module::Build::Platform::Unix;
 
index be164ae..af1c290 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::os2;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 use Module::Build::Platform::Unix;
 
index 225450c..7aa66bd 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::PodParser;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 use vars qw(@ISA);
 
index fc9e2e9..70c0f0b 100644 (file)
@@ -1,7 +1,7 @@
 package inc::latest;
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 
 use Carp;
index 572ae8a..928ad70 100644 (file)
@@ -1,7 +1,7 @@
 package inc::latest::private;
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3603';
+$VERSION = '0.3607';
 $VERSION = eval $VERSION;
 
 use File::Spec;
index 489cb45..d08a5f3 100755 (executable)
@@ -1,6 +1,6 @@
-#!/opt/perl/5.10.1/bin/perl 
+#!/usr/bin/perl 
 
-eval 'exec /opt/perl/5.10.1/bin/perl  -S $0 ${1+"$@"}'
+eval 'exec /usr/bin/perl  -S $0 ${1+"$@"}'
     if 0; # not running under some shell
 
 use strict;
index 36aea85..b167622 100644 (file)
@@ -5,7 +5,7 @@ package Tie::CPHash;
 #
 # Author: Christopher J. Madsen <cjm@pobox.com>
 # Created: 08 Nov 1997
-# $Revision: 5841 $  $Date: 2006-03-21 08:27:29 -0500 (Tue, 21 Mar 2006) $
+# $Revision$  $Date$
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the same terms as Perl itself.
index 7e5a515..bb2cc73 100644 (file)
@@ -218,23 +218,25 @@ ok $mb, "Module::Build->new_from_context";
 
   (my $libdir2 = $libdir) =~ s/libdir/lbiidr/;
   my $libarch2 = File::Spec->catdir($libdir2, 'arch');
+  my $check_base = $libdir2;
+  $check_base =~ s/\]\z// if $^O eq 'VMS'; # trim trailing ] for appending other dirs
 
   SKIP: {
     my @cases = (
       {
         label => "INSTALLDIRS=vendor",
         args => [ 'INSTALLDIRS=vendor', "INSTALLVENDORLIB=$libdir2", "INSTALLVENDORARCH=$libarch2"],
-        check => qr/\Q$libdir2\E .* Simple\.pm/ix,
+        check => qr/\Q$check_base\E .* Simple\.pm/ix,
       },
       {
         label => "PREFIX=\$libdir2",
         args => [ "PREFIX=$libdir2"],
-        check => qr/\Q$libdir2\E .* Simple\.pm/ix,
+        check => qr/\Q$check_base\E .* Simple\.pm/ix,
       },
       {
         label => "PREFIX=\$libdir2 LIB=mylib",
         args => [ "PREFIX=$libdir2", "LIB=mylib" ],
-        check => qr{\Q$libdir2\E[/\\]mylib[/\\]Simple\.pm}ix,
+        check => qr{\Q$check_base\E[/\\\.]mylib[/\\\]]Simple\.pm}ix,
       },
     );
 
@@ -242,15 +244,8 @@ ok $mb, "Module::Build->new_from_context";
     skip "Needs ExtUtils::Install 1.32 or later", 2 * @cases
       if ExtUtils::Install->VERSION < 1.32;
 
-    skip "Needs upstream patch at http://rt.cpan.org/Public/Bug/Display.html?id=55288", 2 * @cases
-      if $^O eq 'VMS';
-
     for my $c (@cases) {
       my @make_args = @{$c->{args}};
-      if ($is_vms_mms) { # VMS MMK/MMS macros use different syntax.
-        $make_args[0] = '/macro=("' . join('","',@make_args) . '")';
-        pop @make_args while scalar(@make_args) > 1;
-      }
       ($output) = stdout_stderr_of(
         sub {
           $result = $mb->run_perl_script('Makefile.PL', [], \@make_args);
index 6dc4c86..005920f 100644 (file)
@@ -12,6 +12,7 @@ use File::Path ();
 BEGIN {
     # Environment variables which might effect our testing
     my @delete_env_keys = qw(
+        HOME
         DEVEL_COVER_OPTIONS
         MODULEBUILDRC
         PERL_MB_OPT
@@ -123,6 +124,10 @@ sub tmpdir {
   return File::Temp::tempdir('MB-XXXXXXXX', CLEANUP => 1, DIR => $dir, @args);
 }
 
+BEGIN {
+  $ENV{HOME} = tmpdir; # don't want .modulebuildrc or other things interfering
+}
+
 sub save_handle {
   my ($handle, $subr) = @_;
   my $outfile = File::Spec->catfile(File::Spec->tmpdir, temp_file_name());