package => 'YAML',
version => 0,
},
+ {
+ # Many modules on CPAN are now built with Dist::Zilla, which
+ # unfortunately means they require this version of EU::MM to install.
+ module => 'ExtUtils::MakeMaker',
+ package => 'ExtUtils-MakeMaker',
+ version => '6.31',
+ },
);
# We need the absolute path of ext_libpath, because CPAN chdirs around
# we make it a constant.
use constant BZ_LIB => abs_path(bz_locations()->{ext_libpath});
+# These modules are problematic to install with "notest" (sometimes they
+# get installed when they shouldn't). So we always test their installation
+# and never ignore test failures.
+use constant ALWAYS_TEST => qw(
+ Math::Random::Secure
+);
+
# CPAN requires nearly all of its parameters to be set, or it will start
# asking questions to the user. We want to avoid that, so we have
# defaults here for most of the required parameters we know about, in case
}
print install_string('install_module',
{ module => $name, version => $module->cpan_version }) . "\n";
- if ($test) {
+
+ if (_always_test($name)) {
+ CPAN::Shell->install($name);
+ }
+ elsif ($test) {
CPAN::Shell->force('install', $name);
}
else {
$CPAN::Config->{makepl_arg} = $original_makepl;
}
+sub _always_test {
+ my ($name) = @_;
+ return grep(lc($_) eq lc($name), ALWAYS_TEST) ? 1 : 0;
+}
+
sub set_cpan_config {
my $do_global = shift;
my $bzlib = BZ_LIB;