parent
7d75f85847
commit
3d1c703562
|
@ -25,7 +25,7 @@ my $package_mappings = {
|
|||
};
|
||||
our $packager = "";
|
||||
my $template = <<'EOF';
|
||||
# Automatically generated by apkbuild-cpan, template 2
|
||||
# Automatically generated by apkbuild-cpan, template 3
|
||||
[% authors %]
|
||||
pkgname=[% pkgname %]
|
||||
_pkgreal=[% pkgreal %]
|
||||
|
@ -35,12 +35,9 @@ pkgdesc="Perl module for [% pkgreal %]"
|
|||
url="https://metacpan.org/release/[% pkgreal %]/"
|
||||
arch="noarch"
|
||||
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
|
||||
cpandepends=""
|
||||
cpanmakedepends=""
|
||||
cpancheckdepends=""
|
||||
depends="$cpandepends"
|
||||
makedepends="perl-dev $cpanmakedepends"
|
||||
checkdepends="$cpancheckdepends"
|
||||
depends=""
|
||||
makedepends="perl-dev"
|
||||
checkdepends=""
|
||||
subpackages="$pkgname-doc"
|
||||
source="[% source %]"
|
||||
builddir="$srcdir/$_pkgreal-$pkgver"
|
||||
|
@ -140,17 +137,17 @@ sub parse_deps {
|
|||
$response->is_success or die $response->status_line;
|
||||
my $moddata = $json->decode($response->decoded_content);
|
||||
$moddata->{error} and die "Error trying to locate $module: $moddata->{error}\n";
|
||||
$distfiles->{$moddata->{distribution}} = $moddata;
|
||||
$distfiles->{$module} = $moddata->{distribution};
|
||||
}
|
||||
|
||||
# map package names to alpine packages
|
||||
foreach ( keys %{ $distfiles } ) {
|
||||
$response = $ua->get("https://fastapi.metacpan.org/release/$_");
|
||||
$response = $ua->get("https://fastapi.metacpan.org/module/$_");
|
||||
$response->is_success or die $response->status_line;
|
||||
my $distdata = $json->decode($response->decoded_content);
|
||||
$distdata->{error} and die "Error trying to locate $_: $distdata->{error}\n";
|
||||
|
||||
my $pkgname = map_cpan_to_apk($distdata->{name});
|
||||
my $pkgname = map_cpan_to_apk($distdata->{distribution});
|
||||
$deps .= "$pkgname ";
|
||||
}
|
||||
$deps =~ s/\h+/ /g;
|
||||
|
@ -258,15 +255,15 @@ sub do_depends {
|
|||
);
|
||||
say "CPAN build deps: $makedeps";
|
||||
say "CPAN requires: " . parse_deps($meta->effective_prereqs->requirements_for('configure', 'requires'), $meta->effective_prereqs->requirements_for('build', 'requires'));
|
||||
say "CPAN recommds: " . parse_deps($meta->effective_prereqs->requirements_for('configure', 'recommends'), $meta->effective_prereqs->requirements_for('build', 'recommends'));
|
||||
say "CPAN recommends: " . parse_deps($meta->effective_prereqs->requirements_for('configure', 'recommends'), $meta->effective_prereqs->requirements_for('build', 'recommends'));
|
||||
|
||||
my $checkdeps = parse_deps($meta->effective_prereqs->requirements_for('test', 'requires'), $meta->effective_prereqs->requirements_for('test', 'recommends'));
|
||||
say "CPAN check deps: $makedeps";
|
||||
say "CPAN check deps: $checkdeps";
|
||||
|
||||
my $text = read_file "APKBUILD";
|
||||
if ($abstract && $abstract ne 'unknown') {
|
||||
$text =~ s/^pkgdesc=\"([^\"]*)\"$/pkgdesc=\"$abstract\"/mg or
|
||||
die "Can't find cpandepends line in APKBUILD";
|
||||
die "Can't find pkgdesc line in APKBUILD";
|
||||
}
|
||||
if (length(`find $metaprefix -name '*.xs'`)) {
|
||||
$text =~ s/^arch=\"([^\"]*)\"$/arch="all"/mg or
|
||||
|
@ -276,12 +273,12 @@ sub do_depends {
|
|||
$text =~ s/^license=\"([^\"]*)\"$/license=\"$license\"/mg or
|
||||
die "Can't find license line in APKBUILD";
|
||||
}
|
||||
$text =~ s/^cpandepends=\"([^\"]*)\"$/cpandepends=\"$deps\"/mg or
|
||||
die "Can't find cpandepends line in APKBUILD";
|
||||
$text =~ s/^cpanmakedepends=\"([^\"]*)\"$/cpanmakedepends=\"$makedeps\"/mg or
|
||||
die "Can't find cpanmakedepends line in APKBUILD";
|
||||
$text =~ s/^cpancheckdepends=\"([^\"]*)\"$/cpancheckdepends=\"$checkdeps\"/mg or
|
||||
die "Can't find cpancheckdepends line in APKBUILD";
|
||||
$text =~ s/^depends=\"([^\"]*)\"$/depends=\"$deps\"/mg or
|
||||
die "Can't find depends line in APKBUILD";
|
||||
$text =~ s/^makedepends=\"([^\"]*)\"$/makedepends=\"perl-dev $makedeps\"/mg or
|
||||
die "Can't find makedepends line in APKBUILD";
|
||||
$text =~ s/^checkdepends=\"([^\"]*)\"$/checkdepends=\"$checkdeps\"/mg or
|
||||
die "Can't find checkdepends line in APKBUILD";
|
||||
|
||||
open my $fh, '>', "APKBUILD" or die;
|
||||
print $fh $text;
|
||||
|
|
Loading…
Reference in New Issue