]> git.vpit.fr Git - perl/modules/CPANPLUS-Dist-Gentoo.git/commitdiff
Better perl -> ebuild version conversion
authorVincent Pit <vince@profvince.com>
Sat, 29 Nov 2008 19:30:20 +0000 (20:30 +0100)
committerVincent Pit <vince@profvince.com>
Sat, 29 Nov 2008 19:30:20 +0000 (20:30 +0100)
lib/CPANPLUS/Dist/Gentoo.pm

index 6c47c6ef2c1ccc10339f639fa6a95b2754f37c33..196683b03e06a7b6315d211911e41d7cfafb52f9 100644 (file)
@@ -125,9 +125,15 @@ sub prepare {
 
  $stat->dist($name . '-' . $version);
 
- my $f = 1;
- $version =~ s/_+/$f ? do { $f = 0; '_p' } : ''/ge;
- 1 while $version =~ s/(_p[^.]*)\.+/$1/;
+ $version =~ s/[^\d._]+//g;
+ $version =~ s/^[._]*//;
+ $version =~ s/[._]*$//;
+ $version =~ s/[._]*_[._]*/_/g;
+ {
+  ($version, my $patch, my @rest) = split /_/, $version;
+  $version .= '_p' . $patch if defined $patch;
+  $version .= join('.', '', @rest) if @rest;
+ }
  $stat->eb_version($version);
 
  $stat->eb_name($gentooism{$name} || $name);