@@ -0,0 +1,10 @@
+language: perl
+perl:
+ - '5.20'
+ - '5.18'
+ - '5.16'
+ - '5.14'
+ - '5.12'
+ - '5.10'
+ - '5.8'
+
@@ -1,5 +1,20 @@
Changes for Perl programming language extension Module-Install
+1.12 Fri 29 Aug 2014
+ - Revert license behaviour (TSIBLEY)
+ - Documentation also mentioning metacpan.org (LLAP)
+
+1.10 Fri 11 Jul 2014
+ - Minimum perl version is now v5.6.0 (BOWTIE)
+ - Update license tables (BOWTIE)
+ - Prereqs and recommends adjusted (BOWTIE)
+ - Typo fixes (BOWTIE)
+ - Pod fixes (GREGOA)
+ - Fix make upgradedeps work with bundles (JNWHITLEY)
+ - Fix name_from regex to work with recent package syntax (BOWTIE)
+ - Performance enhancements when running Makefile.PL (GFUJI)
+ - Removed use of sub prototypes (BOWTIE)
+
1.08 Thu 6 Mar 2014
- Remove LWP::UserAgent from the prereqs (TOKUHIROM)
- Require a more recent version of Module::ScanDeps (CHORNY)
@@ -1,3 +1,4 @@
+.travis.yml
Changes
inc/Module/Install.pm
inc/Module/Install/Base.pm
@@ -6,6 +7,7 @@ inc/Module/Install/Fetch.pm
inc/Module/Install/Makefile.pm
inc/Module/Install/Metadata.pm
inc/Module/Install/Win32.pm
+inc/Module/Install/With.pm
inc/Module/Install/WriteAll.pm
lib/inc/Module/Install.pm
lib/inc/Module/Install/DSL.pm
@@ -83,6 +85,7 @@ t/28_makemaker_args.t
t/29_requires_from.t
t/30_build_subdirs.t
t/31_add_metadata.t
+t/32_module_name.t
t/lib/Test.pm
t/recursive/test.t
xt/licenses.t
@@ -3,15 +3,15 @@ abstract: 'Standalone, extensible Perl module installer'
author:
- 'Adam Kennedy <adamk@cpan.org>'
build_requires:
- ExtUtils::MakeMaker: 6.36
+ ExtUtils::MakeMaker: 6.59
Test::Harness: '3.13'
Test::More: '0.86'
configure_requires:
- ExtUtils::MakeMaker: 6.36
+ ExtUtils::MakeMaker: 6.59
YAML::Tiny: '1.33'
distribution_type: module
dynamic_config: 0
-generated_by: 'Module::Install version 1.08'
+generated_by: 'Module::Install version 1.12'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -22,23 +22,28 @@ no_index:
- inc
- t
- xt
+recommends:
+ Archive::Zip: '1.37'
+ File::HomeDir: '1'
+ JSON: '2.9'
+ LWP::Simple: '6.00'
+ LWP::UserAgent: '6.05'
+ PAR::Dist: '0.29'
requires:
- Archive::Tar: '1.44'
Devel::PPPort: '3.16'
ExtUtils::Install: '1.52'
ExtUtils::MakeMaker: '6.59'
ExtUtils::ParseXS: '2.19'
+ File::Path: 0
File::Remove: '1.42'
File::Spec: '3.28'
- JSON: '2.14'
Module::Build: '0.29'
Module::CoreList: '2.17'
Module::ScanDeps: '1.09'
- PAR::Dist: '0.29'
Parse::CPAN::Meta: '1.4413'
YAML::Tiny: '1.38'
- perl: '5.005'
+ perl: 5.6.0
resources:
license: http://dev.perl.org/licenses/
repository: https://github.com/Perl-Toolchain-Gang/Module-Install.git
-version: '1.08'
+version: '1.12'
@@ -18,25 +18,33 @@ use inc::Module::Install;
name 'Module-Install';
author 'Adam Kennedy <adamk@cpan.org>';
-perl_version '5.005';
+perl_version '5.006';
all_from 'lib/Module/Install.pm';
-requires 'Parse::CPAN::Meta' => '1.4413';
-requires 'File::Spec' => '3.28';
+
requires 'Devel::PPPort' => '3.16';
-requires 'File::Remove' => '1.42';
-requires 'YAML::Tiny' => '1.38';
-requires 'JSON' => '2.14';
-requires 'Module::ScanDeps' => '1.09'; #detects prereqs better
-requires 'Module::CoreList' => '2.17';
-requires 'PAR::Dist' => '0.29';
-requires 'Archive::Tar' => '1.44';
requires 'ExtUtils::Install' => '1.52';
requires 'ExtUtils::MakeMaker' => '6.59';
requires 'ExtUtils::ParseXS' => '2.19';
+requires 'File::Path' => 0; #needs version
+requires 'File::Remove' => '1.42';
+requires 'File::Spec' => '3.28';
requires 'Module::Build' => '0.29';
+requires 'Module::CoreList' => '2.17';
+requires 'Module::ScanDeps' => '1.09'; #detects prereqs better
+requires 'Parse::CPAN::Meta' => '1.4413';
+requires 'Win32::UTCFileTime' => '1.56' if win32;
+requires 'YAML::Tiny' => '1.38';
+
test_requires 'Test::Harness' => '3.13';
test_requires 'Test::More' => '0.86';
+recommends 'Archive::Zip' => '1.37';
+recommends 'File::HomeDir' => '1';
+recommends 'JSON' => '2.9';
+recommends 'LWP::Simple' => '6.00';
+recommends 'LWP::UserAgent' => '6.05';
+recommends 'PAR::Dist' => '0.29';
+
# Remove some extra test files
clean_files( qw{ t/Foo } );
@@ -4,7 +4,7 @@ package Module::Install::Base;
use strict 'vars';
use vars qw{$VERSION};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
}
# Suspend handler for "redefined" warnings
@@ -8,7 +8,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -8,7 +8,7 @@ use Fcntl qw/:flock :seek/;
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -133,7 +133,7 @@ sub makemaker_args {
return $args;
}
-# For mm args that take multiple space-seperated args,
+# For mm args that take multiple space-separated args,
# append an argument to the current list.
sub makemaker_append {
my $self = shift;
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -347,7 +347,7 @@ sub name_from {
^ \s*
package \s*
([\w:]+)
- \s* ;
+ [\s|;]*
/ixms
) {
my ($name, $module_name) = ($1, $1);
@@ -705,7 +705,7 @@ sub _write_mymeta_data {
my @yaml = Parse::CPAN::Meta::LoadFile('META.yml');
my $meta = $yaml[0];
- # Overwrite the non-configure dependency hashs
+ # Overwrite the non-configure dependency hashes
delete $meta->{requires};
delete $meta->{build_requires};
delete $meta->{recommends};
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -0,0 +1,82 @@
+#line 1
+package Module::Install::With;
+
+# See POD at end for docs
+
+use strict;
+use Module::Install::Base ();
+
+use vars qw{$VERSION @ISA $ISCORE};
+BEGIN {
+ $VERSION = '1.12';
+ @ISA = 'Module::Install::Base';
+ $ISCORE = 1;
+}
+
+#line 21
+
+#####################################################################
+# Installer Target
+
+# Are we targeting ExtUtils::MakeMaker (running as Makefile.PL)
+sub eumm {
+ !! ($0 =~ /Makefile.PL$/i);
+}
+
+# You should not be using this, but we'll keep the hook anyways
+sub mb {
+ !! ($0 =~ /Build.PL$/i);
+}
+
+
+
+
+
+#####################################################################
+# Testing and Configuration Contexts
+
+#line 53
+
+sub interactive {
+ # Treat things interactively ONLY based on input
+ !! (-t STDIN and ! automated_testing());
+}
+
+#line 71
+
+sub automated_testing {
+ !! $ENV{AUTOMATED_TESTING};
+}
+
+#line 90
+
+sub release_testing {
+ !! $ENV{RELEASE_TESTING};
+}
+
+sub author_context {
+ !! $Module::Install::AUTHOR;
+}
+
+
+
+
+
+#####################################################################
+# Operating System Convenience
+
+#line 118
+
+sub win32 {
+ !! ($^O eq 'MSWin32');
+}
+
+#line 135
+
+sub winlike {
+ !! ($^O eq 'MSWin32' or $^O eq 'cygwin');
+}
+
+1;
+
+#line 163
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = qw{Module::Install::Base};
$ISCORE = 1;
}
@@ -17,7 +17,7 @@ package Module::Install;
# 3. The ./inc/ version of Module::Install loads
# }
-use 5.005;
+use 5.006;
use strict 'vars';
use Cwd ();
use File::Find ();
@@ -31,7 +31,7 @@ BEGIN {
# 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 = '1.08';
+ $VERSION = '1.12';
# Storage for the pseudo-singleton
$MAIN = undef;
@@ -156,10 +156,10 @@ END_DIE
sub autoload {
my $self = shift;
my $who = $self->_caller;
- my $cwd = Cwd::cwd();
+ my $cwd = Cwd::getcwd();
my $sym = "${who}::AUTOLOAD";
$sym->{$cwd} = sub {
- my $pwd = Cwd::cwd();
+ my $pwd = Cwd::getcwd();
if ( my $code = $sym->{$pwd} ) {
# Delegate back to parent dirs
goto &$code unless $cwd eq $pwd;
@@ -239,7 +239,7 @@ sub new {
# ignore the prefix on extension modules built from top level.
my $base_path = Cwd::abs_path($FindBin::Bin);
- unless ( Cwd::abs_path(Cwd::cwd()) eq $base_path ) {
+ unless ( Cwd::abs_path(Cwd::getcwd()) eq $base_path ) {
delete $args{prefix};
}
return $args{_self} if $args{_self};
@@ -338,7 +338,7 @@ sub find_extensions {
if ( $subpath eq lc($subpath) || $subpath eq uc($subpath) ) {
my $content = Module::Install::_read($subpath . '.pm');
my $in_pod = 0;
- foreach ( split //, $content ) {
+ foreach ( split /\n/, $content ) {
$in_pod = 1 if /^=\w/;
$in_pod = 0 if /^=cut/;
next if ($in_pod || /^=cut/); # skip pod text
@@ -434,7 +434,7 @@ END_OLD
# _version is for processing module versions (eg, 1.03_05) not
# Perl versions (eg, 5.8.1).
-sub _version ($) {
+sub _version {
my $s = shift || 0;
my $d =()= $s =~ /(\.)/g;
if ( $d >= 2 ) {
@@ -450,12 +450,12 @@ sub _version ($) {
return $l + 0;
}
-sub _cmp ($$) {
+sub _cmp {
_version($_[1]) <=> _version($_[2]);
}
# Cloned from Params::Util::_CLASS
-sub _CLASS ($) {
+sub _CLASS {
(
defined $_[0]
and
@@ -7,7 +7,7 @@ use ExtUtils::MakeMaker ();
use vars qw{$VERSION};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
}
# special map on pre-defined feature sets
@@ -114,7 +114,7 @@ sub import {
print "*** $class version " . $class->VERSION . "\n";
print "*** Checking for Perl dependencies...\n";
- my $cwd = Cwd::cwd();
+ my $cwd = Cwd::getcwd();
$Config = [];
@@ -165,7 +165,7 @@ sub import {
$modules = [ %{$modules} ] if UNIVERSAL::isa( $modules, 'HASH' );
unshift @$modules, -default => &{ shift(@$modules) }
- if ( ref( $modules->[0] ) eq 'CODE' ); # XXX: bugward combatability
+ if ( ref( $modules->[0] ) eq 'CODE' ); # XXX: bugward compatibility
while ( my ( $mod, $arg ) = splice( @$modules, 0, 2 ) ) {
if ( $mod =~ m/^-(\w+)$/ ) {
@@ -344,22 +344,26 @@ sub install {
my $i; # used below to strip leading '-' from config keys
my @config = ( map { s/^-// if ++$i; $_ } @{ +shift } );
- my ( @modules, @installed );
- while ( my ( $pkg, $ver ) = splice( @_, 0, 2 ) ) {
+ my ( @modules, @installed, @modules_to_upgrade );
+ while (my ($pkg, $ver) = splice(@_, 0, 2)) {
- # grep out those already installed
- if ( _version_cmp( _version_of($pkg), $ver ) >= 0 ) {
- push @installed, $pkg;
- }
- else {
- push @modules, $pkg, $ver;
- }
- }
+ # grep out those already installed
+ if (_version_cmp(_version_of($pkg), $ver) >= 0) {
+ push @installed, $pkg;
+ if ($UpgradeDeps) {
+ push @modules_to_upgrade, $pkg, $ver;
+ }
+ }
+ else {
+ push @modules, $pkg, $ver;
+ }
+ }
- if ($UpgradeDeps) {
- push @modules, @installed;
- @installed = ();
- }
+ if ($UpgradeDeps) {
+ push @modules, @modules_to_upgrade;
+ @installed = ();
+ @modules_to_upgrade = ();
+ }
return @installed unless @modules; # nothing to do
return @installed if _check_lock(); # defer to the CPAN shell
@@ -610,7 +614,7 @@ sub _under_cpan {
require Cwd;
require File::Spec;
- my $cwd = File::Spec->canonpath( Cwd::cwd() );
+ my $cwd = File::Spec->canonpath( Cwd::getcwd() );
my $cpan = File::Spec->canonpath( $CPAN::Config->{cpan_home} );
return ( index( $cwd, $cpan ) > -1 );
@@ -2,11 +2,10 @@ package Module::Install::Admin::Bundle;
use strict;
use Module::Install::Base;
-use Module::CoreList;
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = qw{Module::Install::Base};
}
@@ -7,7 +7,7 @@ use Devel::PPPort ();
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = qw{Module::Install::Base};
}
@@ -5,7 +5,7 @@ use File::Find ();
use Module::Install::Base ();
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = qw(Module::Install::Base);
}
@@ -5,7 +5,7 @@ use Module::Install::Base;
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = qw{Module::Install::Base};
}
@@ -59,7 +59,7 @@ sub auto_include_deps {
=head1 NAME
-Module::Install::Admin::Include
+Module::Install::Admin::Include - include methods for Module::Install
=head2 auto_include_dependent_dists
@@ -149,7 +149,7 @@ sub _pkg_to_dist {
=for private _dist_to_mods $distname
Takes the output of CPAN::Module->cpan_file and return all the modules
-that CPAN.pm knows are in that dist. There's probably a beter way using CPANPLUS
+that CPAN.pm knows are in that dist. There's probably a better way using CPANPLUS
=cut
@@ -6,7 +6,7 @@ use ExtUtils::MakeMaker ();
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = qw{Module::Install::Base};
}
@@ -5,11 +5,11 @@ use Module::Install::Base;
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = qw{Module::Install::Base};
}
-use Cwd;
+use Cwd ();
use File::Spec;
# XXX I really want this method in Module::Install::Admin::Makefile
@@ -93,7 +93,7 @@ sub _read_manifest {
my $manifest_path = '';
my $relative_path = '';
my @relative_dirs = ();
- my $cwd = Cwd::cwd();
+ my $cwd = Cwd::getcwd();
my @cwd_dirs = File::Spec->splitdir($cwd);
while ( @cwd_dirs ) {
last unless -f File::Spec->catfile(@cwd_dirs, 'Makefile.PL');
@@ -6,7 +6,7 @@ use Module::Install::Base;
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
}
@@ -60,7 +60,7 @@ sub dump_meta {
delete $val->{sign};
# Dependencies MUST be assumed to be dynamic unless indicated
- # otherwise, otherwise a negligant author who accidentally forgets
+ # otherwise, otherwise a negligent author who accidentally forgets
# to say which will release modules that break on some platforms.
unless ( defined $val->{dynamic_config} ) {
$val->{dynamic_config} = 1;
@@ -4,7 +4,7 @@ use strict;
use Module::Install::Base ();
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = qw(Module::Install::Base);
}
@@ -5,7 +5,7 @@ use Module::Install::Base;
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = qw{Module::Install::Base};
}
@@ -6,7 +6,7 @@ use inc::Module::Install ();
use vars qw{$VERSION @ISA};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install';
}
@@ -5,7 +5,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -3,7 +3,7 @@ package Module::Install::Base;
use strict 'vars';
use vars qw{$VERSION};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
}
# Suspend handler for "redefined" warnings
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -137,7 +137,7 @@ benefits:
Bundling differs from auto-installation in that when it comes time to
install, a bundled distribution will be installed based on the distribution
-bundled with your distribution, whereas with auto-installation the distibution
+bundled with your distribution, whereas with auto-installation the distribution
to be installed will be acquired from CPAN and then installed.
=head1 METHODS
@@ -7,7 +7,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -212,7 +212,7 @@ Currently, the use of a C<can_foo> command in a single problem domain
functionality from different problem domains (for example C<can_run>).
This module should ultimately be broken up, and the individual
-functions redestributed to different domain-specific extensions.
+functions redistributed to different domain-specific extensions.
=head1 AUTHORS
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -3,7 +3,7 @@ package Module::Install::DSL;
use strict;
use vars qw{$VERSION $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
$ISCORE = 1;
*inc::Module::Install::DSL::VERSION = *VERSION;
@inc::Module::Install::DSL::ISA = __PACKAGE__;
@@ -5,7 +5,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -7,7 +7,7 @@ use Module::Install::Base ();
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
@@ -124,7 +124,7 @@ It does not take any params, and aborts the F<Makefile.PL> execution
in a way that an automated installation or testing system will interpret
as a C<NA> ("not applicable to this platform") result.
-This may be be changed to an alternative abort result at a later time.
+This may be changed to an alternative abort result at a later time.
Returns true as a convenience.
@@ -34,7 +34,7 @@ write better, but also a tool to encourage you to help others.
Not at all, B<using C<auto_install()> is just fine>. While it indeed
behaved erratically in older L<Module::Install> versions, there have
-been no reported issues since mid-2009. As far as compatbility with
+been no reported issues since mid-2009. As far as compatibility with
various CPAN clients: several rather large projects on CPAN (including
L<Catalyst> and L<DBIx::Class>), are using C<auto_install> without any
issues reported by their substantial userbases.
@@ -5,7 +5,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -5,7 +5,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -5,7 +5,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -7,7 +7,7 @@ use Fcntl qw/:flock :seek/;
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -132,7 +132,7 @@ sub makemaker_args {
return $args;
}
-# For mm args that take multiple space-seperated args,
+# For mm args that take multiple space-separated args,
# append an argument to the current list.
sub makemaker_append {
my $self = shift;
@@ -5,7 +5,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -346,7 +346,7 @@ sub name_from {
^ \s*
package \s*
([\w:]+)
- \s* ;
+ [\s|;]*
/ixms
) {
my ($name, $module_name) = ($1, $1);
@@ -704,7 +704,7 @@ sub _write_mymeta_data {
my @yaml = Parse::CPAN::Meta::LoadFile('META.yml');
my $meta = $yaml[0];
- # Overwrite the non-configure dependency hashs
+ # Overwrite the non-configure dependency hashes
delete $meta->{requires};
delete $meta->{build_requires};
delete $meta->{recommends};
@@ -5,7 +5,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -246,7 +246,7 @@ sub make_par {
my ($self, $file) = @_;
unlink $file if -f $file;
- unless ( eval { require PAR::Dist; PAR::Dist->VERSION >= 0.03 } ) {
+ unless ( eval { require PAR::Dist; PAR::Dist->VERSION(0.03) } ) {
warn "Please install PAR::Dist 0.03 or above first.";
return;
}
@@ -5,7 +5,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -5,7 +5,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -7,7 +7,7 @@ use ExtUtils::Manifest ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -5,7 +5,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -7,14 +7,18 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
+=pod
+=head1 NAME
+Module::Install::With - find environnement for Module::Install
+=cut
#####################################################################
# Installer Target
@@ -5,7 +5,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = qw{Module::Install::Base};
$ISCORE = 1;
}
@@ -16,7 +16,7 @@ package Module::Install;
# 3. The ./inc/ version of Module::Install loads
# }
-use 5.005;
+use 5.006;
use strict 'vars';
use Cwd ();
use File::Find ();
@@ -30,7 +30,7 @@ BEGIN {
# 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 = '1.08';
+ $VERSION = '1.12';
# Storage for the pseudo-singleton
$MAIN = undef;
@@ -155,10 +155,10 @@ END_DIE
sub autoload {
my $self = shift;
my $who = $self->_caller;
- my $cwd = Cwd::cwd();
+ my $cwd = Cwd::getcwd();
my $sym = "${who}::AUTOLOAD";
$sym->{$cwd} = sub {
- my $pwd = Cwd::cwd();
+ my $pwd = Cwd::getcwd();
if ( my $code = $sym->{$pwd} ) {
# Delegate back to parent dirs
goto &$code unless $cwd eq $pwd;
@@ -238,7 +238,7 @@ sub new {
# ignore the prefix on extension modules built from top level.
my $base_path = Cwd::abs_path($FindBin::Bin);
- unless ( Cwd::abs_path(Cwd::cwd()) eq $base_path ) {
+ unless ( Cwd::abs_path(Cwd::getcwd()) eq $base_path ) {
delete $args{prefix};
}
return $args{_self} if $args{_self};
@@ -337,7 +337,7 @@ sub find_extensions {
if ( $subpath eq lc($subpath) || $subpath eq uc($subpath) ) {
my $content = Module::Install::_read($subpath . '.pm');
my $in_pod = 0;
- foreach ( split //, $content ) {
+ foreach ( split /\n/, $content ) {
$in_pod = 1 if /^=\w/;
$in_pod = 0 if /^=cut/;
next if ($in_pod || /^=cut/); # skip pod text
@@ -433,7 +433,7 @@ END_OLD
# _version is for processing module versions (eg, 1.03_05) not
# Perl versions (eg, 5.8.1).
-sub _version ($) {
+sub _version {
my $s = shift || 0;
my $d =()= $s =~ /(\.)/g;
if ( $d >= 2 ) {
@@ -449,12 +449,12 @@ sub _version ($) {
return $l + 0;
}
-sub _cmp ($$) {
+sub _cmp {
_version($_[1]) <=> _version($_[2]);
}
# Cloned from Params::Util::_CLASS
-sub _CLASS ($) {
+sub _CLASS {
(
defined $_[0]
and
@@ -9,18 +9,18 @@ Module::Install - Standalone, extensible Perl module installer
In your F<Makefile.PL>: (Recommended Usage)
use inc::Module::Install;
-
+
# Define metadata
name 'Your-Module';
all_from 'lib/Your/Module.pm';
-
+
# Specific dependencies
requires 'File::Spec' => '0.80';
test_requires 'Test::More' => '0.42';
recommends 'Text::CSV_XS'=> '0.50';
no_index 'directory' => 'demos';
install_script 'myscript';
-
+
WriteAll;
Quickly upgrade a legacy L<ExtUtil::MakeMaker> installer:
@@ -60,7 +60,7 @@ L<ExtUtils::MakeMaker> and L<Module::Build>.
These have accumulated B<greatly> varying feature and bug profiles over
the years, and it is now very difficult to write an installer that will
-work properly using only the installed versions of these modules,
+work properly using only the installed versions of these modules,
For example, the L<CPAN.pm> version shipped with Perl 5.005 is now 5+
years old and considered highly buggy, yet it still exists on quite a
@@ -279,7 +279,7 @@ and use this distribution, you must first install these modules first">.
Note that the dependency is on a B<module> and not a distribution. This
is to ensure that your dependency stays correct, even if the module is
-moved or merged into a different distribtion, as is occasionally the
+moved or merged into a different distribution, as is occasionally the
case.
A dependency on version zero indicates B<any> version of module is
@@ -328,7 +328,7 @@ The C<configure_requires> command creates an entry in the special
configure_requires: key in the distribution's F<META.yml> file.
Although most of F<META.yml> is considered advisory only, a L<CPAN>
-client will treat the contents of configure_requires: as authorative,
+client will treat the contents of configure_requires: as authoritive,
and install the listed modules B<before> it executes the F<Makefile.PL>
(from which it then determines the other dependencies).
@@ -375,8 +375,8 @@ the installation just by doing the following.
> scriptname
Running scriptname 0.01...
-
- >
+
+ >
By convention, scripts should be placed in a /script directory within your
distribution. To support less typing, if a script is located in the script
@@ -391,18 +391,18 @@ directory, you need refer to it by name only.
no_index directory => 'examples';
no_index package => 'DB';
-Quite often a distrubition will provide example scripts or testing
+Quite often a distribition will provide example scripts or testing
modules (.pm files) as well as the actual library modules.
In almost all situations, you do B<not> want these indexed in the CPAN
-index, the master Perl packages list, or displayed on the
-L<http://search.cpan.org/> website, you just want them along for the
+index, the master Perl packages list, or displayed on L<https://metacpan.org/>
+or L<http://search.cpan.org/> websites, you just want them along for the
ride.
The C<no_index> command is used to indicate directories or files where
there might be non-library .pm files or other files that the CPAN
-indexer and websites such as L<http://search.cpan.org/> should
-explicitly ignore.
+indexer and websites such as L<https://metacpan.org/>
+or L<http://search.cpan.org/> should explicitly ignore.
The most common situation is to ignore example or demo directories,
but a variety of different situations may require a C<no_index> entry.
@@ -418,8 +418,9 @@ The F<inc>, F<t> and F<share> (if C<install_share> is used) directories
are automatically C<no_index>'ed for you if found and do not require
an explicit command.
-To summarize, if you can see it on L<http://search.cpan.org/> and you
-shouldn't be able to, you need a C<no_index> entry to remove it.
+To summarize, if you can see it on L<https://metacpan.org/>
+or L<http://search.cpan.org/> and you shouldn't be able to, you need
+a C<no_index> entry to remove it.
=head2 installdirs, install_as_*
@@ -688,7 +689,7 @@ L<Method::Alias> is a trivially-small utility module, with almost the
smallest possible F<Makefile.PL>.
use inc::Module::Install;
-
+
name 'Method-Alias';
all_from 'lib/Method/Alias.pm';
test_requires 'Test::More' => '0.42';
@@ -699,22 +700,22 @@ L<File::HomeDir> locates your home directory on any platform. It needs
an installer that can handle different dependencies on different platforms.
use inc::Module::Install;
-
+
name 'File-HomeDir';
all_from 'lib/File/HomeDir.pm';
requires 'File::Spec' => '0.80';
test_requires 'Test::More' => '0.47';
-
+
if ( $MacPerl::Version ) {
# Needed on legacy Mac OS 9
requires 'Mac::Files' => 0;
}
-
+
if ( $^O eq 'MXWin32' ) {
# Needed on Windows platforms
requires 'Win32::TieRegistry' => 0;
}
-
+
WriteAll;
=head1 TO DO
@@ -730,7 +731,7 @@ Go over POD docs in detail.
Test recursive Makefile directories
The test suite needs a great deal more test scripts.
-
+
Dependencies on shared libraries (libxml/libxml.dll etc) and binary files
so that debian/Win32/etc autopackaging applications can create the
appropriate package-level dependencies there.
@@ -18,7 +18,7 @@ BEGIN {
# version an author currently has installed.
# This allows it to implement any back-compatibility features
# it may want or need to.
- $VERSION = '1.08';
+ $VERSION = '1.12';
}
if ( -d './inc' ) {
@@ -18,7 +18,7 @@ BEGIN {
# version an author currently has installed.
# This allows it to implement any back-compatibility features
# it may want or need to.
- $VERSION = '1.08';
+ $VERSION = '1.12';
}
if ( -d './inc' ) {
@@ -127,9 +127,9 @@ sub _require_myconfig_or_config {
}
# adapted from CPAN::HandleConfig
-sub _home () {
+sub _home {
my $home;
- if (eval "require File:HomeDir; 1") {
+ if (eval {require File::HomeDir; 1}) {
$home = File::HomeDir->can('my_dot_config')
? File::HomeDir->my_dot_config
: File::HomeDir->my_data;
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!perl
use strict;
BEGIN {
@@ -22,7 +22,7 @@ my @prompts = qw/y n n y y/;
use ExtUtils::MakeMaker;
sub ExtUtils::MakeMaker::WriteMakefile { $mm_args = {@_} }
-sub ExtUtils::MakeMaker::prompt ($;$) { return 'n' }
+sub ExtUtils::MakeMaker::prompt { return 'n' }
# tiehandle trick to intercept STDOUT.
sub PRINT { my $self = shift; $$self .= join '', @_; }
@@ -0,0 +1,68 @@
+#!perl
+
+use strict;
+
+BEGIN {
+ $| = 1;
+ $^W = 1;
+}
+
+use Test::More tests => 8;
+
+my @package_name = (
+ 'package Foo::Bar;',
+ 'package Foo::Bar 1.23;',
+ 'package Foo::Bar { ... }',
+ 'package Foo::Bar 1.23 { ... }',
+);
+
+foreach (@package_name) {
+ if (
+ $_ =~ m/
+ ^ \s*
+ package \s*
+ ([\w:]+)
+ [\s|;]*
+ /ixms
+ )
+ {
+ my ($name, $module_name) = ($1, $1);
+ $name =~ s{::}{-}g;
+ is($module_name, 'Foo::Bar', "found module_name Foo::Bar in $_");
+ is($name, 'Foo-Bar', "found name Foo-Bar in $_");
+ }
+}
+
+
+__END__
+
+Perl 5.12 introduced:
+
+ package Foo::Bar 1.23;
+ ...;
+
+Perl 5.14 introduced:
+
+ package Foo::Bar { ... }
+
+and they can be combined as:
+
+ package Foo::Bar 1.23 { ... }
+
+The name_from regex doesn't support any of the above. It expects the package name to be followed by optional whitespace then a semicolon.
+
+###
+
+approx line 342 in package Module::Install::Metadata::name_from;
+
+
+
+
+
+
+
+
+
+
+
+
@@ -9,7 +9,7 @@ use Config;
use vars qw{$VERSION @ISA @EXPORT $DIST};
BEGIN {
- $VERSION = '1.08';
+ $VERSION = '1.12';
@ISA = 'Exporter';
@EXPORT = qw{
create_dist
@@ -189,10 +189,17 @@ sub run_makefile_pl {
sub kill_dist {
my $dir = dir();
return 1 unless -d $dir;
+ windows_delay();
File::Remove::remove( \1, $dir );
+ windows_delay();
return -d $dir ? 0 : 1;
}
+sub windows_delay {
+ return if $^O ne 'MSWin32';
+ select undef, undef, undef, 0.1;
+}
+
sub supports_capture {
# stolen from ExtUtils::MakeMaker's test
use ExtUtils::MM;