use warnings;
use Config;
use File::Spec;
use JSON::PP qw( encode_json decode_json );
my $status_filename = File::Spec->catfile('_alien', '01probe.json');
exit if -e $status_filename;
my $archlib =
nshift @{ $status{pkg_config_dir} }, $my_pkg_config_dir;
mkdir '_alien' unless -d '_alien';
open my $fh, '>', $status_filename;
print $fh JSON::PP->new->utf8->canonical->encode(\%status);
close $fh;
package Alien::pkgconf;
use strict;
use warnings;
use JSON::PP ();
use File::Spec;
use File::ShareDir ();
our $VERSION = '0.21';
=head1 NAME
Alien::pkgconf - Discover or download and install pkgco
$filename = _dist_file('status.json');
my $fh;
open $fh, '<', $filename;
my $json = JSON::PP::decode_json(do { local $/; <$fh> });
close $fh;
$json;
};
}
=head1 METHODS
=head2
trict;
use warnings;
use Config;
use File::Spec;
use File::Path qw( rmtree );
use JSON::PP qw( encode_json decode_json );
use if $^O eq 'MSWin32', 'Alien::MSYS';
use Env qw( @PATH );
unshift @PATH, A
[static|dll]\n";
exit 2;
}
my $status_filename = File::Spec->catfile('_alien', "04build_$type.json");
exit if -e $status_filename;
if($type eq 'dll')
{
# This IF is the logic we use to determin
fh encode_json({ skip => 1 });
close $fh;
exit;
}
}
my $src_dir = do {
my $fn = File::Spec->catfile('_alien', '03extract.json');
open my $fh, '<', $fn;
my $json = decode_json(do {loca
use File::Spec;
use JSON::PP qw( encode_json decode_json );
use File::Copy qw( cp );
use File::Path qw( mkpath );
my $status_filename = File::Spec->catfile('_alien', '05stage.json');
exit if -e $stat
File::Spec->catfile('_alien', "04build_$type.json");
open my $fh, '<', $fn;
my $json = decode_json(do { local $/; <$fh> });
close $fh;
$json;
};
next if $build->{skip};
recurse
_dir, 'status.json');
open my $fh, '>', $filename;
print $fh JSON::PP->new->utf8->canonical->encode(\%status);
close $fh;
}
{
open my $fh, '>', $status_filename;
print $fh JSON::PP->new->ut
py );
use File::Path qw( mkpath );
my $status_filename = File::Spec->catfile('_alien', '00system.json');
exit if -e $status_filename;
my $share_dir = File::Spec->catdir(qw( blib lib auto share dist
;
close $fh;
}
my $from = File::Spec->catfile(qw( _alien 05stage.json ));
my $to = File::Spec->catfile($share_dir, 'status.json');
print "write $to\n";
copy($from, $to) || die "unable to copy $f
th qw( rmtree mkpath );
use JSON::PP qw( encode_json decode_json );
#use Alien::xz;
use Env qw( @PATH );
my $status_filename = File::Spec->catfile('_alien', '03extract.json');
exit if -e $status_file
my $fn = File::Spec->catfile('_alien', '02fetch.json');
open my $fh, '<', $fn;
my $json = decode_json(do {local $/; <$fh> });
close $fn;
$json->{filename};
};
#if($tar_filename =~ /\.xz$/)
#
t[0];
};
$filename = File::Spec->catdir('_alien', 'src', $filename);
print "write $filename\n";
my $fh;
open $fh, '>', $status_filename;
print $fh encode_json({ src_dir => $filename });
close $fh;
use strict;
use warnings;
use HTTP::Tiny;
use JSON::PP qw( encode_json );
use File::Spec;
use File::Path qw( mkpath );
use File::Basename qw( dirname basename );
# this is somewhat brittle, but is lo
and reuse only at your
# own risk!
my $status_filename = File::Spec->catfile('_alien', '02fetch.json');
exit if -e $status_filename;
my @dirs = (
[ '_alien', 'tar' ],
[ '_alien', 'build', 'stat
stem 'cp', "$dir/$fn", "_alien/tar/$fn";
open my $fh, '>', $status_filename;
print $fh encode_json({ filename => "_alien/tar/$fn" });
close $status_filename;
exit;
}
my $url = 'https://distfi