0.70 as released to CPAN. (only metadata and Module::Install changes)
[p5sagit/Devel-Size.git] / inc / Module / Install / Makefile.pm
index 3bfaf4c..92cd1ef 100644 (file)
@@ -7,7 +7,7 @@ use ExtUtils::MakeMaker ();
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-       $VERSION = '0.71';
+       $VERSION = '0.77';
        $ISCORE  = 1;
        @ISA     = qw{Module::Install::Base};
 }
@@ -36,9 +36,9 @@ sub prompt {
 
 sub makemaker_args {
        my $self = shift;
-       my $args = ($self->{makemaker_args} ||= {});
-         %$args = ( %$args, @_ ) if @_;
-       $args;
+       my $args = ( $self->{makemaker_args} ||= {} );
+       %$args = ( %$args, @_ );
+       return $args;
 }
 
 # For mm args that take multiple space-seperated args,
@@ -116,7 +116,13 @@ sub write {
 
        # Make sure we have a new enough
        require ExtUtils::MakeMaker;
-       $self->configure_requires( 'ExtUtils::MakeMaker' => $ExtUtils::MakeMaker::VERSION );
+
+       # MakeMaker can complain about module versions that include
+       # an underscore, even though its own version may contain one!
+       # Hence the funny regexp to get rid of it.  See RT #35800
+       # for details.
+
+       $self->configure_requires( 'ExtUtils::MakeMaker' => $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/ );
 
        # Generate the 
        my $args = $self->makemaker_args;
@@ -175,7 +181,9 @@ sub write {
 
        my $user_preop = delete $args{dist}->{PREOP};
        if (my $preop = $self->admin->preop($user_preop)) {
-               $args{dist} = $preop;
+               foreach my $key ( keys %$preop ) {
+                       $args{dist}->{$key} = $preop->{$key};
+               }
        }
 
        my $mm = ExtUtils::MakeMaker::WriteMakefile(%args);
@@ -242,4 +250,4 @@ sub postamble {
 
 __END__
 
-#line 371
+#line 379