CPANPLUS-Dist-Gentoo
view release on metacpan or search on metacpan
NAME
CPANPLUS::Dist::Gentoo - CPANPLUS backend generating Gentoo ebuilds.
VERSION
Version 0.12
SYNOPSIS
# 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
DESCRIPTION
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 "virtual", on "perl-core", "dev-perl" or
"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 "PORTDIR_OVERLAY".
OPTIONS
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 "key"s are :
* "manifest"
A boolean that indicates whether the Manifest file should be
generated by running "ebuild manifest" onto the generated ebuilds.
Defaults to "yes".
* "overlay"
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.
* "distdir"
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"
The valid "KEYWORDS" for the generated ebuilds.
Defaults to the value of "ACCEPT_KEYWORDS" (as returned by "emerge
--info") or 'x86' if this variable is empty.
* "header"
A chunk of text that is prepended to every ebuild.
Defaults to the generic Gentoo Foundation header.
* "footer"
A chunk of text that is appended to every ebuild.
Defaults to nothing.
cpan2dist itself takes other options, most notably :
* "--buildprereq" generates an ebuild for every dependency, even for
those that are already up-to-date. Setting this option is
recommended.
* "--force" forcefully regenerates ebuilds even if they already exist.
* "--install" installs the ebuilds after generating them.
* "--skiptest" skips tests while building, which speeds up the
building process.
* "--verbose" shows a lot more information.
Please refer to cpan2dist documentation for a complete coverage of its
abilities.
INSTALLATION
Before installing this module, you should append "perl-gcpanp" to your
/etc/portage/categories file.
You have two ways for installing this module :
* Use the perl overlay located at
<http://git.overlays.gentoo.org/gitweb/?p=proj/perl-overlay.git>. It
contains an ebuild for CPANPLUS::Dist::Gentoo which will most likely
be up-to-date given the reactivity of Gentoo's Perl herd.
* Bootstrap an ebuild for CPANPLUS::Dist::Gentoo using itself.
First, make sure your system "perl" is 5.10 or greater, so that the
CPANPLUS toolchain is available.
$ perl -v
This is perl 5, version 12, subversion 2 (v5.12.2)...
"perl" 5.12 is the current stable Perl version in Gentoo. If you
still have "perl" "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 :
$ cd /tmp
$ wget http://search.cpan.org/CPAN/authors/id/V/VP/VPIT/CPANPLUS-Dist-Gentoo-0.12.tar.gz
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
"g-cpanp" :
# 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
METHODS
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.
"meta"
Returns the contents of the META.yml or META.json files as parsed by
Parse::CPAN::Meta.
"intuit_license"
Returns an array reference to a list of Gentoo licences identifiers
under which the current distribution is released.
"update_manifest"
Updates the Manifest file for the ebuild associated to the current dist
object.
"ebuild_source"
Returns the source of the ebuild for the current dist object, or "undef"
( run in 0.410 second using v1.01-cache-2.11-cpan-5a3173703d6 )