r55058 - in /branches/upstream/libmoosex-types-structured-perl/current: ./ inc/Module/ inc/Module/Install/ lib/MooseX/Meta/TypeConstraint/ lib/MooseX/Types/ t/
gregoa at users.alioth.debian.org
gregoa at users.alioth.debian.org
Mon Mar 29 20:06:48 UTC 2010
Author: gregoa
Date: Mon Mar 29 20:06:41 2010
New Revision: 55058
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=55058
Log:
[svn-upgrade] Integrating new upstream version, libmoosex-types-structured-perl (0.21)
Modified:
branches/upstream/libmoosex-types-structured-perl/current/Changes
branches/upstream/libmoosex-types-structured-perl/current/META.yml
branches/upstream/libmoosex-types-structured-perl/current/README
branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install.pm
branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/AutoInstall.pm
branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Base.pm
branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Can.pm
branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Fetch.pm
branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Include.pm
branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Makefile.pm
branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Metadata.pm
branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Win32.pm
branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/WriteAll.pm
branches/upstream/libmoosex-types-structured-perl/current/lib/MooseX/Meta/TypeConstraint/Structured.pm
branches/upstream/libmoosex-types-structured-perl/current/lib/MooseX/Types/Structured.pm
branches/upstream/libmoosex-types-structured-perl/current/t/04-map.t
Modified: branches/upstream/libmoosex-types-structured-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-types-structured-perl/current/Changes?rev=55058&op=diff
==============================================================================
--- branches/upstream/libmoosex-types-structured-perl/current/Changes (original)
+++ branches/upstream/libmoosex-types-structured-perl/current/Changes Mon Mar 29 20:06:41 2010
@@ -1,4 +1,8 @@
Revision history for MooseX-Types-Structured
+
+0.21 26 March 2010
+ - Removed unneed module from test
+ - additional contributed documentation fixes
0.20 04 February 2010
- Add a new Map type. (Ricardo SIGNES)
Modified: branches/upstream/libmoosex-types-structured-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-types-structured-perl/current/META.yml?rev=55058&op=diff
==============================================================================
--- branches/upstream/libmoosex-types-structured-perl/current/META.yml (original)
+++ branches/upstream/libmoosex-types-structured-perl/current/META.yml Mon Mar 29 20:06:41 2010
@@ -1,6 +1,7 @@
---
abstract: 'Moose Type Constraint classes for Structured Types'
author:
+ - 'John Napiorkowski <jjnapiork at cpan.org>'
- 'John Napiorkowski <jjnapiork at cpan.org>'
build_requires:
ExtUtils::MakeMaker: 6.42
@@ -9,7 +10,7 @@
configure_requires:
ExtUtils::MakeMaker: 6.42
distribution_type: module
-generated_by: 'Module::Install version 0.92'
+generated_by: 'Module::Install version 0.95'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -27,4 +28,4 @@
perl: 5.8.0
resources:
license: http://dev.perl.org/licenses/
-version: 0.20
+version: 0.21
Modified: branches/upstream/libmoosex-types-structured-perl/current/README
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-types-structured-perl/current/README?rev=55058&op=diff
==============================================================================
--- branches/upstream/libmoosex-types-structured-perl/current/README (original)
+++ branches/upstream/libmoosex-types-structured-perl/current/README Mon Mar 29 20:06:41 2010
@@ -110,7 +110,7 @@
Comparing Parameterized types to Structured types
Parameterized constraints are built into core Moose and you are probably
- already familar with the type constraints 'HashRef' and 'ArrayRef'.
+ already familiar with the type constraints 'HashRef' and 'ArrayRef'.
Structured types have similar functionality, so their syntax is likewise
similar. For example, you could define a parameterized constraint like:
Modified: branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install.pm?rev=55058&op=diff
==============================================================================
--- branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install.pm (original)
+++ branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install.pm Mon Mar 29 20:06:41 2010
@@ -19,6 +19,10 @@
use 5.005;
use strict 'vars';
+use Cwd ();
+use File::Find ();
+use File::Path ();
+use FindBin;
use vars qw{$VERSION $MAIN};
BEGIN {
@@ -28,7 +32,7 @@
# This is not enforced yet, but will be some time in the next few
# releases once we can make sure it won't clash with custom
# Module::Install extensions.
- $VERSION = '0.92';
+ $VERSION = '0.95';
# Storage for the pseudo-singleton
$MAIN = undef;
@@ -38,18 +42,25 @@
}
-
-
-
-
-# Whether or not inc::Module::Install is actually loaded, the
-# $INC{inc/Module/Install.pm} is what will still get set as long as
-# the caller loaded module this in the documented manner.
-# If not set, the caller may NOT have loaded the bundled version, and thus
-# they may not have a MI version that works with the Makefile.PL. This would
-# result in false errors or unexpected behaviour. And we don't want that.
-my $file = join( '/', 'inc', split /::/, __PACKAGE__ ) . '.pm';
-unless ( $INC{$file} ) { die <<"END_DIE" }
+sub import {
+ my $class = shift;
+ my $self = $class->new(@_);
+ my $who = $self->_caller;
+
+ #-------------------------------------------------------------
+ # all of the following checks should be included in import(),
+ # to allow "eval 'require Module::Install; 1' to test
+ # installation of Module::Install. (RT #51267)
+ #-------------------------------------------------------------
+
+ # Whether or not inc::Module::Install is actually loaded, the
+ # $INC{inc/Module/Install.pm} is what will still get set as long as
+ # the caller loaded module this in the documented manner.
+ # If not set, the caller may NOT have loaded the bundled version, and thus
+ # they may not have a MI version that works with the Makefile.PL. This would
+ # result in false errors or unexpected behaviour. And we don't want that.
+ my $file = join( '/', 'inc', split /::/, __PACKAGE__ ) . '.pm';
+ unless ( $INC{$file} ) { die <<"END_DIE" }
Please invoke ${\__PACKAGE__} with:
@@ -61,26 +72,28 @@
END_DIE
-
-
-
-
-# If the script that is loading Module::Install is from the future,
-# then make will detect this and cause it to re-run over and over
-# again. This is bad. Rather than taking action to touch it (which
-# is unreliable on some platforms and requires write permissions)
-# for now we should catch this and refuse to run.
-if ( -f $0 ) {
- my $s = (stat($0))[9];
-
- # If the modification time is only slightly in the future,
- # sleep briefly to remove the problem.
- my $a = $s - time;
- if ( $a > 0 and $a < 5 ) { sleep 5 }
-
- # Too far in the future, throw an error.
- my $t = time;
- if ( $s > $t ) { die <<"END_DIE" }
+ # This reportedly fixes a rare Win32 UTC file time issue, but
+ # as this is a non-cross-platform XS module not in the core,
+ # we shouldn't really depend on it. See RT #24194 for detail.
+ # (Also, this module only supports Perl 5.6 and above).
+ eval "use Win32::UTCFileTime" if $^O eq 'MSWin32' && $] >= 5.006;
+
+ # If the script that is loading Module::Install is from the future,
+ # then make will detect this and cause it to re-run over and over
+ # again. This is bad. Rather than taking action to touch it (which
+ # is unreliable on some platforms and requires write permissions)
+ # for now we should catch this and refuse to run.
+ if ( -f $0 ) {
+ my $s = (stat($0))[9];
+
+ # If the modification time is only slightly in the future,
+ # sleep briefly to remove the problem.
+ my $a = $s - time;
+ if ( $a > 0 and $a < 5 ) { sleep 5 }
+
+ # Too far in the future, throw an error.
+ my $t = time;
+ if ( $s > $t ) { die <<"END_DIE" }
Your installer $0 has a modification time in the future ($s > $t).
@@ -89,15 +102,12 @@
Please correct this, then run $0 again.
END_DIE
-}
-
-
-
-
-
-# Build.PL was formerly supported, but no longer is due to excessive
-# difficulty in implementing every single feature twice.
-if ( $0 =~ /Build.PL$/i ) { die <<"END_DIE" }
+ }
+
+
+ # Build.PL was formerly supported, but no longer is due to excessive
+ # difficulty in implementing every single feature twice.
+ if ( $0 =~ /Build.PL$/i ) { die <<"END_DIE" }
Module::Install no longer supports Build.PL.
@@ -107,23 +117,36 @@
END_DIE
-
-
-
-
-# To save some more typing in Module::Install installers, every...
-# use inc::Module::Install
-# ...also acts as an implicit use strict.
-$^H |= strict::bits(qw(refs subs vars));
-
-
-
-
-
-use Cwd ();
-use File::Find ();
-use File::Path ();
-use FindBin;
+ #-------------------------------------------------------------
+
+ # To save some more typing in Module::Install installers, every...
+ # use inc::Module::Install
+ # ...also acts as an implicit use strict.
+ $^H |= strict::bits(qw(refs subs vars));
+
+ #-------------------------------------------------------------
+
+ unless ( -f $self->{file} ) {
+ require "$self->{path}/$self->{dispatch}.pm";
+ File::Path::mkpath("$self->{prefix}/$self->{author}");
+ $self->{admin} = "$self->{name}::$self->{dispatch}"->new( _top => $self );
+ $self->{admin}->init;
+ @_ = ($class, _self => $self);
+ goto &{"$self->{name}::import"};
+ }
+
+ *{"${who}::AUTOLOAD"} = $self->autoload;
+ $self->preload;
+
+ # Unregister loader and worker packages so subdirs can use them again
+ delete $INC{"$self->{file}"};
+ delete $INC{"$self->{path}.pm"};
+
+ # Save to the singleton
+ $MAIN = $self;
+
+ return 1;
+}
sub autoload {
my $self = shift;
@@ -152,33 +175,6 @@
};
}
-sub import {
- my $class = shift;
- my $self = $class->new(@_);
- my $who = $self->_caller;
-
- unless ( -f $self->{file} ) {
- require "$self->{path}/$self->{dispatch}.pm";
- File::Path::mkpath("$self->{prefix}/$self->{author}");
- $self->{admin} = "$self->{name}::$self->{dispatch}"->new( _top => $self );
- $self->{admin}->init;
- @_ = ($class, _self => $self);
- goto &{"$self->{name}::import"};
- }
-
- *{"${who}::AUTOLOAD"} = $self->autoload;
- $self->preload;
-
- # Unregister loader and worker packages so subdirs can use them again
- delete $INC{"$self->{file}"};
- delete $INC{"$self->{path}.pm"};
-
- # Save to the singleton
- $MAIN = $self;
-
- return 1;
-}
-
sub preload {
my $self = shift;
unless ( $self->{extensions} ) {
Modified: branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/AutoInstall.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/AutoInstall.pm?rev=55058&op=diff
==============================================================================
--- branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/AutoInstall.pm (original)
+++ branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/AutoInstall.pm Mon Mar 29 20:06:41 2010
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.92';
+ $VERSION = '0.95';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
Modified: branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Base.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Base.pm?rev=55058&op=diff
==============================================================================
--- branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Base.pm (original)
+++ branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Base.pm Mon Mar 29 20:06:41 2010
@@ -4,7 +4,7 @@
use strict 'vars';
use vars qw{$VERSION};
BEGIN {
- $VERSION = '0.92';
+ $VERSION = '0.95';
}
# Suspend handler for "redefined" warnings
Modified: branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Can.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Can.pm?rev=55058&op=diff
==============================================================================
--- branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Can.pm (original)
+++ branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Can.pm Mon Mar 29 20:06:41 2010
@@ -9,7 +9,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.92';
+ $VERSION = '0.95';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
Modified: branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Fetch.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Fetch.pm?rev=55058&op=diff
==============================================================================
--- branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Fetch.pm (original)
+++ branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Fetch.pm Mon Mar 29 20:06:41 2010
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.92';
+ $VERSION = '0.95';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
Modified: branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Include.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Include.pm?rev=55058&op=diff
==============================================================================
--- branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Include.pm (original)
+++ branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Include.pm Mon Mar 29 20:06:41 2010
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.92';
+ $VERSION = '0.95';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
Modified: branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Makefile.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Makefile.pm?rev=55058&op=diff
==============================================================================
--- branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Makefile.pm (original)
+++ branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Makefile.pm Mon Mar 29 20:06:41 2010
@@ -7,7 +7,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.92';
+ $VERSION = '0.95';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -25,8 +25,8 @@
die "Caught an potential prompt infinite loop ($c[1]|$c[2]|$_[0])";
}
- # In automated testing, always use defaults
- if ( $ENV{AUTOMATED_TESTING} and ! $ENV{PERL_MM_USE_DEFAULT} ) {
+ # In automated testing or non-interactive session, always use defaults
+ if ( ($ENV{AUTOMATED_TESTING} or -! -t STDIN) and ! $ENV{PERL_MM_USE_DEFAULT} ) {
local $ENV{PERL_MM_USE_DEFAULT} = 1;
goto &ExtUtils::MakeMaker::prompt;
} else {
@@ -45,10 +45,88 @@
( @_ < 2 or $makemaker >= eval($_[1]) ) ? $makemaker : 0
}
+# Ripped from ExtUtils::MakeMaker 6.56, and slightly modified
+# as we only need to know here whether the attribute is an array
+# or a hash or something else (which may or may not be appendable).
+my %makemaker_argtype = (
+ C => 'ARRAY',
+ CONFIG => 'ARRAY',
+# CONFIGURE => 'CODE', # ignore
+ DIR => 'ARRAY',
+ DL_FUNCS => 'HASH',
+ DL_VARS => 'ARRAY',
+ EXCLUDE_EXT => 'ARRAY',
+ EXE_FILES => 'ARRAY',
+ FUNCLIST => 'ARRAY',
+ H => 'ARRAY',
+ IMPORTS => 'HASH',
+ INCLUDE_EXT => 'ARRAY',
+ LIBS => 'ARRAY', # ignore ''
+ MAN1PODS => 'HASH',
+ MAN3PODS => 'HASH',
+ META_ADD => 'HASH',
+ META_MERGE => 'HASH',
+ PL_FILES => 'HASH',
+ PM => 'HASH',
+ PMLIBDIRS => 'ARRAY',
+ PMLIBPARENTDIRS => 'ARRAY',
+ PREREQ_PM => 'HASH',
+ CONFIGURE_REQUIRES => 'HASH',
+ SKIP => 'ARRAY',
+ TYPEMAPS => 'ARRAY',
+ XS => 'HASH',
+# VERSION => ['version',''], # ignore
+# _KEEP_AFTER_FLUSH => '',
+
+ clean => 'HASH',
+ depend => 'HASH',
+ dist => 'HASH',
+ dynamic_lib=> 'HASH',
+ linkext => 'HASH',
+ macro => 'HASH',
+ postamble => 'HASH',
+ realclean => 'HASH',
+ test => 'HASH',
+ tool_autosplit => 'HASH',
+
+ # special cases where you can use makemaker_append
+ CCFLAGS => 'APPENDABLE',
+ DEFINE => 'APPENDABLE',
+ INC => 'APPENDABLE',
+ LDDLFLAGS => 'APPENDABLE',
+ LDFROM => 'APPENDABLE',
+);
+
sub makemaker_args {
- my $self = shift;
+ my ($self, %new_args) = @_;
my $args = ( $self->{makemaker_args} ||= {} );
- %$args = ( %$args, @_ );
+ foreach my $key (keys %new_args) {
+ if ($makemaker_argtype{$key} eq 'ARRAY') {
+ $args->{$key} = [] unless defined $args->{$key};
+ unless (ref $args->{$key} eq 'ARRAY') {
+ $args->{$key} = [$args->{$key}]
+ }
+ push @{$args->{$key}},
+ ref $new_args{$key} eq 'ARRAY'
+ ? @{$new_args{$key}}
+ : $new_args{$key};
+ }
+ elsif ($makemaker_argtype{$key} eq 'HASH') {
+ $args->{$key} = {} unless defined $args->{$key};
+ foreach my $skey (keys %{ $new_args{$key} }) {
+ $args->{$key}{$skey} = $new_args{$key}{$skey};
+ }
+ }
+ elsif ($makemaker_argtype{$key} eq 'APPENDABLE') {
+ $self->makemaker_append($key => $new_args{$key});
+ }
+ else {
+ if (defined $args->{$key}) {
+ warn qq{MakeMaker attribute "$key" is overriden; use "makemaker_append" to append values\n};
+ }
+ $args->{$key} = $new_args{$key};
+ }
+ }
return $args;
}
@@ -58,8 +136,8 @@
my $self = shift;
my $name = shift;
my $args = $self->makemaker_args;
- $args->{name} = defined $args->{$name}
- ? join( ' ', $args->{name}, @_ )
+ $args->{$name} = defined $args->{$name}
+ ? join( ' ', $args->{$name}, @_ )
: join( ' ', @_ );
}
@@ -118,6 +196,9 @@
%test_dir = ();
require File::Find;
File::Find::find( \&_wanted_t, $dir );
+ if ( -d 'xt' and ($Module::Install::AUTHOR or $ENV{RELEASE_TESTING}) ) {
+ File::Find::find( \&_wanted_t, 'xt' );
+ }
$self->tests( join ' ', map { "$_/*.t" } sort keys %test_dir );
}
@@ -155,23 +236,42 @@
my $args = $self->makemaker_args;
$args->{DISTNAME} = $self->name;
$args->{NAME} = $self->module_name || $self->name;
- $args->{VERSION} = $self->version;
$args->{NAME} =~ s/-/::/g;
+ $args->{VERSION} = $self->version or die <<'EOT';
+ERROR: Can't determine distribution version. Please specify it
+explicitly via 'version' in Makefile.PL, or set a valid $VERSION
+in a module, and provide its file path via 'version_from' (or
+'all_from' if you prefer) in Makefile.PL.
+EOT
+
+ $DB::single = 1;
if ( $self->tests ) {
- $args->{test} = { TESTS => $self->tests };
+ my @tests = split ' ', $self->tests;
+ my %seen;
+ $args->{test} = {
+ TESTS => (join ' ', grep {!$seen{$_}++} @tests),
+ };
+ } elsif ( -d 'xt' and ($Module::Install::AUTHOR or $ENV{RELEASE_TESTING}) ) {
+ $args->{test} = {
+ TESTS => join( ' ', map { "$_/*.t" } grep { -d $_ } qw{ t xt } ),
+ };
}
if ( $] >= 5.005 ) {
$args->{ABSTRACT} = $self->abstract;
- $args->{AUTHOR} = $self->author;
+ $args->{AUTHOR} = join ', ', @{$self->author || []};
}
if ( $self->makemaker(6.10) ) {
- $args->{NO_META} = 1;
+ $args->{NO_META} = 1;
+ #$args->{NO_MYMETA} = 1;
}
if ( $self->makemaker(6.17) and $self->sign ) {
$args->{SIGN} = 1;
}
unless ( $self->is_admin ) {
delete $args->{SIGN};
+ }
+ if ( $self->makemaker(6.31) and $self->license ) {
+ $args->{LICENSE} = $self->license;
}
my $prereq = ($args->{PREREQ_PM} ||= {});
@@ -222,12 +322,17 @@
}
}
- $args->{INSTALLDIRS} = $self->installdirs;
-
- my %args = map { ( $_ => $args->{$_} ) } grep {defined($args->{$_})} keys %$args;
+ if ($self->installdirs) {
+ warn qq{old INSTALLDIRS (probably set by makemaker_args) is overriden by installdirs\n} if $args->{INSTALLDIRS};
+ $args->{INSTALLDIRS} = $self->installdirs;
+ }
+
+ my %args = map {
+ ( $_ => $args->{$_} ) } grep {defined($args->{$_} )
+ } keys %$args;
my $user_preop = delete $args{dist}->{PREOP};
- if (my $preop = $self->admin->preop($user_preop)) {
+ if ( my $preop = $self->admin->preop($user_preop) ) {
foreach my $key ( keys %$preop ) {
$args{dist}->{$key} = $preop->{$key};
}
@@ -297,4 +402,4 @@
__END__
-#line 426
+#line 531
Modified: branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Metadata.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Metadata.pm?rev=55058&op=diff
==============================================================================
--- branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Metadata.pm (original)
+++ branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Metadata.pm Mon Mar 29 20:06:41 2010
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.92';
+ $VERSION = '0.95';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -19,7 +19,6 @@
name
module_name
abstract
- author
version
distribution_type
tests
@@ -43,7 +42,10 @@
my @array_keys = qw{
keywords
+ author
};
+
+*authors = \&author;
sub Meta { shift }
sub Meta_BooleanKeys { @boolean_keys }
@@ -230,7 +232,7 @@
die("The path '$file' does not exist, or is not a file");
}
- $self->{values}{all_from} = $file;
+ $self->{values}{all_from} = $file;
# Some methods pull from POD instead of code.
# If there is a matching .pod, use that instead
@@ -242,7 +244,7 @@
$self->name_from($file) unless $self->name;
$self->version_from($file) unless $self->version;
$self->perl_version_from($file) unless $self->perl_version;
- $self->author_from($pod) unless $self->author;
+ $self->author_from($pod) unless @{$self->author || []};
$self->license_from($pod) unless $self->license;
$self->abstract_from($pod) unless $self->abstract;
@@ -428,8 +430,49 @@
([^\n]*)
/ixms) {
my $author = $1 || $2;
- $author =~ s{E<lt>}{<}g;
- $author =~ s{E<gt>}{>}g;
+
+ # XXX: ugly but should work anyway...
+ if (eval "require Pod::Escapes; 1") {
+ # Pod::Escapes has a mapping table.
+ # It's in core of perl >= 5.9.3, and should be installed
+ # as one of the Pod::Simple's prereqs, which is a prereq
+ # of Pod::Text 3.x (see also below).
+ $author =~ s{ E<( (\d+) | ([A-Za-z]+) )> }
+ {
+ defined $2
+ ? chr($2)
+ : defined $Pod::Escapes::Name2character_number{$1}
+ ? chr($Pod::Escapes::Name2character_number{$1})
+ : do {
+ warn "Unknown escape: E<$1>";
+ "E<$1>";
+ };
+ }gex;
+ }
+ elsif (eval "require Pod::Text; 1" && $Pod::Text::VERSION < 3) {
+ # Pod::Text < 3.0 has yet another mapping table,
+ # though the table name of 2.x and 1.x are different.
+ # (1.x is in core of Perl < 5.6, 2.x is in core of
+ # Perl < 5.9.3)
+ my $mapping = ($Pod::Text::VERSION < 2)
+ ? \%Pod::Text::HTML_Escapes
+ : \%Pod::Text::ESCAPES;
+ $author =~ s{ E<( (\d+) | ([A-Za-z]+) )> }
+ {
+ defined $2
+ ? chr($2)
+ : defined $mapping->{$1}
+ ? $mapping->{$1}
+ : do {
+ warn "Unknown escape: E<$1>";
+ "E<$1>";
+ };
+ }gex;
+ }
+ else {
+ $author =~ s{E<lt>}{<}g;
+ $author =~ s{E<gt>}{>}g;
+ }
$self->author($author);
} else {
warn "Cannot determine author info from $_[0]\n";
@@ -437,43 +480,47 @@
}
sub _extract_license {
- if (
- $_[0] =~ m/
- (
- =head \d \s+
- (?:licen[cs]e|licensing|copyrights?|legal)\b
- .*?
- )
- (=head\\d.*|=cut.*|)
- \z
- /ixms ) {
- my $license_text = $1;
- my @phrases = (
- 'under the same (?:terms|license) as (?:perl|the perl programming language)' => 'perl', 1,
- 'under the terms of (?:perl|the perl programming language) itself' => 'perl', 1,
- 'GNU general public license' => 'gpl', 1,
- 'GNU public license' => 'gpl', 1,
- 'GNU lesser general public license' => 'lgpl', 1,
- 'GNU lesser public license' => 'lgpl', 1,
- 'GNU library general public license' => 'lgpl', 1,
- 'GNU library public license' => 'lgpl', 1,
- 'BSD license' => 'bsd', 1,
- 'Artistic license' => 'artistic', 1,
- 'GPL' => 'gpl', 1,
- 'LGPL' => 'lgpl', 1,
- 'BSD' => 'bsd', 1,
- 'Artistic' => 'artistic', 1,
- 'MIT' => 'mit', 1,
- 'proprietary' => 'proprietary', 0,
- );
- while ( my ($pattern, $license, $osi) = splice(@phrases, 0, 3) ) {
- $pattern =~ s#\s+#\\s+#gs;
- if ( $license_text =~ /\b$pattern\b/i ) {
- return $license;
- }
- }
- } else {
- return;
+ my $pod = shift;
+ my $matched;
+ return __extract_license(
+ ($matched) = $pod =~ m/
+ (=head \d \s+ (?:licen[cs]e|licensing)\b.*?)
+ (=head \d.*|=cut.*|)\z
+ /ixms
+ ) || __extract_license(
+ ($matched) = $pod =~ m/
+ (=head \d \s+ (?:copyrights?|legal)\b.*?)
+ (=head \d.*|=cut.*|)\z
+ /ixms
+ );
+}
+
+sub __extract_license {
+ my $license_text = shift or return;
+ my @phrases = (
+ 'under the same (?:terms|license) as (?:perl|the perl programming language)' => 'perl', 1,
+ 'under the terms of (?:perl|the perl programming language) itself' => 'perl', 1,
+ 'Artistic and GPL' => 'perl', 1,
+ 'GNU general public license' => 'gpl', 1,
+ 'GNU public license' => 'gpl', 1,
+ 'GNU lesser general public license' => 'lgpl', 1,
+ 'GNU lesser public license' => 'lgpl', 1,
+ 'GNU library general public license' => 'lgpl', 1,
+ 'GNU library public license' => 'lgpl', 1,
+ 'BSD license' => 'bsd', 1,
+ 'Artistic license' => 'artistic', 1,
+ 'GPL' => 'gpl', 1,
+ 'LGPL' => 'lgpl', 1,
+ 'BSD' => 'bsd', 1,
+ 'Artistic' => 'artistic', 1,
+ 'MIT' => 'mit', 1,
+ 'proprietary' => 'proprietary', 0,
+ );
+ while ( my ($pattern, $license, $osi) = splice(@phrases, 0, 3) ) {
+ $pattern =~ s#\s+#\\s+#gs;
+ if ( $license_text =~ /\b$pattern\b/i ) {
+ return $license;
+ }
}
}
Modified: branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Win32.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Win32.pm?rev=55058&op=diff
==============================================================================
--- branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Win32.pm (original)
+++ branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/Win32.pm Mon Mar 29 20:06:41 2010
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.92';
+ $VERSION = '0.95';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
Modified: branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/WriteAll.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/WriteAll.pm?rev=55058&op=diff
==============================================================================
--- branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/WriteAll.pm (original)
+++ branches/upstream/libmoosex-types-structured-perl/current/inc/Module/Install/WriteAll.pm Mon Mar 29 20:06:41 2010
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.92';;
+ $VERSION = '0.95';;
@ISA = qw{Module::Install::Base};
$ISCORE = 1;
}
@@ -26,7 +26,10 @@
$self->check_nmake if $args{check_nmake};
unless ( $self->makemaker_args->{PL_FILES} ) {
- $self->makemaker_args( PL_FILES => {} );
+ # XXX: This still may be a bit over-defensive...
+ unless ($self->makemaker(6.25)) {
+ $self->makemaker_args( PL_FILES => {} ) if -f 'Build.PL';
+ }
}
# Until ExtUtils::MakeMaker support MYMETA.yml, make sure
Modified: branches/upstream/libmoosex-types-structured-perl/current/lib/MooseX/Meta/TypeConstraint/Structured.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-types-structured-perl/current/lib/MooseX/Meta/TypeConstraint/Structured.pm?rev=55058&op=diff
==============================================================================
--- branches/upstream/libmoosex-types-structured-perl/current/lib/MooseX/Meta/TypeConstraint/Structured.pm (original)
+++ branches/upstream/libmoosex-types-structured-perl/current/lib/MooseX/Meta/TypeConstraint/Structured.pm Mon Mar 29 20:06:41 2010
@@ -267,7 +267,7 @@
=head2 type_constraints_equals
-Checks to see if the internal type contraints are equal.
+Checks to see if the internal type constraints are equal.
=cut
Modified: branches/upstream/libmoosex-types-structured-perl/current/lib/MooseX/Types/Structured.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-types-structured-perl/current/lib/MooseX/Types/Structured.pm?rev=55058&op=diff
==============================================================================
--- branches/upstream/libmoosex-types-structured-perl/current/lib/MooseX/Types/Structured.pm (original)
+++ branches/upstream/libmoosex-types-structured-perl/current/lib/MooseX/Types/Structured.pm Mon Mar 29 20:06:41 2010
@@ -11,7 +11,7 @@
use Devel::PartialDump;
use Scalar::Util qw(blessed);
-our $VERSION = '0.20';
+our $VERSION = '0.21';
our $AUTHORITY = 'cpan:JJNAPIORK';
=head1 NAME
@@ -128,7 +128,7 @@
=head2 Comparing Parameterized types to Structured types
Parameterized constraints are built into core Moose and you are probably already
-familar with the type constraints 'HashRef' and 'ArrayRef'. Structured types
+familiar with the type constraints 'HashRef' and 'ArrayRef'. Structured types
have similar functionality, so their syntax is likewise similar. For example,
you could define a parameterized constraint like:
Modified: branches/upstream/libmoosex-types-structured-perl/current/t/04-map.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-types-structured-perl/current/t/04-map.t?rev=55058&op=diff
==============================================================================
--- branches/upstream/libmoosex-types-structured-perl/current/t/04-map.t (original)
+++ branches/upstream/libmoosex-types-structured-perl/current/t/04-map.t Mon Mar 29 20:06:41 2010
@@ -4,7 +4,6 @@
use MooseX::Types::Moose qw(Int Num);
use MooseX::Types::Structured qw(Map);
-use Try::Tiny;
my $type = Map[ Int, Num ];
More information about the Pkg-perl-cvs-commits
mailing list