--- g-cpan-0.15.0/bin/g-cpan 2007-12-03 10:48:57.000000000 -0500 +++ g-cpan-0.15.0/bin/g-cpan 2009-12-10 13:11:44.223815667 +0100 @@ -313,10 +313,27 @@ if ($overlay =~ m{\S*\s+\S*}x) { my @overlays = split ' ', $overlay; + my $bIsFound = 0; + + ## Try to find _our_ overlay first: foreach (@overlays) { - $gcpan_run->{portage_bases}{$_} = 1 if (-d $_); - } + if (-d $_ . "/perl-gcpan") + { + $gcpan_run->{portage_bases}{$_} = 1; + $bIsFound = 1; + $overlay = $_; + last; + } + } + # Try all overlays if we do not have any yet: + if (0 == $bIsFound) + { + foreach (@overlays) + { + $gcpan_run->{portage_bases}{$_} = 1 if (-d $_); + } + } } else {