NAME

CPANPLUS::Dist::Gentoo - CPANPLUS backend generating Gentoo ebuilds.

VERSION

Version 0.11

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

DESCRPITON

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".

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 :

cpan2dist itself takes other options, most notably :

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 :

            $ 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.11.tar.gz

        Log in as root and unpack it in e.g. your home directory :

            # cd
            # tar xzf /tmp/CPANPLUS-Dist-Gentoo-0.11.tar.gz
            # cd CPANPLUS-Dist-Gentoo-0.11

        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" when one of the dependencies couldn't be mapped to an existing ebuild.

DEPENDENCIES

Gentoo (<http://gentoo.org>).

CPANPLUS, IPC::Cmd (core modules since 5.9.5), Parse::CPAN::Meta (since 5.10.1).

Cwd, Carp (since perl 5), File::Path (5.001), File::Copy (5.002), File::Spec (5.00405), List::Util (5.007003).

SEE ALSO

cpan2dist.

CPANPLUS::Dist::Base, CPANPLUS::Dist::Deb, CPANPLUS::Dist::Mdv.

AUTHOR

Vincent Pit, "<perl at profvince.com>", <http://www.profvince.com>.

You can contact me by mail or on "irc.perl.org" (vincent).

BUGS

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.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc CPANPLUS::Dist::Gentoo

ACKNOWLEDGEMENTS

The module was inspired by CPANPLUS::Dist::Deb and CPANPLUS::Dist::Mdv.

Kent Fredric, for testing and suggesting improvements.

COPYRIGHT & LICENSE

Copyright 2008,2009,2010 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.