=head1 VERSION
-Version 0.02_01
+Version 0.03
=cut
-our $VERSION = '0.02_01';
+our $VERSION = '0.03';
=head1 SYNOPSIS
=head1 DESCRPITON
-This module is a CPANPLUS backend that recursively generates Gentoo ebuilds for a given package in the specified overlay (defaults to C</usr/local/portage>), update the manifest, and even emerge it (together with its dependencies) if the user requires it. You need write permissions on the directory where Gentoo fetches its source files (usually C</usr/portage/distfiles>).
+This module is a CPANPLUS backend that recursively generates Gentoo ebuilds for a given package in the specified overlay (defaults to F</usr/local/portage>), updates the manifest, and even emerges it (together with its dependencies) if the user requires it. You need write permissions on the directory where Gentoo fetches its source files (usually F</usr/portage/distfiles>). You also need to specify the correct keyword for your architecture if it differs from the default C<x86>.
-The generated ebuilds are placed into the section C<perl-gcpanp>. They favour depending on C<perl-core> or C<dev-perl> rather than C<perl-gcpanp>.
+The generated ebuilds are placed into the C<perl-gcpanp> category. They favour depending on C<perl-core>, C<dev-perl> or C<perl-gcpan> (in that order) rather than C<perl-gcpanp>.
=head1 INSTALLATION
=head1 METHODS
-All the methods are inherited from L<CPANPLUS::Dist::Base>. Please refer to its perldoc for precise information on what's done at each step.
+All the methods are inherited from L<CPANPLUS::Dist::Base>. Please refer to its documentation for precise information on what's done at each step.
=cut
my $stat = $self->status;
my $conf = $self->parent->parent->configure_object;
- $stat->mk_accessors(qw/name version dist desc uri src license deps
+ $stat->mk_accessors(qw/name version author dist desc uri src license deps
eb_name eb_version eb_dir eb_file fetched_arch
overlay distdir keywords do_manifest
force verbose/);
my $version = $mod->package_version;
$stat->version($version);
+ my $author = $mod->author->cpanid;
+ $stat->author($author);
+
$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);
}
}
- my $d = "# Generated by CPANPLUS::Dist::Gentoo\n\ninherit perl-module\n\n";
+ my $d = "# Generated by CPANPLUS::Dist::Gentoo\n\n";
+ $d .= 'MODULE_AUTHOR="' . $stat->author . "\"\ninherit perl-module\n\n";
$d .= 'S="${WORKDIR}/' . $stat->dist . "\"\n";
$d .= 'DESCRIPTION="' . $stat->desc . "\"\n";
$d .= 'HOMEPAGE="' . $stat->uri . "\"\n";
. ' )';
} @{$stat->deps};
$d .= "\"\n";
+ $d .= "SRC_TEST=\"do\"\n";
my $file = $stat->eb_file;
open my $eb, '>', $file or do {