CPANPLUS-Dist-Gentoo
view release on metacpan or search on metacpan
lib/CPANPLUS/Dist/Gentoo/Maps.pm view on Meta::CPAN
my $is_dev = $version =~ /_/;
for ($version) {
s/^v//;
y/_-//d;
s/^\.*//;
s/\.*\z//;
s/\.+/./g;
}
$version .= '_rc' if $is_dev;
return $version;
};
my $simple_and_correct_suffixes = sub {
my ($version) = @_;
$version = $simple_cleanup->($version);
$version =~ s/(?<!_)((?:alpha|beta|pre|rc|p)\d*)\b/_$1/g;
return $version;
};
my $simple_and_strip_letters = sub {
my ($version) = @_;
$version = $simple_cleanup->($version);
$version =~ s/(?<=\d)[a-z]+//g;
return $version;
};
my $simple_and_letters_as_suffix = sub {
my ($version) = @_;
$version = $simple_cleanup->($version);
$version =~ s/(?<=\d)b(?=\d)/_beta/g;
return $version;
};
my %version_mismatch;
$version_mismatch{$_} = $default_but_ignore_v for qw<
Net-DNS-Resolver-Programmable
>;
$version_mismatch{$_} = $default_but_no_strip_1 for qw<
Crypt-RC4
File-Grep
MogileFS-Client-Async
MogileFS-Network
>;
$version_mismatch{$_} = $default_but_no_strip_2 for qw<
Net-IMAP-Simple
>;
$version_mismatch{$_} = sub { $insert_dot_every->($_[0], 1) } for qw<
HTTP-Cookies
HTTP-Negotiate
>;
$version_mismatch{$_} = sub { $insert_dot_every->($_[0], 3) } for qw<
POE-Component-IKC
>;
$version_mismatch{$_} = $simple_cleanup for qw<
Alien-SDL
CGI-SpeedyCGI
Class-ISA
Data-Uniqid
ExtUtils-Install
File-Path
Getopt-GUI-Long
Gtk2-Notify
HTML-Table
I18N-LangTags
IO
IPC-System-Simple
Lab-Measurement
Log-TraceMessages
MusicBrainz-DiscID
Net-IRC
Net-Ping
SDL
SOAP-WSDL
TeX-Encode
Tie-Simple
Time-Piece
WattsUp-Daemon
>;
$version_mismatch{$_} = $simple_and_correct_suffixes for qw<
Gimp
XML-Grove
>;
$version_mismatch{$_} = $simple_and_strip_letters for qw<
DelimMatch
SGMLSpm
>;
$version_mismatch{$_} = $simple_and_letters_as_suffix for qw<
Frontier-RPC
>;
sub version_c2g {
my ($n, $v) = @_;
return unless defined $v;
my $handler;
$handler = $version_mismatch{$n} if defined $n;
$handler = $default_mapping unless defined $handler;
return $handler->($v);
}
=head2 C<perl_version_c2g $version>
( run in 1.073 second using v1.01-cache-2.11-cpan-6aa56a78535 )