From: "Ulrich Müller" <ulm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
Date: Mon, 15 Feb 2016 12:10:09 +0000 (UTC) [thread overview]
Message-ID: <1455538142.dc45ef4f246cf360e9e67ec0fdfa87749bf1f67d.ulm@gentoo> (raw)
commit: dc45ef4f246cf360e9e67ec0fdfa87749bf1f67d
Author: Markus Meier <maekke <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 19 20:37:34 2015 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 15 12:09:02 2016 +0000
URL: https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=dc45ef4f
describe EAPI=6 in EAPI Usage and Description page
This is based on PMS and it's cheat sheet
ebuild-writing/eapi/text.xml | 135 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 135 insertions(+)
diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml
index 4cf6133..376089a 100644
--- a/ebuild-writing/eapi/text.xml
+++ b/ebuild-writing/eapi/text.xml
@@ -858,6 +858,141 @@ If USE flag is set, echo [true output][true suffix] (defaults to "yes"),
</body>
</section>
+<section>
+<title>EAPI=6</title>
+<body>
+
+<subsection>
+<title>Bash version</title>
+<body>
+<p>Ebuilds can use features of Bash version 4.2 (was 3.2 before).</p>
+</body>
+</subsection>
+
+<subsection>
+<title>Ebuild environment</title>
+<body>
+<ul>
+ <li>
+ <p><b>Locale settings</b></p>
+ <p>It is ensured that the behaviour of case modification and collation order for ASCII characters (<c>LC_CTYPE</c> and <c>LC_COLLATE</c>) are the same as in the POSIX locale.</p>
+ </li>
+ <li>
+ <p><b><c>failglob</c> enabled</b></p>
+ <p>
+ The <c>failglob</c> option of Bash is set in global scope, so that unintentional pattern expansion will be caught as an error.
+ </p>
+ </li>
+</ul>
+</body>
+</subsection>
+
+<subsection>
+<title>Phases</title>
+<body>
+<ul>
+ <li>
+ <p><b>New <c>src_prepare</c> Phase Function</b></p>
+ <p>
+ This phase is no longer a no-op, it supports applying patches via the <c>PATCHES</c> variable and applying user patches via <c>eaply_user</c>. The default <c>src_prepare</c> looks like this:
+ <codesample lang="ebuild">
+src_prepare() {
+ if declare -p PATCHES | grep -q "^declare -a "; then
+ [[ -n ${PATCHES[@]} ]] && eapply "${PATCHES[@]}"
+ else
+ [[ -n ${PATCHES} ]] && eapply ${PATCHES}
+ fi
+ eapply_user
+}
+ </codesample>
+ </p>
+ </li>
+ <li>
+ <p><b>New <c>src_install</c> Phase Function</b></p>
+ <p>
+ This phase uses the new <c>einstalldocs</c> function for installation of documentation. The default <c>src_install</c> looks like this:
+ <codesample lang="ebuild">
+src_install() {
+ if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
+ emake DESTDIR="${D}" install
+ fi
+ einstalldocs
+}
+ </codesample>
+ </p>
+ </li>
+</ul>
+</body>
+</subsection>
+
+<subsection>
+<title>Helpers</title>
+<body>
+<ul>
+ <li>
+ <p><b><c>einstall</c> banned</b></p>
+ <p>
+ The <c>einstall</c> helper has been banned with <c>EAPI=6</c>.
+ </p>
+ </li>
+ <li>
+ <p><b><c>nonfatal die</c></b></p>
+ <p>
+ When <c>die</c> or <c>assert</c> are called under the <c>nonfatal</c> command and with the <c>-n</c> option, they will not abort the build process but return with an error.
+ </p>
+ </li>
+ <li>
+ <p><b><c>eapply</c> support</b></p>
+ <p>
+ The <c>eapply</c> command is a simplified substitute for <c>epatch</c> (from <c>eutils.eclass</c>), implemented in the package manager. The patches from its file or directory arguments are applied using patch <c>-p1</c>.
+ </p>
+ </li>
+ <li>
+ <p><b><c>eapply_user</c> support</b></p>
+ <p>
+ The <c>eapply_user</c> command permits the package manager to apply user-provided patches. It must be called from every <c>src_prepare</c> function.
+ </p>
+ </li>
+ <li>
+ <p><b><c>econf</c> adds <c>--docdir</c> and <c>--htmldir</c></b></p>
+ <p>
+ Options <c>--docdir</c> and <c>--htmldir</c> are passed to <c>configure</c>, in addition to the existing options.
+ </p>
+ </li>
+ <li>
+ <p><b><c>in_iuse</c> support</b></p>
+ <p>
+ The <c>in_iuse</c> function returns <c>true</c> if the <c>USE</c> flag given as its argument is available in the ebuild for <c>USE</c> queries.
+ </p>
+ </li>
+ <li>
+ <p><b><c>unpack</c> changes</b></p>
+ <ul>
+ <li><p><c>unpack</c> supports absolute and relative paths.</p></li>
+ <li><p><c>unpack</c> supports <c>.txz</c> (xz compressed tarball).</p></li>
+ <li><p><c>unpack</c> matches filename extensions case-insensitively.</p></li>
+ </ul>
+ </li>
+ <li>
+ <p><b><c>einstalldocs</c> support</b></p>
+ <p>
+ The <c>einstalldocs</c> function will in-stall the files specified by the <c>DOCS</c> variable (or a default set of files if <c>DOCS</c> is unset) and by the <c>HTML_DOCS</c> variable.
+ </p>
+ </li>
+ <li>
+ <p><b><c>get_libdir</c> support</b></p>
+ <p>
+ The <c>get_libdir</c> command outputs the <c>lib*</c> directory basename suitable for the current ABI.
+ </p>
+ </li>
+</ul>
+</body>
+</subsection>
+
+
+</body>
+</section>
+
</body>
</chapter>
</guide>
next reply other threads:[~2016-02-15 12:10 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-15 12:10 Ulrich Müller [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-07-05 20:15 [gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/ Ulrich Müller
2022-11-09 12:01 Ulrich Müller
2022-02-25 19:04 Sam James
2022-02-22 7:11 Sam James
2022-02-22 7:11 Sam James
2020-05-09 10:41 Ulrich Müller
2020-01-23 7:47 Ulrich Müller
2020-01-09 7:58 Ulrich Müller
2018-10-24 13:01 Brian Evans
2017-09-25 4:27 Göktürk Yüksek
2017-01-25 0:55 Göktürk Yüksek
2016-12-08 4:07 Göktürk Yüksek
2016-09-08 21:23 Mike Gilbert
2016-04-30 3:09 Göktürk Yüksek
2016-03-24 15:10 Ulrich Müller
2016-02-15 18:00 Ulrich Müller
2016-02-15 12:10 Ulrich Müller
2015-11-22 12:37 Ulrich Müller
2014-06-08 17:39 Mike Gilbert
2013-04-30 12:58 Fabian Groffen
2013-01-21 17:27 Pacho Ramos
2013-01-21 8:18 Pacho Ramos
2012-11-17 18:59 Markos Chandras
2012-11-17 18:59 Markos Chandras
2012-11-02 17:53 Markos Chandras
2012-10-30 19:01 Markos Chandras
2012-08-31 21:18 Markos Chandras
2011-08-24 20:13 Markos Chandras
2011-03-09 16:42 Jeremy Olexa
2011-02-13 8:23 Torsten Veller
2011-02-04 20:41 darkside
2011-02-04 20:37 darkside
2011-02-04 17:02 darkside
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1455538142.dc45ef4f246cf360e9e67ec0fdfa87749bf1f67d.ulm@gentoo \
--to=ulm@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox