Alien-nragent
view release on metacpan or search on metacpan
configure {
requires 'FFI::CheckLib';
};
probe sub {
my($build) = @_;
my @find_lib_args = (
lib => [ qw(newrelic-collector-client newrelic-common newrelic-transaction) ],
);
# some common places someone might install newrelic libs
my @try = grep { -d $_ } qw( /opt/newrelic/lib );
if(@try)
{
push @find_lib_args, libpath => \@try;
}
my @system = FFI::CheckLib::find_lib(@find_lib_args);
if(@system)
{
$build->runtime_prop->{my_lib} = \@system;
$build->runtime_prop->{version} = 'unknown';
return 'system';
}
'share';
};
share {
## previous version:
#my $version = '0.16.2.0-beta'
#my $sha256 = 'b50aa8abefb83dfd115fbf0dff4d9686b9db27ae3e923e053f301995e091f2f7';
## current version:
my $version = '0.17.0.0-beta';
my $sha256 = '0e627e2ac1fbbc6214bafc28a4df9c56fdf1149c70705164585d0220e228702d';
plugin Download => (
url => "https://download.newrelic.com/agent_sdk/nr_agent_sdk-v$version.x86_64.tar.gz",
);
plugin Extract => 'tar.gz';
requires 'Crypt::Digest::SHA256';
before extract => sub {
my($build) = @_;
my $digest = Crypt::Digest::SHA256::sha256_file_hex(
$build->install_prop->{download},
);
if($digest ne $sha256)
{
log "bad SHA256 digest for @{[ $build->install_prop->{download} ]}";
log "expected: $sha256";
log "got: $digest";
die "bad digest";
}
};
build [
# since this only works on 64bit linux
# don't really have to worry about
# portability so we can use all the unixisms
# we want!
'mkdir -p %{.install.prefix}/include',
'mkdir -p %{.install.prefix}/lib',
'cp LICENSE %{.install.prefix}',
'cp -a include/* %{.install.prefix}/include',
'cp -a lib/* %{.install.prefix}/lib',
];
gather sub {
my($build) = @_;
$build->runtime_prop->{version} = $version;
};
}
( run in 1.245 second using v1.01-cache-2.11-cpan-39bf76dae61 )