Win32-CommandLine
view release on metacpan or search on metacpan
$up_to_date = 0;
last;
}
if (!$up_to_date) {
my $installdirs = $self->installdirs;
#print "installdirs = $installdirs\n";
require ActivePerl::DocTools;
$self->log_info("HTMLifying PODs\n");
$self->log_verbose("ActivePerl::DocTools::UpdateHTML_blib( installdirs => \"$installdirs\" )\n");
ActivePerl::DocTools::UpdateHTML_blib( installdirs => "$installdirs" );
}
}
};
$code{'ACTION_ppmdist'} = q{
# correct PPM generation for ActivePerl installations (modified from Module::Build::Base.pm v0.2808)
sub ACTION_ppmdist {
my ($self) = @_;
if (!(eval { require ActivePerl; })) { return $self->SUPER::ACTION_ppmdist; }
# this is an ActivePerl installation
#print "my PPMDIST\n";
$self->depends_on( 'build' );
my $ppm = $self->ppm_name;
$self->delete_filetree( $ppm );
$self->log_info( "Creating $ppm\n" );
$self->add_to_cleanup( $ppm, "$ppm.tar.gz" );
my %types = ( # translate types/dirs to those expected by ppm
lib => 'lib',
arch => 'arch',
bin => 'bin',
script => 'script',
bindoc => 'man1',
libdoc => 'man3',
binhtml => undef,
libhtml => undef,
html => 'html',
);
foreach my $type ( $self->install_types, 'html') {
next if exists( $types{$type} ) && !defined( $types{$type} );
my $dir = File::Spec->catdir( $self->blib, $type );
next unless -e $dir;
my $files = $self->rscan_dir( $dir );
foreach my $file ( @$files ) {
next unless -f $file;
my $rel_file =
File::Spec->abs2rel( File::Spec->rel2abs( $file ),
File::Spec->rel2abs( $dir ) );
my $to_file =
File::Spec->catdir( $ppm, 'blib',
exists( $types{$type} ) ? $types{$type} : $type,
$rel_file );
$self->copy_if_modified( from => $file, to => $to_file );
}
}
foreach my $type ( qw(bin lib) ) {
local $self->{properties}{html_css} = 'Active.css';
$self->htmlify_pods( $type, File::Spec->catdir($ppm, 'blib', 'html') );
}
# create a tarball;
# the directory tar'ed must be blib so we need to do a chdir first
my $start_wd = $self->cwd;
chdir( $ppm ) or die "Can't chdir to $ppm";
$self->make_tarball( 'blib', File::Spec->catfile( $start_wd, $ppm ) );
chdir( $start_wd ) or die "Can't chdir to $start_wd";
$self->depends_on( 'ppd' );
$self->delete_filetree( $ppm );
}
};
$code{'ACTION_install'} = q{
sub ACTION_install {
my ($self) = @_;
###[ADD] update all distmeta info when installing
##$self->depends_on('distmeta'); ## NOT NEEDED and causes a MANIFEST rebuild which can cause SIGNATURE issues on tests after installs ## may be fixed with sorted MANIFEST
if (!(eval { require ActivePerl; }) || !_has_ppm()) { return $self->SUPER::ACTION_install; }
## this is an ActivePerl installation (and ppm is available)
if (!_has_ppm() || ($^O eq 'cygwin')) { return $self->SUPER::ACTION_install; } # cygwin PPM doesn't work correctly
# PPM is available for install (should work for ActivePerl and Strawberry/Vanilla perl)
# build ppd and ppm
$self->depends_on('build');
$self->depends_on('ppd');
$self->depends_on('ppmdist');
my $ppd_name = join('-', split(/::/, $self->dist_name)).'.ppd';
$self->log_info("Installing via ppm (using $ppd_name)\n");
# TODO: move this note to the appropriate place :: ?Win32-CommandLine... :: note: installation failures involving inability to rename may be either permission problems or, more likely, trying to rename a file which is in use (locking it with ...
my $output = `ppm install $ppd_name`;
print $output;
}
};
$code{'ACTION_install@_has_ppm'} = q{
sub _has_ppm {
return File::Which::which('ppm');
}
};
$code{'ACTION_fakeinstall'} = q{
sub ACTION_fakeinstall {
my ($self) = @_;
if (!(eval { require ActivePerl; }) || !_has_ppm()) { return $self->SUPER::ACTION_fakeinstall; }
# this is an ActivePerl installation (and ppm is available)
( run in 1.781 second using v1.01-cache-2.11-cpan-39bf76dae61 )