]> git.vpit.fr Git - perl/modules/CPANPLUS-Dist-Gentoo.git/commitdiff
Stop croaking on dists without a META file
authorVincent Pit <vince@profvince.com>
Sat, 11 Sep 2010 14:05:33 +0000 (16:05 +0200)
committerVincent Pit <vince@profvince.com>
Sat, 11 Sep 2010 14:05:33 +0000 (16:05 +0200)
This was caused by $obj->meth->{key} not autovivifying when meth returns
undef.

lib/CPANPLUS/Dist/Gentoo.pm

index 051378af22226fcda52b862b53782350bb7cc7e8..e3ff15340d0f10f842215bbe0a0630b9a07bc563 100644 (file)
@@ -364,8 +364,9 @@ sub prepare {
  }
  $stat->requires(\@requires);
 
+ my $meta = $self->meta;
  $stat->min_perl(CPANPLUS::Dist::Gentoo::Maps::perl_version_c2g(
-  eval { $self->meta->{requires}->{perl} }
+  $meta->{requires}->{perl}
  ));
 
  return $OK->();
@@ -391,6 +392,7 @@ sub meta {
   my $meta_file = File::Spec->catdir($extract_dir, $name);
   next unless -e $meta_file;
 
+  local $@;
   my $meta = eval { Parse::CPAN::Meta::LoadFile($meta_file) };
   if (defined $meta) {
    $stat->meta($meta);
@@ -426,7 +428,8 @@ sub intuit_license {
   return \@licenses if @licenses;
  }
 
- my $license = $self->meta->{license};
+ my $meta    = $self->meta;
+ my $license = $meta->{license};
  if (defined $license) {
   my @licenses = CPANPLUS::Dist::Gentoo::Maps::license_c2g($license);
   return \@licenses if @licenses;