X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FCPANPLUS%2FDist%2FGentoo%2FMaps.pm;h=1aa7d85458442f641dcf21d7fa48e466778a853e;hb=77110d525f6b966b8f87c11669f177127e6930d9;hp=d118edc2361f13cbb1e7cb94f2fc9d2396998830;hpb=7e2aca98057c17b7728aa3028a07dacd2fdd0d62;p=perl%2Fmodules%2FCPANPLUS-Dist-Gentoo.git diff --git a/lib/CPANPLUS/Dist/Gentoo/Maps.pm b/lib/CPANPLUS/Dist/Gentoo/Maps.pm index d118edc..1aa7d85 100644 --- a/lib/CPANPLUS/Dist/Gentoo/Maps.pm +++ b/lib/CPANPLUS/Dist/Gentoo/Maps.pm @@ -9,11 +9,11 @@ CPANPLUS::Dist::Gentoo::Maps - Map CPAN objects to Gentoo and vice versa. =head1 VERSION -Version 0.05 +Version 0.10 =cut -our $VERSION = '0.05'; +our $VERSION = '0.10'; =head1 DESCRPITON @@ -40,6 +40,86 @@ sub name_c2g { return $gentooisms{$name} || $name; } +=head2 C + +Maps F C tag values to the corresponding list of Gentoo licenses identifiers. +Duplicates are stripped off. + +The included data was gathered from L and L. + +=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 + +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; +} + +=head2 C + +Converts a perl version as you can find it in prerequisites to a Gentoo version number. + +=cut + +sub perl_version_c2g { + my ($v) = @_; + + return unless defined $v and $v =~ /^[0-9\.]+$/; + + my @parts; + if (my ($version, $subversion) = $v =~ /^([0-9]+)\.(0[^\.]+)$/) { + my $len = length $subversion; + if (my $pad = $len % 3) { + $subversion .= '0' x (3 - $pad); + } + @parts = ($version, $subversion =~ /(.{1,3})/g); + } else { + @parts = split /\./, $v; + } + + return join '.', map int, @parts; +} + =head1 SEE ALSO L. @@ -52,7 +132,8 @@ You can contact me by mail or on C (vincent). =head1 BUGS -Please report any bugs or feature requests to C, or through the web interface at L. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. +Please report any bugs or feature requests to C, or through the web interface at L. +I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. =head1 SUPPORT @@ -62,7 +143,7 @@ You can find documentation for this module with the perldoc command. =head1 COPYRIGHT & LICENSE -Copyright 2009 Vincent Pit, all rights reserved. +Copyright 2009,2010 Vincent Pit, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. @@ -72,6 +153,7 @@ This program is free software; you can redistribute it and/or modify it under th __DATA__ ANSIColor Term-ANSIColor +AcePerl Ace Audio-CD Audio-CD-disc-cover CGI-Simple Cgi-Simple Cache-Mmap cache-mmap @@ -90,6 +172,7 @@ Crypt-RSA crypt-rsa Crypt-Random crypt-random DBIx-SearchBuilder dbix-searchbuilder Data-Buffer data-buffer +Date-Manip DateManip Digest digest-base Digest-BubbleBabble digest-bubblebabble Digest-MD2 digest-md2 @@ -120,6 +203,7 @@ Locale-Maketext-Lexicon locale-maketext-lexicon Log-Dispatch log-dispatch Math-Pari math-pari Module-Info module-info +NTLM Authen-NTLM Net-Ping net-ping Net-SFTP net-sftp Net-SSH-Perl net-ssh-perl @@ -127,6 +211,7 @@ Net-Server net-server OLE-Storage_Lite OLE-StorageLite Ogg-Vorbis-Header ogg-vorbis-header PathTools File-Spec +Perl-Tidy perltidy Pod-Parser PodParser Regexp-Common regexp-common SDL_Perl sdl-perl @@ -139,6 +224,7 @@ Text-Wrapper text-wrapper Tie-EncryptedHash tie-encryptedhash Tk perl-tk Wx wxperl +XML-Sablotron XML-Sablot YAML yaml gettext Locale-gettext txt2html TextToHTML