+=head2 C<license_c2g @licenses>
+
+Maps F<META.yml> C<license> tag values to the corresponding list of Gentoo licenses identifiers.
+Duplicates are stripped off.
+
+The included data was gathered from L<Module::Install> and L<Software::License>.
+
+=cut
+
+my %licenses = (
+ apache => [ 'Apache-2.0' ],
+ artistic => [ 'Artistic' ],
+ artistic_2 => [ 'Artistic-2' ],
+ bsd => [ 'BSD' ],
+ gpl => [ 'GPL-1' ],
+ gpl2 => [ 'GPL-2' ],
+ gpl3 => [ 'GPL-3' ],
+ lgpl => [ 'LGPL-2.1' ],
+ lgpl2 => [ 'LGPL-2.1' ],
+ lgpl3 => [ 'LGPL-3' ],
+ mit => [ 'MIT' ],
+ mozilla => [ 'MPL-1.1' ],
+ perl => [ 'Artistic', 'GPL-2' ],
+);
+
+sub license_c2g {
+ my %seen;
+ grep !$seen{$_}++, map @{$licenses{+lc} || []}, @_;
+}
+
+=head2 C<version_c2g $version>
+
+Converts a CPAN version to a Gentoo version.
+
+=cut
+
+sub version_c2g {
+ my ($v) = @_;
+
+ return unless defined $v;
+
+ $v =~ y/-/_/;
+ $v =~ y/0-9._//cd;
+
+ $v =~ s/^[._]*//;
+ $v =~ s/[._]*$//;
+ $v =~ s/([._])[._]*/$1/g;
+
+ ($v, my $patch, my @rest) = split /_/, $v;
+ $v .= '_p' . $patch if defined $patch;
+ $v .= join('.', '', @rest) if @rest;
+
+ return $v;
+}
+