Alien-Alien
view release on metacpan or search on metacpan
use alienfile;
use Env qw( @PATH );
use Path::Tiny qw( path );
meta->prop->{arch} = 0;
plugin 'Probe::CommandLine' => (
command => 'alien',
args => [ '--version' ],
match => qr/alien version/,
version => qr/alien version ([0-9\.]+)/,
);
share {
plugin 'Download' => (
url => 'https://sourceforge.net/projects/alien-pkg-convert/files/release/',
filter => qr/^alien/,
version => qr/([0-9\.]+)/,
);
plugin 'Decode::SourceForge';
plugin 'Extract' => (
format => 'tar.xz',
);
meta->around_hook(
around => sub {
my($orig, @rest) = @_;
unshift @PATH, Alien::xz->bin_dir;
$orig->(@rest);
},
);
patch sub {
my $fix = "use File::Basename ();\nuse File::Spec;\nuse lib File::Spec->catdir(File::Basename::dirname(File::Spec->rel2abs(__FILE__)),qw( .. lib perl5 ));\n";
my $alien_pl = path('alien.pl');
my($shebang, @rest) = $alien_pl->lines_utf8;
$alien_pl->spew_utf8($shebang, $fix, @rest);
};
meta->around_hook(
build => sub {
my($orig, $build) = @_;
my $prefix = $build->install_prop->{prefix};
local $ENV{PERL_LOCAL_LIB_ROOT} = $prefix;
local $ENV{PERL_MM_OPT} = "INSTALL_BASE=$prefix";
$orig->($build);
},
);
build [
'mkdir -p lib',
'mv Alien lib',
'%{perl} Makefile.PL',
'%{make}',
'%{make} install',
];
};
( run in 0.516 second using v1.01-cache-2.11-cpan-119454b85a5 )