apkbuild-cpan.in: also attempt to generate MYMETA from running Build.PL

This commit is contained in:
Celeste 2024-01-05 02:26:06 +00:00 committed by Timothy Legge
parent 1753907af0
commit 7101d6164a
1 changed files with 15 additions and 10 deletions

View File

@ -419,22 +419,27 @@ sub do_depends {
$metaprefix-*${modver}/*META.yml $metaprefix-*${modver}/*META.yml
"); ");
my $build_file = glob("
src/*${modver}/Build.PL
src/*${modver}/Makefile.PL
");
if ( @metafiles ) { if ( @metafiles ) {
$metaprefix = dirname($metafiles[0]); $metaprefix = dirname($metafiles[0]);
} elsif (my $makefile = glob("src/*${modver}/Makefile.PL")) { } elsif ( $build_file ) {
$metaprefix = dirname($makefile); $metaprefix = dirname($build_file);
system("cd $metaprefix && perl -I. Makefile.PL"); system("cd $metaprefix && perl -I. $build_file");
} elsif (my $buildpl = glob("src/*${modver}/Build.PL")) {
$metaprefix = dirname($buildpl); # try again with full metaprefix
push @metafiles, glob("
$metaprefix/*META.json
$metaprefix/*META.yml
");
} else { } else {
die "Unable to find meta, makefile, and build.pl - cannot proceed" die "Unable to find meta, makefile, and build.pl - cannot proceed"
} }
# try again with full metaprefix die "No meta files found after executing $build_file" unless @metafiles;
push @metafiles, glob("
$metaprefix/*META.json
$metaprefix/*META.yml
") unless @metafiles;
my $builddir = do { my $builddir = do {
my $pkgreal = $apkbuild->{'_pkgreal'}; my $pkgreal = $apkbuild->{'_pkgreal'};