summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTatsuhiko Miyagawa <miyagawa@bulknews.net>2018-04-28 08:28:06 -0700
committerTatsuhiko Miyagawa <miyagawa@bulknews.net>2018-04-28 08:28:06 -0700
commitb6ca562d2f172250f91f322cbd7f42a0f43b4ea8 (patch)
tree730ed6963dc511d35d6c72c4569ef2e8da78a734
parent96130081351d4696352b54dd3cf6e966a9525dc5 (diff)
downloadcarton-b6ca562d2f172250f91f322cbd7f42a0f43b4ea8.tar.gz
fix Carton runtime dependency for fatpack. Fixes #571
-rw-r--r--lib/Carton/Packer.pm21
1 files changed, 15 insertions, 6 deletions
diff --git a/lib/Carton/Packer.pm b/lib/Carton/Packer.pm
index ba7ff4b..b7d5dce 100644
--- a/lib/Carton/Packer.pm
+++ b/lib/Carton/Packer.pm
@@ -56,10 +56,21 @@ sub do_fatpack {
}
sub required_modules {
- my($self, $packer) = @_;
+ my $self = shift;
- my $meta = $self->installed_meta('Carton')
- or die "Couldn't find install metadata for Carton";
+ my %requirements;
+ for my $dist (qw( Carton Menlo-Legacy Menlo )) {
+ $requirements{$_} = 1 for $self->required_modules_for($dist);
+ }
+
+ [ keys %requirements ];
+}
+
+sub required_modules_for {
+ my($self, $dist) = @_;
+
+ my $meta = $self->installed_meta($dist)
+ or die "Couldn't find install metadata for $dist";
my %excludes = (
perl => 1,
@@ -67,10 +78,8 @@ sub required_modules {
'Module::Build' => 1,
);
- my @requirements = grep !$excludes{$_},
+ grep !$excludes{$_},
$meta->effective_prereqs->requirements_for('runtime', 'requires')->required_modules;
-
- return \@requirements;
}
sub installed_meta {