X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FCPANPLUS%2FDist%2FGentoo.pm;h=9a41af63ce89ea0562bb8c4377e9646932e37f72;hb=4833def75ffdc1fbaa90242f72cc42c4feb0eac3;hp=3d2e243b2a20de8a9e163ffce29dbd668774a6af;hpb=490a3ebfbbcc96fa3635b9a83408f26d9bedd4f8;p=perl%2Fmodules%2FCPANPLUS-Dist-Gentoo.git diff --git a/lib/CPANPLUS/Dist/Gentoo.pm b/lib/CPANPLUS/Dist/Gentoo.pm index 3d2e243..9a41af6 100644 --- a/lib/CPANPLUS/Dist/Gentoo.pm +++ b/lib/CPANPLUS/Dist/Gentoo.pm @@ -34,7 +34,7 @@ our $VERSION = '0.10'; =head1 SYNOPSIS - # Using default values from your F + # Using default values from your make.conf cpan2dist --format=CPANPLUS::Dist::Gentoo --buildprereq Some::Module # Specifying your own options @@ -49,7 +49,7 @@ our $VERSION = '0.10'; =head1 DESCRPITON -This module is a CPANPLUS backend that recursively generates Gentoo ebuilds for a given package in the specified overlay (defaults to F), updates the manifest, and even emerges it (together with its dependencies) if the user requires it. +This module is a CPANPLUS backend that recursively generates Gentoo ebuilds for a given package in the default overlay, updates the manifest, and even emerges it (together with its dependencies) if the user requires it. The generated ebuilds are placed into the C category. They favour depending on a C, on C, C or C (in that order) rather than C. @@ -121,6 +121,7 @@ L itself takes other options, most notably : =item * C<--buildprereq> generates an ebuild for every dependency, even for those that are already up-to-date. +Setting this option is recommended. =item * @@ -128,6 +129,10 @@ C<--force> forcefully regenerates ebuilds even if they already exist. =item * +C<--install> installs the ebuilds after generating them. + +=item * + C<--skiptest> skips tests while building, which speeds up the building process. =item * @@ -218,6 +223,15 @@ my $format_available; sub format_available { return $format_available if defined $format_available; + unless (IPC::Cmd->can_capture_buffer) { + my $msg = 'IPC::Cmd must be able to capture buffers.'; + unless (do { local $@; eval { require IPC::Run; 1 } }) { + $msg .= ' Try installing IPC::Run (dev-perl/IPC-Run on Gentoo).'; + } + __PACKAGE__->_abort($msg); + return $format_available = 0; + } + for my $prog (qw) { unless (IPC::Cmd::can_run($prog)) { __PACKAGE__->_abort("$prog is required to write ebuilds"); @@ -225,7 +239,7 @@ sub format_available { } } - if (IPC::Cmd->can_capture_buffer) { + { my $buffers; my ($success, $errmsg) = IPC::Cmd::run( command => [ qw ],