2 CPANPLUS::Dist::Gentoo - CPANPLUS backend generating Gentoo ebuilds.
8 # Using default values from your make.conf
9 cpan2dist --format=CPANPLUS::Dist::Gentoo --buildprereq Some::Module
11 # Specifying your own options
12 cpan2dist --format=CPANPLUS::Dist::Gentoo \
13 --dist-opts overlay=/usr/local/portage \
14 --dist-opts distdir=/usr/portage/distfiles \
15 --dist-opts manifest=yes \
16 --dist-opts keywords=x86 \
17 --dist-opts header="# Begin" \
18 --dist-opts footer="# End" \
22 This module is a CPANPLUS backend that recursively generates Gentoo
23 ebuilds for a given package in the default overlay, updates the
24 manifest, and even emerges it (together with its dependencies) if the
27 The generated ebuilds are placed into the "perl-gcpanp" category. They
28 favour depending on a "virtual", on "perl-core", "dev-perl" or
29 "perl-gcpan" (in that order) rather than "perl-gcpanp".
32 You can pass specific options to cpan2dist by using the "--dist-opts"
33 command-line argument followed by a "key=value" pair, where "key" is the
34 option name and "value" is what it is set to. "--dist-opts" can be used
37 The valid option "key"s are :
41 A boolean that indicates whether the Manifest file should be
42 generated by running "ebuild manifest" onto the generated ebuilds.
48 A string formatted as a space-delimited sequence of paths, that
49 lists the different overlays in which existent ebuilds will be
52 Defaults to the value of "PORTDIR_OVERLAY" as returned by "emerge
53 --info" (usually /usr/local/portage).
57 The directory where "ebuild" expects to find the source tarballs.
58 You need write permissions on this directory.
60 Defaults to the value of "DISTDIR" as returned by "emerge --info"
61 (usually /usr/portage/distfiles).
65 The valid "KEYWORDS" for the generated ebuilds.
67 Defaults to the value of "ACCEPT_KEYWORDS" as returned by "emerge
72 A chunk of text that is prepended to every ebuild.
74 Defaults to the generic Gentoo Foundation header.
78 A chunk of text that is appended to every ebuild.
82 cpan2dist itself takes other options, most notably :
84 * "--buildprereq" generates an ebuild for every dependency, even for
85 those that are already up-to-date. Setting this option is
88 * "--force" forcefully regenerates ebuilds even if they already exist.
90 * "--install" installs the ebuilds after generating them.
92 * "--skiptest" skips tests while building, which speeds up the
95 * "--verbose" shows a lot more information.
97 Please refer to cpan2dist documentation for a complete coverage of its
101 Before installing this module, you should append "perl-gcpanp" to your
102 /etc/portage/categories file.
104 You have two ways for installing this module :
106 * Use the perl overlay located at
107 <http://git.overlays.gentoo.org/gitweb/?p=proj/perl-overlay.git>. It
108 contains an ebuild for CPANPLUS::Dist::Gentoo which will most likely
109 be up-to-date given the reactivity of Gentoo's Perl herd.
111 * Bootstrap an ebuild for CPANPLUS::Dist::Gentoo using itself.
113 First, make sure your system "perl" is 5.10 or greater, so that the
114 CPANPLUS toolchain is available.
117 This is perl 5, version 12, subversion 2 (v5.12.2)...
119 "perl" 5.12 is the current stable Perl version in Gentoo. If you
120 still have "perl" "5.8.x", you can upgrade it by running the
121 following commands as root :
123 # emerge -tv ">=dev-lang/perl-5.10"
126 Then, fetch the CPANPLUS::Dist::Gentoo tarball :
129 $ wget http://search.cpan.org/CPAN/authors/id/V/VP/VPIT/CPANPLUS-Dist-Gentoo-0.11.tar.gz
131 Log in as root and unpack it in e.g. your home directory :
134 # tar xzf /tmp/CPANPLUS-Dist-Gentoo-0.11.tar.gz
135 # cd CPANPLUS-Dist-Gentoo-0.11
137 Bootstrap CPANPLUS::Dist::Gentoo using the bundled shell script
142 # PERL5LIB=blib/lib samples/g-cpanp CPANPLUS::Dist::Gentoo
144 Finally, emerge the "CPANPLUS-Dist-Gentoo" ebuild you've just
147 # emerge -tv CPANPLUS-Dist-Gentoo
150 This module inherits all the methods from CPANPLUS::Dist::Base. Please
151 refer to its documentation for precise information on what's done at
155 Returns the contents of the META.yml or META.json files as parsed by
159 Returns an array reference to a list of Gentoo licences identifiers
160 under which the current distribution is released.
163 Updates the Manifest file for the ebuild associated to the current dist
167 Returns the source of the ebuild for the current dist object, or "undef"
168 when one of the dependencies couldn't be mapped to an existing ebuild.
171 Gentoo (<http://gentoo.org>).
173 CPANPLUS, IPC::Cmd (core modules since 5.9.5), Parse::CPAN::Meta (since
176 Cwd, Carp (since perl 5), File::Path (5.001), File::Copy (5.002),
177 File::Spec (5.00405), List::Util (5.007003).
182 CPANPLUS::Dist::Base, CPANPLUS::Dist::Deb, CPANPLUS::Dist::Mdv.
185 Vincent Pit, "<perl at profvince.com>", <http://www.profvince.com>.
187 You can contact me by mail or on "irc.perl.org" (vincent).
190 Please report any bugs or feature requests to "bug-cpanplus-dist-gentoo
191 at rt.cpan.org", or through the web interface at
192 <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=CPANPLUS-Dist-Gentoo>. I
193 will be notified, and then you'll automatically be notified of progress
194 on your bug as I make changes.
197 You can find documentation for this module with the perldoc command.
199 perldoc CPANPLUS::Dist::Gentoo
202 The module was inspired by CPANPLUS::Dist::Deb and CPANPLUS::Dist::Mdv.
204 Kent Fredric, for testing and suggesting improvements.
207 Copyright 2008,2009,2010 Vincent Pit, all rights reserved.
209 This program is free software; you can redistribute it and/or modify it
210 under the same terms as Perl itself.