public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
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[@]} ]] &amp;&amp; eapply "${PATCHES[@]}"
+	else
+		[[ -n ${PATCHES} ]] &amp;&amp; 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>


             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