6 use CPAN::FindDependencies qw( finddeps );
8 use List::AllUtils qw( any );
14 package CPAN::FindDependencies;
16 use LWP::Simple qw( get );
18 no warnings 'redefine';
19 # The real function assumes that if you provide an argument it's a
20 # local file, not a URI.
25 die(__PACKAGE__.": Couldn't fetch 02packages index file\n");
31 # If this isn't fetched fresh each time, then CPAN::Mini gets
32 # confused (maybe it's a timestamp issue because of git?)
33 unlink './moosepan/modules/02packages.details.txt.gz'
37 = grep { is_real_dep($_) }
40 'http://mirrors.kernel.org/cpan/modules/02packages.details.txt.gz'
43 my @distros = map { $_->distribution() } @deps;
45 my $filter_sub = sub {
46 return !any { $_[0] eq $_ } @distros;
49 CPAN::Mini->update_mirror(
50 remote => 'http://mirrors.kernel.org/cpan/',
51 local => './moosepan',
52 path_filters => $filter_sub,
58 my %skip_deps = map { $_ => 1 } qw(
73 my $min_perl = version->new('5.8.5');
77 # Include this just to make sure the user gets a version with
79 return 1 if $dep->name eq 'Scalar::Util';
81 return if $skip_deps{ $dep->name() };
83 my $perl = Module::CoreList->first_release( $dep->name() );
85 return if defined $perl && version->new($perl) le $min_perl;