Version 2.2_rc5 of sys-apps/portage adds support for EAPI=”2_pre1″ which has some changes in conditional USE dependency syntax. The previous experimental EAPI=”2_pre0″ value is no longer supported.
For more information about experimental EAPI features, refer to bug #233213 and also see the “Ebuild” chapter of the html documentation that is installed with portage when USE=doc is enabled. I’ve posted a copy of the EAPI=”2_pre1″ documentation here:
EAPI 2_pre1
Helpers
doman
Language codes in file names are now used for path translation.
Table 6.1. Man Page Path Translation
Source Destination
foo.1 /usr/share/man/man1/foo.1
foo.lang.1 /usr/share/man/lang/man1/foo.1
USE Dependencies
Unconditional USE Dependencies
Table 6.2. Syntax Examples
Example Meaning
foo[bar] foo must have bar enabled
foo[bar,baz] foo must have both bar and baz enabled
foo[-bar,baz] foo must have bar disabled and baz enabled
Conditional USE Dependencies
Table 6.3. Syntax Examples
Compact Form Equivalent Expanded Form
foo[bar?] bar? ( foo[bar] ) !bar? ( foo )
foo[!bar?] bar? ( foo ) !bar? ( foo[-bar] )
foo[bar=] bar? ( foo[bar] ) !bar? ( foo[-bar] )
foo[!bar=] bar? ( foo[-bar] ) !bar? ( foo[bar] )
Wow!
Great work… lately so much progress in the Portage. Package manager USE dependencies is sth that will really improve the Gentoo.
This is awesome. Many of us have wanted this for a very long time.
o/ I’m happy. We needed USE dependencies a long time ago… Very, very thanks!
A question: which portage frontends will support this dependencies? Kuroo/portato will support it?
I’m not familiar with the Kuroo or portato codebases so I’m not sure how much effort it would take for them to add support for this. Depending on how they interface with portage, they might not have to change anything.