CPANPLUS::Dist::Gentoo - CPANPLUS backend generating Gentoo ebuilds.
# Using default values from your make.conf cpan2dist --format=CPANPLUS::Dist::Gentoo --buildprereq Some::Module # Specifying your own options cpan2dist --format=CPANPLUS::Dist::Gentoo \ --dist-opts overlay=/usr/local/portage \ --dist-opts distdir=/usr/portage/distfiles \ --dist-opts manifest=yes \ --dist-opts keywords=x86 \ --dist-opts header="# Begin" \ --dist-opts footer="# End" \ Any::Module You::Like
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
perl-gcpanp category. They favour depending on a
perl-gcpan (in that order) rather than
perl-gcpanp. Existing ebuilds will be searched into the main
PORTDIR portage tree and then into the overlays listed in
You can pass specific options to cpan2dist by using the
--dist-opts command-line argument followed by a
key=value pair, where
key is the option name and
value is what it is set to.
--dist-opts can be used several times.
The valid option
keys are :
A boolean that indicates whether the Manifest file should be generated by running
ebuild manifest onto the generated ebuilds.
The path of the overlay in which the generated ebuilds will be written.
Defaults to the first overlay listed in
PORTDIR_OVERLAY (as returned by
emerge --info) or /usr/local/portage if this variable is empty.
The directory where
ebuild expects to find the source tarballs. You need write permissions on this directory.
Defaults to the value of
DISTDIR (as returned by
emerge --info) or /usr/portage/distfiles if this variable is empty.
KEYWORDS for the generated ebuilds.
Defaults to the value of
ACCEPT_KEYWORDS (as returned by
emerge --info) or
'x86' if this variable is empty.
A chunk of text that is prepended to every ebuild.
Defaults to the generic Gentoo Foundation header.
A chunk of text that is appended to every ebuild.
Defaults to nothing.
cpan2dist itself takes other options, most notably :
--buildprereqgenerates an ebuild for every dependency, even for those that are already up-to-date. Setting this option is recommended.
--forceforcefully regenerates ebuilds even if they already exist.
--installinstalls the ebuilds after generating them.
--skiptestskips tests while building, which speeds up the building process.
--verboseshows a lot more information.
Please refer to cpan2dist documentation for a complete coverage of its abilities.
Before installing this module, you should append
perl-gcpanp to your /etc/portage/categories file.
You have two ways for installing this module :
First, make sure your system
5.10 or greater, so that the CPANPLUS toolchain is available.
$ perl -v This is perl 5, version 12, subversion 2 (v5.12.2)...
5.12 is the current stable Perl version in Gentoo. If you still have
5.8.x, you can upgrade it by running the following commands as root :
# emerge -tv ">=dev-lang/perl-5.10" # perl-cleaner --all
Then, fetch the CPANPLUS::Dist::Gentoo tarball :
Log in as root and unpack it in e.g. your home directory :
# cd # tar xzf /tmp/CPANPLUS-Dist-Gentoo-0.12.tar.gz # cd CPANPLUS-Dist-Gentoo-0.12
Bootstrap CPANPLUS::Dist::Gentoo using the bundled shell script
# perl Makefile.PL # make # PERL5LIB=blib/lib samples/g-cpanp CPANPLUS::Dist::Gentoo
Finally, emerge the
CPANPLUS-Dist-Gentoo ebuild you've just generated :
# emerge -tv CPANPLUS-Dist-Gentoo
This module inherits all the methods from CPANPLUS::Dist::Base. Please refer to its documentation for precise information on what's done at each step.
Returns the contents of the META.yml or META.json files as parsed by Parse::CPAN::Meta.
Returns an array reference to a list of Gentoo licences identifiers under which the current distribution is released.
Updates the Manifest file for the ebuild associated to the current dist object.
Returns the source of the ebuild for the current dist object, or
undef when one of the dependencies couldn't be mapped to an existing ebuild.
<perl at profvince.com>, http://www.profvince.com.
You can contact me by mail or on
Please report any bugs or feature requests to
bug-cpanplus-dist-gentoo at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=CPANPLUS-Dist-Gentoo. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
You can find documentation for this module with the perldoc command.
Kent Fredric, for testing and suggesting improvements.
Copyright 2008,2009,2010,2011,2012 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.