| <section id='package-ebuild-eapi-2_pre1'> |
| <title>EAPI 2_pre1</title> |
| <section id='package-ebuild-eapi-2-helpers'> |
| <title>Helpers</title> |
| <section id='package-ebuild-eapi-2-helpers-doman'> |
| <title>doman</title> |
| <para> |
| Language codes in file names are now used for path translation. |
| </para> |
| <table><title>Man Page Path Translation</title> |
| <tgroup cols='2' align='left' > |
| <colspec colname='source'/> |
| <colspec colname='destination'/> |
| <thead> |
| <row> |
| <entry>Source</entry> |
| <entry>Destination</entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry>foo.1</entry> |
| <entry>/usr/share/man/man1/foo.1</entry> |
| </row> |
| <row> |
| <entry>foo.lang.1</entry> |
| <entry>/usr/share/man/lang/man1/foo.1</entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </table> |
| </section> |
| </section> |
| <section id='package-ebuild-eapi-2-use-deps'> |
| <title>USE Dependencies</title> |
| <section id='package-ebuild-eapi-2-use-deps-unconditional'> |
| <title>Unconditional USE Dependencies</title> |
| <table><title>Syntax Examples</title> |
| <tgroup cols='2' align='left' > |
| <colspec colname='example'/> |
| <colspec colname='meaning'/> |
| <thead> |
| <row> |
| <entry>Example</entry> |
| <entry>Meaning</entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry>foo[bar]</entry> |
| <entry>foo must have bar enabled</entry> |
| </row> |
| <row> |
| <entry>foo[bar,baz]</entry> |
| <entry>foo must have both bar and baz enabled</entry> |
| </row> |
| <row> |
| <entry>foo[-bar,baz]</entry> |
| <entry>foo must have bar disabled and baz enabled</entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </table> |
| </section> |
| <section id='package-ebuild-eapi-2-use-deps-conditional'> |
| <title>Conditional USE Dependencies</title> |
| <table><title>Syntax Examples</title> |
| <tgroup cols='2' align='left' > |
| <colspec colname='compact'/> |
| <colspec colname='expanded'/> |
| <thead> |
| <row> |
| <entry>Compact Form</entry> |
| <entry>Equivalent Expanded Form</entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry>foo[bar?]</entry> |
| <entry>bar? ( foo[bar] ) !bar? ( foo )</entry> |
| </row> |
| <row> |
| <entry>foo[!bar?]</entry> |
| <entry>bar? ( foo ) !bar? ( foo[-bar] )</entry> |
| </row> |
| <row> |
| <entry>foo[bar=]</entry> |
| <entry>bar? ( foo[bar] ) !bar? ( foo[-bar] )</entry> |
| </row> |
| <row> |
| <entry>foo[!bar=]</entry> |
| <entry>bar? ( foo[-bar] ) !bar? ( foo[bar] )</entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </table> |
| </section> |
| </section> |
| </section> |
| <section id='package-ebuild-eapi-2_pre2'> |
| <title>EAPI 2_pre2</title> |
| <section id='package-ebuild-eapi-2-phases'> |
| <title>Phases</title> |
| <section id='package-ebuild-eapi-2-phases-src-configure'> |
| <title>New src_configure Phase Function</title> |
| <para> |
| The configure portion of the src_compile function has been |
| split into a separate function which is named src_configure. The |
| src_configure function is called in between the src_unpack and |
| src_compile functions. |
| </para> |
| <programlisting> |
| src_configure() { |
| if [[ -x ${ECONF_SOURCE:-.}/configure ]] ; then |
| econf |
| fi |
| } |
| |
| src_compile() { |
| if [ -f Makefile ] || [ -f GNUmakefile ] || [ -f makefile ] ; then |
| emake || die "emake failed" |
| fi |
| } |
| </programlisting> |
| <table><title>Execution Order of Phase Functions</title> |
| <tgroup cols='1' align='left' > |
| <colspec colname='name'/> |
| <thead> |
| <row> |
| <entry>Phase Function Name</entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry>pkg_setup</entry> |
| </row> |
| <row> |
| <entry>src_unpack</entry> |
| </row> |
| <row> |
| <entry>src_configure</entry> |
| </row> |
| <row> |
| <entry>src_compile</entry> |
| </row> |
| <row> |
| <entry>src_test</entry> |
| </row> |
| <row> |
| <entry>src_install</entry> |
| </row> |
| <row> |
| <entry>pkg_preinst</entry> |
| </row> |
| <row> |
| <entry>pkg_postinst</entry> |
| </row> |
| <row> |
| <entry>pkg_prerm</entry> |
| </row> |
| <row> |
| <entry>pkg_postrm</entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </table> |
| </section> |
| <section id='package-ebuild-eapi-2-phases-default-functions'> |
| <title>Default Phase Functions</title> |
| <para> |
| 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. |
| </para> |
| <table><title>Default Phase Functions</title> |
| <tgroup cols='1' align='left' > |
| <colspec colname='name'/> |
| <thead> |
| <row> |
| <entry>Function Name</entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry>default_pkg_nofetch</entry> |
| </row> |
| <row> |
| <entry>default_src_unpack</entry> |
| </row> |
| <row> |
| <entry>default_src_configure</entry> |
| </row> |
| <row> |
| <entry>default_src_compile</entry> |
| </row> |
| <row> |
| <entry>default_src_test</entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </table> |
| <para> |
| 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. |
| </para> |
| <table><title>Default EAPI Phase Functions</title> |
| <tgroup cols='1' align='left' > |
| <colspec colname='name'/> |
| <thead> |
| <row> |
| <entry>Function Name</entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry>eapi0_pkg_nofetch</entry> |
| </row> |
| <row> |
| <entry>eapi0_src_unpack</entry> |
| </row> |
| <row> |
| <entry>eapi0_src_compile</entry> |
| </row> |
| <row> |
| <entry>eapi0_src_test</entry> |
| </row> |
| <row> |
| <entry>eapi1_pkg_nofetch</entry> |
| </row> |
| <row> |
| <entry>eapi1_src_unpack</entry> |
| </row> |
| <row> |
| <entry>eapi1_src_compile</entry> |
| </row> |
| <row> |
| <entry>eapi1_src_test</entry> |
| </row> |
| <row> |
| <entry>eapi2_pkg_nofetch</entry> |
| </row> |
| <row> |
| <entry>eapi2_src_unpack</entry> |
| </row> |
| <row> |
| <entry>eapi2_src_configure</entry> |
| </row> |
| <row> |
| <entry>eapi2_src_compile</entry> |
| </row> |
| <row> |
| <entry>eapi2_src_test</entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </table> |
| </section> |
| <section id='package-ebuild-eapi-2-phases-default-function-alias'> |
| <title>Default Phase Function Alias</title> |
| <para> |
| 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. |
| </para> |
| </section> |
| </section> |
| </section> |