Alien-Libarchive
view release on metacpan or search on metacpan
inc/Alien/LZO/Installer.pm view on Meta::CPAN
my $response = HTTP::Tiny->new->get($url);
die sprintf("%s %s %s", $response->{status}, $response->{reason}, $url)
unless $response->{success};
require File::Spec;
my $fn = _catfile($dir, "lzo-$version.tar.gz");
open my $fh, '>', $fn;
binmode $fh;
print $fh $response->{content};
close $fh;
wantarray ? ($fn, $version) : $fn;
}
=head2 build_requires
my $prereqs = Alien::LZO::Installer->build_requires;
while(my($module, $version) = each %$prereqs)
inc/Alien/LZO/Installer.pm view on Meta::CPAN
my $dir = File::Temp::tempdir( CLEANUP => 1 );
# TODO: use Archive::Ar when it is a little less broken
require Archive::Ar;
my $ar = Archive::Ar->new(_catfile($prefix, 'lib', 'liblzo2.a'));
my @objects = grep { $_ ne '/' } $ar->list_files;
foreach my $object (@objects)
{
my $fh;
my $fn = _catfile($dir, $object);
open($fh, '>', $fn) || die "unable to write $fn $!";
binmode $fh;
print $fh $ar->get_content($object)->{data};
close $fh;
}
system 'dlltool',
'--export-all-symbols',
-e => _catfile($dir, 'exports.o'),
-l => _catfile($prefix, 'lib', 'liblzo2.dll.a'),
map { _catfile($dir, $_) } @objects;
die "dlltool failed" if $?;
system 'gcc',
inc/My/ModuleBuild.pm view on Meta::CPAN
$build = eval { Alien::bz2::Installer->build_install($prefix, dir => $build_dir) };
if(defined $build)
{
if($^O eq 'MSWin32')
{
my $dir = _catdir($prefix, 'dll');
mkdir $dir;
my $la = _catfile($dir, 'libbz2.la');
open my $fh, '>', $la;
binmode $fh;
print $fh _bz2_la_file($prefix);
close $fh;
}
}
}
}
my $build_dir = _catdir($FindBin::Bin, '_alien_libarchive');
mkdir $build_dir unless -d $build_dir;
( run in 0.416 second using v1.01-cache-2.11-cpan-8d75d55dd25 )