Revert "Update Module-Build to CPAN version 0.3607"
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Tue, 29 Jun 2010 11:18:50 +0000 (12:18 +0100)
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Tue, 29 Jun 2010 11:18:50 +0000 (12:18 +0100)
This reverts commit 8f4d46e2e6b66d00df1e347dab564fd9799c8d94.

Way too much breakage for me to sanely resolve. Will leave it to
Dave Golden to try and integrate it

Signed-off-by: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
34 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/ConfigData.pm [new file with mode: 0644]
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 [changed mode: 0644->0755]
cpan/Module-Build/t/bundled/Tie/CPHash.pm
cpan/Module-Build/t/compat.t
cpan/Module-Build/t/lib/MBTest.pm

index 25f78c0..20a3195 100755 (executable)
@@ -932,7 +932,7 @@ use File::Glob qw(:case);
     'Module::Build' =>
        {
        'MAINTAINER'    => 'kwilliams',
-       'DISTRIBUTION'  => 'DAGOLDEN/Module-Build-0.3607.tar.gz',
+       'DISTRIBUTION'  => 'DAGOLDEN/Module-Build-0.3603.tar.gz',
        'FILES'         => q[cpan/Module-Build],
        'EXCLUDED'      => [ qw{ t/par.t t/signature.t },
                             qr!^contrib/!,  qr!^devtools! ],
index 7da9782..ad9195c 100644 (file)
@@ -1,43 +1,5 @@
 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 bd70097..356fd42 100644 (file)
@@ -15,7 +15,7 @@ use Module::Build::Base;
 
 use vars qw($VERSION @ISA);
 @ISA = qw(Module::Build::Base);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 
 # Okay, this is the brute-force method of finding out what kind of
@@ -25,7 +25,6 @@ $VERSION = eval $VERSION;
 my %OSTYPES = qw(
                 aix       Unix
                 bsdos     Unix
-                beos      Unix
                 dgux      Unix
                 dragonfly Unix
                 dynixptx  Unix
@@ -168,27 +167,7 @@ This illustrates initial configuration and the running of three
 'actions'.  In this case the actions run are 'build' (the default
 action), 'test', and 'install'.  Other actions defined so far include:
 
-  build                          manpages
-  checkchanges                   pardist
-  checkgit                       patch_blead
-  clean                          ppd
-  code                           ppmdist
-  config_data                    prereq_data
-  diff                           prereq_report
-  dist                           pure_install
-  distcheck                      realclean
-  distclean                      retest
-  distdir                        skipcheck
-  distmeta                       tag_git
-  distsign                       test
-  disttest                       testall
-  docs                           testcover
-  fakeinstall                    testdb
-  help                           testpod
-  html                           testpodcoverage
-  install                        upload
-  installdeps                    versioninstall
-  manifest
+<action_list>
 
 You can run the 'help' action for a complete list of actions.
 
index 380c857..146d28e 100644 (file)
@@ -181,11 +181,6 @@ 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]
@@ -1832,129 +1827,7 @@ accessor methods for the following properties:
 
 =over 4
 
-=item PL_files()
-
-=item allow_mb_mismatch()
-
-=item auto_configure_requires()
-
-=item autosplit()
-
-=item base_dir()
-
-=item bindoc_dirs()
-
-=item blib()
-
-=item build_bat()
-
-=item build_class()
-
-=item build_elements()
-
-=item build_requires()
-
-=item build_script()
-
-=item bundle_inc()
-
-=item bundle_inc_preload()
-
-=item c_source()
-
-=item config_dir()
-
-=item configure_requires()
-
-=item conflicts()
-
-=item cpan_client()
-
-=item create_license()
-
-=item create_makefile_pl()
-
-=item create_packlist()
-
-=item create_readme()
-
-=item debug()
-
-=item debugger()
-
-=item destdir()
-
-=item get_options()
-
-=item html_css()
-
-=item include_dirs()
-
-=item install_base()
-
-=item installdirs()
-
-=item libdoc_dirs()
-
-=item license()
-
-=item magic_number()
-
-=item mb_version()
-
-=item meta_add()
-
-=item meta_merge()
-
-=item metafile()
-
-=item module_name()
-
-=item mymetafile()
-
-=item needs_compiler()
-
-=item orig_dir()
-
-=item perl()
-
-=item pm_files()
-
-=item pod_files()
-
-=item pollute()
-
-=item prefix()
-
-=item prereq_action_types()
-
-=item program_name()
-
-=item quiet()
-
-=item recommends()
-
-=item recurse_into()
-
-=item recursive_test_files()
-
-=item requires()
-
-=item scripts()
-
-=item sign()
-
-=item tap_harness_args()
-
-=item test_file_exts()
-
-=item use_rcfile()
-
-=item use_tap_harness()
-
-=item verbose()
-
-=item xs_files()
+<autogenerated_accessors>
 
 =back
 
@@ -1963,7 +1836,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 45205e8..5bd8ec7 100644 (file)
@@ -4,7 +4,7 @@ package Module::Build::Base;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 BEGIN { require 5.00503 }
 
@@ -2728,19 +2728,11 @@ sub process_support_files {
   my $p = $self->{properties};
   return unless $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|\+\+)?$'));
-  }
+  push @{$p->{include_dirs}}, $p->{c_source};
 
+  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);
   }
 }
 
@@ -2942,7 +2934,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\n");
+    $self->log_verbose("Changing sharpbang in $file to $interpreter");
     my $shb = '';
     $shb .= $c->get('sharpbang')."$interpreter $arg\n" if $does_shbang;
 
@@ -3521,8 +3513,7 @@ sub ACTION_pardist {
 sub ACTION_dist {
   my ($self) = @_;
 
-  # MUST dispatch() and not depends_ok() so we generate a clean distdir
-  $self->dispatch('distdir');
+  $self->depends_on('distdir');
 
   my $dist_dir = $self->dist_dir;
 
@@ -4394,8 +4385,6 @@ 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 d078c37..95d695f 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Compat;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 
 use File::Basename ();
 use File::Spec;
index 40f2c30..9979600 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Config;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 use Config;
 
diff --git a/cpan/Module-Build/lib/Module/Build/ConfigData.pm b/cpan/Module-Build/lib/Module/Build/ConfigData.pm
new file mode 100644 (file)
index 0000000..15114ee
--- /dev/null
@@ -0,0 +1,220 @@
+package Module::Build::ConfigData;
+use strict;
+my $arrayref = eval do {local $/; <DATA>}
+  or die "Couldn't load ConfigData data: $@";
+close DATA;
+my ($config, $features, $auto_features) = @$arrayref;
+
+sub config { $config->{$_[1]} }
+
+sub set_config { $config->{$_[1]} = $_[2] }
+sub set_feature { $features->{$_[1]} = 0+!!$_[2] }  # Constrain to 1 or 0
+
+sub auto_feature_names { grep !exists $features->{$_}, keys %$auto_features }
+
+sub feature_names {
+  my @features = (keys %$features, auto_feature_names());
+  @features;
+}
+
+sub config_names  { keys %$config }
+
+sub write {
+  my $me = __FILE__;
+  require IO::File;
+
+  # Can't use Module::Build::Dumper here because M::B is only a
+  # build-time prereq of this module
+  require Data::Dumper;
+
+  my $mode_orig = (stat $me)[2] & 07777;
+  chmod($mode_orig | 0222, $me); # Make it writeable
+  my $fh = IO::File->new($me, 'r+') or die "Can't rewrite $me: $!";
+  seek($fh, 0, 0);
+  while (<$fh>) {
+    last if /^__DATA__$/;
+  }
+  die "Couldn't find __DATA__ token in $me" if eof($fh);
+
+  seek($fh, tell($fh), 0);
+  my $data = [$config, $features, $auto_features];
+  $fh->print( 'do{ my '
+             . Data::Dumper->new([$data],['x'])->Purity(1)->Dump()
+             . '$x; }' );
+  truncate($fh, tell($fh));
+  $fh->close;
+
+  chmod($mode_orig, $me)
+    or warn "Couldn't restore permissions on $me: $!";
+}
+
+sub feature {
+  my ($package, $key) = @_;
+  return $features->{$key} if exists $features->{$key};
+
+  my $info = $auto_features->{$key} or return 0;
+
+  # Under perl 5.005, each(%$foo) isn't working correctly when $foo
+  # was reanimated with Data::Dumper and eval().  Not sure why, but
+  # copying to a new hash seems to solve it.
+  my %info = %$info;
+
+  require Module::Build;  # XXX should get rid of this
+  while (my ($type, $prereqs) = each %info) {
+    next if $type eq 'description' || $type eq 'recommends';
+
+    my %p = %$prereqs;  # Ditto here.
+    while (my ($modname, $spec) = each %p) {
+      my $status = Module::Build->check_installed_status($modname, $spec);
+      if ((!$status->{ok}) xor ($type =~ /conflicts$/)) { return 0; }
+      if ( ! eval "require $modname; 1" ) { return 0; }
+    }
+  }
+  return 1;
+}
+
+
+=head1 NAME
+
+Module::Build::ConfigData - Configuration for Module::Build
+
+=head1 SYNOPSIS
+
+  use Module::Build::ConfigData;
+  $value = Module::Build::ConfigData->config('foo');
+  $value = Module::Build::ConfigData->feature('bar');
+
+  @names = Module::Build::ConfigData->config_names;
+  @names = Module::Build::ConfigData->feature_names;
+
+  Module::Build::ConfigData->set_config(foo => $new_value);
+  Module::Build::ConfigData->set_feature(bar => $new_value);
+  Module::Build::ConfigData->write;  # Save changes
+
+
+=head1 DESCRIPTION
+
+This module holds the configuration data for the C<Module::Build>
+module.  It also provides a programmatic interface for getting or
+setting that configuration data.  Note that in order to actually make
+changes, you'll have to have write access to the C<Module::Build::ConfigData>
+module, and you should attempt to understand the repercussions of your
+actions.
+
+
+=head1 METHODS
+
+=over 4
+
+=item config($name)
+
+Given a string argument, returns the value of the configuration item
+by that name, or C<undef> if no such item exists.
+
+=item feature($name)
+
+Given a string argument, returns the value of the feature by that
+name, or C<undef> if no such feature exists.
+
+=item set_config($name, $value)
+
+Sets the configuration item with the given name to the given value.
+The value may be any Perl scalar that will serialize correctly using
+C<Data::Dumper>.  This includes references, objects (usually), and
+complex data structures.  It probably does not include transient
+things like filehandles or sockets.
+
+=item set_feature($name, $value)
+
+Sets the feature with the given name to the given boolean value.  The
+value will be converted to 0 or 1 automatically.
+
+=item config_names()
+
+Returns a list of all the names of config items currently defined in
+C<Module::Build::ConfigData>, or in scalar context the number of items.
+
+=item feature_names()
+
+Returns a list of all the names of features currently defined in
+C<Module::Build::ConfigData>, or in scalar context the number of features.
+
+=item auto_feature_names()
+
+Returns a list of all the names of features whose availability is
+dynamically determined, or in scalar context the number of such
+features.  Does not include such features that have later been set to
+a fixed value.
+
+=item write()
+
+Commits any changes from C<set_config()> and C<set_feature()> to disk.
+Requires write access to the C<Module::Build::ConfigData> module.
+
+=back
+
+
+=head1 AUTHOR
+
+C<Module::Build::ConfigData> was automatically created using C<Module::Build>.
+C<Module::Build> was written by Ken Williams, but he holds no
+authorship claim or copyright claim to the contents of C<Module::Build::ConfigData>.
+
+=cut
+
+
+__DATA__
+do{ my $x = [
+       {},
+       {},
+       {
+         'license_creation' => {
+                                 'requires' => {
+                                                 'Software::License' => 0
+                                               },
+                                 'description' => 'Create licenses automatically in distributions'
+                               },
+         'inc_bundling_support' => {
+                                     'requires' => {
+                                                     'ExtUtils::Installed' => '1.999',
+                                                     'ExtUtils::Install' => '1.54'
+                                                   },
+                                     'description' => 'Bundle Module::Build in inc/'
+                                   },
+         'YAML_support' => {
+                             'requires' => {
+                                             'YAML::Tiny' => '1.38'
+                                           },
+                             'description' => 'Use YAML::Tiny to write META.yml files'
+                           },
+         'manpage_support' => {
+                                'requires' => {
+                                                'Pod::Man' => 0
+                                              },
+                                'description' => 'Create Unix man pages'
+                              },
+         'PPM_support' => {
+                            'requires' => {
+                                            'IO::File' => '1.13'
+                                          },
+                            'description' => 'Generate PPM files for distributions'
+                          },
+         'dist_authoring' => {
+                               'requires' => {
+                                               'Archive::Tar' => '1.09'
+                                             },
+                               'recommends' => {
+                                                 'Module::Signature' => '0.21',
+                                                 'Pod::Readme' => '0.04'
+                                               },
+                               'description' => 'Create new distributions'
+                             },
+         'HTML_support' => {
+                             'requires' => {
+                                             'Pod::Html' => 0
+                                           },
+                             'description' => 'Create HTML documentation'
+                           }
+       }
+     ];
+$x; }
\ No newline at end of file
index 56d5a84..a68dca5 100644 (file)
@@ -1,7 +1,7 @@
 package Module::Build::Cookbook;
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 
 
 =head1 NAME
index 09dd59a..2a9bad1 100644 (file)
@@ -1,7 +1,7 @@
 package Module::Build::Dumper;
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 
 # This is just a split-out of a wrapper function to do Data::Dumper
 # stuff "the right way".  See:
index 531d13b..053ae18 100644 (file)
@@ -8,7 +8,7 @@ package Module::Build::ModuleInfo;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 
 use File::Spec;
index 5b1e95a..cf85d4e 100644 (file)
@@ -4,7 +4,7 @@ package Module::Build::Notes;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 use Data::Dumper;
 use IO::File;
index ed6b4a3..977b437 100644 (file)
@@ -5,7 +5,7 @@ use Config;
 use vars qw($VERSION);
 use IO::File;
 
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 
 # This code is mostly borrowed from ExtUtils::MM_Unix 6.10_03, with a
index c825fc8..9356325 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::Amiga;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 
index 79c391b..8d46fc4 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::Default;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 
index a0ee31e..140e278 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::EBCDIC;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 
index 25a0aa5..66bbdc9 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::MPEiX;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 
index 85572f0..b80781b 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::MacOS;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 use vars qw(@ISA);
index eb434b8..95e3151 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::RiscOS;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 
index 5f51882..0be5fc7 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::Unix;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 
index 15394dd..f406b7a 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::VMS;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 use Config;
@@ -77,29 +77,10 @@ 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.
@@ -109,7 +90,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 452f2f3..001a950 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::VOS;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 
index 18de060..1e248a7 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::Windows;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 
 use Config;
index 212a5ca..dab0648 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::aix;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 use Module::Build::Platform::Unix;
 
index 7d5573d..eb45b62 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::cygwin;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.360301'; # patched in bleadperl
 $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 C<ExtUtils::MM_Win32>
+# If our path begins with F</cygdrive/> then we use M::B::Platform::Windows
 # to determine if it may be a command.  Otherwise we use the tests
-# from C<ExtUtils::MM_Unix>.
+# from M::B::Platform::Unix.
 
 sub _maybe_command {
     my ($self, $file) = @_;
 
     if ($file =~ m{^/cygdrive/}i) {
-        require Module::Build::Platform::Win32;
-        return Module::Build::Platform::Win32->_maybe_command($file);
+        require Module::Build::Platform::Windows;
+        return Module::Build::Platform::Windows->_maybe_command($file);
     }
 
     return $self->SUPER::_maybe_command($file);
index 9ae176d..c2f3126 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::darwin;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 use Module::Build::Platform::Unix;
 
index af1c290..be164ae 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::Platform::os2;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 use Module::Build::Platform::Unix;
 
index 7aa66bd..225450c 100644 (file)
@@ -2,7 +2,7 @@ package Module::Build::PodParser;
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 use vars qw(@ISA);
 
index 70c0f0b..fc9e2e9 100644 (file)
@@ -1,7 +1,7 @@
 package inc::latest;
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 
 use Carp;
index 928ad70..572ae8a 100644 (file)
@@ -1,7 +1,7 @@
 package inc::latest::private;
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3607';
+$VERSION = '0.3603';
 $VERSION = eval $VERSION;
 
 use File::Spec;
old mode 100644 (file)
new mode 100755 (executable)
index 40c8ea4..489cb45
@@ -1,4 +1,7 @@
-#!/usr/bin/perl
+#!/opt/perl/5.10.1/bin/perl 
+
+eval 'exec /opt/perl/5.10.1/bin/perl  -S $0 ${1+"$@"}'
+    if 0; # not running under some shell
 
 use strict;
 use Module::Build 0.25;
index b167622..36aea85 100644 (file)
@@ -5,7 +5,7 @@ package Tie::CPHash;
 #
 # Author: Christopher J. Madsen <cjm@pobox.com>
 # Created: 08 Nov 1997
-# $Revision$  $Date$
+# $Revision: 5841 $  $Date: 2006-03-21 08:27:29 -0500 (Tue, 21 Mar 2006) $
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the same terms as Perl itself.
index bb2cc73..7e5a515 100644 (file)
@@ -218,25 +218,23 @@ 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$check_base\E .* Simple\.pm/ix,
+        check => qr/\Q$libdir2\E .* Simple\.pm/ix,
       },
       {
         label => "PREFIX=\$libdir2",
         args => [ "PREFIX=$libdir2"],
-        check => qr/\Q$check_base\E .* Simple\.pm/ix,
+        check => qr/\Q$libdir2\E .* Simple\.pm/ix,
       },
       {
         label => "PREFIX=\$libdir2 LIB=mylib",
         args => [ "PREFIX=$libdir2", "LIB=mylib" ],
-        check => qr{\Q$check_base\E[/\\\.]mylib[/\\\]]Simple\.pm}ix,
+        check => qr{\Q$libdir2\E[/\\]mylib[/\\]Simple\.pm}ix,
       },
     );
 
@@ -244,8 +242,15 @@ 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 005920f..6dc4c86 100644 (file)
@@ -12,7 +12,6 @@ use File::Path ();
 BEGIN {
     # Environment variables which might effect our testing
     my @delete_env_keys = qw(
-        HOME
         DEVEL_COVER_OPTIONS
         MODULEBUILDRC
         PERL_MB_OPT
@@ -124,10 +123,6 @@ 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());