summaryrefslogtreecommitdiffstats
path: root/apkbuild-cpan.in
diff options
context:
space:
mode:
Diffstat (limited to 'apkbuild-cpan.in')
-rwxr-xr-x[-rw-r--r--]apkbuild-cpan.in35
1 files changed, 16 insertions, 19 deletions
diff --git a/apkbuild-cpan.in b/apkbuild-cpan.in
index 3757c57..c023deb 100644..100755
--- a/apkbuild-cpan.in
+++ b/apkbuild-cpan.in
@@ -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;