summaryrefslogtreecommitdiffstats
path: root/lib/metas/perl
diff options
context:
space:
mode:
authorJustin Davis <jrcd83@gmail.com>2012-01-16 00:30:11 +0100
committerJustin Davis <jrcd83@gmail.com>2012-01-16 00:30:11 +0100
commit44f4b5d167f9efef47786e60d1153ad2c58b4319 (patch)
tree3e7e30f87123c48629faa73d29e0c20af869c43c /lib/metas/perl
parentf6cbce0d137f44554a233b4adf9022df6dc7fde9 (diff)
downloadgenpkg-44f4b5d167f9efef47786e60d1153ad2c58b4319.tar.gz
genpkg-44f4b5d167f9efef47786e60d1153ad2c58b4319.tar.xz
Move metas/ and templ/ under ~/.genpkg.
Diffstat (limited to 'lib/metas/perl')
-rwxr-xr-xlib/metas/perl106
1 files changed, 0 insertions, 106 deletions
diff --git a/lib/metas/perl b/lib/metas/perl
deleted file mode 100755
index 4b61175..0000000
--- a/lib/metas/perl
+++ /dev/null
@@ -1,106 +0,0 @@
-#!/usr/bin/env perl
-
-use warnings 'FATAL' => 'all';
-use strict;
-
-use File::Fetch;
-use IO::Handle; # for autoflush
-use Cwd;
-
-my $PROG = 'metas/perl';
-my %BADNAMES = ('perl-libwww' => 'libwww-perl');
-
-sub err
-{
- print STDERR "$PROG: ", @_, "\n";
- exit 1;
-}
-
-sub matchdist
-{
- my($dist) = @_;
-
- # Refresh our local list of distributions if needed.
- my $var = $ENV{'PKGVAR'}
- or err('PKGVAR env variable is unset');
-
- if(!-f "$var/cpandists" || -M "$var/cpandists" > 1) {
- print STDERR "$PROG: Refreshing local CPAN data... ";
- my $cwd = getcwd();
- chdir $var or die "chdir: $!";
- system 'fetchcpan';
- die "FAILED\n" unless($? == 0);
- print STDERR "OK\n";
- chdir $cwd or die "chdir: $!";
- }
-
- open(DISTS, '<', "$var/cpandists") or err("open: $!");
- while(<DISTS>) {
- my @f = split;
- my $d = lc $f[0]; $d =~ tr/-_/--/s;
- next unless($d eq lc($dist));
- close(DISTS);
- return ($f[0], $f[2]);
- }
- close(DISTS);
- return ();
-}
-
-sub fetchdist
-{
- my($cpath) = @_;
- my $file = $cpath; $file =~ s{^.*/}{};
- if(-f $file) {
- print STDERR "$file already downloaded.\n";
- return;
- }
-
- my $mirror = $ENV{'CPANMIRROR'} || 'ftp://cpan.pair.com';
- my $url = "${mirror}/authors/id/${cpath}";
-
- print STDERR "Downloading $file... ";
- my $ff = File::Fetch->new('uri' => $url);
- die "FAILED\n" unless($ff->fetch());
- print STDERR "OK\n";
-}
-
-sub main
-{
- my $dist = shift or die "usage: $PROG [package name]\n";
-
- my $guess;
- if($BADNAMES{$dist}){
- $dist = $BADNAMES{$dist};
- }elsif($dist =~ s/^perl-// == 0){
- $guess = 1;
- $dist = "app-$dist";
- }
-
- STDERR->autoflush(1);
- my ($realname, $cpath) = matchdist($dist);
- unless($realname){
- if($guess){
- return 2
- }else{
- ## Return a hard error to makepkgmeta if perl- package.
- err(qq{failed to find perl dist similar to '$dist'});
- return 1
- }
- }
- fetchdist($cpath);
-
- print <<"END_META";
-url
-https://metacpan.org/release/$realname
-
-source
-http://search.cpan.org/CPAN/authors/id/$cpath
-
-END_META
-
- my $file = $cpath; $file =~ s{.*/}{};
- system 'perl-dist' => $file;
- return $?;
-}
-
-exit main(@ARGV);