perl prerequiste (repost)

[email protected] (Alexandr Ciornii)
Newsgroups perl.makemaker
Message-ID <[email protected]>
Hello!

This is patch to add support for MIN_PERL_VERSION for Makefile.PL.
Used parts of David's patch. Tested with latest version of EUMM on 
Windows. It yet not adds info to META.yml - that would be second patch.

-- 
Alexandr Ciornii, http://chorny.net
min_perl_version.t (text/plain, 1.2 KB)
#!/usr/bin/perl -w

# This is a test of the verification of the arguments to
# WriteMakefile.

BEGIN {
    if( $ENV{PERL_CORE} ) {
        chdir 't' if -d 't';
        @INC = ('../lib', 'lib');
    }
    else {
        unshift @INC, 't/lib';
    }
}

use strict;
use Test::More tests => 8;

use TieOut;
use MakeMaker::Test::Utils;
use MakeMaker::Test::Setup::BFD;

use ExtUtils::MakeMaker;

chdir 't';

perl_lib();

ok( setup_recurs(), 'setup' );
END {
    ok( chdir File::Spec->updir );
    ok( teardown_recurs(), 'teardown' );
}

ok( chdir 'Big-Dummy', "chdir'd to Big-Dummy" ) ||
  diag("chdir failed: $!");

{
    ok( my $stdout = tie *STDOUT, 'TieOut' );
    my $warnings = '';
    local $SIG{__WARN__} = sub {
        $warnings .= join '', @_;
    };

    eval {
      WriteMakefile(
        NAME            => 'Big::Dummy',
        MIN_PERL_VERSION       => 5,
      );
    };
    is $warnings, '';
    is $@, '','MIN_PERL_VERSION=5';

    $warnings = '';
    eval {
      WriteMakefile(
        NAME            => 'Big::Dummy',
        MIN_PERL_VERSION       => 999999,
      );
    };
    is $@, "This distribution won't work without a higher version of Perl.\n",
    'MIN_PERL_VERSION=999999';

}
MakeMaker.pm.patch (text/plain, 1006 B)
--- MakeMaker.pm.dist	Fri Feb 29 02:06:55 2008
+++ MakeMaker.pm	Wed Apr 16 14:11:58 2008
@@ -236,7 +236,7 @@
     LINKTYPE MAKE MAKEAPERL MAKEFILE MAKEFILE_OLD MAN1PODS MAN3PODS MAP_TARGET 
     MYEXTLIB NAME NEEDS_LINKING NOECHO NO_META NORECURS NO_VC OBJECT OPTIMIZE 
     PERL_MALLOC_OK PERL PERLMAINCC PERLRUN PERLRUNINST PERL_CORE
-    PERL_SRC PERM_RW PERM_RWX
+    PERL_SRC PERM_RW PERM_RWX MIN_PERL_VERSION
     PL_FILES PM PM_FILTER PMLIBDIRS PMLIBPARENTDIRS POLLUTE PPM_INSTALL_EXEC
     PPM_INSTALL_SCRIPT PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ
     SIGN SKIP TYPEMAPS VERSION VERSION_FROM XS XSOPT XSPROTOARG
@@ -389,6 +389,10 @@
 
     check_hints($self);
 
+    if ($self->{MIN_PERL_VERSION} and $self->{MIN_PERL_VERSION} > $]) {
+        die "This distribution won't work without a higher version of Perl.\n";
+    }
+    
     my %configure_att;         # record &{$self->{CONFIGURE}} attributes
     my(%initial_att) = %$self; # record initial attributes
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.