Skip to content

Commit

Permalink
Version 1.00 releng
Browse files Browse the repository at this point in the history
  • Loading branch information
alexmv committed Sep 30, 2014
1 parent bb150dc commit e4a773d
Show file tree
Hide file tree
Showing 14 changed files with 414 additions and 682 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ README
*.swp
/META.yml
/MANIFEST
/MYMETA.*
6 changes: 0 additions & 6 deletions Makefile.PL
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
use inc::Module::Install;


RTx 'RT-Action-AssignUnownedToActor';
all_from 'lib/RT/Action/AssignUnownedToActor.pm';
readme_from 'lib/RT/Action/AssignUnownedToActor.pm';
license 'gplv2';

requires_rt('3.8.0');

sign;
WriteAll;
22 changes: 11 additions & 11 deletions inc/Module/Install.pm
Original file line number Diff line number Diff line change
Expand Up @@ -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 ();
Expand All @@ -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.01';
$VERSION = '1.12';

# Storage for the pseudo-singleton
$MAIN = undef;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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};
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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 ) {
Expand All @@ -450,12 +450,12 @@ sub _version ($) {
return $l + 0;
}

sub _cmp ($$) {
_version($_[0]) <=> _version($_[1]);
sub _cmp {
_version($_[1]) <=> _version($_[2]);
}

# Cloned from Params::Util::_CLASS
sub _CLASS ($) {
sub _CLASS {
(
defined $_[0]
and
Expand All @@ -467,4 +467,4 @@ sub _CLASS ($) {

1;

# Copyright 2008 - 2011 Adam Kennedy.
# Copyright 2008 - 2012 Adam Kennedy.
2 changes: 1 addition & 1 deletion inc/Module/Install/Base.pm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ package Module::Install::Base;
use strict 'vars';
use vars qw{$VERSION};
BEGIN {
$VERSION = '1.01';
$VERSION = '1.12';
}

# Suspend handler for "redefined" warnings
Expand Down
85 changes: 79 additions & 6 deletions inc/Module/Install/Can.pm
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,12 @@ package Module::Install::Can;

use strict;
use Config ();
use File::Spec ();
use ExtUtils::MakeMaker ();
use Module::Install::Base ();

use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
$VERSION = '1.01';
$VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
Expand All @@ -29,7 +28,7 @@ sub can_use {
eval { require $mod; $pkg->VERSION($ver || 0); 1 };
}

# check if we can run some command
# Check if we can run some command
sub can_run {
my ($self, $cmd) = @_;

Expand All @@ -38,14 +37,88 @@ sub can_run {

for my $dir ((split /$Config::Config{path_sep}/, $ENV{PATH}), '.') {
next if $dir eq '';
my $abs = File::Spec->catfile($dir, $_[1]);
require File::Spec;
my $abs = File::Spec->catfile($dir, $cmd);
return $abs if (-x $abs or $abs = MM->maybe_command($abs));
}

return;
}

# can we locate a (the) C compiler
# Can our C compiler environment build XS files
sub can_xs {
my $self = shift;

# Ensure we have the CBuilder module
$self->configure_requires( 'ExtUtils::CBuilder' => 0.27 );

# Do we have the configure_requires checker?
local $@;
eval "require ExtUtils::CBuilder;";
if ( $@ ) {
# They don't obey configure_requires, so it is
# someone old and delicate. Try to avoid hurting
# them by falling back to an older simpler test.
return $self->can_cc();
}

# Do we have a working C compiler
my $builder = ExtUtils::CBuilder->new(
quiet => 1,
);
unless ( $builder->have_compiler ) {
# No working C compiler
return 0;
}

# Write a C file representative of what XS becomes
require File::Temp;
my ( $FH, $tmpfile ) = File::Temp::tempfile(
"compilexs-XXXXX",
SUFFIX => '.c',
);
binmode $FH;
print $FH <<'END_C';
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
int main(int argc, char **argv) {
return 0;
}
int boot_sanexs() {
return 1;
}
END_C
close $FH;

# Can the C compiler access the same headers XS does
my @libs = ();
my $object = undef;
eval {
local $^W = 0;
$object = $builder->compile(
source => $tmpfile,
);
@libs = $builder->link(
objects => $object,
module_name => 'sanexs',
);
};
my $result = $@ ? 0 : 1;

# Clean up all the build files
foreach ( $tmpfile, $object, @libs ) {
next unless defined $_;
1 while unlink;
}

return $result;
}

# Can we locate a (the) C compiler
sub can_cc {
my $self = shift;
my @chunks = split(/ /, $Config::Config{cc}) or return;
Expand Down Expand Up @@ -78,4 +151,4 @@ if ( $^O eq 'cygwin' ) {

__END__
#line 156
#line 236
2 changes: 1 addition & 1 deletion inc/Module/Install/Fetch.pm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ use Module::Install::Base ();

use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
$VERSION = '1.01';
$VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
Expand Down
29 changes: 16 additions & 13 deletions inc/Module/Install/Makefile.pm
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ use Fcntl qw/:flock :seek/;

use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
$VERSION = '1.01';
$VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -215,18 +215,22 @@ sub write {
require ExtUtils::MakeMaker;

if ( $perl_version and $self->_cmp($perl_version, '5.006') >= 0 ) {
# 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.
my $v = $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/;
$self->build_requires( 'ExtUtils::MakeMaker' => $v );
$self->configure_requires( 'ExtUtils::MakeMaker' => $v );
# This previous attempted to inherit the version of
# ExtUtils::MakeMaker in use by the module author, but this
# was found to be untenable as some authors build releases
# using future dev versions of EU:MM that nobody else has.
# Instead, #toolchain suggests we use 6.59 which is the most
# stable version on CPAN at time of writing and is, to quote
# ribasushi, "not terminally fucked, > and tested enough".
# TODO: We will now need to maintain this over time to push
# the version up as new versions are released.
$self->build_requires( 'ExtUtils::MakeMaker' => 6.59 );
$self->configure_requires( 'ExtUtils::MakeMaker' => 6.59 );
} else {
# Allow legacy-compatibility with 5.005 by depending on the
# most recent EU:MM that supported 5.005.
$self->build_requires( 'ExtUtils::MakeMaker' => 6.42 );
$self->configure_requires( 'ExtUtils::MakeMaker' => 6.42 );
$self->build_requires( 'ExtUtils::MakeMaker' => 6.36 );
$self->configure_requires( 'ExtUtils::MakeMaker' => 6.36 );
}

# Generate the MakeMaker params
Expand All @@ -241,7 +245,6 @@ 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 ) {
my @tests = split ' ', $self->tests;
my %seen;
Expand Down Expand Up @@ -412,4 +415,4 @@ sub postamble {

__END__
#line 541
#line 544
26 changes: 16 additions & 10 deletions inc/Module/Install/Metadata.pm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ use Module::Install::Base ();

use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
$VERSION = '1.01';
$VERSION = '1.12';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
Expand Down Expand Up @@ -151,15 +151,21 @@ sub install_as_site { $_[0]->installdirs('site') }
sub install_as_vendor { $_[0]->installdirs('vendor') }

sub dynamic_config {
my $self = shift;
unless ( @_ ) {
warn "You MUST provide an explicit true/false value to dynamic_config\n";
return $self;
my $self = shift;
my $value = @_ ? shift : 1;
if ( $self->{values}->{dynamic_config} ) {
# Once dynamic we never change to static, for safety
return 0;
}
$self->{values}->{dynamic_config} = $_[0] ? 1 : 0;
$self->{values}->{dynamic_config} = $value ? 1 : 0;
return 1;
}

# Convenience command
sub static_config {
shift->dynamic_config(0);
}

sub perl_version {
my $self = shift;
return $self->{values}->{perl_version} unless @_;
Expand All @@ -170,7 +176,7 @@ sub perl_version {
# Normalize the version
$version = $self->_perl_version($version);

# We don't support the reall old versions
# We don't support the really old versions
unless ( $version >= 5.005 ) {
die "Module::Install only supports 5.005 or newer (use ExtUtils::MakeMaker)\n";
}
Expand Down Expand Up @@ -341,7 +347,7 @@ sub name_from {
^ \s*
package \s*
([\w:]+)
\s* ;
[\s|;]*
/ixms
) {
my ($name, $module_name) = ($1, $1);
Expand Down Expand Up @@ -582,7 +588,7 @@ sub bugtracker_from {
sub requires_from {
my $self = shift;
my $content = Module::Install::_readperl($_[0]);
my @requires = $content =~ m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+([\d\.]+)/mg;
my @requires = $content =~ m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+(v?[\d\.]+)/mg;
while ( @requires ) {
my $module = shift @requires;
my $version = shift @requires;
Expand Down Expand Up @@ -699,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};
Expand Down
Loading

0 comments on commit e4a773d

Please sign in to comment.