diff options
Diffstat (limited to 'perl-external/bin/add_module.pl')
-rw-r--r-- | perl-external/bin/add_module.pl | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/perl-external/bin/add_module.pl b/perl-external/bin/add_module.pl deleted file mode 100644 index 6c9be8df2..000000000 --- a/perl-external/bin/add_module.pl +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env perl - -use strict; -use warnings; - -use IPC::Run3; -use LWP::Simple; -use File::Slurp; -use Path::Class; - -my $root_dir = file(__FILE__)->dir->parent->absolute->stringify; -my $module_list = "$root_dir/modules.txt"; -my $url_list = "$root_dir/urls.txt"; -my $minicpan = "$root_dir/minicpan"; -my $local_lib = "$root_dir/../local-lib5"; -my $cpanm_cmd = "perl $root_dir/bin/cpanm -l $local_lib --reinstall"; - -my $module = $ARGV[0] || die "Usage: $0 Dist::To::Add"; - -# try to install the distribution using cpanm -my $out = ''; -my $cmd = "$cpanm_cmd $module"; -print " running '$cmd'\n"; -run3( $cmd, undef, \$out, \$out ) - || die "Error running '$cmd'"; - -my @fetched_urls = - map { s{.*(http://\S+).*}{$1}; $_ } - grep { m{^Fetching http://search.cpan.org} } - split /\n/, $out; - -write_file( $module_list, { append => 1 }, "$module\n" ); -write_file( $url_list, { append => 1 }, map { "$_\n" } @fetched_urls ); - -foreach my $url ( read_file($url_list) ) { - - my ($filename) = $url =~ m{/(authors/.+)$}; - - my $destination = file("$minicpan/$filename"); - $destination->dir->mkpath; - - next if -e $destination; - - print " $url\n -> $destination\n"; - - is_success( getstore( $url, "$destination" ) ) - || die "Error saving $url to $destination"; -} - -# go to the minicpan dir and run dpan there -chdir $minicpan; -exec 'dpan -f ../dpan_config'; |