Alien-NSS
view release on metacpan or search on metacpan
},
requires => {
'perl' => '5.8.1',
'Alien::Base' => '0.018',
},
dist_author => 'Johanna Amann <johanna@icir.org>',
alien_name => 'nss',
alien_repository => {
protocol => 'http',
host => 'ftp.mozilla.org',
location => 'pub/mozilla.org/security/nss/releases/NSS_3_20_RTM/src/',
pattern => qr/^nss-([\d\.]+)-with-nspr-.*\.tar\.gz$/,
},
# who needs configure, etc.
alien_install_commands => [
'if [ ! -e %s ] ; then mkdir %s; fi',
'if [ ! -e %s/include ] ; then mkdir %s/include; fi',
'if [ ! -e %s/lib ] ; then mkdir %s/lib; fi',
'if [ -d stage ]; then cp -L -R stage/include/* %s/include; fi',
'if [ -d stage ]; then cp -L -R stage/lib/* %s/lib; fi',
],
license => 'mozilla',
meta_merge => {
resources => {
homepage => 'https://github.com/0xxon/alien-nss',
bugtracker => 'https://github.com/0xxon/alien-nss/issues',
repository => 'https://github.com/0xxon/alien-nss.git',
},
},
);
my %args = $builder->args;
if ( exists $args{help} ) {
print<<EOF;
Command line options:
--help: print this message
--patchnss: add NSS patch for processing of many certificates
--version: download specific NSS version (e.g. 3_17_1).
EOF
exit 0;
}
warn "\nArchitecture: $arch\n";
if ( exists $args{patchnss} ) {
print "Adding command to patch NSS to Build\n";
unshift(@build_commands, "patch -p1 < ../../patch/nss.patch");
}
my $version;
$version = $args{version} if(exists $args{version});
if ( !defined($version) ) {
# Not specified, so let's look it up for ourselves
warn "Searching current download directory on HTTP server...\n";
my $resp = HTTP::Tiny->new->get("http://".$builder->alien_repository->{host}.'/pub/mozilla.org/security/nss/releases/');
if ( ! $resp->{success} || ! length($resp->{content}) ) {
croak("Error accessing repository - ".$resp->{status}.": ".$resp->{reason});
}
# This won't work anymore if the server ever changes how it returns stuff. *shrug*
my @versions = sort { versioncmp($a, $b) } grep(s#.*\[DIR\].*href="NSS_(\d.*)_RTM/".*#$1#, split(/\n/, $resp->{content}));
$version = pop @versions;
}
my $location = "pub/mozilla.org/security/nss/releases/NSS_".$version."_RTM/src/";
$builder->alien_repository->{location} = $location;
warn "wanted NSS path: $location\n";
$builder->alien_build_commands(\@build_commands);
$builder->create_build_script;
( run in 0.430 second using v1.01-cache-2.11-cpan-9bca49b1385 )