=head1 VERSION
-Version 0.08
+Version 0.09
=cut
-our $VERSION = '0.08';
+our $VERSION = '0.09';
=head1 SYNOPSIS
First, fetch tarballs for L<CPANPLUS> and L<CPANPLUS::Dist::Gentoo> :
$ cd /tmp
- $ wget http://search.cpan.org/CPAN/authors/id/K/KA/KANE/CPANPLUS-0.88.tar.gz
- $ wget http://search.cpan.org/CPAN/authors/id/V/VP/VPIT/CPANPLUS-Dist-Gentoo-0.08.tar.gz
+ $ wget http://search.cpan.org/CPAN/authors/id/B/BI/BINGOS/CPANPLUS-0.9003.tar.gz
+ $ wget http://search.cpan.org/CPAN/authors/id/V/VP/VPIT/CPANPLUS-Dist-Gentoo-0.09.tar.gz
Log in as root and unpack them in e.g. your home directory :
# cd
- # tar xzf /tmp/CPANPLUS-0.88.tar.gz
- # tar xzf /tmp/CPANPLUS-Dist-Gentoo-0.08.tar.gz
+ # tar xzf /tmp/CPANPLUS-0.9003.tar.gz
+ # tar xzf /tmp/CPANPLUS-Dist-Gentoo-0.09.tar.gz
Set up environment variables so that the toolchain is temporarily available :
# export OLDPATH=$PATH
- # export PATH=/root/CPANPLUS-0.88/bin:$PATH
- # export PERL5LIB=/root/CPANPLUS-Dist-Gentoo-0.08/blib/lib:/root/CPANPLUS-0.88/lib:/root/CPANPLUS-0.88/inc/bundle
+ # export PATH=/root/CPANPLUS-0.9003/bin:$PATH
+ # export PERL5LIB=/root/CPANPLUS-Dist-Gentoo-0.09/blib/lib:/root/CPANPLUS-0.9003/lib:/root/CPANPLUS-0.9003/inc/bundle
Make sure you don't have an old C<.cpanplus> configuration visible :
Bootstrap L<CPANPLUS> :
- # cd /root/CPANPLUS-Dist-Gentoo-0.08
+ # cd /root/CPANPLUS-Dist-Gentoo-0.09
# samples/g-cpanp CPANPLUS
Reset the environment :
At this point, you can bootstrap L<CPANPLUS::Dist::Gentoo> using the system L<CPANPLUS> :
- # PERL5LIB=/root/CPANPLUS-Dist-Gentoo-0.08/blib/lib samples/g-cpanp CPANPLUS::Dist::Gentoo
+ # PERL5LIB=/root/CPANPLUS-Dist-Gentoo-0.09/blib/lib samples/g-cpanp CPANPLUS::Dist::Gentoo
# emerge -tv CPANPLUS-Dist-Gentoo
=back
$stat->prepared(0);
- $self->SUPER::prepare(%opts);
+ $self->SUPER::prepare(@_);
return $FAIL->() unless $stat->prepared;
"$name-*.ebuild",
) or next;
- my @atoms = map CPANPLUS::Dist::Gentoo::Atom->new(
- defined $version ? (
- ebuild => $_,
- range => '>=',
- ) : (
- category => $category,
- name => $name,
- ),
- ), @ebuilds;
+ my $last = reduce { $a < $b ? $b : $a } # handles overloading
+ map CPANPLUS::Dist::Gentoo::Atom->new_from_ebuild($_),
+ @ebuilds;
+ next if defined $version and $last < $version;
- my $atom = reduce { $a < $b ? $b : $a } @atoms; # handles overloading
- next if defined $version and $atom < $version;
-
- return $atom;
+ return CPANPLUS::Dist::Gentoo::Atom->new(
+ category => $last->category,
+ name => $last->name,
+ (defined $version ? (version => $version, range => '>=') : ()),
+ ebuild => $last->ebuild,
+ );
}
}
=head1 COPYRIGHT & LICENSE
-Copyright 2008-2009 Vincent Pit, all rights reserved.
+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.