+sub _cpan2portage {
+ my ($self, $name, $version) = @_;
+
+ $name = CPANPLUS::Dist::Gentoo::Maps::name_c2g($name);
+ my $ver;
+ $ver = CPANPLUS::Dist::Gentoo::Maps::version_c2g($version) if defined $version;
+
+ my @portdirs = ($main_portdir, @{$self->status->portdir_overlay});
+
+ for my $category (qw/virtual perl-core dev-perl perl-gcpan/, CATEGORY) {
+ my $atom = ($category eq 'virtual' ? 'perl-' : '') . $name;
+
+ for my $portdir (@portdirs) {
+ my @ebuilds = glob catfile($portdir, $category, $atom,"$atom-*.ebuild");
+ next unless @ebuilds;
+
+ if (defined $ver) { # implies that $version is defined
+ for (@ebuilds) {
+ my ($eb_ver) = /\Q$atom\E-v?([\d._pr-]+).*?\.ebuild$/;
+ return ">=$category/$atom-$ver"
+ if defined $eb_ver
+ and CPANPLUS::Dist::Gentoo::Maps::version_gcmp($eb_ver, $ver) > 0;
+ }
+ } else {
+ return "$category/$atom";
+ }
+
+ }
+
+ }
+
+ error "Couldn't find an appropriate ebuild for $name in the portage tree -- skipping";
+ return '';
+}
+