App-Sqitch
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
inc/Module/Build/Sqitch.pm view on Meta::CPAN
skip_installed => 0,
install_types => [qw(requires recommends)],
local_lib => File::Spec->rel2abs($base),
pod2man => undef,
features => { map { $_ => 1 } @{ $feat } },
);
if ($self->dual_life) {
# Force Install dual-life modules.
$app->{argv} = [qw(
File::Temp Scalar::Util Pod::Usage Digest::SHA Pod::Escapes
Pod::Find Getopt::Long Time::HiRes File::Path List::Util
Encode Pod::Simple Time::Local parent IO::File if
Term::ANSIColor
)];
die "Error installing modules: $@\n" if $app->run;
}
# Install required modules, but not Sqitch itself.
$app->{argv} = ['.'];
$app->{installdeps} = 1;
die "Error installing modules: $@\n" if $app->run;
# Remove unneeded build-time dependencies.
die "Error removing build modules: $@\n"
unless $app->remove_build_dependencies;
}
# Install Sqitch. Required to intall man pages.
$self->depends_on('install');
# Delete unneeded files.
$self->delete_filetree(File::Spec->catdir($base, qw(lib perl5 Test)));
$self->delete_filetree(File::Spec->catdir($base, qw(bin)));
for my $file (@{ $self->rscan_dir($base, qr/[.](?:meta|packlist)$/) }) {
$self->delete_filetree($file);
}
# Install sqitch script using FindBin.
$self->_copy_findbin_script;
# Delete empty directories.
File::Find::finddepth(sub{rmdir},$base);
}
sub _copy_findbin_script {
my $self = shift;
# XXX Switch to lib/perl5.
my $bin = $self->install_destination('script');
my $script = File::Spec->catfile(qw(bin sqitch));
my $dest = File::Spec->catfile($bin, 'sqitch');
my $result = $self->copy_if_modified($script, $bin, 'flatten') or return;
$self->fix_shebang_line($result) unless $self->is_vmsish;
$self->_set_findbin($result);
$self->make_executable($result);
}
sub _set_findbin {
my ($self, $file) = @_;
local $^I = '';
local @ARGV = ($file);
while (<>) {
s{^BEGIN}{use FindBin;\nuse lib "\$FindBin::RealBin/../lib/perl5";\nBEGIN};
print;
}
}
view all matches for this distributionview release on metacpan - search on metacpan
( run in 1.770 second using v1.00-cache-2.02-grep-82fe00e-cpan-72ae3ad1e6da )