From Gentoo Wiki
perl-core/*is an "autovirtual"
perl-core/*uses a special value
SUPPORTING_PERLSthat indicates which perls ship with the relevant
perl-core/*employs a conditional dep of
|| ( supporting_perl_b supporting_perl_b ( NORMALDEPS ))
perl-core/*does a runtime
perl -e'print $]'
- Based on that value, if that value is in the list of "SUPPORTING PERLS", then the ebuild changes beahaviour
- And behaviour changes to a No-OP of installing no files.
- You could plausibly have a USE flag to force one of the two install paths.
- Can be expected to work usefully even if the
SUPPORTING_PERLSis not properly updated, without causing too much fallout ( It will still be a problem for some not-on-cpan-yet things, but that's not going away )
- Unlike the current virtual scenario where changing from using "perl-core/*" to using "Perl itself" results in a cruft ebuild lying around, this removes the un-needed files automatically.
- This completely avoids the
=perl-core/Foo-6problem which normally results in
Foo.pm == 5while
Foo.pm == 6
- Slightly increased rebuild requirement for users, but this is a present problem with virtuals anyway, just they'll be rebuilding the package, not the virtual.
SUPPORTING_PERLS="5.020000 5.020001" # $] values inherit perl-core-module ... DEPEND=" ||( $PLSUPPORTED ( NORMALDEPS ))" RDEPEND="||( $PLSUPPORTED ( NORMALDEPS ))"
( NORMALDEPS )would be excluded if the module in question was not available via CPAN.
- Falling back to "CPAN" and checking
$]would be disabled either explicitly (???) or by SRC_URI being empty.
$PLSUPPORTEDwould be produced by