EAPI 2_pre1
Helpers
doman
Language codes in file names are now used for path translation.
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
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
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] )
EAPI 2_pre2
Phases
Default Phase Functions
The default pkg_nofetch and src_* phase functions are now
accessible via a function having a name
that begins with default_ and
ends with the respective phase function name. For example,
a call to a function with the name default_src_compile is
equivalent to a call to the default src_compile
implementation.
Default Phase Functions
Function Name
default_pkg_nofetch
default_src_unpack
default_src_configure
default_src_compile
default_src_test
The default phase functions for a particular EAPI are also
accessible as functions having names that start with 'eapi'
followed by the EAPI value. For example, a call to a function
named eapi0_src_compile is equivalent to a call to the
default src_compile implementation that is provided with EAPI 0.
Default EAPI Phase Functions
Function Name
eapi0_pkg_nofetch
eapi0_src_unpack
eapi0_src_compile
eapi0_src_test
eapi1_pkg_nofetch
eapi1_src_unpack
eapi1_src_compile
eapi1_src_test
eapi2_pkg_nofetch
eapi2_src_unpack
eapi2_src_configure
eapi2_src_compile
eapi2_src_test
Default Phase Function Alias
A function named "default" is redefined for each phase so that it
will call the default_* function corresponding to the current phase.
For example, a call to the function named "default" during the
src_compile phase is equivalent to a call to the function named
default_src_compile.
EAPI 2 Draft
Helpers
doman
Language codes in file names are now used for path translation.
Man Page Path Translation
Source
Destination
foo.1
/usr/share/man/man1/foo.1
foo.lang.1
/usr/share/man/lang/man1/foo.1
Dependencies
Blocker Atoms
New Meaning for Old Syntax
Blocker atoms which use the previously existing !atom syntax now have
a slightly different meaning. These blocker atoms indicate that
conflicting packages may be temporarily installed simultaneously. When
temporary simultaneous installation of conflicting packages occurs, the
installation of a newer package may overwrite any colliding files that
belong to an older package which is explicitly blocked. When such file
collisions occur, the colliding files cease to belong to the older
package, and they remain installed after the older package is
eventually uninstalled. The older package is uninstalled only after
any newer blocking packages have been merged on top of it.
New !!atom Syntax
A new !!atom syntax is now supported, for use in special cases for which
temporary simultaneous installation of conflicting packages should not be
allowed. If a given package happens to be blocked my a mixture of atoms
consisting of both the !atom and !!atom syntaxes, the !!atom syntax takes
precedence over the !atom syntax.
USE Dependencies
Unconditional USE Dependencies
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
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] )
Phases
New src_prepare Phase Function
A new src_prepare function is called after the src_unpack
function, with cwd initially set to $S.
Execution Order of Phase Functions
Execution Order of Phase Functions
Phase Function Name
pkg_setup
src_unpack
src_prepare
src_configure
src_compile
src_test
src_install
pkg_preinst
pkg_postinst
pkg_prerm
pkg_postrm
Default Phase Functions
The default pkg_nofetch and src_* phase functions are now
accessible via a function having a name
that begins with default_ and
ends with the respective phase function name. For example,
a call to a function with the name default_src_compile is
equivalent to a call to the default src_compile
implementation.
Default Phase Functions
Function Name
default_pkg_nofetch
default_src_unpack
default_src_prepare
default_src_configure
default_src_compile
default_src_test
The default phase functions for a particular EAPI are also
accessible as functions having names that start with 'eapi'
followed by the EAPI value. For example, a call to a function
named eapi0_src_compile is equivalent to a call to the
default src_compile implementation that is provided with EAPI 0.
Default EAPI Phase Functions
Function Name
eapi0_pkg_nofetch
eapi0_src_unpack
eapi0_src_compile
eapi0_src_test
eapi1_pkg_nofetch
eapi1_src_unpack
eapi1_src_compile
eapi1_src_test
eapi2_pkg_nofetch
eapi2_src_unpack
eapi2_src_prepare
eapi2_src_configure
eapi2_src_compile
eapi2_src_test
Default Phase Function Alias
A function named "default" is redefined for each phase so that it
will call the default_* function corresponding to the current phase.
For example, a call to the function named "default" during the
src_compile phase is equivalent to a call to the function named
default_src_compile.