CPAN
view release on metacpan or search on metacpan
lib/CPAN.pm view on Meta::CPAN
my $usable;
$usable = {
#
# most of these subroutines warn on the frontend, then
# die if the installed version is unusable for some
# reason; has_usable() then returns false when it caught
# an exception, otherwise returns true and caches that;
#
'CPAN::Meta' => [
sub {
require CPAN::Meta;
unless (CPAN::Version->vge(CPAN::Meta->VERSION, 2.110350)) {
for ("Will not use CPAN::Meta, need version 2.110350\n") {
$CPAN::Frontend->mywarn($_);
die $_;
}
}
},
],
'CPAN::Meta::Requirements' => [
sub {
if (defined $CPAN::Meta::Requirements::VERSION
&& CPAN::Version->vlt($CPAN::Meta::Requirements::VERSION, "2.120920")
) {
delete $INC{"CPAN/Meta/Requirements.pm"};
}
require CPAN::Meta::Requirements;
unless (CPAN::Version->vge(CPAN::Meta::Requirements->VERSION, 2.120920)) {
for ("Will not use CPAN::Meta::Requirements, need version 2.120920\n") {
$CPAN::Frontend->mywarn($_);
die $_;
}
}
},
],
'CPAN::Reporter' => [
sub {
if (defined $CPAN::Reporter::VERSION
&& CPAN::Version->vlt($CPAN::Reporter::VERSION, "1.2011")
) {
delete $INC{"CPAN/Reporter.pm"};
}
require CPAN::Reporter;
unless (CPAN::Version->vge(CPAN::Reporter->VERSION, "1.2011")) {
for ("Will not use CPAN::Reporter, need version 1.2011\n") {
$CPAN::Frontend->mywarn($_);
die $_;
}
}
},
],
LWP => [ # we frequently had "Can't locate object
# method "new" via package "LWP::UserAgent" at
# (eval 69) line 2006
sub {require LWP},
sub {require LWP::UserAgent},
sub {require HTTP::Request},
sub {require URI::URL;
unless (CPAN::Version->vge(URI::URL::->VERSION,0.08)) {
for ("Will not use URI::URL, need 0.08\n") {
$CPAN::Frontend->mywarn($_);
die $_;
}
}
},
],
'Net::FTP' => [
sub {
my $var = $CPAN::Config->{ftp_proxy} || $ENV{ftp_proxy};
if ($var and $var =~ /^http:/i) {
# rt #110833
for ("Net::FTP cannot handle http proxy") {
$CPAN::Frontend->mywarn($_);
die $_;
}
}
},
sub {require Net::FTP},
sub {require Net::Config},
],
'IO::Socket::SSL' => [
sub {
require IO::Socket::SSL;
unless (CPAN::Version->vge(IO::Socket::SSL::->VERSION,1.56)) {
for ("Will not use IO::Socket::SSL, need 1.56\n") {
$CPAN::Frontend->mywarn($_);
die $_;
}
}
}
],
'Net::SSLeay' => [
sub {
require Net::SSLeay;
unless (CPAN::Version->vge(Net::SSLeay::->VERSION,1.49)) {
for ("Will not use Net::SSLeay, need 1.49\n") {
$CPAN::Frontend->mywarn($_);
die $_;
}
}
}
],
'HTTP::Tiny' => [
sub {
require HTTP::Tiny;
unless (CPAN::Version->vge(HTTP::Tiny->VERSION, 0.005)) {
for ("Will not use HTTP::Tiny, need version 0.005\n") {
$CPAN::Frontend->mywarn($_);
die $_;
}
}
},
],
'File::HomeDir' => [
sub {require File::HomeDir;
unless (CPAN::Version->vge(File::HomeDir::->VERSION, 0.52)) {
for ("Will not use File::HomeDir, need 0.52\n") {
( run in 2.554 seconds using v1.01-cache-2.11-cpan-5837b0d9d2c )