EAPI=”2_pre1″ with USE dependencies

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



      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]  )

4 thoughts on “EAPI=”2_pre1″ with USE dependencies”

  1. Wow!
    Great work… lately so much progress in the Portage. Package manager USE dependencies is sth that will really improve the Gentoo.

  2. 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?

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

Comments are closed.