EAPI 5
Profiles
Profile IUSE Injection
IUSE_EFFECTIVE is a variable calculated from IUSE and
a variety of other sources described below. It is purely
a conceptual variable; it is not exported to the ebuild
environment. Values in IUSE_EFFECTIVE may legally be
used in queries about an ebuild's state (for example, for use
dependencies, for the use function, and for use in dependency
specification conditional blocks).
For EAPIs that support profile defined IUSE injection, IUSE_EFFECTIVE
contains the following values:
All values in the calculated IUSE value.
All values in the profile IUSE_IMPLICIT variable.
All values in the profile variable named USE_EXPAND_VALUES_${v},
where ${v} is any value in the intersection of the profile
USE_EXPAND_UNPREFIXED and USE_EXPAND_IMPLICIT variables.
All values for ${lower_v}_${x}, where ${x} is all values in
the profile variable named USE_EXPAND_VALUES_${v}, where ${v}
is any value in the intersection of the profile USE_EXPAND and
USE_EXPAND_IMPLICIT variables and ${lower_v} is the lowercase
equivalent of ${v}.
Example Variable Settings
Variable
Value
IUSE_IMPLICIT
prefix selinux
USE_EXPAND
ELIBC KERNEL USERLAND
USE_EXPAND_UNPREFIXED
ARCH
USE_EXPAND_IMPLICIT
ARCH ELIBC KERNEL USERLAND
USE_EXPAND_VALUES_ARCH
amd64 ppc ppc64 x86 x86-fbsd x86-solaris
USE_EXPAND_VALUES_ELIBC
FreeBSD glibc
USE_EXPAND_VALUES_KERNEL
FreeBSD linux SunOS
USE_EXPAND_VALUES_USERLAND
BSD GNU
Profile stable USE forcing and masking
In profile directories with an EAPI supporting stable masking,
new USE configuration files are supported: use.stable.mask,
use.stable.force, package.use.stable.mask and
package.use.stable.force. These files behave similarly to
previously supported USE configuration files, except that they
only influence packages that are merged due to a stable keyword.
Helpers
econf adds --disable-silent-rules
This option will automatically be passed if
--disable-silent-rules occurs in the output of configure --help.
new* commands can read from standard input
Standard input is read when the first parameter is - (a hyphen).
New option --host-root for {has,best}_version
This option --host-root will cause the query to apply to the
host root instead of ROOT.
New usex helper function
USAGE: usex <USE flag> [true output] [false output] [true suffix] [false suffix]
DESCRIPTION:
If USE flag is set, echo [true output][true suffix] (defaults to "yes"),
otherwise echo [false output][false suffix] (defaults to "no").
Phases
src_test supports parallel tests
Unlike older EAPIs, the default src_test implementation will not
pass the -j1 option to emake.
Ebuild Environment Variables
New EBUILD_PHASE_FUNC variable
During execution of an ebuild phase function (such as pkg_setup
or src_unpack), the EBUILD_PHASE_FUNC variable will contain the
name of the phase function that is currently executing.