summaryrefslogtreecommitdiff
path: root/guide
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2023-01-14 16:37:27 +0100
committerMichał Górny <mgorny@gentoo.org>2023-01-14 16:37:27 +0100
commitc01c3cbddc8ea0575bbea41b644f14704fff7741 (patch)
tree75bd71fd23bbf4ced26a303735e7d958343a5ed3 /guide
parentUpdate & sort the feed list (diff)
downloadpython-c01c3cbddc8ea0575bbea41b644f14704fff7741.tar.gz
python-c01c3cbddc8ea0575bbea41b644f14704fff7741.tar.bz2
python-c01c3cbddc8ea0575bbea41b644f14704fff7741.zip
Rebuild with Sphinx 6.1.3
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'guide')
-rw-r--r--guide/.buildinfo2
-rw-r--r--guide/_static/basic.css5
-rw-r--r--guide/_static/doctools.js2
-rw-r--r--guide/_static/language_data.js2
-rw-r--r--guide/_static/searchtools.js2
-rw-r--r--guide/any.html233
-rw-r--r--guide/basic.html9
-rw-r--r--guide/buildsys.html691
-rw-r--r--guide/concept.html37
-rw-r--r--guide/depend.html125
-rw-r--r--guide/distutils-legacy.html71
-rw-r--r--guide/distutils.html703
-rw-r--r--guide/eclass.html5
-rw-r--r--guide/expert-multi.html421
-rw-r--r--guide/genindex.html5
-rw-r--r--guide/helper.html41
-rw-r--r--guide/index.html5
-rw-r--r--guide/interpreter-maintenance.html49
-rw-r--r--guide/interpreter.html5
-rw-r--r--guide/migration.html33
-rw-r--r--guide/multi.html387
-rw-r--r--guide/package-maintenance.html5
-rw-r--r--guide/porting.html31
-rw-r--r--guide/preface.html5
-rw-r--r--guide/pytest.html139
-rw-r--r--guide/qawarn.html5
-rw-r--r--guide/search.html5
-rw-r--r--guide/searchindex.js2
-rw-r--r--guide/single.html239
-rw-r--r--guide/test.html117
30 files changed, 1656 insertions, 1725 deletions
diff --git a/guide/.buildinfo b/guide/.buildinfo
index ec4883d..432e4e8 100644
--- a/guide/.buildinfo
+++ b/guide/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 20daac6edbd13618c377785ea942b99a
+config: ca328a06ae0e553a208ded759fc82596
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/guide/_static/basic.css b/guide/_static/basic.css
index 4e9a9f1..7577acb 100644
--- a/guide/_static/basic.css
+++ b/guide/_static/basic.css
@@ -4,7 +4,7 @@
*
* Sphinx stylesheet -- basic theme.
*
- * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
@@ -324,6 +324,7 @@ aside.sidebar {
p.sidebar-title {
font-weight: bold;
}
+
nav.contents,
aside.topic,
div.admonition, div.topic, blockquote {
@@ -331,6 +332,7 @@ div.admonition, div.topic, blockquote {
}
/* -- topics ---------------------------------------------------------------- */
+
nav.contents,
aside.topic,
div.topic {
@@ -606,6 +608,7 @@ ol.simple p,
ul.simple p {
margin-bottom: 0;
}
+
aside.footnote > span,
div.citation > span {
float: left;
diff --git a/guide/_static/doctools.js b/guide/_static/doctools.js
index 527b876..d06a71d 100644
--- a/guide/_static/doctools.js
+++ b/guide/_static/doctools.js
@@ -4,7 +4,7 @@
*
* Base JavaScript utilities for all Sphinx HTML documentation.
*
- * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
diff --git a/guide/_static/language_data.js b/guide/_static/language_data.js
index 2e22b06..250f566 100644
--- a/guide/_static/language_data.js
+++ b/guide/_static/language_data.js
@@ -5,7 +5,7 @@
* This script contains the language-specific data used by searchtools.js,
* namely the list of stopwords, stemmer, scorer and splitter.
*
- * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
diff --git a/guide/_static/searchtools.js b/guide/_static/searchtools.js
index e89e34d..97d56a7 100644
--- a/guide/_static/searchtools.js
+++ b/guide/_static/searchtools.js
@@ -4,7 +4,7 @@
*
* Sphinx JavaScript utilities for the full-text search.
*
- * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
diff --git a/guide/any.html b/guide/any.html
index 8c8e19a..3aad4af 100644
--- a/guide/any.html
+++ b/guide/any.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -49,27 +46,27 @@ appropriately.</p>
<p>This means that a most trivial package using an autotools-compatible
build system that needs Python at build time could look like
the following:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
-<span class="hll"> <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_<span class="o">{</span><span class="m">6</span>..8<span class="o">}</span> <span class="o">)</span>
-</span><span class="hll"> inherit python-any-r1
+<span class="hll"><span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>..8<span class="o">}</span><span class="w"> </span><span class="o">)</span>
+</span><span class="hll"><span class="w"> </span>inherit<span class="w"> </span>python-any-r1
</span>
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;A repository of data files describing media player capabilities&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://cgit.freedesktop.org/media-player-info/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://www.freedesktop.org/software/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
-
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;BSD&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sh ~sparc x86&quot;</span>
- <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;&quot;</span>
-
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;&gt;=virtual/udev-208&quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2">&quot;</span>
- <span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
-<span class="hll"><span class="s2"> </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"></span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;A repository of data files describing media player capabilities&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://cgit.freedesktop.org/media-player-info/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://www.freedesktop.org/software/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;BSD&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sh ~sparc x86&quot;</span>
+<span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;&quot;</span>
+
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;&gt;=virtual/udev-208&quot;</span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="hll"><span class="s2"> </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span>
</span><span class="s2"> virtual/pkgconfig</span>
<span class="s2"> &quot;</span>
</pre></div>
@@ -99,34 +96,34 @@ dependencies were installed for the current interpreter. For that
purpose, the function is called with <code class="docutils literal notranslate"><span class="pre">PYTHON_USEDEP</span></code> variable declared
to the USE dependency string for the currently tested implementation.</p>
<p>This is best explained using an example:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">6</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span> <span class="o">)</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">6</span>
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span><span class="w"> </span><span class="o">)</span>
- inherit meson python-any-r1
+<span class="w"> </span>inherit<span class="w"> </span>meson<span class="w"> </span>python-any-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;A file manager for Cinnamon, forked from Nautilus&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;http://developer.linuxmint.com/projects/cinnamon-projects.html&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/linuxmint/nemo/archive/</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">.tar.gz -&gt; </span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;A file manager for Cinnamon, forked from Nautilus&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;http://developer.linuxmint.com/projects/cinnamon-projects.html&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/linuxmint/nemo/archive/</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">.tar.gz -&gt; </span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-2+ LGPL-2+ FDL-1.1&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;amd64 x86&quot;</span>
- <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-2+ LGPL-2+ FDL-1.1&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;amd64 x86&quot;</span>
+<span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;&quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
-<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_any_dep <span class="s1">&#39;</span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_any_dep<span class="w"> </span><span class="s1">&#39;</span>
</span><span class="hll"><span class="s1"> dev-python/polib[${PYTHON_USEDEP}]</span>
</span><span class="hll"><span class="s1"> dev-python/pygobject:3[${PYTHON_USEDEP}]</span>
-</span><span class="hll"><span class="s1"> &#39;</span><span class="k">)</span><span class="s2"></span>
+</span><span class="hll"><span class="s1"> &#39;</span><span class="k">)</span>
</span><span class="s2"> &quot;</span>
-<span class="hll"> python_check_deps<span class="o">()</span> <span class="o">{</span>
-</span><span class="hll"> python_has_version <span class="s2">&quot;dev-python/polib[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span> <span class="o">&amp;&amp;</span>
-</span><span class="hll"> python_has_version <span class="s2">&quot;dev-python/pygobject:3[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
-</span><span class="hll"> <span class="o">}</span>
+<span class="hll"><span class="w"> </span>python_check_deps<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+</span><span class="hll"><span class="w"> </span>python_has_version<span class="w"> </span><span class="s2">&quot;dev-python/polib[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span><span class="w"> </span><span class="o">&amp;&amp;</span>
+</span><span class="hll"><span class="w"> </span>python_has_version<span class="w"> </span><span class="s2">&quot;dev-python/pygobject:3[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
+</span><span class="hll"><span class="w"> </span><span class="o">}</span>
</span></pre></div>
</div>
<p>This means that the package will work with Python 3.6, 3.7 or 3.8,
@@ -146,10 +143,10 @@ performed and their results. It returns success if all packages were
found, false otherwise.</p>
<p>Note that when multiple invocations are used, <code class="docutils literal notranslate"><span class="pre">&amp;&amp;</span></code> needs to be used
to chain the results. The example above can be also written as:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_check_deps<span class="o">()</span> <span class="o">{</span>
- python_has_version <span class="se">\</span>
- <span class="s2">&quot;dev-python/polib[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span> <span class="se">\</span>
- <span class="s2">&quot;dev-python/pygobject:3[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_check_deps<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>python_has_version<span class="w"> </span><span class="se">\</span>
+<span class="w"> </span><span class="s2">&quot;dev-python/polib[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span><span class="w"> </span><span class="se">\</span>
+<span class="w"> </span><span class="s2">&quot;dev-python/pygobject:3[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
<span class="o">}</span>
</pre></div>
</div>
@@ -165,42 +162,42 @@ example into multiple <code class="docutils literal notranslate"><span class="pr
combinations. This is particularly common when Python is used for
the test suite. In that case, the dependencies and <code class="docutils literal notranslate"><span class="pre">pkg_setup</span></code> call
need to be wrapped in appropriate USE conditions:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_<span class="o">{</span><span class="m">6</span>,7<span class="o">}</span> <span class="o">)</span>
- inherit python-any-r1
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>,7<span class="o">}</span><span class="w"> </span><span class="o">)</span>
+<span class="w"> </span>inherit<span class="w"> </span>python-any-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Programmable Completion for bash&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/scop/bash-completion&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/scop/bash-completion/releases/download/</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.xz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Programmable Completion for bash&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/scop/bash-completion&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/scop/bash-completion/releases/download/</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.xz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-2+&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris&quot;</span>
-<span class="hll"> <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;test&quot;</span>
-</span><span class="hll"> <span class="nv">RESTRICT</span><span class="o">=</span><span class="s2">&quot;!test? ( test )&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-2+&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris&quot;</span>
+<span class="hll"><span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;test&quot;</span>
+</span><span class="hll"><span class="w"> </span><span class="nv">RESTRICT</span><span class="o">=</span><span class="s2">&quot;!test? ( test )&quot;</span>
</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;&gt;=app-shells/bash-4.3_p30-r1:0&quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;&gt;=app-shells/bash-4.3_p30-r1:0&quot;</span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="hll"><span class="s2"> test? (</span>
-</span><span class="hll"><span class="s2"> </span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2"></span>
-</span><span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_any_dep <span class="s1">&#39;</span>
+</span><span class="hll"><span class="s2"> </span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span>
+</span><span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_any_dep<span class="w"> </span><span class="s1">&#39;</span>
</span><span class="hll"><span class="s1"> dev-python/pexpect[${PYTHON_USEDEP}]</span>
</span><span class="hll"><span class="s1"> dev-python/pytest[${PYTHON_USEDEP}]</span>
-</span><span class="hll"><span class="s1"> &#39;</span><span class="k">)</span><span class="s2"></span>
+</span><span class="hll"><span class="s1"> &#39;</span><span class="k">)</span>
</span><span class="hll"><span class="s2"> )&quot;</span>
</span>
- python_check_deps<span class="o">()</span> <span class="o">{</span>
- python_has_version -d <span class="s2">&quot;dev-python/pexpect[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span> <span class="o">&amp;&amp;</span>
- python_has_version -d <span class="s2">&quot;dev-python/pytest[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
- <span class="o">}</span>
-
- pkg_setup<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> use <span class="nb">test</span> <span class="o">&amp;&amp;</span> python-any-r1_pkg_setup
-</span> <span class="o">}</span>
+<span class="w"> </span>python_check_deps<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>python_has_version<span class="w"> </span>-d<span class="w"> </span><span class="s2">&quot;dev-python/pexpect[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span><span class="w"> </span><span class="o">&amp;&amp;</span>
+<span class="w"> </span>python_has_version<span class="w"> </span>-d<span class="w"> </span><span class="s2">&quot;dev-python/pytest[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
+<span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>pkg_setup<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span>use<span class="w"> </span><span class="nb">test</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>python-any-r1_pkg_setup
+</span><span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
</section>
@@ -211,36 +208,36 @@ but some dependencies are required only conditionally to USE flags.
The simplest way to achieve that is to use <code class="docutils literal notranslate"><span class="pre">${PYTHON_DEPS}</span></code> globally
and <code class="docutils literal notranslate"><span class="pre">python_gen_any_dep</span></code> in USE-conditional block, then express
a similar condition in <code class="docutils literal notranslate"><span class="pre">python_check_deps()</span></code>:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_<span class="o">{</span><span class="m">6</span>,7<span class="o">}</span> <span class="o">)</span>
- inherit python-any-r1 cmake
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>,7<span class="o">}</span><span class="w"> </span><span class="o">)</span>
+<span class="w"> </span>inherit<span class="w"> </span>python-any-r1<span class="w"> </span>cmake
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Qt bindings for the Telepathy D-Bus protocol&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://telepathy.freedesktop.org/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://telepathy.freedesktop.org/releases/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Qt bindings for the Telepathy D-Bus protocol&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://telepathy.freedesktop.org/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://telepathy.freedesktop.org/releases/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;LGPL-2.1&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;amd64 ~arm arm64 x86&quot;</span>
-<span class="hll"> <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;test&quot;</span>
-</span> <span class="nv">RESTRICT</span><span class="o">=</span><span class="s2">&quot;!test? ( test )&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;LGPL-2.1&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;amd64 ~arm arm64 x86&quot;</span>
+<span class="hll"><span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;test&quot;</span>
+</span><span class="w"> </span><span class="nv">RESTRICT</span><span class="o">=</span><span class="s2">&quot;!test? ( test )&quot;</span>
-<span class="hll"> <span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"></span>
+<span class="hll"><span class="w"> </span><span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span>
</span><span class="hll"><span class="s2"> test? (</span>
-</span><span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_any_dep <span class="s1">&#39;</span>
+</span><span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_any_dep<span class="w"> </span><span class="s1">&#39;</span>
</span><span class="hll"><span class="s1"> dev-python/dbus-python[${PYTHON_USEDEP}]</span>
-</span><span class="hll"><span class="s1"> &#39;</span><span class="k">)</span><span class="s2"></span>
+</span><span class="hll"><span class="s1"> &#39;</span><span class="k">)</span>
</span><span class="hll"><span class="s2"> )</span>
</span><span class="s2"> &quot;</span>
-<span class="hll"> python_check_deps<span class="o">()</span> <span class="o">{</span>
-</span><span class="hll"> use <span class="nb">test</span> <span class="o">||</span> <span class="k">return</span> <span class="m">0</span>
-</span><span class="hll"> python_has_version -b <span class="s2">&quot;dev-python/dbus-python[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
-</span><span class="hll"> <span class="o">}</span>
+<span class="hll"><span class="w"> </span>python_check_deps<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+</span><span class="hll"><span class="w"> </span>use<span class="w"> </span><span class="nb">test</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="m">0</span>
+</span><span class="hll"><span class="w"> </span>python_has_version<span class="w"> </span>-b<span class="w"> </span><span class="s2">&quot;dev-python/dbus-python[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
+</span><span class="hll"><span class="w"> </span><span class="o">}</span>
</span></pre></div>
</div>
</section>
@@ -250,46 +247,46 @@ a similar condition in <code class="docutils literal notranslate"><span class="p
dependencies conditional to different USE flags. While there are
multiple possible ways of doing that, the least error-prone is to move
USE conditional blocks inside <code class="docutils literal notranslate"><span class="pre">python_gen_any_dep</span></code>:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">6</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_6 <span class="o">)</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">6</span>
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_6<span class="w"> </span><span class="o">)</span>
- inherit gnome2 python-any-r1
+<span class="w"> </span>inherit<span class="w"> </span>gnome2<span class="w"> </span>python-any-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;GObject library for accessing the freedesktop.org Secret Service API&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://wiki.gnome.org/Projects/Libsecret&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;GObject library for accessing the freedesktop.org Secret Service API&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://wiki.gnome.org/Projects/Libsecret&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;LGPL-2.1+ Apache-2.0&quot;</span> <span class="c1"># Apache-2.0 license is used for tests only</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha amd64 arm arm64 ia64 ~mips ppc ppc64 sparc x86&quot;</span>
-<span class="hll"> <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;+introspection test&quot;</span>
-</span> <span class="nv">RESTRICT</span><span class="o">=</span><span class="s2">&quot;!test? ( test )&quot;</span>
- <span class="c1"># Tests fail with USE=-introspection, https://bugs.gentoo.org/655482</span>
- <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;test? ( introspection )&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;LGPL-2.1+ Apache-2.0&quot;</span><span class="w"> </span><span class="c1"># Apache-2.0 license is used for tests only</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha amd64 arm arm64 ia64 ~mips ppc ppc64 sparc x86&quot;</span>
+<span class="hll"><span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;+introspection test&quot;</span>
+</span><span class="w"> </span><span class="nv">RESTRICT</span><span class="o">=</span><span class="s2">&quot;!test? ( test )&quot;</span>
+<span class="w"> </span><span class="c1"># Tests fail with USE=-introspection, https://bugs.gentoo.org/655482</span>
+<span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;test? ( introspection )&quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="hll"><span class="s2"> test? (</span>
-</span><span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_any_dep <span class="s1">&#39;</span>
+</span><span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_any_dep<span class="w"> </span><span class="s1">&#39;</span>
</span><span class="hll"><span class="s1"> dev-python/mock[${PYTHON_USEDEP}]</span>
</span><span class="hll"><span class="s1"> dev-python/dbus-python[${PYTHON_USEDEP}]</span>
</span><span class="hll"><span class="s1"> introspection? ( dev-python/pygobject:3[${PYTHON_USEDEP}] )</span>
-</span><span class="hll"><span class="s1"> &#39;</span><span class="k">)</span><span class="s2"></span>
+</span><span class="hll"><span class="s1"> &#39;</span><span class="k">)</span>
</span><span class="hll"><span class="s2"> )</span>
</span><span class="s2"> &quot;</span>
-<span class="hll"> python_check_deps<span class="o">()</span> <span class="o">{</span>
-</span><span class="hll"> <span class="k">if</span> use introspection<span class="p">;</span> <span class="k">then</span>
-</span><span class="hll"> python_has_version <span class="s2">&quot;dev-python/pygobject:3[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span> <span class="o">||</span> <span class="k">return</span> <span class="m">1</span>
-</span><span class="hll"> <span class="k">fi</span>
-</span><span class="hll"> python_has_version <span class="s2">&quot;dev-python/mock[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span> <span class="o">&amp;&amp;</span>
-</span><span class="hll"> python_has_version --host-root <span class="s2">&quot;dev-python/dbus-python[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
-</span><span class="hll"> <span class="o">}</span>
+<span class="hll"><span class="w"> </span>python_check_deps<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+</span><span class="hll"><span class="w"> </span><span class="k">if</span><span class="w"> </span>use<span class="w"> </span>introspection<span class="p">;</span><span class="w"> </span><span class="k">then</span>
+</span><span class="hll"><span class="w"> </span>python_has_version<span class="w"> </span><span class="s2">&quot;dev-python/pygobject:3[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="m">1</span>
+</span><span class="hll"><span class="w"> </span><span class="k">fi</span>
+</span><span class="hll"><span class="w"> </span>python_has_version<span class="w"> </span><span class="s2">&quot;dev-python/mock[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span><span class="w"> </span><span class="o">&amp;&amp;</span>
+</span><span class="hll"><span class="w"> </span>python_has_version<span class="w"> </span>--host-root<span class="w"> </span><span class="s2">&quot;dev-python/dbus-python[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
+</span><span class="hll"><span class="w"> </span><span class="o">}</span>
</span>
- pkg_setup<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> use <span class="nb">test</span> <span class="o">&amp;&amp;</span> python-any-r1_pkg_setup
-</span> <span class="o">}</span>
+<span class="w"> </span>pkg_setup<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span>use<span class="w"> </span><span class="nb">test</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>python-any-r1_pkg_setup
+</span><span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
</section>
@@ -379,7 +376,7 @@ USE conditional blocks inside <code class="docutils literal notranslate"><span c
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
diff --git a/guide/basic.html b/guide/basic.html
index cd80dd4..fffa4f3 100644
--- a/guide/basic.html
+++ b/guide/basic.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -52,8 +49,8 @@ the list of Python implementations supported by the package.</p>
<li><p><code class="docutils literal notranslate"><span class="pre">pypy3</span></code> for PyPy3.</p></li>
</ul>
<p>Typical use:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span> pypy3 <span class="o">)</span>
-inherit python-single-r1
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span><span class="w"> </span>pypy3<span class="w"> </span><span class="o">)</span>
+inherit<span class="w"> </span>python-single-r1
</pre></div>
</div>
<span class="target" id="index-1"></span></section>
@@ -341,7 +338,7 @@ or <code class="docutils literal notranslate"><span class="pre">noxfile.py</span
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
diff --git a/guide/buildsys.html b/guide/buildsys.html
index ac760fc..fcb816c 100644
--- a/guide/buildsys.html
+++ b/guide/buildsys.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -69,25 +66,25 @@ chapter.</p>
of them are purely build-time and have no dependencies, it is sufficient
to inherit <code class="docutils literal notranslate"><span class="pre">python-any-r1</span></code>. The eclass takes care of setting
<code class="docutils literal notranslate"><span class="pre">BDEPEND</span></code> along with matching <code class="docutils literal notranslate"><span class="pre">python_check_deps()</span></code>.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
-<span class="hll"> <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_<span class="o">{</span><span class="m">6</span>,7<span class="o">}</span> <span class="o">)</span>
-</span><span class="hll"> inherit python-any-r1 scons-utils toolchain-funcs
+<span class="hll"><span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>,7<span class="o">}</span><span class="w"> </span><span class="o">)</span>
+</span><span class="hll"><span class="w"> </span>inherit<span class="w"> </span>python-any-r1<span class="w"> </span>scons-utils<span class="w"> </span>toolchain-funcs
</span>
- <span class="nv">COMMIT</span><span class="o">=</span><span class="s2">&quot;6e5e8a57628095d8d0c8bbb38187afb0f3a42112&quot;</span>
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Userspace Xbox 360 Controller driver&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://xboxdrv.gitlab.io&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/chewi/xboxdrv/archive/</span><span class="si">${</span><span class="nv">COMMIT</span><span class="si">}</span><span class="s2">.tar.gz -&gt; </span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">S</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">WORKDIR</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">-</span><span class="si">${</span><span class="nv">COMMIT</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">COMMIT</span><span class="o">=</span><span class="s2">&quot;6e5e8a57628095d8d0c8bbb38187afb0f3a42112&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Userspace Xbox 360 Controller driver&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://xboxdrv.gitlab.io&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/chewi/xboxdrv/archive/</span><span class="si">${</span><span class="nv">COMMIT</span><span class="si">}</span><span class="s2">.tar.gz -&gt; </span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">S</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">WORKDIR</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">-</span><span class="si">${</span><span class="nv">COMMIT</span><span class="si">}</span><span class="s2">&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-3&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-3&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86&quot;</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> dev-libs/boost:=</span>
<span class="s2"> dev-libs/dbus-glib</span>
<span class="s2"> dev-libs/glib:2</span>
@@ -97,30 +94,30 @@ to inherit <code class="docutils literal notranslate"><span class="pre">python-a
<span class="s2"> x11-libs/libX11</span>
<span class="s2"> &quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
-<span class="s2"> </span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2"></span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="s2"> </span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span>
<span class="s2"> &quot;</span>
- <span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> dev-util/glib-utils</span>
<span class="s2"> virtual/pkgconfig</span>
<span class="s2"> &quot;</span>
- src_compile<span class="o">()</span> <span class="o">{</span>
- escons <span class="se">\</span>
- <span class="nv">BUILD</span><span class="o">=</span>custom <span class="se">\</span>
- <span class="nv">CXX</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>tc-getCXX<span class="k">)</span><span class="s2">&quot;</span> <span class="se">\</span>
- <span class="nv">AR</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>tc-getAR<span class="k">)</span><span class="s2">&quot;</span> <span class="se">\</span>
- <span class="nv">RANLIB</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>tc-getRANLIB<span class="k">)</span><span class="s2">&quot;</span> <span class="se">\</span>
- <span class="nv">CXXFLAGS</span><span class="o">=</span><span class="s2">&quot;-Wall </span><span class="si">${</span><span class="nv">CXXFLAGS</span><span class="si">}</span><span class="s2">&quot;</span> <span class="se">\</span>
- <span class="nv">LINKFLAGS</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">LDFLAGS</span><span class="si">}</span><span class="s2">&quot;</span>
- <span class="o">}</span>
-
- src_install<span class="o">()</span> <span class="o">{</span>
- dobin xboxdrv
- doman doc/xboxdrv.1
- dodoc AUTHORS NEWS PROTOCOL README.md TODO
- <span class="o">}</span>
+<span class="w"> </span>src_compile<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>escons<span class="w"> </span><span class="se">\</span>
+<span class="w"> </span><span class="nv">BUILD</span><span class="o">=</span>custom<span class="w"> </span><span class="se">\</span>
+<span class="w"> </span><span class="nv">CXX</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>tc-getCXX<span class="k">)</span><span class="s2">&quot;</span><span class="w"> </span><span class="se">\</span>
+<span class="w"> </span><span class="nv">AR</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>tc-getAR<span class="k">)</span><span class="s2">&quot;</span><span class="w"> </span><span class="se">\</span>
+<span class="w"> </span><span class="nv">RANLIB</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>tc-getRANLIB<span class="k">)</span><span class="s2">&quot;</span><span class="w"> </span><span class="se">\</span>
+<span class="w"> </span><span class="nv">CXXFLAGS</span><span class="o">=</span><span class="s2">&quot;-Wall </span><span class="si">${</span><span class="nv">CXXFLAGS</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span><span class="se">\</span>
+<span class="w"> </span><span class="nv">LINKFLAGS</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">LDFLAGS</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>dobin<span class="w"> </span>xboxdrv
+<span class="w"> </span>doman<span class="w"> </span>doc/xboxdrv.1
+<span class="w"> </span>dodoc<span class="w"> </span>AUTHORS<span class="w"> </span>NEWS<span class="w"> </span>PROTOCOL<span class="w"> </span>README.md<span class="w"> </span>TODO
+<span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
</section>
@@ -129,27 +126,27 @@ to inherit <code class="docutils literal notranslate"><span class="pre">python-a
<p>If the package has extra dependencies, you need to take care of <em>all</em>
dependencies yourself. This is because <code class="docutils literal notranslate"><span class="pre">python_gen_any_dep</span></code> cannot
be combined.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
-<span class="hll"> <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_<span class="o">{</span><span class="m">6</span>,7<span class="o">}</span> <span class="o">)</span>
-</span><span class="hll"> inherit python-any-r1 scons-utils toolchain-funcs
+<span class="hll"><span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>,7<span class="o">}</span><span class="w"> </span><span class="o">)</span>
+</span><span class="hll"><span class="w"> </span>inherit<span class="w"> </span>python-any-r1<span class="w"> </span>scons-utils<span class="w"> </span>toolchain-funcs
</span>
- <span class="nv">MY_P</span><span class="o">=</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span>-src-r<span class="si">${</span><span class="nv">PV</span><span class="p">/_rc/-rc</span><span class="si">}</span>
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;A high-performance, open source, schema-free document-oriented database&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://www.mongodb.com&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://fastdl.mongodb.org/src/</span><span class="si">${</span><span class="nv">MY_P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">S</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">WORKDIR</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">MY_P</span><span class="si">}</span><span class="s2">&quot;</span>
-
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;Apache-2.0 SSPL-1&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64&quot;</span>
- <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;test +tools&quot;</span>
- <span class="nv">RESTRICT</span><span class="o">=</span><span class="s2">&quot;!test? ( test )&quot;</span>
-
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;acct-group/mongodb</span>
+<span class="w"> </span><span class="nv">MY_P</span><span class="o">=</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span>-src-r<span class="si">${</span><span class="nv">PV</span><span class="p">/_rc/-rc</span><span class="si">}</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;A high-performance, open source, schema-free document-oriented database&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://www.mongodb.com&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://fastdl.mongodb.org/src/</span><span class="si">${</span><span class="nv">MY_P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">S</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">WORKDIR</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">MY_P</span><span class="si">}</span><span class="s2">&quot;</span>
+
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;Apache-2.0 SSPL-1&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64&quot;</span>
+<span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;test +tools&quot;</span>
+<span class="w"> </span><span class="nv">RESTRICT</span><span class="o">=</span><span class="s2">&quot;!test? ( test )&quot;</span>
+
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;acct-group/mongodb</span>
<span class="s2"> acct-user/mongodb</span>
<span class="s2"> &gt;=app-arch/snappy-1.1.3</span>
<span class="s2"> &gt;=dev-cpp/yaml-cpp-0.6.2:=</span>
@@ -159,63 +156,63 @@ be combined.</p>
<span class="s2"> dev-libs/snowball-stemmer</span>
<span class="s2"> net-libs/libpcap</span>
<span class="s2"> &gt;=sys-libs/zlib-1.2.11:=&quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2"></span>
-<span class="s2"> </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"></span>
-<span class="s2"> </span><span class="k">$(</span>python_gen_any_dep <span class="s1">&#39;</span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span>
+<span class="s2"> </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span>
+<span class="s2"> </span><span class="k">$(</span>python_gen_any_dep<span class="w"> </span><span class="s1">&#39;</span>
<span class="s1"> test? ( dev-python/pymongo[${PYTHON_USEDEP}] )</span>
<span class="hll"><span class="s1"> &gt;=dev-util/scons-2.5.0[${PYTHON_USEDEP}]</span>
</span><span class="s1"> dev-python/cheetah3[${PYTHON_USEDEP}]</span>
<span class="s1"> dev-python/psutil[${PYTHON_USEDEP}]</span>
<span class="s1"> dev-python/pyyaml[${PYTHON_USEDEP}]</span>
<span class="s1"> virtual/python-typing[${PYTHON_USEDEP}]</span>
-<span class="s1"> &#39;</span><span class="k">)</span><span class="s2"></span>
+<span class="s1"> &#39;</span><span class="k">)</span>
<span class="s2"> sys-libs/ncurses:0=</span>
<span class="s2"> sys-libs/readline:0=&quot;</span>
- <span class="nv">PDEPEND</span><span class="o">=</span><span class="s2">&quot;tools? ( &gt;=app-admin/mongo-tools-</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2"> )&quot;</span>
-
- python_check_deps<span class="o">()</span> <span class="o">{</span>
- <span class="k">if</span> use test<span class="p">;</span> <span class="k">then</span>
- python_has_version <span class="s2">&quot;dev-python/pymongo[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span> <span class="o">||</span>
- <span class="k">return</span> <span class="m">1</span>
- <span class="k">fi</span>
-
-<span class="hll"> python_has_version <span class="s2">&quot;&gt;=dev-util/scons-2.5.0[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span> <span class="o">&amp;&amp;</span>
-</span> python_has_version <span class="s2">&quot;dev-python/cheetah3[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span> <span class="o">&amp;&amp;</span>
- python_has_version <span class="s2">&quot;dev-python/psutil[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span> <span class="o">&amp;&amp;</span>
- python_has_version <span class="s2">&quot;dev-python/pyyaml[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span> <span class="o">&amp;&amp;</span>
- python_has_version <span class="s2">&quot;virtual/python-typing[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
- <span class="o">}</span>
-
- src_configure<span class="o">()</span> <span class="o">{</span>
- <span class="nv">scons_opts</span><span class="o">=(</span>
- <span class="nv">CC</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>tc-getCC<span class="k">)</span><span class="s2">&quot;</span>
- <span class="nv">CXX</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>tc-getCXX<span class="k">)</span><span class="s2">&quot;</span>
-
- --disable-warnings-as-errors
- --use-system-boost
- --use-system-pcre
- --use-system-snappy
- --use-system-stemmer
- --use-system-yaml
- --use-system-zlib
- --use-system-zstd
- <span class="o">)</span>
-
- default
- <span class="o">}</span>
-
- src_compile<span class="o">()</span> <span class="o">{</span>
- escons <span class="s2">&quot;</span><span class="si">${</span><span class="nv">scons_opts</span><span class="p">[@]</span><span class="si">}</span><span class="s2">&quot;</span> core tools
- <span class="o">}</span>
-
- src_test<span class="o">()</span> <span class="o">{</span>
- <span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span><span class="s2">&quot;</span> ./buildscripts/resmoke.py --dbpathPrefix<span class="o">=</span><span class="nb">test</span> <span class="se">\</span>
- --suites core --jobs<span class="o">=</span><span class="k">$(</span>makeopts_jobs<span class="k">)</span> <span class="o">||</span> die <span class="s2">&quot;Tests failed&quot;</span>
- <span class="o">}</span>
-
- src_install<span class="o">()</span> <span class="o">{</span>
- escons <span class="s2">&quot;</span><span class="si">${</span><span class="nv">scons_opts</span><span class="p">[@]</span><span class="si">}</span><span class="s2">&quot;</span> --nostrip install --prefix<span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">ED</span><span class="si">}</span><span class="s2">&quot;</span>/usr
- <span class="o">}</span>
+<span class="w"> </span><span class="nv">PDEPEND</span><span class="o">=</span><span class="s2">&quot;tools? ( &gt;=app-admin/mongo-tools-</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2"> )&quot;</span>
+
+<span class="w"> </span>python_check_deps<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="k">if</span><span class="w"> </span>use<span class="w"> </span>test<span class="p">;</span><span class="w"> </span><span class="k">then</span>
+<span class="w"> </span>python_has_version<span class="w"> </span><span class="s2">&quot;dev-python/pymongo[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span><span class="w"> </span><span class="o">||</span>
+<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="m">1</span>
+<span class="w"> </span><span class="k">fi</span>
+
+<span class="hll"><span class="w"> </span>python_has_version<span class="w"> </span><span class="s2">&quot;&gt;=dev-util/scons-2.5.0[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span><span class="w"> </span><span class="o">&amp;&amp;</span>
+</span><span class="w"> </span>python_has_version<span class="w"> </span><span class="s2">&quot;dev-python/cheetah3[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span><span class="w"> </span><span class="o">&amp;&amp;</span>
+<span class="w"> </span>python_has_version<span class="w"> </span><span class="s2">&quot;dev-python/psutil[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span><span class="w"> </span><span class="o">&amp;&amp;</span>
+<span class="w"> </span>python_has_version<span class="w"> </span><span class="s2">&quot;dev-python/pyyaml[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span><span class="w"> </span><span class="o">&amp;&amp;</span>
+<span class="w"> </span>python_has_version<span class="w"> </span><span class="s2">&quot;virtual/python-typing[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
+<span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nv">scons_opts</span><span class="o">=(</span>
+<span class="w"> </span><span class="nv">CC</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>tc-getCC<span class="k">)</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">CXX</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>tc-getCXX<span class="k">)</span><span class="s2">&quot;</span>
+
+<span class="w"> </span>--disable-warnings-as-errors
+<span class="w"> </span>--use-system-boost
+<span class="w"> </span>--use-system-pcre
+<span class="w"> </span>--use-system-snappy
+<span class="w"> </span>--use-system-stemmer
+<span class="w"> </span>--use-system-yaml
+<span class="w"> </span>--use-system-zlib
+<span class="w"> </span>--use-system-zstd
+<span class="w"> </span><span class="o">)</span>
+
+<span class="w"> </span>default
+<span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_compile<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>escons<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">scons_opts</span><span class="p">[@]</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span>core<span class="w"> </span>tools
+<span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span>./buildscripts/resmoke.py<span class="w"> </span>--dbpathPrefix<span class="o">=</span><span class="nb">test</span><span class="w"> </span><span class="se">\</span>
+<span class="w"> </span>--suites<span class="w"> </span>core<span class="w"> </span>--jobs<span class="o">=</span><span class="k">$(</span>makeopts_jobs<span class="k">)</span><span class="w"> </span><span class="o">||</span><span class="w"> </span>die<span class="w"> </span><span class="s2">&quot;Tests failed&quot;</span>
+<span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>escons<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">scons_opts</span><span class="p">[@]</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span>--nostrip<span class="w"> </span>install<span class="w"> </span>--prefix<span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">ED</span><span class="si">}</span><span class="s2">&quot;</span>/usr
+<span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
</section>
@@ -226,28 +223,28 @@ install is appropriate, you need to combine <code class="docutils literal notran
with <code class="docutils literal notranslate"><span class="pre">scons-utils</span></code>. In this case, the eclass takes care of everything
needed for SCons, and you take care of everything needed for your
package.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">5</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">5</span>
-<span class="hll"> <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python2_7 <span class="o">)</span>
-</span><span class="hll"> inherit eutils python-single-r1 scons-utils toolchain-funcs
+<span class="hll"><span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python2_7<span class="w"> </span><span class="o">)</span>
+</span><span class="hll"><span class="w"> </span>inherit<span class="w"> </span>eutils<span class="w"> </span>python-single-r1<span class="w"> </span>scons-utils<span class="w"> </span>toolchain-funcs
</span>
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Molecular dynamics by NMR data analysis&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://www.nmr-relax.com/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;http://download.gna.org/relax/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.src.tar.bz2&quot;</span>
-
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-2&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86 ~amd64-linux ~x86-linux&quot;</span>
- <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;test&quot;</span>
- <span class="nv">RESTRICT</span><span class="o">=</span><span class="s2">&quot;!test? ( test )&quot;</span>
-<span class="hll"> <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Molecular dynamics by NMR data analysis&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://www.nmr-relax.com/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;http://download.gna.org/relax/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.src.tar.bz2&quot;</span>
+
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-2&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86 ~amd64-linux ~x86-linux&quot;</span>
+<span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;test&quot;</span>
+<span class="w"> </span><span class="nv">RESTRICT</span><span class="o">=</span><span class="s2">&quot;!test? ( test )&quot;</span>
+<span class="hll"><span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2">&quot;</span>
</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
-<span class="s2"> </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"></span>
-<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep <span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="s2"> </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span>
+<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep<span class="w"> </span><span class="s2">&quot;</span>
<span class="s2"> dev-python/Numdifftools[\${PYTHON_USEDEP}]</span>
<span class="s2"> || (</span>
<span class="s2"> dev-python/matplotlib-python2[\${PYTHON_USEDEP}]</span>
@@ -265,27 +262,27 @@ package.</p>
<span class="s2"> sci-libs/scipy-python2[\${PYTHON_USEDEP}]</span>
<span class="s2"> sci-libs/scipy[\${PYTHON_USEDEP}]</span>
<span class="s2"> )</span>
-<span class="s2"> &quot;</span><span class="k">)</span><span class="s2"></span>
+<span class="s2"> &quot;</span><span class="k">)</span>
<span class="s2"> sci-chemistry/molmol</span>
<span class="s2"> sci-chemistry/vmd</span>
<span class="s2"> sci-visualization/grace</span>
<span class="s2"> sci-visualization/opendx&quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2"></span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span>
<span class="s2"> media-gfx/pngcrush</span>
<span class="s2"> test? ( </span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2"> )</span>
<span class="s2"> &quot;</span>
- src_compile<span class="o">()</span> <span class="o">{</span>
- tc-export CC
- escons
- <span class="o">}</span>
+<span class="w"> </span>src_compile<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>tc-export<span class="w"> </span>CC
+<span class="w"> </span>escons
+<span class="w"> </span><span class="o">}</span>
- src_install<span class="o">()</span> <span class="o">{</span>
- python_moduleinto <span class="si">${</span><span class="nv">PN</span><span class="si">}</span>
- python_domodule *
+<span class="w"> </span>src_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>python_moduleinto<span class="w"> </span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span>
+<span class="w"> </span>python_domodule<span class="w"> </span>*
- make_wrapper <span class="si">${</span><span class="nv">PN</span><span class="si">}</span>-nmr <span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span><span class="s2"> </span><span class="k">$(</span>python_get_sitedir<span class="k">)</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">.py </span><span class="nv">$@</span><span class="s2">&quot;</span>
- <span class="o">}</span>
+<span class="w"> </span>make_wrapper<span class="w"> </span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span>-nmr<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span><span class="s2"> </span><span class="k">$(</span>python_get_sitedir<span class="k">)</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">.py </span><span class="nv">$@</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
</section>
@@ -296,101 +293,101 @@ the use is similar to a package with unconditional build-time
and conditional runtime dependency on Python. That is, build-time
dependencies, <code class="docutils literal notranslate"><span class="pre">REQUIRED_USE</span></code> and <code class="docutils literal notranslate"><span class="pre">pkg_setup</span></code> must be called
unconditionally.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
-<span class="hll"> <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span> <span class="o">)</span>
+<span class="hll"><span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span><span class="w"> </span><span class="o">)</span>
</span>
- <span class="nv">FORTRAN_NEEDED</span><span class="o">=</span>fortran
- <span class="nv">FORTRAN_STANDARD</span><span class="o">=</span><span class="m">90</span>
+<span class="w"> </span><span class="nv">FORTRAN_NEEDED</span><span class="o">=</span>fortran
+<span class="w"> </span><span class="nv">FORTRAN_STANDARD</span><span class="o">=</span><span class="m">90</span>
-<span class="hll"> inherit python-single-r1 scons-utils toolchain-funcs
+<span class="hll"><span class="w"> </span>inherit<span class="w"> </span>python-single-r1<span class="w"> </span>scons-utils<span class="w"> </span>toolchain-funcs
</span>
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Object-oriented tool suite for chemical kinetics, thermodynamics, and transport&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://www.cantera.org&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/Cantera/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/archive/v</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">.tar.gz -&gt; </span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Object-oriented tool suite for chemical kinetics, thermodynamics, and transport&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://www.cantera.org&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/Cantera/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/archive/v</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">.tar.gz -&gt; </span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;BSD&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;amd64 ~x86&quot;</span>
- <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;fortran pch +python&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;BSD&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;amd64 ~x86&quot;</span>
+<span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;fortran pch +python&quot;</span>
- <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span>
-<span class="hll"><span class="s2"> </span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2"></span>
+<span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="hll"><span class="s2"> </span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span>
</span><span class="s2"> &quot;</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> python? (</span>
-<span class="s2"> </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"></span>
-<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep <span class="s1">&#39;</span>
+<span class="s2"> </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span>
+<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep<span class="w"> </span><span class="s1">&#39;</span>
<span class="s1"> dev-python/numpy[${PYTHON_USEDEP}]</span>
-<span class="s1"> &#39;</span><span class="k">)</span><span class="s2"></span>
+<span class="s1"> &#39;</span><span class="k">)</span>
<span class="s2"> )</span>
<span class="s2"> &lt;sci-libs/sundials-5.1.0:0=</span>
<span class="s2"> &quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
-<span class="s2"> </span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2"></span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="s2"> </span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span>
<span class="s2"> dev-cpp/eigen:3</span>
<span class="s2"> dev-libs/boost</span>
<span class="s2"> dev-libs/libfmt</span>
<span class="s2"> python? (</span>
-<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep <span class="s1">&#39;</span>
+<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep<span class="w"> </span><span class="s1">&#39;</span>
<span class="s1"> dev-python/cython[${PYTHON_USEDEP}]</span>
-<span class="s1"> &#39;</span><span class="k">)</span><span class="s2"></span>
+<span class="s1"> &#39;</span><span class="k">)</span>
<span class="s2"> )</span>
<span class="s2"> &quot;</span>
- pkg_setup<span class="o">()</span> <span class="o">{</span>
- fortran-2_pkg_setup
-<span class="hll"> python-single-r1_pkg_setup
-</span> <span class="o">}</span>
-
- src_configure<span class="o">()</span> <span class="o">{</span>
- <span class="nv">scons_vars</span><span class="o">=(</span>
- <span class="nv">CC</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>tc-getCC<span class="k">)</span><span class="s2">&quot;</span>
- <span class="nv">CXX</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>tc-getCXX<span class="k">)</span><span class="s2">&quot;</span>
- <span class="nv">cc_flags</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">CXXFLAGS</span><span class="si">}</span><span class="s2">&quot;</span>
- <span class="nv">cxx_flags</span><span class="o">=</span><span class="s2">&quot;-std=c++11&quot;</span>
- <span class="nv">debug</span><span class="o">=</span><span class="s2">&quot;no&quot;</span>
- <span class="nv">FORTRAN</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>tc-getFC<span class="k">)</span><span class="s2">&quot;</span>
- <span class="nv">FORTRANFLAGS</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">CXXFLAGS</span><span class="si">}</span><span class="s2">&quot;</span>
- <span class="nv">optimize_flags</span><span class="o">=</span><span class="s2">&quot;-Wno-inline&quot;</span>
- <span class="nv">renamed_shared_libraries</span><span class="o">=</span><span class="s2">&quot;no&quot;</span>
- <span class="nv">use_pch</span><span class="o">=</span><span class="k">$(</span>usex pch<span class="k">)</span>
- <span class="nv">system_fmt</span><span class="o">=</span><span class="s2">&quot;y&quot;</span>
- <span class="nv">system_sundials</span><span class="o">=</span><span class="s2">&quot;y&quot;</span>
- <span class="nv">system_eigen</span><span class="o">=</span><span class="s2">&quot;y&quot;</span>
- <span class="nv">env_vars</span><span class="o">=</span><span class="s2">&quot;all&quot;</span>
- <span class="nv">extra_inc_dirs</span><span class="o">=</span><span class="s2">&quot;/usr/include/eigen3&quot;</span>
- <span class="o">)</span>
-
- <span class="nv">scons_targets</span><span class="o">=(</span>
- <span class="nv">f90_interface</span><span class="o">=</span><span class="k">$(</span>usex fortran y n<span class="k">)</span>
- <span class="nv">python2_package</span><span class="o">=</span><span class="s2">&quot;none&quot;</span>
- <span class="o">)</span>
-
- <span class="k">if</span> use python <span class="p">;</span> <span class="k">then</span>
- <span class="nv">scons_targets</span><span class="o">+=(</span> <span class="nv">python3_package</span><span class="o">=</span><span class="s2">&quot;full&quot;</span> <span class="nv">python3_cmd</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span><span class="s2">&quot;</span> <span class="o">)</span>
- <span class="k">else</span>
- <span class="nv">scons_targets</span><span class="o">+=(</span> <span class="nv">python3_package</span><span class="o">=</span><span class="s2">&quot;none&quot;</span> <span class="o">)</span>
- <span class="k">fi</span>
- <span class="o">}</span>
-
- src_compile<span class="o">()</span> <span class="o">{</span>
- escons build <span class="s2">&quot;</span><span class="si">${</span><span class="nv">scons_vars</span><span class="p">[@]</span><span class="si">}</span><span class="s2">&quot;</span> <span class="s2">&quot;</span><span class="si">${</span><span class="nv">scons_targets</span><span class="p">[@]</span><span class="si">}</span><span class="s2">&quot;</span> <span class="nv">prefix</span><span class="o">=</span><span class="s2">&quot;/usr&quot;</span>
- <span class="o">}</span>
-
- src_test<span class="o">()</span> <span class="o">{</span>
- escons <span class="nb">test</span>
- <span class="o">}</span>
-
- src_install<span class="o">()</span> <span class="o">{</span>
- escons install <span class="nv">stage_dir</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">D</span><span class="si">}</span><span class="s2">&quot;</span> <span class="nv">libdirname</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>get_libdir<span class="k">)</span><span class="s2">&quot;</span>
- python_optimize
- <span class="o">}</span>
+<span class="w"> </span>pkg_setup<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>fortran-2_pkg_setup
+<span class="hll"><span class="w"> </span>python-single-r1_pkg_setup
+</span><span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nv">scons_vars</span><span class="o">=(</span>
+<span class="w"> </span><span class="nv">CC</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>tc-getCC<span class="k">)</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">CXX</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>tc-getCXX<span class="k">)</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">cc_flags</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">CXXFLAGS</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">cxx_flags</span><span class="o">=</span><span class="s2">&quot;-std=c++11&quot;</span>
+<span class="w"> </span><span class="nv">debug</span><span class="o">=</span><span class="s2">&quot;no&quot;</span>
+<span class="w"> </span><span class="nv">FORTRAN</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>tc-getFC<span class="k">)</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">FORTRANFLAGS</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">CXXFLAGS</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">optimize_flags</span><span class="o">=</span><span class="s2">&quot;-Wno-inline&quot;</span>
+<span class="w"> </span><span class="nv">renamed_shared_libraries</span><span class="o">=</span><span class="s2">&quot;no&quot;</span>
+<span class="w"> </span><span class="nv">use_pch</span><span class="o">=</span><span class="k">$(</span>usex<span class="w"> </span>pch<span class="k">)</span>
+<span class="w"> </span><span class="nv">system_fmt</span><span class="o">=</span><span class="s2">&quot;y&quot;</span>
+<span class="w"> </span><span class="nv">system_sundials</span><span class="o">=</span><span class="s2">&quot;y&quot;</span>
+<span class="w"> </span><span class="nv">system_eigen</span><span class="o">=</span><span class="s2">&quot;y&quot;</span>
+<span class="w"> </span><span class="nv">env_vars</span><span class="o">=</span><span class="s2">&quot;all&quot;</span>
+<span class="w"> </span><span class="nv">extra_inc_dirs</span><span class="o">=</span><span class="s2">&quot;/usr/include/eigen3&quot;</span>
+<span class="w"> </span><span class="o">)</span>
+
+<span class="w"> </span><span class="nv">scons_targets</span><span class="o">=(</span>
+<span class="w"> </span><span class="nv">f90_interface</span><span class="o">=</span><span class="k">$(</span>usex<span class="w"> </span>fortran<span class="w"> </span>y<span class="w"> </span>n<span class="k">)</span>
+<span class="w"> </span><span class="nv">python2_package</span><span class="o">=</span><span class="s2">&quot;none&quot;</span>
+<span class="w"> </span><span class="o">)</span>
+
+<span class="w"> </span><span class="k">if</span><span class="w"> </span>use<span class="w"> </span>python<span class="w"> </span><span class="p">;</span><span class="w"> </span><span class="k">then</span>
+<span class="w"> </span><span class="nv">scons_targets</span><span class="o">+=(</span><span class="w"> </span><span class="nv">python3_package</span><span class="o">=</span><span class="s2">&quot;full&quot;</span><span class="w"> </span><span class="nv">python3_cmd</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span><span class="o">)</span>
+<span class="w"> </span><span class="k">else</span>
+<span class="w"> </span><span class="nv">scons_targets</span><span class="o">+=(</span><span class="w"> </span><span class="nv">python3_package</span><span class="o">=</span><span class="s2">&quot;none&quot;</span><span class="w"> </span><span class="o">)</span>
+<span class="w"> </span><span class="k">fi</span>
+<span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_compile<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>escons<span class="w"> </span>build<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">scons_vars</span><span class="p">[@]</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">scons_targets</span><span class="p">[@]</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span><span class="nv">prefix</span><span class="o">=</span><span class="s2">&quot;/usr&quot;</span>
+<span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>escons<span class="w"> </span><span class="nb">test</span>
+<span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>escons<span class="w"> </span>install<span class="w"> </span><span class="nv">stage_dir</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">D</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span><span class="nv">libdirname</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>get_libdir<span class="k">)</span><span class="s2">&quot;</span>
+<span class="w"> </span>python_optimize
+<span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
</section>
@@ -399,25 +396,25 @@ unconditionally.</p>
<p>When you are dealing with a pure Python package using SCons, it makes
sense to use plain <code class="docutils literal notranslate"><span class="pre">python-r1</span></code> API. This means that SCons is going
to be called from a <code class="docutils literal notranslate"><span class="pre">python_foreach_impl</span></code> loop only.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
-<span class="hll"> <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python2_7 <span class="o">)</span>
-</span><span class="hll"> inherit fortran-2 python-r1 scons-utils toolchain-funcs
+<span class="hll"><span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python2_7<span class="w"> </span><span class="o">)</span>
+</span><span class="hll"><span class="w"> </span>inherit<span class="w"> </span>fortran-2<span class="w"> </span>python-r1<span class="w"> </span>scons-utils<span class="w"> </span>toolchain-funcs
</span>
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Automated pipeline for performing Poisson-Boltzmann electrostatics calculations&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://www.poissonboltzmann.org/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/Electrostatics/apbs-</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/releases/download/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">-src-</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
-
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;BSD&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;amd64 x86 ~amd64-linux ~x86-linux&quot;</span>
- <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;opal&quot;</span>
-<span class="hll"> <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Automated pipeline for performing Poisson-Boltzmann electrostatics calculations&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://www.poissonboltzmann.org/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/Electrostatics/apbs-</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/releases/download/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">-src-</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;BSD&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;amd64 x86 ~amd64-linux ~x86-linux&quot;</span>
+<span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;opal&quot;</span>
+<span class="hll"><span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2">&quot;</span>
</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"></span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span>
<span class="s2"> || (</span>
<span class="s2"> dev-python/numpy-python2[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> dev-python/numpy[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
@@ -425,48 +422,48 @@ to be called from a <code class="docutils literal notranslate"><span class="pre"
<span class="s2"> sci-chemistry/openbabel-python[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> opal? ( dev-python/zsi[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">] )</span>
<span class="s2"> &quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2"></span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span>
<span class="s2"> dev-lang/swig:0</span>
<span class="hll"><span class="s2"> dev-util/scons[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
</span>
- src_prepare<span class="o">()</span> <span class="o">{</span>
- find -type f <span class="se">\(</span> -name <span class="s2">&quot;*.pyc&quot;</span> -o -name <span class="s2">&quot;*.pyo&quot;</span> <span class="se">\)</span> -delete <span class="o">||</span> die
+<span class="w"> </span>src_prepare<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>find<span class="w"> </span>-type<span class="w"> </span>f<span class="w"> </span><span class="se">\(</span><span class="w"> </span>-name<span class="w"> </span><span class="s2">&quot;*.pyc&quot;</span><span class="w"> </span>-o<span class="w"> </span>-name<span class="w"> </span><span class="s2">&quot;*.pyo&quot;</span><span class="w"> </span><span class="se">\)</span><span class="w"> </span>-delete<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
- eapply <span class="s2">&quot;</span><span class="si">${</span><span class="nv">PATCHES</span><span class="p">[@]</span><span class="si">}</span><span class="s2">&quot;</span>
- eapply_user
- rm -rf scons <span class="o">||</span> die
+<span class="w"> </span>eapply<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PATCHES</span><span class="p">[@]</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span>eapply_user
+<span class="w"> </span>rm<span class="w"> </span>-rf<span class="w"> </span>scons<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
- python_copy_sources
- <span class="o">}</span>
+<span class="w"> </span>python_copy_sources
+<span class="w"> </span><span class="o">}</span>
- python_configure<span class="o">()</span> <span class="o">{</span>
- tc-export CXX
- cat &gt; <span class="s2">&quot;</span><span class="si">${</span><span class="nv">BUILD_DIR</span><span class="si">}</span><span class="s2">&quot;</span>/build_config.py <span class="s">&lt;&lt;-EOF || die</span>
+<span class="w"> </span>python_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>tc-export<span class="w"> </span>CXX
+<span class="w"> </span>cat<span class="w"> </span>&gt;<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">BUILD_DIR</span><span class="si">}</span><span class="s2">&quot;</span>/build_config.py<span class="w"> </span><span class="s">&lt;&lt;-EOF || die</span>
<span class="s"> PREFIX=&quot;${D}/$(python_get_sitedir)/${PN}&quot;</span>
<span class="s"> APBS=&quot;${EPREFIX}/usr/bin/apbs&quot;</span>
<span class="s"> MAX_ATOMS=10000</span>
<span class="s"> BUILD_PDB2PKA=False</span>
<span class="s"> REBUILD_SWIG=True</span>
<span class="s"> EOF</span>
- <span class="o">}</span>
+<span class="w"> </span><span class="o">}</span>
- src_configure<span class="o">()</span> <span class="o">{</span>
- python_foreach_impl python_configure
- <span class="o">}</span>
+<span class="w"> </span>src_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>python_foreach_impl<span class="w"> </span>python_configure
+<span class="w"> </span><span class="o">}</span>
- src_compile<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> python_foreach_impl run_in_build_dir escons
-</span> <span class="o">}</span>
+<span class="w"> </span>src_compile<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span>python_foreach_impl<span class="w"> </span>run_in_build_dir<span class="w"> </span>escons
+</span><span class="w"> </span><span class="o">}</span>
- python_install<span class="o">()</span> <span class="o">{</span>
- <span class="nb">cd</span> <span class="s2">&quot;</span><span class="si">${</span><span class="nv">BUILD_DIR</span><span class="si">}</span><span class="s2">&quot;</span> <span class="o">||</span> die
-<span class="hll"> escons install
-</span> python_optimize
- <span class="o">}</span>
+<span class="w"> </span>python_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nb">cd</span><span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">BUILD_DIR</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span><span class="o">||</span><span class="w"> </span>die
+<span class="hll"><span class="w"> </span>escons<span class="w"> </span>install
+</span><span class="w"> </span>python_optimize
+<span class="w"> </span><span class="o">}</span>
- src_install<span class="o">()</span> <span class="o">{</span>
- python_foreach_impl python_install
- <span class="o">}</span>
+<span class="w"> </span>src_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>python_foreach_impl<span class="w"> </span>python_install
+<span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
</section>
@@ -478,65 +475,65 @@ e.g. a C/C++ program with separate Python bindings.</p>
<p>Let’s presume that the Python bindings need to be installed manually,
and they support a wider target range than the build system. In this
case, the any-r1 API is recommended.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python2_7 python3_6 <span class="o">)</span>
- inherit python-r1 scons-utils toolchain-funcs
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python2_7<span class="w"> </span>python3_6<span class="w"> </span><span class="o">)</span>
+<span class="w"> </span>inherit<span class="w"> </span>python-r1<span class="w"> </span>scons-utils<span class="w"> </span>toolchain-funcs
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;GPS daemon and library for USB/serial GPS devices and GPS/mapping clients&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://gpsd.gitlab.io/gpsd/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://nongnu/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;GPS daemon and library for USB/serial GPS devices and GPS/mapping clients&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://gpsd.gitlab.io/gpsd/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://nongnu/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;BSD&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0/24&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;BSD&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0/24&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86&quot;</span>
- <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;python&quot;</span>
- <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;python&quot;</span>
+<span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> python? ( </span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2"> )&quot;</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> &gt;=net-misc/pps-tools-0.0.20120407</span>
<span class="s2"> python? ( </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"> )&quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2"></span>
-<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_any_dep <span class="s1">&#39;&gt;=dev-util/scons-2.3.0[${PYTHON_USEDEP}]&#39;</span> -2<span class="k">)</span><span class="s2"></span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span>
+<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_any_dep<span class="w"> </span><span class="s1">&#39;&gt;=dev-util/scons-2.3.0[${PYTHON_USEDEP}]&#39;</span><span class="w"> </span>-2<span class="k">)</span>
</span><span class="s2"> virtual/pkgconfig&quot;</span>
-<span class="hll"> python_check_deps<span class="o">()</span> <span class="o">{</span>
-</span><span class="hll"> python_has_version <span class="s2">&quot;&gt;=dev-util/scons-2.3.0[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
-</span><span class="hll"> <span class="o">}</span>
+<span class="hll"><span class="w"> </span>python_check_deps<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+</span><span class="hll"><span class="w"> </span>python_has_version<span class="w"> </span><span class="s2">&quot;&gt;=dev-util/scons-2.3.0[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
+</span><span class="hll"><span class="w"> </span><span class="o">}</span>
</span>
- src_configure<span class="o">()</span> <span class="o">{</span>
- <span class="nv">myesconsargs</span><span class="o">=(</span>
- <span class="nv">prefix</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPREFIX</span><span class="si">}</span><span class="s2">/usr&quot;</span>
- <span class="nv">libdir</span><span class="o">=</span><span class="s2">&quot;\$prefix/</span><span class="k">$(</span>get_libdir<span class="k">)</span><span class="s2">&quot;</span>
- <span class="nv">udevdir</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>get_udevdir<span class="k">)</span><span class="s2">&quot;</span>
- <span class="nv">chrpath</span><span class="o">=</span>False
- <span class="nv">gpsd_user</span><span class="o">=</span>gpsd
- <span class="nv">gpsd_group</span><span class="o">=</span>uucp
- <span class="nv">nostrip</span><span class="o">=</span>True
- <span class="nv">manbuild</span><span class="o">=</span>False
- <span class="k">$(</span>use_scons python<span class="k">)</span>
- <span class="o">)</span>
-
- <span class="c1"># SConstruct uses py2 constructs</span>
-<span class="hll"> python_setup -2
-</span> <span class="o">}</span>
-
- src_compile<span class="o">()</span> <span class="o">{</span>
- <span class="nb">export</span> <span class="nv">CHRPATH</span><span class="o">=</span>
- tc-export CC CXX PKG_CONFIG
- <span class="nb">export</span> <span class="nv">SHLINKFLAGS</span><span class="o">=</span><span class="si">${</span><span class="nv">LDFLAGS</span><span class="si">}</span> <span class="nv">LINKFLAGS</span><span class="o">=</span><span class="si">${</span><span class="nv">LDFLAGS</span><span class="si">}</span>
- escons
- <span class="o">}</span>
-
- src_install<span class="o">()</span> <span class="o">{</span>
- <span class="nv">DESTDIR</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">D</span><span class="si">}</span><span class="s2">&quot;</span> escons install
- use python <span class="o">&amp;&amp;</span> python_foreach_impl python_domodule gps
- <span class="o">}</span>
+<span class="w"> </span>src_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nv">myesconsargs</span><span class="o">=(</span>
+<span class="w"> </span><span class="nv">prefix</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPREFIX</span><span class="si">}</span><span class="s2">/usr&quot;</span>
+<span class="w"> </span><span class="nv">libdir</span><span class="o">=</span><span class="s2">&quot;\$prefix/</span><span class="k">$(</span>get_libdir<span class="k">)</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">udevdir</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>get_udevdir<span class="k">)</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">chrpath</span><span class="o">=</span>False
+<span class="w"> </span><span class="nv">gpsd_user</span><span class="o">=</span>gpsd
+<span class="w"> </span><span class="nv">gpsd_group</span><span class="o">=</span>uucp
+<span class="w"> </span><span class="nv">nostrip</span><span class="o">=</span>True
+<span class="w"> </span><span class="nv">manbuild</span><span class="o">=</span>False
+<span class="w"> </span><span class="k">$(</span>use_scons<span class="w"> </span>python<span class="k">)</span>
+<span class="w"> </span><span class="o">)</span>
+
+<span class="w"> </span><span class="c1"># SConstruct uses py2 constructs</span>
+<span class="hll"><span class="w"> </span>python_setup<span class="w"> </span>-2
+</span><span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_compile<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nb">export</span><span class="w"> </span><span class="nv">CHRPATH</span><span class="o">=</span>
+<span class="w"> </span>tc-export<span class="w"> </span>CC<span class="w"> </span>CXX<span class="w"> </span>PKG_CONFIG
+<span class="w"> </span><span class="nb">export</span><span class="w"> </span><span class="nv">SHLINKFLAGS</span><span class="o">=</span><span class="si">${</span><span class="nv">LDFLAGS</span><span class="si">}</span><span class="w"> </span><span class="nv">LINKFLAGS</span><span class="o">=</span><span class="si">${</span><span class="nv">LDFLAGS</span><span class="si">}</span>
+<span class="w"> </span>escons
+<span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nv">DESTDIR</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">D</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span>escons<span class="w"> </span>install
+<span class="w"> </span>use<span class="w"> </span>python<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>python_foreach_impl<span class="w"> </span>python_domodule<span class="w"> </span>gps
+<span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
</section>
@@ -560,28 +557,28 @@ applicable).</p>
necessary to add <code class="docutils literal notranslate"><span class="pre">PYTHON_REQ_USE</span></code> and <code class="docutils literal notranslate"><span class="pre">${PYTHON_DEPS}</span></code> to build-time
dependencies. If the package had other Python dependencies, you would
specify them instead.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
-<span class="hll"> <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python2_7 <span class="o">)</span>
-</span><span class="hll"> <span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s1">&#39;threads(+)&#39;</span>
-</span> <span class="nv">NO_WAF_LIBDIR</span><span class="o">=</span>yes
+<span class="hll"><span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python2_7<span class="w"> </span><span class="o">)</span>
+</span><span class="hll"><span class="w"> </span><span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s1">&#39;threads(+)&#39;</span>
+</span><span class="w"> </span><span class="nv">NO_WAF_LIBDIR</span><span class="o">=</span>yes
-<span class="hll"> inherit python-any-r1 waf-utils
+<span class="hll"><span class="w"> </span>inherit<span class="w"> </span>python-any-r1<span class="w"> </span>waf-utils
</span>
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;C++ Template Unit Test Framework&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;http://mrzechonek.github.io/tut-framework/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/mrzechonek/tut-framework/archive/</span><span class="si">${</span><span class="nv">PV</span><span class="p">//./-</span><span class="si">}</span><span class="s2">.tar.gz -&gt; </span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">S</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">WORKDIR</span><span class="si">}</span><span class="s2">/tut-framework-</span><span class="si">${</span><span class="nv">PV</span><span class="p">//./-</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;C++ Template Unit Test Framework&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;http://mrzechonek.github.io/tut-framework/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/mrzechonek/tut-framework/archive/</span><span class="si">${</span><span class="nv">PV</span><span class="p">//./-</span><span class="si">}</span><span class="s2">.tar.gz -&gt; </span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">S</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">WORKDIR</span><span class="si">}</span><span class="s2">/tut-framework-</span><span class="si">${</span><span class="nv">PV</span><span class="p">//./-</span><span class="si">}</span><span class="s2">&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;BSD-2&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86&quot;</span>
- <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;BSD-2&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86&quot;</span>
+<span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;&quot;</span>
-<span class="hll"> <span class="nv">BDEPEND</span><span class="o">=</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span>
+<span class="hll"><span class="w"> </span><span class="nv">BDEPEND</span><span class="o">=</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span>
</span></pre></div>
</div>
</section>
@@ -590,26 +587,26 @@ specify them instead.</p>
<p>The rules for integrating simple-impl package are roughly the same
as for pure <code class="docutils literal notranslate"><span class="pre">python-single-r1</span></code> use. Again, waf requires only plain
build-time <code class="docutils literal notranslate"><span class="pre">${PYTHON_DEPS}</span></code> and <code class="docutils literal notranslate"><span class="pre">PYTHON_REQ_USE</span></code>.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">6</span>
-<span class="hll"> <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python2_7 <span class="o">)</span>
-</span><span class="hll"> <span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s2">&quot;threads&quot;</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">6</span>
+<span class="hll"><span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python2_7<span class="w"> </span><span class="o">)</span>
+</span><span class="hll"><span class="w"> </span><span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s2">&quot;threads&quot;</span>
</span>
-<span class="hll"> inherit python-single-r1 waf-utils
+<span class="hll"><span class="w"> </span>inherit<span class="w"> </span>python-single-r1<span class="w"> </span>waf-utils
</span>
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;An LDAP-like embedded database&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://ldb.samba.org/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://www.samba.org/ftp/pub/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;An LDAP-like embedded database&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://ldb.samba.org/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://www.samba.org/ftp/pub/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;LGPL-3&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0/</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86&quot;</span>
- <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;+ldap python&quot;</span>
- <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;python? ( </span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2"> )&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;LGPL-3&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0/</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86&quot;</span>
+<span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;+ldap python&quot;</span>
+<span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;python? ( </span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2"> )&quot;</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;!elibc_FreeBSD? ( dev-libs/libbsd )</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;!elibc_FreeBSD? ( dev-libs/libbsd )</span>
<span class="s2"> dev-libs/popt</span>
<span class="s2"> &gt;=sys-libs/talloc-2.1.8[python?]</span>
<span class="s2"> &gt;=sys-libs/tevent-0.9.31[python(+)?]</span>
@@ -618,33 +615,33 @@ build-time <code class="docutils literal notranslate"><span class="pre">${PYTHON
<span class="s2"> ldap? ( net-nds/openldap )</span>
<span class="s2"> &quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;dev-libs/libxslt</span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;dev-libs/libxslt</span>
<span class="s2"> virtual/pkgconfig</span>
-<span class="hll"><span class="s2"> </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"></span>
+<span class="hll"><span class="s2"> </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span>
</span><span class="s2"> </span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2">&quot;</span>
- <span class="nv">WAF_BINARY</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">S</span><span class="si">}</span><span class="s2">/buildtools/bin/waf&quot;</span>
-
- <span class="nv">PATCHES</span><span class="o">=(</span>
- <span class="s2">&quot;</span><span class="si">${</span><span class="nv">FILESDIR</span><span class="si">}</span><span class="s2">&quot;</span>/<span class="si">${</span><span class="nv">PN</span><span class="si">}</span>-1.1.27-optional_packages.patch
- <span class="s2">&quot;</span><span class="si">${</span><span class="nv">FILESDIR</span><span class="si">}</span><span class="s2">&quot;</span>/<span class="si">${</span><span class="nv">P</span><span class="si">}</span>-disable-python.patch
- <span class="o">)</span>
-
- pkg_setup<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> python-single-r1_pkg_setup
-</span> <span class="o">}</span>
-
- src_configure<span class="o">()</span> <span class="o">{</span>
- <span class="nb">local</span> <span class="nv">myconf</span><span class="o">=(</span>
- <span class="k">$(</span>usex ldap <span class="s1">&#39;&#39;</span> --disable-ldap<span class="k">)</span>
- <span class="k">$(</span>usex python <span class="s1">&#39;&#39;</span> <span class="s1">&#39;--disable-python&#39;</span><span class="k">)</span>
- --disable-rpath
- --disable-rpath-install --bundled-libraries<span class="o">=</span>NONE
- --with-modulesdir<span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPREFIX</span><span class="si">}</span><span class="s2">&quot;</span>/usr/<span class="k">$(</span>get_libdir<span class="k">)</span>/samba
- --builtin-libraries<span class="o">=</span>NONE
- <span class="o">)</span>
- waf-utils_src_configure <span class="s2">&quot;</span><span class="si">${</span><span class="nv">myconf</span><span class="p">[@]</span><span class="si">}</span><span class="s2">&quot;</span>
- <span class="o">}</span>
+<span class="w"> </span><span class="nv">WAF_BINARY</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">S</span><span class="si">}</span><span class="s2">/buildtools/bin/waf&quot;</span>
+
+<span class="w"> </span><span class="nv">PATCHES</span><span class="o">=(</span>
+<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">FILESDIR</span><span class="si">}</span><span class="s2">&quot;</span>/<span class="si">${</span><span class="nv">PN</span><span class="si">}</span>-1.1.27-optional_packages.patch
+<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">FILESDIR</span><span class="si">}</span><span class="s2">&quot;</span>/<span class="si">${</span><span class="nv">P</span><span class="si">}</span>-disable-python.patch
+<span class="w"> </span><span class="o">)</span>
+
+<span class="w"> </span>pkg_setup<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span>python-single-r1_pkg_setup
+</span><span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nb">local</span><span class="w"> </span><span class="nv">myconf</span><span class="o">=(</span>
+<span class="w"> </span><span class="k">$(</span>usex<span class="w"> </span>ldap<span class="w"> </span><span class="s1">&#39;&#39;</span><span class="w"> </span>--disable-ldap<span class="k">)</span>
+<span class="w"> </span><span class="k">$(</span>usex<span class="w"> </span>python<span class="w"> </span><span class="s1">&#39;&#39;</span><span class="w"> </span><span class="s1">&#39;--disable-python&#39;</span><span class="k">)</span>
+<span class="w"> </span>--disable-rpath
+<span class="w"> </span>--disable-rpath-install<span class="w"> </span>--bundled-libraries<span class="o">=</span>NONE
+<span class="w"> </span>--with-modulesdir<span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPREFIX</span><span class="si">}</span><span class="s2">&quot;</span>/usr/<span class="k">$(</span>get_libdir<span class="k">)</span>/samba
+<span class="w"> </span>--builtin-libraries<span class="o">=</span>NONE
+<span class="w"> </span><span class="o">)</span>
+<span class="w"> </span>waf-utils_src_configure<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">myconf</span><span class="p">[@]</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
</section>
@@ -733,7 +730,7 @@ build-time <code class="docutils literal notranslate"><span class="pre">${PYTHON
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
diff --git a/guide/concept.html b/guide/concept.html
index b46f82c..092e369 100644
--- a/guide/concept.html
+++ b/guide/concept.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -160,30 +157,30 @@ for namespaces.</p>
must be removed from the install tree.</p>
<p>For pkgutil namespace, its <code class="docutils literal notranslate"><span class="pre">__init__.py</span></code> should be removed after
the PEP 517 build phase:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_compile<span class="o">()</span> <span class="o">{</span>
- distutils-r1_python_compile
- rm <span class="s2">&quot;</span><span class="si">${</span><span class="nv">BUILD_DIR</span><span class="si">}</span><span class="s2">/install</span><span class="k">$(</span>python_get_sitedir<span class="k">)</span><span class="s2">&quot;</span>/jaraco/__init__.py <span class="o">||</span> die
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_compile<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>distutils-r1_python_compile
+<span class="w"> </span>rm<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">BUILD_DIR</span><span class="si">}</span><span class="s2">/install</span><span class="k">$(</span>python_get_sitedir<span class="k">)</span><span class="s2">&quot;</span>/jaraco/__init__.py<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
<span class="o">}</span>
</pre></div>
</div>
<p>The equivalent code for the legacy eclass mode is:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_install<span class="o">()</span> <span class="o">{</span>
- rm <span class="s2">&quot;</span><span class="si">${</span><span class="nv">BUILD_DIR</span><span class="si">}</span><span class="s2">&quot;</span>/lib/jaraco/__init__.py <span class="o">||</span> die
- distutils-r1_python_install
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>rm<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">BUILD_DIR</span><span class="si">}</span><span class="s2">&quot;</span>/lib/jaraco/__init__.py<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
+<span class="w"> </span>distutils-r1_python_install
<span class="o">}</span>
</pre></div>
</div>
<p>For setuptools namespace, the <code class="docutils literal notranslate"><span class="pre">.pth</span></code> file should be removed instead:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_compile<span class="o">()</span> <span class="o">{</span>
- distutils-r1_python_compile
- find <span class="s2">&quot;</span><span class="si">${</span><span class="nv">BUILD_DIR</span><span class="si">}</span><span class="s2">&quot;</span> -name <span class="s1">&#39;*.pth&#39;</span> -delete <span class="o">||</span> die
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_compile<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>distutils-r1_python_compile
+<span class="w"> </span>find<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">BUILD_DIR</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span>-name<span class="w"> </span><span class="s1">&#39;*.pth&#39;</span><span class="w"> </span>-delete<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
<span class="o">}</span>
</pre></div>
</div>
<p>The setuptools code for the legacy mode is:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_install_all<span class="o">()</span> <span class="o">{</span>
- distutils-r1_python_install_all
- find <span class="s2">&quot;</span><span class="si">${</span><span class="nv">D</span><span class="si">}</span><span class="s2">&quot;</span> -name <span class="s1">&#39;*.pth&#39;</span> -delete <span class="o">||</span> die
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_install_all<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>distutils-r1_python_install_all
+<span class="w"> </span>find<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">D</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span>-name<span class="w"> </span><span class="s1">&#39;*.pth&#39;</span><span class="w"> </span>-delete<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
<span class="o">}</span>
</pre></div>
</div>
@@ -191,10 +188,10 @@ the PEP 517 build phase:</p>
(<code class="docutils literal notranslate"><span class="pre">install_requires</span></code>) when using namespaces. If this is the only
use of <code class="docutils literal notranslate"><span class="pre">pkg_resources</span></code> and <code class="docutils literal notranslate"><span class="pre">setuptools</span></code> in installed package
sources, this dependency needs to be stripped, e.g.:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>src_prepare<span class="o">()</span> <span class="o">{</span>
- <span class="c1"># strip rdep specific to namespaces</span>
- sed -i -e <span class="s2">&quot;/&#39;setuptools&#39;/d&quot;</span> setup.py <span class="o">||</span> die
- distutils-r1_src_prepare
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>src_prepare<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="c1"># strip rdep specific to namespaces</span>
+<span class="w"> </span>sed<span class="w"> </span>-i<span class="w"> </span>-e<span class="w"> </span><span class="s2">&quot;/&#39;setuptools&#39;/d&quot;</span><span class="w"> </span>setup.py<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
+<span class="w"> </span>distutils-r1_src_prepare
<span class="o">}</span>
</pre></div>
</div>
@@ -288,7 +285,7 @@ of being retired.</p>
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
diff --git a/guide/depend.html b/guide/depend.html
index eaeddbf..20bcb9b 100644
--- a/guide/depend.html
+++ b/guide/depend.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -47,47 +44,47 @@ to enforce the matching flag via a USE dependency.</p>
<p>In order to create a USE dependency on the Python interpreter, set
<code class="docutils literal notranslate"><span class="pre">PYTHON_REQ_USE</span></code> before inheriting the eclass. This will cause
the eclass to generate appropriate dependency string in <code class="docutils literal notranslate"><span class="pre">PYTHON_DEPS</span></code>.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_6 <span class="o">)</span>
-<span class="hll"> <span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s2">&quot;sqlite&quot;</span>
-</span> inherit python-r1 gnome2-utils meson xdg-utils
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_6<span class="w"> </span><span class="o">)</span>
+<span class="hll"><span class="w"> </span><span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s2">&quot;sqlite&quot;</span>
+</span><span class="w"> </span>inherit<span class="w"> </span>python-r1<span class="w"> </span>gnome2-utils<span class="w"> </span>meson<span class="w"> </span>xdg-utils
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Modern music player for GNOME&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://wiki.gnome.org/Apps/Lollypop&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://adishatz.org/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.xz&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Modern music player for GNOME&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://wiki.gnome.org/Apps/Lollypop&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://adishatz.org/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.xz&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-3&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-3&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"></span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span>
<span class="s2"> ...&quot;</span>
</pre></div>
</div>
<p>Full USE dependency syntax is permitted. For example, you can make
the dependency conditional to a flag on the package:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">6</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">6</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_6 <span class="o">)</span>
-<span class="hll"> <span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s2">&quot;sqlite?&quot;</span>
-</span> inherit distutils-r1
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_6<span class="w"> </span><span class="o">)</span>
+<span class="hll"><span class="w"> </span><span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s2">&quot;sqlite?&quot;</span>
+</span><span class="w"> </span>inherit<span class="w"> </span>distutils-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;A lightweight password-manager with multiple database backends&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://pwman3.github.io/pwman3/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/pwman3/pwman3/archive/v</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">.tar.gz -&gt; </span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;A lightweight password-manager with multiple database backends&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://pwman3.github.io/pwman3/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/pwman3/pwman3/archive/v</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">.tar.gz -&gt; </span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-3&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64&quot;</span>
-<span class="hll"> <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;mongodb mysql postgres +sqlite&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-3&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64&quot;</span>
+<span class="hll"><span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;mongodb mysql postgres +sqlite&quot;</span>
</span></pre></div>
</div>
<p>Finally, there are cases when the problem cannot be fully solved using
@@ -95,36 +92,36 @@ a single USE dependency. Additional Python interpreter dependencies
with specific USE flags can be constructed using <code class="docutils literal notranslate"><span class="pre">python_gen_impl_dep</span></code>
helper then. For example, the following ebuild requires Python with
SQLite support when running tests:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python<span class="o">{</span>2_7,3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}}</span> pypy3 <span class="o">)</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python<span class="o">{</span>2_7,3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}}</span><span class="w"> </span>pypy3<span class="w"> </span><span class="o">)</span>
- inherit distutils-r1
+<span class="w"> </span>inherit<span class="w"> </span>distutils-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Let your Python tests travel through time&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/spulec/freezegun&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Let your Python tests travel through time&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/spulec/freezegun&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;Apache-2.0&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;Apache-2.0&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos&quot;</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> &gt;dev-python/python-dateutil-2.0[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> dev-python/six[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> &quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2"></span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span>
<span class="s2"> dev-python/setuptools[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> test? (</span>
-<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_impl_dep sqlite<span class="k">)</span><span class="s2"></span>
+<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_impl_dep<span class="w"> </span>sqlite<span class="k">)</span>
</span><span class="s2"> dev-python/mock[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> dev-python/nose[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> )</span>
<span class="s2"> &quot;</span>
- distutils_enable_tests pytest
+<span class="w"> </span>distutils_enable_tests<span class="w"> </span>pytest
</pre></div>
</div>
</section>
@@ -152,10 +149,10 @@ is only available on a subset of Python implementations supported
by the package:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> cli? (</span>
-<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep <span class="s1">&#39;</span>
+<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep<span class="w"> </span><span class="s1">&#39;</span>
<span class="s1"> dev-python/black[${PYTHON_USEDEP}]</span>
<span class="s1"> dev-python/click[${PYTHON_USEDEP}]</span>
-<span class="s1"> &#39;</span> python3_<span class="o">{</span><span class="m">8</span>..10<span class="o">}</span><span class="k">)</span><span class="s2"></span>
+<span class="s1"> &#39;</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">8</span>..10<span class="o">}</span><span class="k">)</span>
<span class="s2"> )</span>
<span class="s2">&quot;</span>
</pre></div>
@@ -165,9 +162,9 @@ by the package:</p>
For example, CFFI is part of PyPy’s stdlib, so the explicit package
needs to be only installed for CPython:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
-<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep <span class="s1">&#39;</span>
+<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep<span class="w"> </span><span class="s1">&#39;</span>
<span class="s1"> dev-python/cffi[${PYTHON_USEDEP}]</span>
-<span class="s1"> &#39;</span> <span class="s1">&#39;python*&#39;</span><span class="k">)</span><span class="s2"></span>
+<span class="s1"> &#39;</span><span class="w"> </span><span class="s1">&#39;python*&#39;</span><span class="k">)</span>
<span class="s2">&quot;</span>
</pre></div>
</div>
@@ -178,9 +175,9 @@ expansion from happening.</p>
implementations by the eclass. For example, this makes it convenient
to depend on backports:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
-<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep <span class="s1">&#39;</span>
+<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep<span class="w"> </span><span class="s1">&#39;</span>
<span class="s1"> dev-python/backports-zoneinfo[${PYTHON_USEDEP}]</span>
-<span class="s1"> &#39;</span> <span class="m">3</span>.8<span class="k">)</span><span class="s2"></span>
+<span class="s1"> &#39;</span><span class="w"> </span><span class="m">3</span>.8<span class="k">)</span>
<span class="s2">&quot;</span>
</pre></div>
</div>
@@ -196,9 +193,9 @@ all dependency strings immediately.</p>
<p>For example, in the following example the dependency became empty when
Python 3.7 was removed:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
-<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep <span class="s1">&#39;</span>
+<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep<span class="w"> </span><span class="s1">&#39;</span>
<span class="s1"> dev-python/importlib_metadata[${PYTHON_USEDEP}]</span>
-<span class="s1"> &#39;</span> python3_7<span class="k">)</span><span class="s2">&quot;</span>
+<span class="s1"> &#39;</span><span class="w"> </span>python3_7<span class="k">)</span><span class="s2">&quot;</span>
</pre></div>
</div>
</section>
@@ -209,9 +206,9 @@ and <a class="reference external" href="https://pypi.org/project/greenlet/">gree
and/or greenlet and supporting PyPy3 need to make the explicit
dependencies conditional to CPython:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
-<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep <span class="s1">&#39;</span>
+<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep<span class="w"> </span><span class="s1">&#39;</span>
<span class="s1"> &gt;=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}]</span>
-<span class="s1"> &#39;</span> <span class="s1">&#39;python*&#39;</span><span class="k">)</span><span class="s2"></span>
+<span class="s1"> &#39;</span><span class="w"> </span><span class="s1">&#39;python*&#39;</span><span class="k">)</span>
<span class="s2">&quot;</span>
</pre></div>
</div>
@@ -227,16 +224,16 @@ dependencies.</p>
to merge a patch to do so, it is possible to conditionally deselect
tests from the ebuild based on whether the particular dependencies are
installed:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span> <span class="o">{</span>
- <span class="nb">local</span> <span class="nv">EPYTEST_DESELECT</span><span class="o">=()</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nb">local</span><span class="w"> </span><span class="nv">EPYTEST_DESELECT</span><span class="o">=()</span>
- <span class="k">if</span> ! has_version <span class="s2">&quot;dev-python/trustme[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span><span class="p">;</span> <span class="k">then</span>
- <span class="nv">EPYTEST_DESELECT</span><span class="o">+=(</span>
- tests/test_requests.py::TestRequests::test_https_warnings
- <span class="o">)</span>
- <span class="k">fi</span>
+<span class="w"> </span><span class="k">if</span><span class="w"> </span>!<span class="w"> </span>has_version<span class="w"> </span><span class="s2">&quot;dev-python/trustme[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span><span class="p">;</span><span class="w"> </span><span class="k">then</span>
+<span class="w"> </span><span class="nv">EPYTEST_DESELECT</span><span class="o">+=(</span>
+<span class="w"> </span>tests/test_requests.py::TestRequests::test_https_warnings
+<span class="w"> </span><span class="o">)</span>
+<span class="w"> </span><span class="k">fi</span>
- epytest
+<span class="w"> </span>epytest
<span class="o">}</span>
</pre></div>
</div>
@@ -352,7 +349,7 @@ to run them.</p>
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
diff --git a/guide/distutils-legacy.html b/guide/distutils-legacy.html
index 995d2bb..f859c56 100644
--- a/guide/distutils-legacy.html
+++ b/guide/distutils-legacy.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -82,29 +79,29 @@ whether the value of <code class="docutils literal notranslate"><span class="pre
and reports if it is most likely incorrect. This is why it is important
to use the variable rather than specifying the dependency directly.
An example report is:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>* DISTUTILS_USE_SETUPTOOLS value is probably incorrect
-* have: <span class="nv">DISTUTILS_USE_SETUPTOOLS</span><span class="o">=</span>bdepend <span class="o">(</span>or <span class="nb">unset</span><span class="o">)</span>
-* expected: <span class="nv">DISTUTILS_USE_SETUPTOOLS</span><span class="o">=</span>rdepend
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>*<span class="w"> </span>DISTUTILS_USE_SETUPTOOLS<span class="w"> </span>value<span class="w"> </span>is<span class="w"> </span>probably<span class="w"> </span>incorrect
+*<span class="w"> </span>have:<span class="w"> </span><span class="nv">DISTUTILS_USE_SETUPTOOLS</span><span class="o">=</span>bdepend<span class="w"> </span><span class="o">(</span>or<span class="w"> </span><span class="nb">unset</span><span class="o">)</span>
+*<span class="w"> </span>expected:<span class="w"> </span><span class="nv">DISTUTILS_USE_SETUPTOOLS</span><span class="o">=</span>rdepend
</pre></div>
</div>
<p>The value needs to be set before inheriting the eclass:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python2_7 python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span> pypy3 <span class="o">)</span>
-<span class="hll"> <span class="nv">DISTUTILS_USE_SETUPTOOLS</span><span class="o">=</span>rdepend
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python2_7<span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span><span class="w"> </span>pypy3<span class="w"> </span><span class="o">)</span>
+<span class="hll"><span class="w"> </span><span class="nv">DISTUTILS_USE_SETUPTOOLS</span><span class="o">=</span>rdepend
</span>
- inherit distutils-r1
+<span class="w"> </span>inherit<span class="w"> </span>distutils-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;A configurable sidebar-enabled Sphinx theme&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/bitprophet/alabaster&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;A configurable sidebar-enabled Sphinx theme&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/bitprophet/alabaster&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;BSD&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x64-solaris&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;BSD&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x64-solaris&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
</pre></div>
</div>
</section>
@@ -260,26 +257,26 @@ an in-source build mode enabled via <code class="docutils literal notranslate"><
for each Python implementation, and then runs the build and install
steps inside that copy. As a result, any changes done to the source
files are contained within the copy used for the current interpreter.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
- <span class="nv">DISTUTILS_USE_SETUPTOOLS</span><span class="o">=</span>no
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span> pypy3 <span class="o">)</span>
- <span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s2">&quot;xml(+)&quot;</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">DISTUTILS_USE_SETUPTOOLS</span><span class="o">=</span>no
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span><span class="w"> </span>pypy3<span class="w"> </span><span class="o">)</span>
+<span class="w"> </span><span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s2">&quot;xml(+)&quot;</span>
- inherit distutils-r1
+<span class="w"> </span>inherit<span class="w"> </span>distutils-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Collection of extensions to Distutils&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/pypa/setuptools https://pypi.org/project/setuptools/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.zip&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Collection of extensions to Distutils&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/pypa/setuptools https://pypi.org/project/setuptools/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.zip&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;MIT&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;MIT&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris&quot;</span>
- <span class="c1"># Force in-source build because build system modifies sources.</span>
-<span class="hll"> <span class="nv">DISTUTILS_IN_SOURCE_BUILD</span><span class="o">=</span><span class="m">1</span>
+<span class="w"> </span><span class="c1"># Force in-source build because build system modifies sources.</span>
+<span class="hll"><span class="w"> </span><span class="nv">DISTUTILS_IN_SOURCE_BUILD</span><span class="o">=</span><span class="m">1</span>
</span></pre></div>
</div>
</section>
@@ -319,9 +316,9 @@ to be supported. It historically used to be necessary to fix problems
with some packages. However, the underlying issues probably went away
along with old versions of Python, and the <a class="reference external" href="https://github.com/pypa/setuptools/commit/91213fb2e7eecde9f5d7582de485398f546e7aa8">removal of site.py hack</a>
has broken it for most of the consumers.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span> <span class="o">{</span>
- distutils_install_for_testing
- epytest --no-network
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>distutils_install_for_testing
+<span class="w"> </span>epytest<span class="w"> </span>--no-network
<span class="o">}</span>
</pre></div>
</div>
@@ -410,7 +407,7 @@ has broken it for most of the consumers.</p>
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
diff --git a/guide/distutils.html b/guide/distutils.html
index 73d1297..aa1b028 100644
--- a/guide/distutils.html
+++ b/guide/distutils.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -79,22 +76,22 @@ PEP 517 mode and declare the build system used. The eclass
automatically generates a build-time dependency on the packages needed
for the build system.</p>
<p>The simplest case of ebuild is:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2022 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2022 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">8</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">8</span>
-<span class="hll"> <span class="nv">DISTUTILS_USE_PEP517</span><span class="o">=</span>setuptools
-</span><span class="hll"> <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_<span class="o">{</span><span class="m">8</span>..10<span class="o">}</span> pypy3 <span class="o">)</span>
-</span><span class="hll"> inherit distutils-r1
+<span class="hll"><span class="w"> </span><span class="nv">DISTUTILS_USE_PEP517</span><span class="o">=</span>setuptools
+</span><span class="hll"><span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">8</span>..10<span class="o">}</span><span class="w"> </span>pypy3<span class="w"> </span><span class="o">)</span>
+</span><span class="hll"><span class="w"> </span>inherit<span class="w"> </span>distutils-r1
</span>
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Makes working with XML feel like you are working with JSON&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/martinblech/xmltodict/ https://pypi.org/project/xmltodict/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Makes working with XML feel like you are working with JSON&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/martinblech/xmltodict/ https://pypi.org/project/xmltodict/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;MIT&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~arm ~arm64 ~x86&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;MIT&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~arm ~arm64 ~x86&quot;</span>
</pre></div>
</div>
</section>
@@ -190,36 +187,36 @@ maximum compatibility between these two modes, so most of the existing
code will work with either. However, the functions specific to
the underlying eclass are not compatible — e.g. the dependencies need
to be rewritten.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2022 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2022 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_<span class="o">{</span><span class="m">8</span>..10<span class="o">}</span> <span class="o">)</span>
- <span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s2">&quot;readline&quot;</span>
- <span class="nv">DISTUTILS_USE_PEP517</span><span class="o">=</span>setuptools
-<span class="hll"> <span class="nv">DISTUTILS_SINGLE_IMPL</span><span class="o">=</span><span class="m">1</span>
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">8</span>..10<span class="o">}</span><span class="w"> </span><span class="o">)</span>
+<span class="w"> </span><span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s2">&quot;readline&quot;</span>
+<span class="w"> </span><span class="nv">DISTUTILS_USE_PEP517</span><span class="o">=</span>setuptools
+<span class="hll"><span class="w"> </span><span class="nv">DISTUTILS_SINGLE_IMPL</span><span class="o">=</span><span class="m">1</span>
</span>
- inherit distutils-r1
+<span class="w"> </span>inherit<span class="w"> </span>distutils-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Pythonic layer on top of the ROOT framework&#39;s PyROOT bindings&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;http://rootpy.org&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Pythonic layer on top of the ROOT framework&#39;s PyROOT bindings&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;http://rootpy.org&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;BSD&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86 ~amd64-linux ~x86-linux&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;BSD&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86 ~amd64-linux ~x86-linux&quot;</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> sci-physics/root:=[</span><span class="si">${</span><span class="nv">PYTHON_SINGLE_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> dev-python/root_numpy[</span><span class="si">${</span><span class="nv">PYTHON_SINGLE_USEDEP</span><span class="si">}</span><span class="s2">]</span>
-<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep <span class="s1">&#39;</span>
+<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep<span class="w"> </span><span class="s1">&#39;</span>
<span class="s1"> dev-python/matplotlib[${PYTHON_USEDEP}]</span>
<span class="s1"> dev-python/pytables[${PYTHON_USEDEP}]</span>
<span class="s1"> dev-python/termcolor[${PYTHON_USEDEP}]</span>
<span class="s1"> &#39;</span><span class="k">)</span><span class="s2">&quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> sci-physics/root[</span><span class="si">${</span><span class="nv">PYTHON_SINGLE_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
</pre></div>
</div>
@@ -230,9 +227,9 @@ to be rewritten.</p>
system. However, PEP 517 mode provides support for other build systems.</p>
<p>In order to determine the correct build system used, read
the <code class="docutils literal notranslate"><span class="pre">pyproject.toml</span></code> file. An example file could start with:</p>
-<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[build-system]</span><span class="w"></span>
-<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s">&quot;flit_core &gt;=3.6.0,&lt;4&quot;</span><span class="p">]</span><span class="w"></span>
-<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;flit_core.buildapi&quot;</span><span class="w"></span>
+<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[build-system]</span>
+<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s">&quot;flit_core &gt;=3.6.0,&lt;4&quot;</span><span class="p">]</span>
+<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;flit_core.buildapi&quot;</span>
</pre></div>
</div>
<p>The <code class="docutils literal notranslate"><span class="pre">requires</span></code> key indicates the packages required in order to run
@@ -322,17 +319,17 @@ for them.</p>
<p>Some packages are still found using the historical flit build backend.
Their <code class="docutils literal notranslate"><span class="pre">pyproject.toml</span></code> files contain a section similar
to the following:</p>
-<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[build-system]</span><span class="w"></span>
-<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s">&quot;flit&quot;</span><span class="p">]</span><span class="w"></span>
-<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;flit.buildapi&quot;</span><span class="w"></span>
+<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[build-system]</span>
+<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s">&quot;flit&quot;</span><span class="p">]</span>
+<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;flit.buildapi&quot;</span>
</pre></div>
</div>
<p>This backend requires installing the complete flit package manager.
Instead, the package should be fixed upstream to use flit_core
per <a class="reference external" href="https://flit.readthedocs.io/en/latest/pyproject_toml.html#build-system-section">flit build system section documentation</a> instead:</p>
-<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[build-system]</span><span class="w"></span>
-<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s">&quot;flit_core&quot;</span><span class="p">]</span><span class="w"></span>
-<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;flit_core.buildapi&quot;</span><span class="w"></span>
+<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[build-system]</span>
+<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s">&quot;flit_core&quot;</span><span class="p">]</span>
+<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;flit_core.buildapi&quot;</span>
</pre></div>
</div>
<p>flit_core produces identical artifacts to flit. At the same time, it
@@ -343,16 +340,16 @@ PEP 517 builds faster.</p>
<h3>poetry.masonry.api<a class="headerlink" href="#poetry-masonry-api" title="Permalink to this heading">¶</a></h3>
<p>A similar problem applies to the packages using poetry. The respective
<code class="docutils literal notranslate"><span class="pre">pyproject.toml</span></code> files contain:</p>
-<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[build-system]</span><span class="w"></span>
-<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s">&quot;poetry&gt;=0.12&quot;</span><span class="p">]</span><span class="w"></span>
-<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;poetry.masonry.api&quot;</span><span class="w"></span>
+<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[build-system]</span>
+<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s">&quot;poetry&gt;=0.12&quot;</span><span class="p">]</span>
+<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;poetry.masonry.api&quot;</span>
</pre></div>
</div>
<p>Instead, the lightweight poetry-core module should be used per <a class="reference external" href="https://python-poetry.org/docs/pyproject/#poetry-and-pep-517">poetry
PEP-517 documentation</a>:</p>
-<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[build-system]</span><span class="w"></span>
-<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s">&quot;poetry_core&gt;=1.0.0&quot;</span><span class="p">]</span><span class="w"></span>
-<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;poetry.core.masonry.api&quot;</span><span class="w"></span>
+<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[build-system]</span>
+<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s">&quot;poetry_core&gt;=1.0.0&quot;</span><span class="p">]</span>
+<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;poetry.core.masonry.api&quot;</span>
</pre></div>
</div>
<p>poetry-core produces identical artifacts to poetry. It has smaller
@@ -361,17 +358,17 @@ dependency footprint and makes isolated builds much faster.</p>
<section id="setuptools-build-meta-legacy">
<h3>setuptools.build_meta:__legacy__<a class="headerlink" href="#setuptools-build-meta-legacy" title="Permalink to this heading">¶</a></h3>
<p>Some packages using setuptools specify the following:</p>
-<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[build-system]</span><span class="w"></span>
-<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s">&quot;setuptools&gt;=40.8.0&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;wheel&quot;</span><span class="p">]</span><span class="w"></span>
-<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;setuptools.build_meta:__legacy__&quot;</span><span class="w"></span>
+<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[build-system]</span>
+<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s">&quot;setuptools&gt;=40.8.0&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;wheel&quot;</span><span class="p">]</span>
+<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;setuptools.build_meta:__legacy__&quot;</span>
</pre></div>
</div>
<p>This is incorrect, as the legacy backend is intended to be used only
as an implicit fallback. All packages should be using the regular
backend instead:</p>
-<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[build-system]</span><span class="w"></span>
-<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s">&quot;setuptools&gt;=40.8.0&quot;</span><span class="p">]</span><span class="w"></span>
-<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;setuptools.build_meta&quot;</span><span class="w"></span>
+<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[build-system]</span>
+<span class="n">requires</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s">&quot;setuptools&gt;=40.8.0&quot;</span><span class="p">]</span>
+<span class="n">build-backend</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;setuptools.build_meta&quot;</span>
</pre></div>
</div>
<p>Please also note that the <code class="docutils literal notranslate"><span class="pre">wheel</span></code> package should <em>not</em> be listed
@@ -389,35 +386,35 @@ from VCS tags. However, this works correctly only when the package
is built from VCS checkout or an <code class="docutils literal notranslate"><span class="pre">sdist</span></code> archive containing
pregenerated metadata. It does not work when building from a GitHub
snapshot:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>Traceback <span class="o">(</span>most recent call last<span class="o">)</span>:
- File <span class="s2">&quot;/tmp/executing-0.5.2/setup.py&quot;</span>, line <span class="m">4</span>, <span class="k">in</span> &lt;module&gt;
- setup<span class="o">()</span>
- File <span class="s2">&quot;/usr/lib/python3.9/site-packages/setuptools/__init__.py&quot;</span>, line <span class="m">143</span>, <span class="k">in</span> setup
- _install_setup_requires<span class="o">(</span>attrs<span class="o">)</span>
- File <span class="s2">&quot;/usr/lib/python3.9/site-packages/setuptools/__init__.py&quot;</span>, line <span class="m">131</span>, <span class="k">in</span> _install_setup_requires
- <span class="nv">dist</span> <span class="o">=</span> distutils.core.Distribution<span class="o">(</span>dict<span class="o">(</span>
- File <span class="s2">&quot;/usr/lib/python3.9/site-packages/setuptools/dist.py&quot;</span>, line <span class="m">425</span>, <span class="k">in</span> __init__
- _Distribution.__init__<span class="o">(</span>self, <span class="o">{</span>
- File <span class="s2">&quot;/usr/lib/python3.9/distutils/dist.py&quot;</span>, line <span class="m">292</span>, <span class="k">in</span> __init__
- self.finalize_options<span class="o">()</span>
- File <span class="s2">&quot;/usr/lib/python3.9/site-packages/setuptools/dist.py&quot;</span>, line <span class="m">717</span>, <span class="k">in</span> finalize_options
- ep<span class="o">(</span>self<span class="o">)</span>
- File <span class="s2">&quot;/usr/lib/python3.9/site-packages/setuptools_scm/integration.py&quot;</span>, line <span class="m">48</span>, <span class="k">in</span> infer_version
- dist.metadata.version <span class="o">=</span> _get_version<span class="o">(</span>config<span class="o">)</span>
- File <span class="s2">&quot;/usr/lib/python3.9/site-packages/setuptools_scm/__init__.py&quot;</span>, line <span class="m">148</span>, <span class="k">in</span> _get_version
- <span class="nv">parsed_version</span> <span class="o">=</span> _do_parse<span class="o">(</span>config<span class="o">)</span>
- File <span class="s2">&quot;/usr/lib/python3.9/site-packages/setuptools_scm/__init__.py&quot;</span>, line <span class="m">110</span>, <span class="k">in</span> _do_parse
- raise LookupError<span class="o">(</span>
-LookupError: setuptools-scm was unable to detect version <span class="k">for</span> <span class="s1">&#39;/tmp/executing-0.5.2&#39;</span>.
-
-Make sure you<span class="s1">&#39;re either building from a fully intact git repository or PyPI tarballs. Most other sources (such as GitHub&#39;</span>s tarballs, a git checkout without the .git folder<span class="o">)</span> don<span class="s1">&#39;t contain the necessary metadata and will not work.</span>
-
-<span class="s1">For example, if you&#39;</span>re using pip, instead of https://github.com/user/proj/archive/master.zip use git+https://github.com/user/proj.git#egg<span class="o">=</span>proj
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>Traceback<span class="w"> </span><span class="o">(</span>most<span class="w"> </span>recent<span class="w"> </span>call<span class="w"> </span>last<span class="o">)</span>:
+<span class="w"> </span>File<span class="w"> </span><span class="s2">&quot;/tmp/executing-0.5.2/setup.py&quot;</span>,<span class="w"> </span>line<span class="w"> </span><span class="m">4</span>,<span class="w"> </span><span class="k">in</span><span class="w"> </span>&lt;module&gt;
+<span class="w"> </span>setup<span class="o">()</span>
+<span class="w"> </span>File<span class="w"> </span><span class="s2">&quot;/usr/lib/python3.9/site-packages/setuptools/__init__.py&quot;</span>,<span class="w"> </span>line<span class="w"> </span><span class="m">143</span>,<span class="w"> </span><span class="k">in</span><span class="w"> </span>setup
+<span class="w"> </span>_install_setup_requires<span class="o">(</span>attrs<span class="o">)</span>
+<span class="w"> </span>File<span class="w"> </span><span class="s2">&quot;/usr/lib/python3.9/site-packages/setuptools/__init__.py&quot;</span>,<span class="w"> </span>line<span class="w"> </span><span class="m">131</span>,<span class="w"> </span><span class="k">in</span><span class="w"> </span>_install_setup_requires
+<span class="w"> </span><span class="nv">dist</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>distutils.core.Distribution<span class="o">(</span>dict<span class="o">(</span>
+<span class="w"> </span>File<span class="w"> </span><span class="s2">&quot;/usr/lib/python3.9/site-packages/setuptools/dist.py&quot;</span>,<span class="w"> </span>line<span class="w"> </span><span class="m">425</span>,<span class="w"> </span><span class="k">in</span><span class="w"> </span>__init__
+<span class="w"> </span>_Distribution.__init__<span class="o">(</span>self,<span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>File<span class="w"> </span><span class="s2">&quot;/usr/lib/python3.9/distutils/dist.py&quot;</span>,<span class="w"> </span>line<span class="w"> </span><span class="m">292</span>,<span class="w"> </span><span class="k">in</span><span class="w"> </span>__init__
+<span class="w"> </span>self.finalize_options<span class="o">()</span>
+<span class="w"> </span>File<span class="w"> </span><span class="s2">&quot;/usr/lib/python3.9/site-packages/setuptools/dist.py&quot;</span>,<span class="w"> </span>line<span class="w"> </span><span class="m">717</span>,<span class="w"> </span><span class="k">in</span><span class="w"> </span>finalize_options
+<span class="w"> </span>ep<span class="o">(</span>self<span class="o">)</span>
+<span class="w"> </span>File<span class="w"> </span><span class="s2">&quot;/usr/lib/python3.9/site-packages/setuptools_scm/integration.py&quot;</span>,<span class="w"> </span>line<span class="w"> </span><span class="m">48</span>,<span class="w"> </span><span class="k">in</span><span class="w"> </span>infer_version
+<span class="w"> </span>dist.metadata.version<span class="w"> </span><span class="o">=</span><span class="w"> </span>_get_version<span class="o">(</span>config<span class="o">)</span>
+<span class="w"> </span>File<span class="w"> </span><span class="s2">&quot;/usr/lib/python3.9/site-packages/setuptools_scm/__init__.py&quot;</span>,<span class="w"> </span>line<span class="w"> </span><span class="m">148</span>,<span class="w"> </span><span class="k">in</span><span class="w"> </span>_get_version
+<span class="w"> </span><span class="nv">parsed_version</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>_do_parse<span class="o">(</span>config<span class="o">)</span>
+<span class="w"> </span>File<span class="w"> </span><span class="s2">&quot;/usr/lib/python3.9/site-packages/setuptools_scm/__init__.py&quot;</span>,<span class="w"> </span>line<span class="w"> </span><span class="m">110</span>,<span class="w"> </span><span class="k">in</span><span class="w"> </span>_do_parse
+<span class="w"> </span>raise<span class="w"> </span>LookupError<span class="o">(</span>
+LookupError:<span class="w"> </span>setuptools-scm<span class="w"> </span>was<span class="w"> </span>unable<span class="w"> </span>to<span class="w"> </span>detect<span class="w"> </span>version<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="s1">&#39;/tmp/executing-0.5.2&#39;</span>.
+
+Make<span class="w"> </span>sure<span class="w"> </span>you<span class="s1">&#39;re either building from a fully intact git repository or PyPI tarballs. Most other sources (such as GitHub&#39;</span>s<span class="w"> </span>tarballs,<span class="w"> </span>a<span class="w"> </span>git<span class="w"> </span>checkout<span class="w"> </span>without<span class="w"> </span>the<span class="w"> </span>.git<span class="w"> </span>folder<span class="o">)</span><span class="w"> </span>don<span class="s1">&#39;t contain the necessary metadata and will not work.</span>
+
+<span class="s1">For example, if you&#39;</span>re<span class="w"> </span>using<span class="w"> </span>pip,<span class="w"> </span>instead<span class="w"> </span>of<span class="w"> </span>https://github.com/user/proj/archive/master.zip<span class="w"> </span>use<span class="w"> </span>git+https://github.com/user/proj.git#egg<span class="o">=</span>proj
</pre></div>
</div>
<p>This problem can be resolved by providing the correct version externally
via <code class="docutils literal notranslate"><span class="pre">SETUPTOOLS_SCM_PRETEND_VERSION</span></code>:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">export</span> <span class="nv">SETUPTOOLS_SCM_PRETEND_VERSION</span><span class="o">=</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">export</span><span class="w"> </span><span class="nv">SETUPTOOLS_SCM_PRETEND_VERSION</span><span class="o">=</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span>
</pre></div>
</div>
<p>The <a class="reference external" href="https://pypi.org/project/flit_scm/">flit_scm</a> and <a class="reference external" href="https://pypi.org/project/hatch-vcs/">hatch-vcs</a> packages are both built on top
@@ -440,8 +437,8 @@ as simple as removing the pregenerated files:</p>
<span class="s2"> dev-python/cython[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2">&quot;</span>
-src_configure<span class="o">()</span> <span class="o">{</span>
- rm src/frobnicate.c <span class="o">||</span> die
+src_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>rm<span class="w"> </span>src/frobnicate.c<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
<span class="o">}</span>
</pre></div>
</div>
@@ -452,8 +449,8 @@ to run Cythonize. It is also possible to call Cython directly:</p>
<span class="s2"> dev-python/cython[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2">&quot;</span>
-src_configure<span class="o">()</span> <span class="o">{</span>
- cython -3 jq.pyx -o jq.c <span class="o">||</span> die
+src_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>cython<span class="w"> </span>-3<span class="w"> </span>jq.pyx<span class="w"> </span>-o<span class="w"> </span>jq.c<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
<span class="o">}</span>
</pre></div>
</div>
@@ -471,19 +468,19 @@ generally does not cause immediate build failures but results in broken
extensions causing cryptic issues in reverse dependencies.</p>
<p>For example, a miscompilation of <code class="docutils literal notranslate"><span class="pre">dev-python/pandas</span></code> have recently
caused breakage in <code class="docutils literal notranslate"><span class="pre">dev-python/dask</span></code>:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>/usr/lib/python3.8/site-packages/pandas/__init__.py:29: <span class="k">in</span> &lt;module&gt;
- from pandas._libs import hashtable as _hashtable, lib as _lib, tslib as _tslib
-/usr/lib/python3.8/site-packages/pandas/_libs/__init__.py:13: <span class="k">in</span> &lt;module&gt;
- from pandas._libs.interval import Interval
-pandas/_libs/interval.pyx:1: <span class="k">in</span> init pandas._libs.interval
- ???
-pandas/_libs/hashtable.pyx:1: <span class="k">in</span> init pandas._libs.hashtable
- ???
-pandas/_libs/missing.pyx:1: <span class="k">in</span> init pandas._libs.missing
- ???
-/usr/lib/python3.8/site-packages/pandas/_libs/tslibs/__init__.py:30: <span class="k">in</span> &lt;module&gt;
- from .conversion import OutOfBoundsTimedelta, localize_pydatetime
-E ImportError: /usr/lib/python3.8/site-packages/pandas/_libs/tslibs/conversion.cpython-38-x86_64-linux-gnu.so: undefined symbol: pandas_datetime_to_datetimestruct
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>/usr/lib/python3.8/site-packages/pandas/__init__.py:29:<span class="w"> </span><span class="k">in</span><span class="w"> </span>&lt;module&gt;
+<span class="w"> </span>from<span class="w"> </span>pandas._libs<span class="w"> </span>import<span class="w"> </span>hashtable<span class="w"> </span>as<span class="w"> </span>_hashtable,<span class="w"> </span>lib<span class="w"> </span>as<span class="w"> </span>_lib,<span class="w"> </span>tslib<span class="w"> </span>as<span class="w"> </span>_tslib
+/usr/lib/python3.8/site-packages/pandas/_libs/__init__.py:13:<span class="w"> </span><span class="k">in</span><span class="w"> </span>&lt;module&gt;
+<span class="w"> </span>from<span class="w"> </span>pandas._libs.interval<span class="w"> </span>import<span class="w"> </span>Interval
+pandas/_libs/interval.pyx:1:<span class="w"> </span><span class="k">in</span><span class="w"> </span>init<span class="w"> </span>pandas._libs.interval
+<span class="w"> </span>???
+pandas/_libs/hashtable.pyx:1:<span class="w"> </span><span class="k">in</span><span class="w"> </span>init<span class="w"> </span>pandas._libs.hashtable
+<span class="w"> </span>???
+pandas/_libs/missing.pyx:1:<span class="w"> </span><span class="k">in</span><span class="w"> </span>init<span class="w"> </span>pandas._libs.missing
+<span class="w"> </span>???
+/usr/lib/python3.8/site-packages/pandas/_libs/tslibs/__init__.py:30:<span class="w"> </span><span class="k">in</span><span class="w"> </span>&lt;module&gt;
+<span class="w"> </span>from<span class="w"> </span>.conversion<span class="w"> </span>import<span class="w"> </span>OutOfBoundsTimedelta,<span class="w"> </span>localize_pydatetime
+E<span class="w"> </span>ImportError:<span class="w"> </span>/usr/lib/python3.8/site-packages/pandas/_libs/tslibs/conversion.cpython-38-x86_64-linux-gnu.so:<span class="w"> </span>undefined<span class="w"> </span>symbol:<span class="w"> </span>pandas_datetime_to_datetimestruct
</pre></div>
</div>
<p>The easiest way to workaround the problem in ebuild is to append <code class="docutils literal notranslate"><span class="pre">-j1</span></code>
@@ -537,15 +534,15 @@ sub-phase or <code class="docutils literal notranslate"><span class="pre">src_pr
you should always call the original implementation from your override.
For example, you could use it to strip extraneous dependencies or broken
tests:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_prepare_all<span class="o">()</span> <span class="o">{</span>
- <span class="c1"># FIXME</span>
- rm tests/test_pytest_plugin.py <span class="o">||</span> die
- sed -i -e <span class="s1">&#39;s:test_testcase_no_app:_&amp;:&#39;</span> tests/test_test_utils.py <span class="o">||</span> die
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_prepare_all<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="c1"># FIXME</span>
+<span class="w"> </span>rm<span class="w"> </span>tests/test_pytest_plugin.py<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
+<span class="w"> </span>sed<span class="w"> </span>-i<span class="w"> </span>-e<span class="w"> </span><span class="s1">&#39;s:test_testcase_no_app:_&amp;:&#39;</span><span class="w"> </span>tests/test_test_utils.py<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
- <span class="c1"># remove pointless dep on pytest-cov</span>
- sed -i -e <span class="s1">&#39;/addopts/s/--cov=aiohttp//&#39;</span> pytest.ini <span class="o">||</span> die
+<span class="w"> </span><span class="c1"># remove pointless dep on pytest-cov</span>
+<span class="w"> </span>sed<span class="w"> </span>-i<span class="w"> </span>-e<span class="w"> </span><span class="s1">&#39;/addopts/s/--cov=aiohttp//&#39;</span><span class="w"> </span>pytest.ini<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
- distutils-r1_python_prepare_all
+<span class="w"> </span>distutils-r1_python_prepare_all
<span class="o">}</span>
</pre></div>
</div>
@@ -559,10 +556,10 @@ since this modification needs to be done on a subset of all Python
interpreters, the eclass needs to keep a separate copy of the sources
for every one of them. This is why <code class="docutils literal notranslate"><span class="pre">python_prepare</span></code> automatically
enables in-source builds.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_prepare<span class="o">()</span> <span class="o">{</span>
- <span class="k">if</span> ! use cli <span class="o">||</span> ! has <span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span><span class="s2">&quot;</span> python3.<span class="o">{</span><span class="m">7</span>..9<span class="o">}</span><span class="p">;</span> <span class="k">then</span>
- sed -i -e <span class="s1">&#39;/console_scripts/d&#39;</span> setup.py <span class="o">||</span> die
- <span class="k">fi</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_prepare<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="k">if</span><span class="w"> </span>!<span class="w"> </span>use<span class="w"> </span>cli<span class="w"> </span><span class="o">||</span><span class="w"> </span>!<span class="w"> </span>has<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span>python3.<span class="o">{</span><span class="m">7</span>..9<span class="o">}</span><span class="p">;</span><span class="w"> </span><span class="k">then</span>
+<span class="w"> </span>sed<span class="w"> </span>-i<span class="w"> </span>-e<span class="w"> </span><span class="s1">&#39;/console_scripts/d&#39;</span><span class="w"> </span>setup.py<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
+<span class="w"> </span><span class="k">fi</span>
<span class="o">}</span>
</pre></div>
</div>
@@ -573,16 +570,16 @@ enables in-source builds.</p>
functionality. The former is convenient for running additional
configuration steps if needed by the package, the latter for defining
global environment variables.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_configure<span class="o">()</span> <span class="o">{</span>
- esetup.py configure <span class="k">$(</span>usex mpi --mpi <span class="s1">&#39;&#39;</span><span class="k">)</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>esetup.py<span class="w"> </span>configure<span class="w"> </span><span class="k">$(</span>usex<span class="w"> </span>mpi<span class="w"> </span>--mpi<span class="w"> </span><span class="s1">&#39;&#39;</span><span class="k">)</span>
<span class="o">}</span>
</pre></div>
</div>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_configure_all<span class="o">()</span> <span class="o">{</span>
- <span class="nv">DISTUTILS_ARGS</span><span class="o">=(</span>
- --resourcepath<span class="o">=</span>/usr/share
- --no-compress-manpages
- <span class="o">)</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_configure_all<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nv">DISTUTILS_ARGS</span><span class="o">=(</span>
+<span class="w"> </span>--resourcepath<span class="o">=</span>/usr/share
+<span class="w"> </span>--no-compress-manpages
+<span class="w"> </span><span class="o">)</span>
<span class="o">}</span>
</pre></div>
</div>
@@ -593,8 +590,8 @@ global environment variables.</p>
to pass additional arguments to the build step. For example, it can
be used to disable parallel extension builds in packages that are broken
with it:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_compile<span class="o">()</span> <span class="o">{</span>
- distutils-r1_python_compile -j1
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_compile<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>distutils-r1_python_compile<span class="w"> </span>-j1
<span class="o">}</span>
</pre></div>
</div>
@@ -602,8 +599,8 @@ with it:</p>
has no default implementation. It is convenient for performing
additional common build steps, in particular for building
the documentation (see <code class="docutils literal notranslate"><span class="pre">distutils_enable_sphinx</span></code>).</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_compile_all<span class="o">()</span> <span class="o">{</span>
- use doc <span class="o">&amp;&amp;</span> emake -C docs html
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_compile_all<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>use<span class="w"> </span>doc<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>emake<span class="w"> </span>-C<span class="w"> </span>docs<span class="w"> </span>html
<span class="o">}</span>
</pre></div>
</div>
@@ -615,8 +612,8 @@ implementation but you are strongly encouraged to provide one (either
directly or via <code class="docutils literal notranslate"><span class="pre">distutils_enable_tests</span></code>). <code class="docutils literal notranslate"><span class="pre">python_test_all</span></code>
can be used to run additional testing code that is not specific
to Python.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span> <span class="o">{</span>
- <span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span><span class="s2">&quot;</span> TestBitVector/Test.py <span class="o">||</span> die <span class="s2">&quot;Tests fail with </span><span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span><span class="s2">&quot;</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span>TestBitVector/Test.py<span class="w"> </span><span class="o">||</span><span class="w"> </span>die<span class="w"> </span><span class="s2">&quot;Tests fail with </span><span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span><span class="s2">&quot;</span>
<span class="o">}</span>
</pre></div>
</div>
@@ -626,25 +623,25 @@ to Python.</p>
<p><code class="docutils literal notranslate"><span class="pre">python_install</span></code> installs the package’s Python part. It is usually
redefined in order to pass additional <code class="docutils literal notranslate"><span class="pre">setup.py</span></code> arguments
or to install additional Python modules.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_install<span class="o">()</span> <span class="o">{</span>
- distutils-r1_python_install
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>distutils-r1_python_install
- <span class="c1"># ensure data files for tests are getting installed too</span>
- python_moduleinto collada/tests/
- python_domodule collada/tests/data
+<span class="w"> </span><span class="c1"># ensure data files for tests are getting installed too</span>
+<span class="w"> </span>python_moduleinto<span class="w"> </span>collada/tests/
+<span class="w"> </span>python_domodule<span class="w"> </span>collada/tests/data
<span class="o">}</span>
</pre></div>
</div>
<p><code class="docutils literal notranslate"><span class="pre">python_install_all</span></code> installs documentation via <code class="docutils literal notranslate"><span class="pre">einstalldocs</span></code>.
It is usually defined by ebuilds to install additional common files
such as bash completions or examples.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_install_all<span class="o">()</span> <span class="o">{</span>
- <span class="k">if</span> use examples<span class="p">;</span> <span class="k">then</span>
- docinto examples
- dodoc -r Sample_Code/.
- docompress -x /usr/share/doc/<span class="si">${</span><span class="nv">PF</span><span class="si">}</span>/examples
- <span class="k">fi</span>
- distutils-r1_python_install_all
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_install_all<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="k">if</span><span class="w"> </span>use<span class="w"> </span>examples<span class="p">;</span><span class="w"> </span><span class="k">then</span>
+<span class="w"> </span>docinto<span class="w"> </span>examples
+<span class="w"> </span>dodoc<span class="w"> </span>-r<span class="w"> </span>Sample_Code/.
+<span class="w"> </span>docompress<span class="w"> </span>-x<span class="w"> </span>/usr/share/doc/<span class="si">${</span><span class="nv">PF</span><span class="si">}</span>/examples
+<span class="w"> </span><span class="k">fi</span>
+<span class="w"> </span>distutils-r1_python_install_all
<span class="o">}</span>
</pre></div>
</div>
@@ -657,8 +654,8 @@ in <code class="docutils literal notranslate"><span class="pre">setup.py</span><
<p>Global options are usually implemented through manipulating <code class="docutils literal notranslate"><span class="pre">sys.path</span></code>
directly. The recommended way to use them is to specify them
via <code class="docutils literal notranslate"><span class="pre">DISTUTILS_ARGS</span></code> array:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>src_configure<span class="o">()</span> <span class="o">{</span>
- <span class="nv">DISTUTILS_ARGS</span><span class="o">=(</span> --external <span class="o">)</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>src_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nv">DISTUTILS_ARGS</span><span class="o">=(</span><span class="w"> </span>--external<span class="w"> </span><span class="o">)</span>
<span class="o">}</span>
</pre></div>
</div>
@@ -669,15 +666,15 @@ it is recommended to avoid adding command names to <code class="docutils literal
<p>The recommended way to pass command options is to use the <code class="docutils literal notranslate"><span class="pre">setup.cfg</span></code>
file. For example, Pillow provides for configuring available backends
via additional <code class="docutils literal notranslate"><span class="pre">build_ext</span></code> command flags:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>setup.py build_ext --enable-tiff --disable-webp ...
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>setup.py<span class="w"> </span>build_ext<span class="w"> </span>--enable-tiff<span class="w"> </span>--disable-webp<span class="w"> </span>...
</pre></div>
</div>
<p>The respective options can be setup via the configuration file, where
sections represent the commands and individual keys — options. Note
that dashes need to be replaced by underscores, and flag-style options
take boolean arguments. In this case, the ebuild can use:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>src_configure<span class="o">()</span> <span class="o">{</span>
- cat &gt;&gt; setup.cfg <span class="s">&lt;&lt;-EOF</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>src_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>cat<span class="w"> </span>&gt;&gt;<span class="w"> </span>setup.cfg<span class="w"> </span><span class="s">&lt;&lt;-EOF</span>
<span class="s"> [build_ext]</span>
<span class="s"> disable_tiff = $(usex !tiff True False)</span>
<span class="s"> enable_tiff = $(usex tiff True False)</span>
@@ -697,8 +694,8 @@ a <code class="docutils literal notranslate"><span class="pre">esetup.py</span><
handling and ensures that the override configuration file is created
beforehand (much like <code class="docutils literal notranslate"><span class="pre">econf</span></code> or <code class="docutils literal notranslate"><span class="pre">emake</span></code>).</p>
<p><code class="docutils literal notranslate"><span class="pre">esetup.py</span></code> passes all its paremeters to <code class="docutils literal notranslate"><span class="pre">./setup.py</span></code>.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span> <span class="o">{</span>
- esetup.py check
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>esetup.py<span class="w"> </span>check
<span class="o">}</span>
</pre></div>
</div>
@@ -729,9 +726,9 @@ files found there, including the files that are now excluded.</p>
</div>
<p>As an intermediate solution it is possible to strip the extra
directories in the install phase:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_install<span class="o">()</span> <span class="o">{</span>
- rm -r <span class="s2">&quot;</span><span class="si">${</span><span class="nv">BUILD_DIR</span><span class="si">}</span><span class="s2">&quot;</span>/lib/tests <span class="o">||</span> die
- distutils-r1_python_install
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>rm<span class="w"> </span>-r<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">BUILD_DIR</span><span class="si">}</span><span class="s2">&quot;</span>/lib/tests<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
+<span class="w"> </span>distutils-r1_python_install
<span class="o">}</span>
</pre></div>
</div>
@@ -756,28 +753,28 @@ in global scope, passing the test runner name as the first argument.
This function takes care of declaring test phase, setting appropriate
dependencies and <code class="docutils literal notranslate"><span class="pre">test</span></code> USE flag if necessary. If called after
setting <code class="docutils literal notranslate"><span class="pre">RDEPEND</span></code>, it also copies it to test dependencies.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python2_7 python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span> pypy3 <span class="o">)</span>
- inherit distutils-r1
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python2_7<span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span><span class="w"> </span>pypy3<span class="w"> </span><span class="o">)</span>
+<span class="w"> </span>inherit<span class="w"> </span>distutils-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;An easy whitelist-based HTML-sanitizing tool&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/mozilla/bleach https://pypi.org/project/bleach/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;An easy whitelist-based HTML-sanitizing tool&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/mozilla/bleach https://pypi.org/project/bleach/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;Apache-2.0&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;Apache-2.0&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86&quot;</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> dev-python/six[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> dev-python/webencodings[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> &quot;</span>
-<span class="hll"> distutils_enable_tests pytest
+<span class="hll"><span class="w"> </span>distutils_enable_tests<span class="w"> </span>pytest
</span></pre></div>
</div>
<p>The valid values include:</p>
@@ -793,36 +790,36 @@ setting <code class="docutils literal notranslate"><span class="pre">RDEPEND</sp
<p>Additional test dependencies can be specified in <code class="docutils literal notranslate"><span class="pre">test?</span></code> conditional.
The flag normally does not need to be explicitly declared,
as <code class="docutils literal notranslate"><span class="pre">distutils_enable_tests</span></code> does that in the majority of cases.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">6</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">6</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python2_7 python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span> pypy3 <span class="o">)</span>
- inherit distutils-r1
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python2_7<span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span><span class="w"> </span>pypy3<span class="w"> </span><span class="o">)</span>
+<span class="w"> </span>inherit<span class="w"> </span>distutils-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Universal encoding detector&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/chardet/chardet https://pypi.org/project/chardet/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/chardet/chardet/archive/</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">.tar.gz -&gt; </span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Universal encoding detector&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/chardet/chardet https://pypi.org/project/chardet/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/chardet/chardet/archive/</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">.tar.gz -&gt; </span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;LGPL-2.1&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;LGPL-2.1&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris&quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="hll"><span class="s2"> test? ( dev-python/hypothesis[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">] )</span>
</span><span class="s2"> &quot;</span>
-<span class="hll"> distutils_enable_tests pytest
+<span class="hll"><span class="w"> </span>distutils_enable_tests<span class="w"> </span>pytest
</span></pre></div>
</div>
<p>Note that <code class="docutils literal notranslate"><span class="pre">distutils_enable_tests</span></code> modifies variables directly
in the ebuild environment. This means that if you wish to change their
values, you need to append to them, i.e. the bottom part of that ebuild
can be rewritten as:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> distutils_enable_tests pytest
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span>distutils_enable_tests<span class="w"> </span>pytest
-<span class="hll"> <span class="nv">DEPEND</span><span class="o">+=</span><span class="s2">&quot;</span>
+<span class="hll"><span class="w"> </span><span class="nv">DEPEND</span><span class="o">+=</span><span class="s2">&quot;</span>
</span><span class="s2"> test? ( dev-python/hypothesis[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">] )</span>
<span class="s2"> &quot;</span>
</pre></div>
@@ -867,40 +864,40 @@ use tox in ebuilds.</p>
<p>If additional pre-/post-test phase actions need to be performed,
they can be easily injected via overriding <code class="docutils literal notranslate"><span class="pre">src_test()</span></code> and making
it call <code class="docutils literal notranslate"><span class="pre">distutils-r1_src_test</span></code>:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span> <span class="o">)</span>
- inherit distutils-r1
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span><span class="w"> </span><span class="o">)</span>
+<span class="w"> </span>inherit<span class="w"> </span>distutils-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Extra features for standard library&#39;s cmd module&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/python-cmd2/cmd2&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Extra features for standard library&#39;s cmd module&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/python-cmd2/cmd2&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;MIT&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;MIT&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux&quot;</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> dev-python/attrs[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> &gt;=dev-python/colorama-0.3.7[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> &gt;=dev-python/pyperclip-1.6[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> dev-python/six[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> dev-python/wcwidth[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> &quot;</span>
- <span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> dev-python/setuptools_scm[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> &quot;</span>
- distutils_enable_tests pytest
+<span class="w"> </span>distutils_enable_tests<span class="w"> </span>pytest
-<span class="hll"> src_test<span class="o">()</span> <span class="o">{</span>
-</span><span class="hll"> <span class="c1"># tests rely on very specific text wrapping...</span>
-</span><span class="hll"> <span class="nb">local</span> -x <span class="nv">COLUMNS</span><span class="o">=</span><span class="m">80</span>
-</span><span class="hll"> distutils-r1_src_test
-</span><span class="hll"> <span class="o">}</span>
+<span class="hll"><span class="w"> </span>src_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+</span><span class="hll"><span class="w"> </span><span class="c1"># tests rely on very specific text wrapping...</span>
+</span><span class="hll"><span class="w"> </span><span class="nb">local</span><span class="w"> </span>-x<span class="w"> </span><span class="nv">COLUMNS</span><span class="o">=</span><span class="m">80</span>
+</span><span class="hll"><span class="w"> </span>distutils-r1_src_test
+</span><span class="hll"><span class="w"> </span><span class="o">}</span>
</span></pre></div>
</div>
<p>If the actual test command needs to be customized, or a non-standard
@@ -910,30 +907,30 @@ by the default <code class="docutils literal notranslate"><span class="pre">src_
with <code class="docutils literal notranslate"><span class="pre">distutils_enable_tests</span></code> call, or used instead of it. In fact,
the former function simply defines a <code class="docutils literal notranslate"><span class="pre">python_test()</span></code> function as part
of its logic.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python<span class="o">{</span>2_7,3_6,3_7,3_8<span class="o">}</span> pypy3 <span class="o">)</span>
- inherit distutils-r1
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python<span class="o">{</span>2_7,3_6,3_7,3_8<span class="o">}</span><span class="w"> </span>pypy3<span class="w"> </span><span class="o">)</span>
+<span class="w"> </span>inherit<span class="w"> </span>distutils-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Bash tab completion for argparse&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://pypi.org/project/argcomplete/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Bash tab completion for argparse&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://pypi.org/project/argcomplete/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;Apache-2.0&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~arm ~arm64 ~hppa ~x86 ~amd64-linux ~x86-linux ~x64-macos&quot;</span>
-<span class="hll"> <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;test&quot;</span>
-</span><span class="hll"> <span class="nv">RESTRICT</span><span class="o">=</span><span class="s2">&quot;!test? ( test )&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;Apache-2.0&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~arm ~arm64 ~hppa ~x86 ~amd64-linux ~x86-linux ~x64-macos&quot;</span>
+<span class="hll"><span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;test&quot;</span>
+</span><span class="hll"><span class="w"> </span><span class="nv">RESTRICT</span><span class="o">=</span><span class="s2">&quot;!test? ( test )&quot;</span>
</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
-<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep <span class="s1">&#39;</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep<span class="w"> </span><span class="s1">&#39;</span>
<span class="s1"> &lt;dev-python/importlib_metadata-2[${PYTHON_USEDEP}]</span>
-<span class="s1"> &#39;</span> -2 python3_<span class="o">{</span><span class="m">5</span>,6,7<span class="o">}</span> pypy3<span class="k">)</span><span class="s2">&quot;</span>
- <span class="c1"># pip is called as an external tool</span>
- <span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="s1"> &#39;</span><span class="w"> </span>-2<span class="w"> </span>python3_<span class="o">{</span><span class="m">5</span>,6,7<span class="o">}</span><span class="w"> </span>pypy3<span class="k">)</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="c1"># pip is called as an external tool</span>
+<span class="w"> </span><span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> dev-python/setuptools[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="hll"><span class="s2"> test? (</span>
</span><span class="hll"><span class="s2"> app-shells/fish</span>
@@ -942,9 +939,9 @@ of its logic.</p>
</span><span class="hll"><span class="s2"> dev-python/pip</span>
</span><span class="hll"><span class="s2"> )&quot;</span>
</span>
-<span class="hll"> python_test<span class="o">()</span> <span class="o">{</span>
-</span><span class="hll"> <span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span><span class="s2">&quot;</span> test/test.py -v <span class="o">||</span> die
-</span><span class="hll"> <span class="o">}</span>
+<span class="hll"><span class="w"> </span>python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+</span><span class="hll"><span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span>test/test.py<span class="w"> </span>-v<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
+</span><span class="hll"><span class="w"> </span><span class="o">}</span>
</span></pre></div>
</div>
<p>Note that <code class="docutils literal notranslate"><span class="pre">python_test</span></code> is called by <code class="docutils literal notranslate"><span class="pre">distutils-r1_src_test</span></code>,
@@ -959,10 +956,10 @@ of test failures.</p>
<p>For example, if upstream uses <code class="docutils literal notranslate"><span class="pre">network</span></code> marker to disable
network-based tests, you can override the test phase in the following
way:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>distutils_enable_tests pytest
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>distutils_enable_tests<span class="w"> </span>pytest
-python_test<span class="o">()</span> <span class="o">{</span>
- epytest -m <span class="s1">&#39;not network&#39;</span>
+python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>epytest<span class="w"> </span>-m<span class="w"> </span><span class="s1">&#39;not network&#39;</span>
<span class="o">}</span>
</pre></div>
</div>
@@ -974,22 +971,22 @@ usng Xvfb. If the package in question does not start Xvfb directly,
<code class="docutils literal notranslate"><span class="pre">virtualx.eclass</span></code> can be used to do that. Whenever possible, it is
preferable to run a single server in <code class="docutils literal notranslate"><span class="pre">src_test()</span></code> for all passes
of the test suite, e.g.:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>distutils_enable_tests pytest
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>distutils_enable_tests<span class="w"> </span>pytest
-src_test<span class="o">()</span> <span class="o">{</span>
- virtx distutils-r1_src_test
+src_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>virtx<span class="w"> </span>distutils-r1_src_test
<span class="o">}</span>
</pre></div>
</div>
<p>Note that <code class="docutils literal notranslate"><span class="pre">virtx</span></code> implicitly enables nonfatal mode. This means that
e.g. <code class="docutils literal notranslate"><span class="pre">epytest</span></code> will no longer terminate the ebuild on failure, and you
need to use <code class="docutils literal notranslate"><span class="pre">die</span></code> explicitly for it:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>src_test<span class="o">()</span> <span class="o">{</span>
- virtx distutils-r1_src_test
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>src_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>virtx<span class="w"> </span>distutils-r1_src_test
<span class="o">}</span>
-python_test<span class="o">()</span> <span class="o">{</span>
- epytest -m <span class="s2">&quot;not network&quot;</span> <span class="o">||</span> die <span class="s2">&quot;Tests failed with </span><span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span><span class="s2">&quot;</span>
+python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>epytest<span class="w"> </span>-m<span class="w"> </span><span class="s2">&quot;not network&quot;</span><span class="w"> </span><span class="o">||</span><span class="w"> </span>die<span class="w"> </span><span class="s2">&quot;Tests failed with </span><span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span><span class="s2">&quot;</span>
<span class="o">}</span>
</pre></div>
</div>
@@ -1023,30 +1020,30 @@ It can be recognized by <code class="docutils literal notranslate"><span class="
in the extension list. In order to support building documentation,
call <code class="docutils literal notranslate"><span class="pre">distutils_enable_sphinx</span></code> and pass the path to the directory
containing Sphinx documentation:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span> <span class="o">)</span>
- <span class="nv">DISTUTILS_USE_SETUPTOOLS</span><span class="o">=</span>rdepend
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span><span class="w"> </span><span class="o">)</span>
+<span class="w"> </span><span class="nv">DISTUTILS_USE_SETUPTOOLS</span><span class="o">=</span>rdepend
- inherit distutils-r1
+<span class="w"> </span>inherit<span class="w"> </span>distutils-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Colored stream handler for the logging module&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Colored stream handler for the logging module&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> https://pypi.org/project/coloredlogs/</span>
<span class="s2"> https://github.com/xolox/python-coloredlogs</span>
<span class="s2"> https://coloredlogs.readthedocs.io/en/latest/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;MIT&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86 ~amd64-linux ~x86-linux&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;MIT&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86 ~amd64-linux ~x86-linux&quot;</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;dev-python/humanfriendly[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;dev-python/humanfriendly[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
-<span class="hll"> distutils_enable_sphinx docs
+<span class="hll"><span class="w"> </span>distutils_enable_sphinx<span class="w"> </span>docs
</span></pre></div>
</div>
<p>This call takes care of it all: it adds <code class="docutils literal notranslate"><span class="pre">doc</span></code> USE flag to control
@@ -1061,26 +1058,26 @@ implementation to build and install HTML documentation.</p>
extensions to Sphinx. Those include themes. In order to specify
dependencies on the additional packages, pass them as extra arguments
to <code class="docutils literal notranslate"><span class="pre">distutils_enable_sphinx</span></code>.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> pypy3 python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span> <span class="o">)</span>
- inherit distutils-r1
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>pypy3<span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span><span class="w"> </span><span class="o">)</span>
+<span class="w"> </span>inherit<span class="w"> </span>distutils-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Correctly inflect words and numbers&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/jazzband/inflect&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Correctly inflect words and numbers&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/jazzband/inflect&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;MIT&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~arm64 ~ia64 ~ppc ~ppc64 ~x86&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;MIT&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~arm64 ~ia64 ~ppc ~ppc64 ~x86&quot;</span>
-<span class="hll"> distutils_enable_sphinx docs <span class="se">\</span>
-</span><span class="hll"> <span class="s1">&#39;&gt;=dev-python/jaraco-packaging-3.2&#39;</span> <span class="se">\</span>
-</span><span class="hll"> <span class="s1">&#39;&gt;=dev-python/rst-linker-1.9&#39;</span> <span class="se">\</span>
-</span><span class="hll"> dev-python/alabaster
+<span class="hll"><span class="w"> </span>distutils_enable_sphinx<span class="w"> </span>docs<span class="w"> </span><span class="se">\</span>
+</span><span class="hll"><span class="w"> </span><span class="s1">&#39;&gt;=dev-python/jaraco-packaging-3.2&#39;</span><span class="w"> </span><span class="se">\</span>
+</span><span class="hll"><span class="w"> </span><span class="s1">&#39;&gt;=dev-python/rst-linker-1.9&#39;</span><span class="w"> </span><span class="se">\</span>
+</span><span class="hll"><span class="w"> </span>dev-python/alabaster
</span></pre></div>
</div>
<p>In this case, the function uses the any-r1 API to request one
@@ -1096,23 +1093,23 @@ For those packages, the any-r1 API can be omitted entirely and plain
dependency on <code class="docutils literal notranslate"><span class="pre">dev-python/sphinx</span></code> is sufficient. In this case,
the <code class="docutils literal notranslate"><span class="pre">--no-autodoc</span></code> option can be specified instead of additional
packages.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python2_7 python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span> <span class="o">)</span>
- inherit distutils-r1
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python2_7<span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span><span class="w"> </span><span class="o">)</span>
+<span class="w"> </span>inherit<span class="w"> </span>distutils-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Python Serial Port extension&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/pyserial/pyserial https://pypi.org/project/pyserial/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Python Serial Port extension&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/pyserial/pyserial https://pypi.org/project/pyserial/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;PSF-2&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;PSF-2&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86&quot;</span>
-<span class="hll"> distutils_enable_sphinx documentation --no-autodoc
+<span class="hll"><span class="w"> </span>distutils_enable_sphinx<span class="w"> </span>documentation<span class="w"> </span>--no-autodoc
</span></pre></div>
</div>
<p>Note that this is valid only if no third-party extensions are used.
@@ -1171,63 +1168,63 @@ on <code class="docutils literal notranslate"><span class="pre">dev-python/setup
<p>An example ebuild for a package utilizing autotools as a primary build
system alongside a flit-based <code class="docutils literal notranslate"><span class="pre">pyproject.toml</span></code> in the top directory
follows:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2022 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2022 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">8</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">8</span>
-<span class="hll"> <span class="nv">DISTUTILS_USE_PEP517</span><span class="o">=</span>flit
-</span><span class="hll"> <span class="nv">DISTUTILS_OPTIONAL</span><span class="o">=</span><span class="m">1</span>
-</span><span class="hll"> <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_<span class="o">{</span><span class="m">8</span>..10<span class="o">}</span> pypy3 <span class="o">)</span>
+<span class="hll"><span class="w"> </span><span class="nv">DISTUTILS_USE_PEP517</span><span class="o">=</span>flit
+</span><span class="hll"><span class="w"> </span><span class="nv">DISTUTILS_OPTIONAL</span><span class="o">=</span><span class="m">1</span>
+</span><span class="hll"><span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">8</span>..10<span class="o">}</span><span class="w"> </span>pypy3<span class="w"> </span><span class="o">)</span>
</span><span class="hll">
-</span><span class="hll"> inherit distutils-r1
+</span><span class="hll"><span class="w"> </span>inherit<span class="w"> </span>distutils-r1
</span>
- <span class="c1"># ...</span>
-<span class="hll"> <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;python test&quot;</span>
-</span><span class="hll"> <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="c1"># ...</span>
+<span class="hll"><span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;python test&quot;</span>
+</span><span class="hll"><span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span>
</span><span class="hll"><span class="s2"> python? ( </span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2"> )&quot;</span>
</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> dev-libs/libfoo:=&quot;</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
-<span class="s2"> </span><span class="si">${</span><span class="nv">DEPEND</span><span class="si">}</span><span class="s2"></span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="s2"> </span><span class="si">${</span><span class="nv">DEPEND</span><span class="si">}</span>
<span class="hll"><span class="s2"> python? (</span>
-</span><span class="hll"><span class="s2"> </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"></span>
+</span><span class="hll"><span class="s2"> </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span>
</span><span class="hll"><span class="s2"> dev-python/frobnicate[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
</span><span class="hll"><span class="s2"> )&quot;</span>
-</span> <span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+</span><span class="w"> </span><span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="hll"><span class="s2"> python? (</span>
-</span><span class="hll"><span class="s2"> </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"></span>
-</span><span class="hll"><span class="s2"> </span><span class="si">${</span><span class="nv">DISTUTILS_DEPS</span><span class="si">}</span><span class="s2"></span>
+</span><span class="hll"><span class="s2"> </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span>
+</span><span class="hll"><span class="s2"> </span><span class="si">${</span><span class="nv">DISTUTILS_DEPS</span><span class="si">}</span>
</span><span class="hll"><span class="s2"> test? (</span>
</span><span class="hll"><span class="s2"> dev-python/frobnicate[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
</span><span class="hll"><span class="s2"> dev-python/pytest[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
</span><span class="hll"><span class="s2"> )</span>
</span><span class="hll"><span class="s2"> )&quot;</span>
</span>
- src_prepare<span class="o">()</span> <span class="o">{</span>
- default
-<span class="hll"> use python <span class="o">&amp;&amp;</span> distutils-r1_src_prepare
-</span> <span class="o">}</span>
-
- src_compile<span class="o">()</span> <span class="o">{</span>
- default
-<span class="hll"> use python <span class="o">&amp;&amp;</span> distutils-r1_src_compile
-</span> <span class="o">}</span>
-
-<span class="hll"> python_test<span class="o">()</span> <span class="o">{</span>
-</span><span class="hll"> epytest
-</span><span class="hll"> <span class="o">}</span>
+<span class="w"> </span>src_prepare<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>default
+<span class="hll"><span class="w"> </span>use<span class="w"> </span>python<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>distutils-r1_src_prepare
+</span><span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_compile<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>default
+<span class="hll"><span class="w"> </span>use<span class="w"> </span>python<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>distutils-r1_src_compile
+</span><span class="w"> </span><span class="o">}</span>
+
+<span class="hll"><span class="w"> </span>python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+</span><span class="hll"><span class="w"> </span>epytest
+</span><span class="hll"><span class="w"> </span><span class="o">}</span>
</span>
- src_test<span class="o">()</span> <span class="o">{</span>
- default
-<span class="hll"> use python <span class="o">&amp;&amp;</span> distutils-r1_src_test
-</span> <span class="o">}</span>
-
- src_install<span class="o">()</span> <span class="o">{</span>
- default
-<span class="hll"> use python <span class="o">&amp;&amp;</span> distutils-r1_src_install
-</span> <span class="o">}</span>
+<span class="w"> </span>src_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>default
+<span class="hll"><span class="w"> </span>use<span class="w"> </span>python<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>distutils-r1_src_test
+</span><span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>default
+<span class="hll"><span class="w"> </span>use<span class="w"> </span>python<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>distutils-r1_src_install
+</span><span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
</section>
@@ -1243,7 +1240,7 @@ download the Rust dependencies over the Internet. In Gentoo,
or bumping one, you need to locate the <code class="docutils literal notranslate"><span class="pre">Cargo.lock</span></code> files within
the package’s sources. Run <code class="docutils literal notranslate"><span class="pre">pycargoebuild</span></code> passing the list of
the containing directories to generate a template ebuild, e.g.:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pycargoebuild /tmp/portage/dev-python/setuptools-rust-1.5.2/work/setuptools-rust-1.5.2/examples/*/
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pycargoebuild<span class="w"> </span>/tmp/portage/dev-python/setuptools-rust-1.5.2/work/setuptools-rust-1.5.2/examples/*/
</pre></div>
</div>
<p>The actual ebuild inherits both <code class="docutils literal notranslate"><span class="pre">cargo</span></code> and <code class="docutils literal notranslate"><span class="pre">distutils-r1</span></code> eclasses.
@@ -1255,45 +1252,45 @@ the crate licenses in addition to the Python package’s license.
to prevent false positives on ignored <code class="docutils literal notranslate"><span class="pre">CFLAGS</span></code> and <code class="docutils literal notranslate"><span class="pre">LDFLAGS</span></code>
warnings. Finally, the ebuild needs to call <code class="docutils literal notranslate"><span class="pre">cargo_src_unpack</span></code>.</p>
<p>An example ebuild follows:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 2022 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 2022 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">8</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">8</span>
-<span class="hll"> <span class="nv">CARGO_OPTIONAL</span><span class="o">=</span><span class="m">1</span>
-</span> <span class="nv">DISTUTILS_USE_PEP517</span><span class="o">=</span>setuptools
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_<span class="o">{</span><span class="m">8</span>..10<span class="o">}</span> pypy3 <span class="o">)</span>
+<span class="hll"><span class="w"> </span><span class="nv">CARGO_OPTIONAL</span><span class="o">=</span><span class="m">1</span>
+</span><span class="w"> </span><span class="nv">DISTUTILS_USE_PEP517</span><span class="o">=</span>setuptools
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">8</span>..10<span class="o">}</span><span class="w"> </span>pypy3<span class="w"> </span><span class="o">)</span>
-<span class="hll"> <span class="nv">CRATES</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="hll"><span class="w"> </span><span class="nv">CRATES</span><span class="o">=</span><span class="s2">&quot;</span>
</span><span class="hll"><span class="s2"> Inflector-0.11.4</span>
</span><span class="hll"><span class="s2"> aliasable-0.1.3</span>
</span><span class="hll"><span class="s2"> asn1-0.8.7</span>
</span><span class="hll"><span class="s2"> asn1_derive-0.8.7</span>
</span><span class="hll"><span class="s2"> &quot;</span>
</span>
-<span class="hll"> inherit cargo distutils-r1
+<span class="hll"><span class="w"> </span>inherit<span class="w"> </span>cargo<span class="w"> </span>distutils-r1
</span>
- <span class="c1"># ...</span>
+<span class="w"> </span><span class="c1"># ...</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> mirror://pypi/</span><span class="si">${</span><span class="nv">PN</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz</span>
-<span class="hll"><span class="s2"> </span><span class="k">$(</span>cargo_crate_uris <span class="si">${</span><span class="nv">CRATES</span><span class="si">}</span><span class="k">)</span><span class="s2"></span>
+<span class="hll"><span class="s2"> </span><span class="k">$(</span>cargo_crate_uris<span class="w"> </span><span class="si">${</span><span class="nv">CRATES</span><span class="si">}</span><span class="k">)</span>
</span><span class="s2"> &quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;|| ( BSD-2 Apache-2.0 )&quot;</span>
- <span class="c1"># Crate licenses</span>
-<span class="hll"> <span class="nv">LICENSE</span><span class="o">+=</span><span class="s2">&quot; Apache-2.0 BSD BSD-2 MIT&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;|| ( BSD-2 Apache-2.0 )&quot;</span>
+<span class="w"> </span><span class="c1"># Crate licenses</span>
+<span class="hll"><span class="w"> </span><span class="nv">LICENSE</span><span class="o">+=</span><span class="s2">&quot; Apache-2.0 BSD BSD-2 MIT&quot;</span>
</span>
- <span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="hll"><span class="s2"> dev-python/setuptools-rust[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
</span><span class="s2"> &quot;</span>
- <span class="c1"># Rust does not respect CFLAGS/LDFLAGS</span>
-<span class="hll"> <span class="nv">QA_FLAGS_IGNORED</span><span class="o">=</span><span class="s2">&quot;.*/_rust.*&quot;</span>
+<span class="w"> </span><span class="c1"># Rust does not respect CFLAGS/LDFLAGS</span>
+<span class="hll"><span class="w"> </span><span class="nv">QA_FLAGS_IGNORED</span><span class="o">=</span><span class="s2">&quot;.*/_rust.*&quot;</span>
</span>
- src_unpack<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> cargo_src_unpack
-</span> <span class="o">}</span>
+<span class="w"> </span>src_unpack<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span>cargo_src_unpack
+</span><span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
</section>
@@ -1348,29 +1345,29 @@ effectively enabling them to be picked up for the test phase
and merged in <code class="docutils literal notranslate"><span class="pre">distutils-r1_python_install</span></code>.</p>
<p>An example ebuild using a combination of GitHub archive (for tests)
and PyPI wheel (for generated .dist-info) follows:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
-<span class="hll"> <span class="nv">DISTUTILS_USE_PEP517</span><span class="o">=</span>no
-</span> <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_<span class="o">{</span><span class="m">8</span>..11<span class="o">}</span> pypy3 <span class="o">)</span>
+<span class="hll"><span class="w"> </span><span class="nv">DISTUTILS_USE_PEP517</span><span class="o">=</span>no
+</span><span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">8</span>..11<span class="o">}</span><span class="w"> </span>pypy3<span class="w"> </span><span class="o">)</span>
- inherit distutils-r1
+<span class="w"> </span>inherit<span class="w"> </span>distutils-r1
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> https://github.com/hukkin/tomli/archive/</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">.tar.gz</span>
<span class="s2"> -&gt; </span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.gh.tar.gz</span>
<span class="s2"> https://files.pythonhosted.org/packages/py3/</span><span class="si">${</span><span class="nv">PN</span><span class="p">::</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">-py3-none-any.whl</span>
<span class="s2"> -&gt; </span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">-py3-none-any.whl.zip</span>
<span class="s2"> &quot;</span>
- <span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> app-arch/unzip</span>
<span class="s2"> &quot;</span>
-<span class="hll"> distutils_enable_tests unittest
+<span class="hll"><span class="w"> </span>distutils_enable_tests<span class="w"> </span>unittest
</span>
- python_compile<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> python_domodule src/tomli <span class="s2">&quot;</span><span class="si">${</span><span class="nv">WORKDIR</span><span class="si">}</span><span class="s2">&quot;</span>/*.dist-info
-</span> <span class="o">}</span>
+<span class="w"> </span>python_compile<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span>python_domodule<span class="w"> </span>src/tomli<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">WORKDIR</span><span class="si">}</span><span class="s2">&quot;</span>/*.dist-info
+</span><span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
<p>Note that the wheel suffix is deliberately changed in order to enable
@@ -1383,24 +1380,24 @@ phase. This provides a greater number of helpers. However,
the installed modules will not be provided in the venv for the test
phase.</p>
<p>An example ebuild follows:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
-<span class="hll"> <span class="nv">DISTUTILS_USE_PEP517</span><span class="o">=</span>no
-</span> <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> pypy3 python3_<span class="o">{</span><span class="m">8</span>..11<span class="o">}</span> <span class="o">)</span>
+<span class="hll"><span class="w"> </span><span class="nv">DISTUTILS_USE_PEP517</span><span class="o">=</span>no
+</span><span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>pypy3<span class="w"> </span>python3_<span class="o">{</span><span class="m">8</span>..11<span class="o">}</span><span class="w"> </span><span class="o">)</span>
- inherit distutils-r1
+<span class="w"> </span>inherit<span class="w"> </span>distutils-r1
-<span class="hll"> distutils_enable_tests pytest
+<span class="hll"><span class="w"> </span>distutils_enable_tests<span class="w"> </span>pytest
</span>
- python_install<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> python_domodule gpep517
-</span><span class="hll"> python_newscript - gpep517 <span class="s">&lt;&lt;-EOF</span>
+<span class="w"> </span>python_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span>python_domodule<span class="w"> </span>gpep517
+</span><span class="hll"><span class="w"> </span>python_newscript<span class="w"> </span>-<span class="w"> </span>gpep517<span class="w"> </span><span class="s">&lt;&lt;-EOF</span>
</span><span class="hll"><span class="s"> #!${EPREFIX}/usr/bin/python</span>
</span><span class="hll"><span class="s"> import sys</span>
</span><span class="hll"><span class="s"> from gpep517.__main__ import main</span>
</span><span class="hll"><span class="s"> sys.exit(main())</span>
</span><span class="hll"><span class="s"> EOF</span>
-</span> <span class="o">}</span>
+</span><span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
<p>It is also valid to combine both approaches, e.g. install Python modules
@@ -1415,28 +1412,28 @@ ebuild fragment demonstrates using it with Meson:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">EAPI</span><span class="o">=</span><span class="m">8</span>
<span class="nv">DISTUTILS_USE_PEP517</span><span class="o">=</span>no
-<span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_<span class="o">{</span><span class="m">8</span>..10<span class="o">}</span> <span class="o">)</span>
+<span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">8</span>..10<span class="o">}</span><span class="w"> </span><span class="o">)</span>
-inherit meson distutils-r1
+inherit<span class="w"> </span>meson<span class="w"> </span>distutils-r1
-python_configure<span class="o">()</span> <span class="o">{</span>
- <span class="nb">local</span> <span class="nv">emesonargs</span><span class="o">=(</span>
- -Dlint<span class="o">=</span><span class="nb">false</span>
- <span class="o">)</span>
+python_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nb">local</span><span class="w"> </span><span class="nv">emesonargs</span><span class="o">=(</span>
+<span class="w"> </span>-Dlint<span class="o">=</span><span class="nb">false</span>
+<span class="w"> </span><span class="o">)</span>
- meson_src_configure
+<span class="w"> </span>meson_src_configure
<span class="o">}</span>
-python_compile<span class="o">()</span> <span class="o">{</span>
- meson_src_compile
+python_compile<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>meson_src_compile
<span class="o">}</span>
-python_test<span class="o">()</span> <span class="o">{</span>
- meson_src_test
+python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>meson_src_test
<span class="o">}</span>
-python_install<span class="o">()</span> <span class="o">{</span>
- meson_src_install
+python_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>meson_src_install
<span class="o">}</span>
</pre></div>
</div>
@@ -1542,7 +1539,7 @@ python_install<span class="o">()</span> <span class="o">{</span>
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
diff --git a/guide/eclass.html b/guide/eclass.html
index 9d412a9..789a6d0 100644
--- a/guide/eclass.html
+++ b/guide/eclass.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -251,7 +248,7 @@ For single-impl packages, <code class="docutils literal notranslate"><span class
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
diff --git a/guide/expert-multi.html b/guide/expert-multi.html
index 4dc79d8..56634e6 100644
--- a/guide/expert-multi.html
+++ b/guide/expert-multi.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -55,26 +52,26 @@ having the requested feature.</p>
If USE flags are involved, you will probably also need to use
<code class="docutils literal notranslate"><span class="pre">python_gen_cond_dep</span></code> with additional parameters restricting
dependencies to available targets.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python2_7 python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span> pypy<span class="o">{</span>,3<span class="o">}</span> <span class="o">)</span>
- <span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s2">&quot;threads(+)&quot;</span>
- inherit distutils-r1
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python2_7<span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span><span class="w"> </span>pypy<span class="o">{</span>,3<span class="o">}</span><span class="w"> </span><span class="o">)</span>
+<span class="w"> </span><span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s2">&quot;threads(+)&quot;</span>
+<span class="w"> </span>inherit<span class="w"> </span>distutils-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;HTTP library for human beings&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;http://python-requests.org/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">P</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;HTTP library for human beings&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;http://python-requests.org/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://pypi/</span><span class="si">${</span><span class="nv">P</span><span class="p">:</span><span class="nv">0</span><span class="p">:</span><span class="nv">1</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;Apache-2.0&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~arm ~arm64 ~sparc ~x86 ~amd64-linux ~x86-linux&quot;</span>
- <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;socks5 +ssl test&quot;</span>
- <span class="nv">RESTRICT</span><span class="o">=</span><span class="s2">&quot;!test? ( test )&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;Apache-2.0&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~arm ~arm64 ~sparc ~x86 ~amd64-linux ~x86-linux&quot;</span>
+<span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;socks5 +ssl test&quot;</span>
+<span class="w"> </span><span class="nv">RESTRICT</span><span class="o">=</span><span class="s2">&quot;!test? ( test )&quot;</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> &gt;=dev-python/certifi-2017.4.17[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> &gt;=dev-python/chardet-3.0.2[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> &lt;dev-python/chardet-4[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
@@ -88,25 +85,25 @@ dependencies to available targets.</p>
<span class="s2"> )</span>
<span class="s2"> &quot;</span>
- <span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> dev-python/setuptools[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> test? (</span>
-<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep <span class="s1">&#39;</span>
+<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep<span class="w"> </span><span class="s1">&#39;</span>
</span><span class="hll"><span class="s1"> ${RDEPEND}</span>
</span><span class="hll"><span class="s1"> dev-python/pytest[${PYTHON_USEDEP}]</span>
</span><span class="hll"><span class="s1"> dev-python/pytest-httpbin[${PYTHON_USEDEP}]</span>
</span><span class="hll"><span class="s1"> dev-python/pytest-mock[${PYTHON_USEDEP}]</span>
</span><span class="hll"><span class="s1"> &gt;=dev-python/PySocks-1.5.6[${PYTHON_USEDEP}]</span>
-</span><span class="hll"><span class="s1"> &#39;</span> <span class="s1">&#39;python*&#39;</span><span class="k">)</span><span class="s2"></span>
+</span><span class="hll"><span class="s1"> &#39;</span><span class="w"> </span><span class="s1">&#39;python*&#39;</span><span class="k">)</span>
</span><span class="s2"> )</span>
<span class="s2"> &quot;</span>
- python_test<span class="o">()</span> <span class="o">{</span>
- <span class="c1"># tests hang with pypy &amp; pypy3</span>
-<span class="hll"> <span class="o">[[</span> <span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span> <span class="o">==</span> pypy* <span class="o">]]</span> <span class="o">&amp;&amp;</span> <span class="k">continue</span>
+<span class="w"> </span>python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="c1"># tests hang with pypy &amp; pypy3</span>
+<span class="hll"><span class="w"> </span><span class="o">[[</span><span class="w"> </span><span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span><span class="w"> </span><span class="o">==</span><span class="w"> </span>pypy*<span class="w"> </span><span class="o">]]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="k">continue</span>
</span>
- epytest
- <span class="o">}</span>
+<span class="w"> </span>epytest
+<span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
<p>Enforcing implementations is done via putting <code class="docutils literal notranslate"><span class="pre">||</span></code> block with all
@@ -116,28 +113,28 @@ implementation list. Please always use this function instead of listing
actual flag names as it handled phasing implementations out gracefully.
<code class="docutils literal notranslate"><span class="pre">python_gen_cond_dep</span></code> should also be called with matching target
list.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span> <span class="o">)</span>
- <span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s2">&quot;sqlite&quot;</span>
- inherit distutils-r1
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span><span class="w"> </span><span class="o">)</span>
+<span class="w"> </span><span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s2">&quot;sqlite&quot;</span>
+<span class="w"> </span>inherit<span class="w"> </span>distutils-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Toolkit to convert between many translation formats&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/translate/translate&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/translate/translate/releases/download/</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Toolkit to convert between many translation formats&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://github.com/translate/translate&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/translate/translate/releases/download/</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-2&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;amd64 arm64 x86 ~amd64-linux ~x86-linux&quot;</span>
- <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;+subtitles&quot;</span>
- <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2"></span>
-<span class="hll"><span class="s2"> subtitles? ( || ( </span><span class="k">$(</span>python_gen_useflags python3_<span class="o">{</span><span class="m">6</span>,7<span class="o">}</span><span class="k">)</span><span class="s2"> ) )&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-2&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;amd64 arm64 x86 ~amd64-linux ~x86-linux&quot;</span>
+<span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;+subtitles&quot;</span>
+<span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span>
+<span class="hll"><span class="s2"> subtitles? ( || ( </span><span class="k">$(</span>python_gen_useflags<span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>,7<span class="o">}</span><span class="k">)</span><span class="s2"> ) )&quot;</span>
</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;&gt;=dev-python/six-1.10.0[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">DEPEND</span><span class="si">}</span><span class="s2"></span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;&gt;=dev-python/six-1.10.0[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">DEPEND</span><span class="si">}</span>
<span class="s2"> !dev-python/pydiff</span>
<span class="s2"> app-text/iso-codes</span>
<span class="s2"> &gt;=dev-python/chardet-3.0.4[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
@@ -146,9 +143,9 @@ list.</p>
<span class="s2"> &gt;=dev-python/python-levenshtein-0.12.0[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> sys-devel/gettext</span>
<span class="s2"> subtitles? (</span>
-<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep <span class="s1">&#39;</span>
+<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep<span class="w"> </span><span class="s1">&#39;</span>
</span><span class="hll"><span class="s1"> media-video/gaupol[${PYTHON_USEDEP}]</span>
-</span><span class="hll"><span class="s1"> &#39;</span> python3_<span class="o">{</span><span class="m">6</span>,7<span class="o">}</span><span class="k">)</span><span class="s2"></span>
+</span><span class="hll"><span class="s1"> &#39;</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>,7<span class="o">}</span><span class="k">)</span>
</span><span class="s2"> )</span>
<span class="s2"> &quot;</span>
</pre></div>
@@ -167,28 +164,28 @@ and only implementation on the list can be used by <code class="docutils literal
Note that you also need to set matching <code class="docutils literal notranslate"><span class="pre">REQUIRED_USE</span></code>, as otherwise
the function will fail if the user does not enable any of the supported
targets.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">6</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">6</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python2_7 python3_<span class="o">{</span><span class="m">5</span>,6,7<span class="o">}</span> <span class="o">)</span>
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python2_7<span class="w"> </span>python3_<span class="o">{</span><span class="m">5</span>,6,7<span class="o">}</span><span class="w"> </span><span class="o">)</span>
- inherit python-r1 toolchain-funcs
+<span class="w"> </span>inherit<span class="w"> </span>python-r1<span class="w"> </span>toolchain-funcs
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Python extension module generator for C and C++ libraries&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://www.riverbankcomputing.com/software/sip/intro&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://www.riverbankcomputing.com/static/Downloads/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Python extension module generator for C and C++ libraries&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://www.riverbankcomputing.com/software/sip/intro&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://www.riverbankcomputing.com/static/Downloads/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="c1"># Sub-slot based on SIP_API_MAJOR_NR from siplib/sip.h</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0/12&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;|| ( GPL-2 GPL-3 SIP )&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;alpha amd64 arm arm64 ~hppa ia64 ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos&quot;</span>
- <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2"></span>
-<span class="hll"><span class="s2"> || ( </span><span class="k">$(</span>python_gen_useflags <span class="s1">&#39;python2*&#39;</span><span class="k">)</span><span class="s2"> )&quot;</span>
+<span class="w"> </span><span class="c1"># Sub-slot based on SIP_API_MAJOR_NR from siplib/sip.h</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0/12&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;|| ( GPL-2 GPL-3 SIP )&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;alpha amd64 arm arm64 ~hppa ia64 ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos&quot;</span>
+<span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span>
+<span class="hll"><span class="s2"> || ( </span><span class="k">$(</span>python_gen_useflags<span class="w"> </span><span class="s1">&#39;python2*&#39;</span><span class="k">)</span><span class="s2"> )&quot;</span>
</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2">&quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2"></span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span>
<span class="s2"> sys-devel/bison</span>
<span class="s2"> sys-devel/flex</span>
@@ -232,38 +229,38 @@ targets.</p>
the <code class="docutils literal notranslate"><span class="pre">DISTUTILS_ALL_SUBPHASE_IMPLS</span></code> variable. Alternatively to global
scope, it can be set in an early phase function (prior to any sub-phase
call).</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
-
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">5</span>
-
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span>
- pypy
- python3_5 python3_6 python3_7
- python2_7
- <span class="o">)</span>
- <span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s1">&#39;bzip2(+),ssl(+),threads(+)&#39;</span>
- inherit distutils-r1
-
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Portage is the package management and distribution system for Gentoo&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://wiki.gentoo.org/wiki/Project:Portage&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://gentoo/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.bz2&quot;</span>
-
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-2&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;epydoc&quot;</span>
-<span class="hll"> <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;epydoc? ( </span><span class="k">$(</span>python_gen_useflags <span class="s1">&#39;python2*&#39;</span><span class="k">)</span><span class="s2"> )&quot;</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">5</span>
+
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span>
+<span class="w"> </span>pypy
+<span class="w"> </span>python3_5<span class="w"> </span>python3_6<span class="w"> </span>python3_7
+<span class="w"> </span>python2_7
+<span class="w"> </span><span class="o">)</span>
+<span class="w"> </span><span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s1">&#39;bzip2(+),ssl(+),threads(+)&#39;</span>
+<span class="w"> </span>inherit<span class="w"> </span>distutils-r1
+
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Portage is the package management and distribution system for Gentoo&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://wiki.gentoo.org/wiki/Project:Portage&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://gentoo/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.bz2&quot;</span>
+
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-2&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;epydoc&quot;</span>
+<span class="hll"><span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;epydoc? ( </span><span class="k">$(</span>python_gen_useflags<span class="w"> </span><span class="s1">&#39;python2*&#39;</span><span class="k">)</span><span class="s2"> )&quot;</span>
</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> &gt;=app-arch/tar-1.27</span>
<span class="s2"> &gt;=sys-apps/sed-4.0.5 sys-devel/patch</span>
<span class="s2"> epydoc? (</span>
-<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep <span class="s1">&#39;</span>
+<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep<span class="w"> </span><span class="s1">&#39;</span>
</span><span class="hll"><span class="s1"> &gt;=dev-python/epydoc-2.0[${PYTHON_USEDEP}]</span>
-</span><span class="hll"><span class="s1"> &#39;</span> <span class="s1">&#39;python2*&#39;</span><span class="k">)</span><span class="s2"></span>
+</span><span class="hll"><span class="s1"> &#39;</span><span class="w"> </span><span class="s1">&#39;python2*&#39;</span><span class="k">)</span>
</span><span class="s2"> )&quot;</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> &gt;=app-arch/tar-1.27</span>
<span class="s2"> dev-lang/python-exec:2</span>
<span class="s2"> &gt;=sys-apps/sed-4.0.5</span>
@@ -272,19 +269,19 @@ call).</p>
<span class="s2"> elibc_glibc? ( &gt;=sys-apps/sandbox-2.2 )</span>
<span class="s2"> kernel_linux? ( sys-apps/util-linux )</span>
<span class="s2"> &gt;=app-misc/pax-utils-0.1.17&quot;</span>
- <span class="nv">PDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">PDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> &gt;=net-misc/rsync-2.6.4</span>
<span class="s2"> userland_GNU? ( &gt;=sys-apps/coreutils-6.4 )&quot;</span>
- pkg_setup<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> use epydoc <span class="o">&amp;&amp;</span> <span class="nv">DISTUTILS_ALL_SUBPHASE_IMPLS</span><span class="o">=(</span> python2.7 <span class="o">)</span>
-</span> <span class="o">}</span>
+<span class="w"> </span>pkg_setup<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span>use<span class="w"> </span>epydoc<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="nv">DISTUTILS_ALL_SUBPHASE_IMPLS</span><span class="o">=(</span><span class="w"> </span>python2.7<span class="w"> </span><span class="o">)</span>
+</span><span class="w"> </span><span class="o">}</span>
- python_compile_all<span class="o">()</span> <span class="o">{</span>
- <span class="k">if</span> use epydoc<span class="p">;</span> <span class="k">then</span>
- esetup.py epydoc
- <span class="k">fi</span>
- <span class="o">}</span>
+<span class="w"> </span>python_compile_all<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="k">if</span><span class="w"> </span>use<span class="w"> </span>epydoc<span class="p">;</span><span class="w"> </span><span class="k">then</span>
+<span class="w"> </span>esetup.py<span class="w"> </span>epydoc
+<span class="w"> </span><span class="k">fi</span>
+<span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
<p>Note that when the restriction is caused by dependencies rather than
@@ -310,13 +307,13 @@ like the following:</p>
<span class="s2"> dev-python/sphinx_rtd_theme[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> )&quot;</span>
-src_compile<span class="o">()</span> <span class="o">{</span>
- ...
+src_compile<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>...
- <span class="k">if</span> use doc<span class="p">;</span> <span class="k">then</span>
- python_setup
- emake -C docs html
- <span class="k">fi</span>
+<span class="w"> </span><span class="k">if</span><span class="w"> </span>use<span class="w"> </span>doc<span class="p">;</span><span class="w"> </span><span class="k">then</span>
+<span class="w"> </span>python_setup
+<span class="w"> </span>emake<span class="w"> </span>-C<span class="w"> </span>docs<span class="w"> </span>html
+<span class="w"> </span><span class="k">fi</span>
<span class="o">}</span>
</pre></div>
</div>
@@ -338,27 +335,27 @@ via <code class="docutils literal notranslate"><span class="pre">python_check_de
function activates the alternate behavior of <code class="docutils literal notranslate"><span class="pre">python_setup</span></code>. Instead
of selecting one of the enabled targets, it will run it to verify
installed dependencies and use one having all dependencies satisfied.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> doc? (</span>
-<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_any_dep <span class="s1">&#39;</span>
+<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_any_dep<span class="w"> </span><span class="s1">&#39;</span>
</span><span class="hll"><span class="s1"> dev-python/sphinx[${PYTHON_USEDEP}]</span>
</span><span class="hll"><span class="s1"> dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]</span>
-</span><span class="hll"><span class="s1"> &#39;</span><span class="k">)</span><span class="s2"></span>
+</span><span class="hll"><span class="s1"> &#39;</span><span class="k">)</span>
</span><span class="s2"> )&quot;</span>
-<span class="hll"> python_check_deps<span class="o">()</span> <span class="o">{</span>
-</span><span class="hll"> python_has_version <span class="s2">&quot;dev-python/sphinx[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span> <span class="o">&amp;&amp;</span>
-</span><span class="hll"> python_has_version <span class="s2">&quot;dev-python/sphinx_rtd_theme[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
-</span><span class="hll"> <span class="o">}</span>
+<span class="hll"><span class="w"> </span>python_check_deps<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+</span><span class="hll"><span class="w"> </span>python_has_version<span class="w"> </span><span class="s2">&quot;dev-python/sphinx[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span><span class="w"> </span><span class="o">&amp;&amp;</span>
+</span><span class="hll"><span class="w"> </span>python_has_version<span class="w"> </span><span class="s2">&quot;dev-python/sphinx_rtd_theme[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
+</span><span class="hll"><span class="w"> </span><span class="o">}</span>
</span>
- src_compile<span class="o">()</span> <span class="o">{</span>
- ...
-
- <span class="k">if</span> use doc<span class="p">;</span> <span class="k">then</span>
-<span class="hll"> python_setup
-</span> emake -C docs html
- <span class="k">fi</span>
- <span class="o">}</span>
+<span class="w"> </span>src_compile<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>...
+
+<span class="w"> </span><span class="k">if</span><span class="w"> </span>use<span class="w"> </span>doc<span class="p">;</span><span class="w"> </span><span class="k">then</span>
+<span class="hll"><span class="w"> </span>python_setup
+</span><span class="w"> </span>emake<span class="w"> </span>-C<span class="w"> </span>docs<span class="w"> </span>html
+<span class="w"> </span><span class="k">fi</span>
+<span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
<p>Note that <code class="docutils literal notranslate"><span class="pre">python_setup</span></code> may select an implementation that is not even
@@ -375,27 +372,27 @@ another implementation for Sphinx.</p>
<p>Let’s consider the case when Python is used at build-time for something
else still. In that case, we want <code class="docutils literal notranslate"><span class="pre">python_setup</span></code> to work
unconditionally but enforce dependencies only with <code class="docutils literal notranslate"><span class="pre">doc</span></code> flag enabled.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> doc? (</span>
-<span class="s2"> </span><span class="k">$(</span>python_gen_any_dep <span class="s1">&#39;</span>
+<span class="s2"> </span><span class="k">$(</span>python_gen_any_dep<span class="w"> </span><span class="s1">&#39;</span>
<span class="s1"> dev-python/sphinx[${PYTHON_USEDEP}]</span>
<span class="s1"> dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]</span>
-<span class="s1"> &#39;</span><span class="k">)</span><span class="s2"></span>
+<span class="s1"> &#39;</span><span class="k">)</span>
<span class="s2"> )&quot;</span>
-<span class="hll"> python_check_deps<span class="o">()</span> <span class="o">{</span>
-</span><span class="hll"> use doc <span class="o">||</span> <span class="k">return</span> <span class="m">0</span>
-</span><span class="hll"> python_has_version <span class="s2">&quot;dev-python/sphinx[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span> <span class="o">&amp;&amp;</span>
-</span><span class="hll"> python_has_version <span class="s2">&quot;dev-python/sphinx_rtd_theme[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
-</span><span class="hll"> <span class="o">}</span>
+<span class="hll"><span class="w"> </span>python_check_deps<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+</span><span class="hll"><span class="w"> </span>use<span class="w"> </span>doc<span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="m">0</span>
+</span><span class="hll"><span class="w"> </span>python_has_version<span class="w"> </span><span class="s2">&quot;dev-python/sphinx[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span><span class="w"> </span><span class="o">&amp;&amp;</span>
+</span><span class="hll"><span class="w"> </span>python_has_version<span class="w"> </span><span class="s2">&quot;dev-python/sphinx_rtd_theme[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
+</span><span class="hll"><span class="w"> </span><span class="o">}</span>
</span>
- src_compile<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> python_setup
+<span class="w"> </span>src_compile<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span>python_setup
</span>
- ...
+<span class="w"> </span>...
- use doc <span class="o">&amp;&amp;</span> emake -C docs html
- <span class="o">}</span>
+<span class="w"> </span>use<span class="w"> </span>doc<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>emake<span class="w"> </span>-C<span class="w"> </span>docs<span class="w"> </span>html
+<span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
<p>Note that <code class="docutils literal notranslate"><span class="pre">python_setup</span></code> behaves according to the any-r1 API here.
@@ -409,23 +406,23 @@ if it is not enabled explicitly in <code class="docutils literal notranslate"><s
eclass. If <code class="docutils literal notranslate"><span class="pre">python_check_deps()</span></code> is declared, the <code class="docutils literal notranslate"><span class="pre">python_*_all()</span></code>
sub-phase functions are called with the interpreter selected according
to any-r1 rules.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> doc? (</span>
-<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_any_dep <span class="s1">&#39;</span>
+<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_any_dep<span class="w"> </span><span class="s1">&#39;</span>
</span><span class="hll"><span class="s1"> dev-python/sphinx[${PYTHON_USEDEP}]</span>
</span><span class="hll"><span class="s1"> dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]</span>
-</span><span class="hll"><span class="s1"> &#39;</span><span class="k">)</span><span class="s2"></span>
+</span><span class="hll"><span class="s1"> &#39;</span><span class="k">)</span>
</span><span class="s2"> )&quot;</span>
-<span class="hll"> python_check_deps<span class="o">()</span> <span class="o">{</span>
-</span><span class="hll"> use doc <span class="o">||</span> <span class="k">return</span> <span class="m">0</span>
-</span><span class="hll"> python_has_version <span class="s2">&quot;dev-python/sphinx[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span> <span class="o">&amp;&amp;</span>
-</span><span class="hll"> python_has_version <span class="s2">&quot;dev-python/sphinx_rtd_theme[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
-</span><span class="hll"> <span class="o">}</span>
+<span class="hll"><span class="w"> </span>python_check_deps<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+</span><span class="hll"><span class="w"> </span>use<span class="w"> </span>doc<span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="m">0</span>
+</span><span class="hll"><span class="w"> </span>python_has_version<span class="w"> </span><span class="s2">&quot;dev-python/sphinx[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span><span class="w"> </span><span class="o">&amp;&amp;</span>
+</span><span class="hll"><span class="w"> </span>python_has_version<span class="w"> </span><span class="s2">&quot;dev-python/sphinx_rtd_theme[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
+</span><span class="hll"><span class="w"> </span><span class="o">}</span>
</span>
- python_compile_all<span class="o">()</span> <span class="o">{</span>
- use doc <span class="o">&amp;&amp;</span> emake -C docs html
- <span class="o">}</span>
+<span class="w"> </span>python_compile_all<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>use<span class="w"> </span>doc<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>emake<span class="w"> </span>-C<span class="w"> </span>docs<span class="w"> </span>html
+<span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
<p>Note that <code class="docutils literal notranslate"><span class="pre">distutils-r1</span></code> calls <code class="docutils literal notranslate"><span class="pre">python_setup</span></code> unconditionally,
@@ -446,102 +443,102 @@ implementation list needs to be passed to <code class="docutils literal notransl
or <code class="docutils literal notranslate"><span class="pre">python_check_deps</span></code> needs to explicitly reject unsupported targets.
In both cases, a matching implementation list needs to be passed
to <code class="docutils literal notranslate"><span class="pre">python_gen_any_dep</span></code>.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python2_7 python3_6 <span class="o">)</span>
- inherit python-r1 toolchain-funcs
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python2_7<span class="w"> </span>python3_6<span class="w"> </span><span class="o">)</span>
+<span class="w"> </span>inherit<span class="w"> </span>python-r1<span class="w"> </span>toolchain-funcs
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;GPS daemon and library for USB/serial GPS devices and GPS/mapping clients&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://gpsd.gitlab.io/gpsd/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://nongnu/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;GPS daemon and library for USB/serial GPS devices and GPS/mapping clients&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://gpsd.gitlab.io/gpsd/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://nongnu/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;BSD&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0/24&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;BSD&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0/24&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86&quot;</span>
- <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;python&quot;</span>
- <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;python&quot;</span>
+<span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> python? ( </span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2"> )&quot;</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> &gt;=net-misc/pps-tools-0.0.20120407</span>
<span class="s2"> python? ( </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"> )&quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2"></span>
-<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_any_dep <span class="s1">&#39;&gt;=dev-util/scons-2.3.0[${PYTHON_USEDEP}]&#39;</span> -2<span class="k">)</span><span class="s2"></span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span>
+<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_any_dep<span class="w"> </span><span class="s1">&#39;&gt;=dev-util/scons-2.3.0[${PYTHON_USEDEP}]&#39;</span><span class="w"> </span>-2<span class="k">)</span>
</span><span class="s2"> virtual/pkgconfig&quot;</span>
-<span class="hll"> python_check_deps<span class="o">()</span> <span class="o">{</span>
-</span><span class="hll"> python_has_version <span class="s2">&quot;&gt;=dev-util/scons-2.3.0[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
-</span><span class="hll"> <span class="o">}</span>
+<span class="hll"><span class="w"> </span>python_check_deps<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+</span><span class="hll"><span class="w"> </span>python_has_version<span class="w"> </span><span class="s2">&quot;&gt;=dev-util/scons-2.3.0[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
+</span><span class="hll"><span class="w"> </span><span class="o">}</span>
</span>
- src_configure<span class="o">()</span> <span class="o">{</span>
- <span class="nv">myesconsargs</span><span class="o">=(</span>
- <span class="nv">prefix</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPREFIX</span><span class="si">}</span><span class="s2">/usr&quot;</span>
- <span class="nv">libdir</span><span class="o">=</span><span class="s2">&quot;\$prefix/</span><span class="k">$(</span>get_libdir<span class="k">)</span><span class="s2">&quot;</span>
- <span class="nv">udevdir</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>get_udevdir<span class="k">)</span><span class="s2">&quot;</span>
- <span class="nv">chrpath</span><span class="o">=</span>False
- <span class="nv">gpsd_user</span><span class="o">=</span>gpsd
- <span class="nv">gpsd_group</span><span class="o">=</span>uucp
- <span class="nv">nostrip</span><span class="o">=</span>True
- <span class="nv">manbuild</span><span class="o">=</span>False
- <span class="k">$(</span>use_scons python<span class="k">)</span>
- <span class="o">)</span>
-
- <span class="c1"># SConstruct uses py2 constructs</span>
-<span class="hll"> python_setup -2
-</span> <span class="o">}</span>
+<span class="w"> </span>src_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nv">myesconsargs</span><span class="o">=(</span>
+<span class="w"> </span><span class="nv">prefix</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPREFIX</span><span class="si">}</span><span class="s2">/usr&quot;</span>
+<span class="w"> </span><span class="nv">libdir</span><span class="o">=</span><span class="s2">&quot;\$prefix/</span><span class="k">$(</span>get_libdir<span class="k">)</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">udevdir</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>get_udevdir<span class="k">)</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">chrpath</span><span class="o">=</span>False
+<span class="w"> </span><span class="nv">gpsd_user</span><span class="o">=</span>gpsd
+<span class="w"> </span><span class="nv">gpsd_group</span><span class="o">=</span>uucp
+<span class="w"> </span><span class="nv">nostrip</span><span class="o">=</span>True
+<span class="w"> </span><span class="nv">manbuild</span><span class="o">=</span>False
+<span class="w"> </span><span class="k">$(</span>use_scons<span class="w"> </span>python<span class="k">)</span>
+<span class="w"> </span><span class="o">)</span>
+
+<span class="w"> </span><span class="c1"># SConstruct uses py2 constructs</span>
+<span class="hll"><span class="w"> </span>python_setup<span class="w"> </span>-2
+</span><span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python2_7 python3_6 <span class="o">)</span>
- inherit python-r1 toolchain-funcs
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python2_7<span class="w"> </span>python3_6<span class="w"> </span><span class="o">)</span>
+<span class="w"> </span>inherit<span class="w"> </span>python-r1<span class="w"> </span>toolchain-funcs
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;GPS daemon and library for USB/serial GPS devices and GPS/mapping clients&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://gpsd.gitlab.io/gpsd/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://nongnu/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;GPS daemon and library for USB/serial GPS devices and GPS/mapping clients&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://gpsd.gitlab.io/gpsd/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://nongnu/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;BSD&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0/24&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;BSD&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0/24&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86&quot;</span>
- <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;python&quot;</span>
- <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;python&quot;</span>
+<span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> python? ( </span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2"> )&quot;</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> &gt;=net-misc/pps-tools-0.0.20120407</span>
<span class="s2"> python? ( </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"> )&quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2"></span>
-<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_any_dep <span class="s1">&#39;&gt;=dev-util/scons-2.3.0[${PYTHON_USEDEP}]&#39;</span> -2<span class="k">)</span><span class="s2"></span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span>
+<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_any_dep<span class="w"> </span><span class="s1">&#39;&gt;=dev-util/scons-2.3.0[${PYTHON_USEDEP}]&#39;</span><span class="w"> </span>-2<span class="k">)</span>
</span><span class="s2"> virtual/pkgconfig&quot;</span>
-<span class="hll"> python_check_deps<span class="o">()</span> <span class="o">{</span>
-</span><span class="hll"> python_is_python3 <span class="o">&amp;&amp;</span> <span class="k">return</span> <span class="m">1</span>
-</span><span class="hll"> python_has_version <span class="s2">&quot;&gt;=dev-util/scons-2.3.0[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
-</span><span class="hll"> <span class="o">}</span>
+<span class="hll"><span class="w"> </span>python_check_deps<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+</span><span class="hll"><span class="w"> </span>python_is_python3<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="m">1</span>
+</span><span class="hll"><span class="w"> </span>python_has_version<span class="w"> </span><span class="s2">&quot;&gt;=dev-util/scons-2.3.0[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span>
+</span><span class="hll"><span class="w"> </span><span class="o">}</span>
</span>
- src_configure<span class="o">()</span> <span class="o">{</span>
- <span class="nv">myesconsargs</span><span class="o">=(</span>
- <span class="nv">prefix</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPREFIX</span><span class="si">}</span><span class="s2">/usr&quot;</span>
- <span class="nv">libdir</span><span class="o">=</span><span class="s2">&quot;\$prefix/</span><span class="k">$(</span>get_libdir<span class="k">)</span><span class="s2">&quot;</span>
- <span class="nv">udevdir</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>get_udevdir<span class="k">)</span><span class="s2">&quot;</span>
- <span class="nv">chrpath</span><span class="o">=</span>False
- <span class="nv">gpsd_user</span><span class="o">=</span>gpsd
- <span class="nv">gpsd_group</span><span class="o">=</span>uucp
- <span class="nv">nostrip</span><span class="o">=</span>True
- <span class="nv">manbuild</span><span class="o">=</span>False
- <span class="k">$(</span>use_scons python<span class="k">)</span>
- <span class="o">)</span>
-
-<span class="hll"> python_setup
-</span> <span class="o">}</span>
+<span class="w"> </span>src_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nv">myesconsargs</span><span class="o">=(</span>
+<span class="w"> </span><span class="nv">prefix</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPREFIX</span><span class="si">}</span><span class="s2">/usr&quot;</span>
+<span class="w"> </span><span class="nv">libdir</span><span class="o">=</span><span class="s2">&quot;\$prefix/</span><span class="k">$(</span>get_libdir<span class="k">)</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">udevdir</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>get_udevdir<span class="k">)</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">chrpath</span><span class="o">=</span>False
+<span class="w"> </span><span class="nv">gpsd_user</span><span class="o">=</span>gpsd
+<span class="w"> </span><span class="nv">gpsd_group</span><span class="o">=</span>uucp
+<span class="w"> </span><span class="nv">nostrip</span><span class="o">=</span>True
+<span class="w"> </span><span class="nv">manbuild</span><span class="o">=</span>False
+<span class="w"> </span><span class="k">$(</span>use_scons<span class="w"> </span>python<span class="k">)</span>
+<span class="w"> </span><span class="o">)</span>
+
+<span class="hll"><span class="w"> </span>python_setup
+</span><span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
</section>
@@ -630,7 +627,7 @@ to <code class="docutils literal notranslate"><span class="pre">python_gen_any_d
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
diff --git a/guide/genindex.html b/guide/genindex.html
index 55e6240..5aeb98b 100644
--- a/guide/genindex.html
+++ b/guide/genindex.html
@@ -9,9 +9,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="#" />
@@ -391,7 +388,7 @@
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
</div>
diff --git a/guide/helper.html b/guide/helper.html
index 0ac14cd..751bbff 100644
--- a/guide/helper.html
+++ b/guide/helper.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -233,28 +230,28 @@ to the <code class="docutils literal notranslate"><span class="pre">python-confi
(<code class="docutils literal notranslate"><span class="pre">${EPREFIX}</span></code>) already and they are not suitable to passing
to <code class="docutils literal notranslate"><span class="pre">*into</span></code> helpers. If you need to install something, use <a class="reference internal" href="#install-helpers">install
helpers</a> instead.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>src_configure<span class="o">()</span> <span class="o">{</span>
- <span class="nb">local</span> <span class="nv">mycmakeargs</span><span class="o">=(</span>
- ...
- <span class="o">)</span>
- use python <span class="o">&amp;&amp;</span> <span class="nv">mycmakeargs</span><span class="o">+=(</span>
- -DPYTHON_DEST<span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>python_get_sitedir<span class="k">)</span><span class="s2">&quot;</span>
- -DPYTHON_EXECUTABLE<span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON</span><span class="si">}</span><span class="s2">&quot;</span>
- -DPYTHON_INCLUDE_DIR<span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>python_get_includedir<span class="k">)</span><span class="s2">&quot;</span>
- -DPYTHON_LIBRARY<span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>python_get_library_path<span class="k">)</span><span class="s2">&quot;</span>
- <span class="o">)</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>src_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nb">local</span><span class="w"> </span><span class="nv">mycmakeargs</span><span class="o">=(</span>
+<span class="w"> </span>...
+<span class="w"> </span><span class="o">)</span>
+<span class="w"> </span>use<span class="w"> </span>python<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="nv">mycmakeargs</span><span class="o">+=(</span>
+<span class="w"> </span>-DPYTHON_DEST<span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>python_get_sitedir<span class="k">)</span><span class="s2">&quot;</span>
+<span class="w"> </span>-DPYTHON_EXECUTABLE<span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span>-DPYTHON_INCLUDE_DIR<span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>python_get_includedir<span class="k">)</span><span class="s2">&quot;</span>
+<span class="w"> </span>-DPYTHON_LIBRARY<span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>python_get_library_path<span class="k">)</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="o">)</span>
- cmake_src_configure
+<span class="w"> </span>cmake_src_configure
<span class="o">}</span>
</pre></div>
</div>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span> <span class="o">{</span>
- <span class="c1"># prepare embedded executable</span>
- emake <span class="se">\</span>
- <span class="nv">CC</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>tc-getCC<span class="k">)</span><span class="s2">&quot;</span> <span class="se">\</span>
- <span class="nv">PYINC</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>python_get_CFLAGS<span class="k">)</span><span class="s2">&quot;</span> <span class="se">\</span>
- <span class="nv">PYLIB</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>python_get_LIBS<span class="k">)</span><span class="s2">&quot;</span> <span class="se">\</span>
- check
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="c1"># prepare embedded executable</span>
+<span class="w"> </span>emake<span class="w"> </span><span class="se">\</span>
+<span class="w"> </span><span class="nv">CC</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>tc-getCC<span class="k">)</span><span class="s2">&quot;</span><span class="w"> </span><span class="se">\</span>
+<span class="w"> </span><span class="nv">PYINC</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>python_get_CFLAGS<span class="k">)</span><span class="s2">&quot;</span><span class="w"> </span><span class="se">\</span>
+<span class="w"> </span><span class="nv">PYLIB</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>python_get_LIBS<span class="k">)</span><span class="s2">&quot;</span><span class="w"> </span><span class="se">\</span>
+<span class="w"> </span>check
<span class="o">}</span>
</pre></div>
</div>
@@ -344,7 +341,7 @@ helpers</a> instead.</p>
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
diff --git a/guide/index.html b/guide/index.html
index 0bb4759..09862ff 100644
--- a/guide/index.html
+++ b/guide/index.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -303,7 +300,7 @@
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
diff --git a/guide/interpreter-maintenance.html b/guide/interpreter-maintenance.html
index 8d6e947..1f14fc6 100644
--- a/guide/interpreter-maintenance.html
+++ b/guide/interpreter-maintenance.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -147,12 +144,12 @@ dependencies. To ease the process, it is recommended to temporarily
limit testing of the packages that feature many additional test
dependencies. The packages needing this have implementation conditions
in place already. An example follows:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="nv">PYTHON_TESTED</span><span class="o">=(</span> python3_<span class="o">{</span><span class="m">8</span>..10<span class="o">}</span> pypy3 <span class="o">)</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> <span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_TESTED</span><span class="p">[@]</span><span class="si">}</span><span class="s2">&quot;</span> python3_11 <span class="o">)</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="nv">PYTHON_TESTED</span><span class="o">=(</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">8</span>..10<span class="o">}</span><span class="w"> </span>pypy3<span class="w"> </span><span class="o">)</span>
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_TESTED</span><span class="p">[@]</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span>python3_11<span class="w"> </span><span class="o">)</span>
- <span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> test? (</span>
-<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep <span class="s1">&#39;</span>
+<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep<span class="w"> </span><span class="s1">&#39;</span>
</span><span class="s1"> dev-python/jaraco-envs[${PYTHON_USEDEP}]</span>
<span class="s1"> &gt;=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]</span>
<span class="s1"> dev-python/mock[${PYTHON_USEDEP}]</span>
@@ -164,15 +161,15 @@ in place already. An example follows:</p>
<span class="s1"> dev-python/pytest-xdist[${PYTHON_USEDEP}]</span>
<span class="s1"> &gt;=dev-python/virtualenv-20[${PYTHON_USEDEP}]</span>
<span class="s1"> dev-python/wheel[${PYTHON_USEDEP}]</span>
-<span class="hll"><span class="s1"> &#39;</span> <span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_TESTED</span><span class="p">[@]</span><span class="si">}</span><span class="s2">&quot;</span><span class="k">)</span><span class="s2"></span>
+<span class="hll"><span class="s1"> &#39;</span><span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_TESTED</span><span class="p">[@]</span><span class="si">}</span><span class="s2">&quot;</span><span class="k">)</span>
</span><span class="s2"> )</span>
<span class="s2"> &quot;</span>
- python_test<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> has <span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span><span class="s2">&quot;</span> <span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_TESTED</span><span class="p">[@]/_/.</span><span class="si">}</span><span class="s2">&quot;</span> <span class="o">||</span> <span class="k">continue</span>
+<span class="w"> </span>python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span>has<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_TESTED</span><span class="p">[@]/_/.</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="k">continue</span>
</span>
- <span class="nv">HOME</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PWD</span><span class="si">}</span><span class="s2">&quot;</span> epytest setuptools
- <span class="o">}</span>
+<span class="w"> </span><span class="nv">HOME</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PWD</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span>epytest<span class="w"> </span>setuptools
+<span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
<p>It is important to remember to update the implementation range
@@ -184,24 +181,24 @@ it is better to make these dependencies conditional and run
the remainder of the test suite. If tests are not skipped automatically
due to missing dependencies, using <code class="docutils literal notranslate"><span class="pre">has_version</span></code> to skip them
conditionally is preferred over hardcoding version ranges, e.g.:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> test? (</span>
-<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep <span class="s1">&#39;</span>
+<span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep<span class="w"> </span><span class="s1">&#39;</span>
</span><span class="hll"><span class="s1"> dev-python/pydantic[${PYTHON_USEDEP}]</span>
-</span><span class="hll"><span class="s1"> &#39;</span> pypy3 python3_<span class="o">{</span><span class="m">8</span>..10<span class="o">}</span> <span class="c1"># TODO: python3_11</span>
-</span><span class="hll"> <span class="k">)</span><span class="s2"></span>
+</span><span class="hll"><span class="s1"> &#39;</span><span class="w"> </span>pypy3<span class="w"> </span>python3_<span class="o">{</span><span class="m">8</span>..10<span class="o">}</span><span class="w"> </span><span class="c1"># TODO: python3_11</span>
+</span><span class="hll"><span class="w"> </span><span class="k">)</span>
</span><span class="s2"> )</span>
<span class="s2"> &quot;</span>
- python_test<span class="o">()</span> <span class="o">{</span>
- <span class="nb">local</span> <span class="nv">EPYTEST_DESELECT</span><span class="o">=()</span>
-<span class="hll"> <span class="k">if</span> ! has_version <span class="s2">&quot;dev-python/pydantic[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span><span class="p">;</span> <span class="k">then</span>
-</span> <span class="nv">EPYTEST_DESELECT</span><span class="o">+=(</span>
- tests/test_comparison.py::test_close_to_now_<span class="o">{</span>false,true<span class="o">}</span>
- <span class="o">)</span>
- <span class="k">fi</span>
- epytest
- <span class="o">}</span>
+<span class="w"> </span>python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nb">local</span><span class="w"> </span><span class="nv">EPYTEST_DESELECT</span><span class="o">=()</span>
+<span class="hll"><span class="w"> </span><span class="k">if</span><span class="w"> </span>!<span class="w"> </span>has_version<span class="w"> </span><span class="s2">&quot;dev-python/pydantic[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]&quot;</span><span class="p">;</span><span class="w"> </span><span class="k">then</span>
+</span><span class="w"> </span><span class="nv">EPYTEST_DESELECT</span><span class="o">+=(</span>
+<span class="w"> </span>tests/test_comparison.py::test_close_to_now_<span class="o">{</span>false,true<span class="o">}</span>
+<span class="w"> </span><span class="o">)</span>
+<span class="w"> </span><span class="k">fi</span>
+<span class="w"> </span>epytest
+<span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
<p>During the initial testing it is acceptable to be more lenient on test
@@ -341,7 +338,7 @@ dependencies will be added or vendored into flit_core.</p>
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
diff --git a/guide/interpreter.html b/guide/interpreter.html
index 7ee306c..7b6407c 100644
--- a/guide/interpreter.html
+++ b/guide/interpreter.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -363,7 +360,7 @@ syntax than native asyncio code.</p>
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
diff --git a/guide/migration.html b/guide/migration.html
index f4f567f..42d36d0 100644
--- a/guide/migration.html
+++ b/guide/migration.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -136,22 +133,22 @@ the replacement for both is a single <code class="docutils literal notranslate">
<code class="docutils literal notranslate"><span class="pre">python_export</span></code> was used to grab additional details about the Python
interpreter, the various <code class="docutils literal notranslate"><span class="pre">python_get*</span></code> functions should be used
instead.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>src_configure<span class="o">()</span> <span class="o">{</span>
- <span class="c1"># ...</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>src_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="c1"># ...</span>
- <span class="c1"># OLD:</span>
- <span class="nb">local</span> PYTHON_INCLUDEDIR PYTHON_LIBPATH
- python_export PYTHON_INCLUDEDIR PYTHON_LIBPATH
- <span class="nv">mycmakeargs</span><span class="o">+=(</span>
- -DPython3_INCLUDE_DIR<span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_INCLUDEDIR</span><span class="si">}</span><span class="s2">&quot;</span>
- -DPython3_LIBRARY<span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_LIBPATH</span><span class="si">}</span><span class="s2">&quot;</span>
- <span class="o">)</span>
+<span class="w"> </span><span class="c1"># OLD:</span>
+<span class="w"> </span><span class="nb">local</span><span class="w"> </span>PYTHON_INCLUDEDIR<span class="w"> </span>PYTHON_LIBPATH
+<span class="w"> </span>python_export<span class="w"> </span>PYTHON_INCLUDEDIR<span class="w"> </span>PYTHON_LIBPATH
+<span class="w"> </span><span class="nv">mycmakeargs</span><span class="o">+=(</span>
+<span class="w"> </span>-DPython3_INCLUDE_DIR<span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_INCLUDEDIR</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span>-DPython3_LIBRARY<span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_LIBPATH</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="o">)</span>
- <span class="c1"># NEW:</span>
- <span class="nv">mycmakeargs</span><span class="o">+=(</span>
- -DPython3_INCLUDE_DIR<span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>python_get_includedir<span class="k">)</span><span class="s2">&quot;</span>
- -DPython3_LIBRARY<span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>python_get_library_path<span class="k">)</span><span class="s2">&quot;</span>
- <span class="o">)</span>
+<span class="w"> </span><span class="c1"># NEW:</span>
+<span class="w"> </span><span class="nv">mycmakeargs</span><span class="o">+=(</span>
+<span class="w"> </span>-DPython3_INCLUDE_DIR<span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>python_get_includedir<span class="k">)</span><span class="s2">&quot;</span>
+<span class="w"> </span>-DPython3_LIBRARY<span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>python_get_library_path<span class="k">)</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="o">)</span>
<span class="o">}</span>
</pre></div>
</div>
@@ -313,7 +310,7 @@ necessary and tests should work out of the box.</p></li>
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
diff --git a/guide/multi.html b/guide/multi.html
index 1a531a2..19f092b 100644
--- a/guide/multi.html
+++ b/guide/multi.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -50,64 +47,64 @@ build system. The modules need to be installed manually here,
and <code class="docutils literal notranslate"><span class="pre">python_foreach_impl</span></code> function is used to repeat the install step
for all enabled implementations.</p>
<p>For simple use cases, the install command can be inlined:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Foundation</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Foundation</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
-<span class="hll"> <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python2_7 <span class="o">)</span>
-</span><span class="hll"> inherit python-r1
+<span class="hll"><span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python2_7<span class="w"> </span><span class="o">)</span>
+</span><span class="hll"><span class="w"> </span>inherit<span class="w"> </span>python-r1
</span>
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;MySQL abstraction layer for python&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;http://software.fionet.com/pSQL/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;http://software.fionet.com/pSQL/release/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
-
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-2&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86&quot;</span>
- <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;&quot;</span>
-<span class="hll"> <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;MySQL abstraction layer for python&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;http://software.fionet.com/pSQL/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;http://software.fionet.com/pSQL/release/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-2&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86&quot;</span>
+<span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;&quot;</span>
+<span class="hll"><span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2">&quot;</span>
</span>
-<span class="hll"> <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2">&quot;</span>
-</span> <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="hll"><span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2">&quot;</span>
+</span><span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2">&quot;</span>
- src_install<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> python_foreach_impl python_domodule pSQL.py
-</span> <span class="o">}</span>
+<span class="w"> </span>src_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span>python_foreach_impl<span class="w"> </span>python_domodule<span class="w"> </span>pSQL.py
+</span><span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
<p>While <code class="docutils literal notranslate"><span class="pre">python_foreach_impl</span></code> can be repeated multiple times, it is
generally better to declare a function when multiple install commands
need to be executed:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python2_7 <span class="o">)</span>
- inherit python-r1
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python2_7<span class="w"> </span><span class="o">)</span>
+<span class="w"> </span>inherit<span class="w"> </span>python-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Proxy cache for Gentoo packages&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://sourceforge.net/projects/http-replicator&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://sourceforge/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tgz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Proxy cache for Gentoo packages&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://sourceforge.net/projects/http-replicator&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://sourceforge/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tgz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-2&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha amd64 hppa ppc ~sparc x86&quot;</span>
- <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;&quot;</span>
- <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-2&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha amd64 hppa ppc ~sparc x86&quot;</span>
+<span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;&quot;</span>
+<span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2">&quot;</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2">&quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2">&quot;</span>
-<span class="hll"> python_install<span class="o">()</span> <span class="o">{</span>
-</span><span class="hll"> python_doscript http-replicator
-</span><span class="hll"> python_domodule *.py
-</span><span class="hll"> <span class="o">}</span>
+<span class="hll"><span class="w"> </span>python_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+</span><span class="hll"><span class="w"> </span>python_doscript<span class="w"> </span>http-replicator
+</span><span class="hll"><span class="w"> </span>python_domodule<span class="w"> </span>*.py
+</span><span class="hll"><span class="w"> </span><span class="o">}</span>
</span>
- src_install<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> python_foreach_impl python_install
-</span> <span class="o">}</span>
+<span class="w"> </span>src_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span>python_foreach_impl<span class="w"> </span>python_install
+</span><span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
</section>
@@ -118,7 +115,7 @@ declared in order to ensure that the dependencies would be built against
all the Python implementations enabled for the package. This is easily
done via appending the USE dependency string from <code class="docutils literal notranslate"><span class="pre">${PYTHON_USEDEP}</span></code>
to the dependencies:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"></span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span>
<span class="s2"> sys-apps/portage[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2">&quot;</span>
<span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2">&quot;</span>
@@ -132,53 +129,53 @@ with a non-standard build system. In this case, it is generally
necessary to call phase functions via <code class="docutils literal notranslate"><span class="pre">python_foreach_impl</span></code>. Whenever
possible, out-of-source builds are recommended (i.e. installing to
separate directories from a single source directory).</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="s2">&quot;6&quot;</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_6 <span class="o">)</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="s2">&quot;6&quot;</span>
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_6<span class="w"> </span><span class="o">)</span>
- inherit autotools python-r1
+<span class="w"> </span>inherit<span class="w"> </span>autotools<span class="w"> </span>python-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Python wrapper for libcangjie&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;http://cangjians.github.io/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/Cangjians/py</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/releases/download/v</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="p">#py</span><span class="si">}</span><span class="s2">.tar.xz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Python wrapper for libcangjie&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;http://cangjians.github.io/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/Cangjians/py</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/releases/download/v</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="p">#py</span><span class="si">}</span><span class="s2">.tar.xz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;LGPL-3+&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86&quot;</span>
- <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;&quot;</span>
- <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;LGPL-3+&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86&quot;</span>
+<span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;&quot;</span>
+<span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2">&quot;</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"></span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span>
<span class="s2"> app-i18n/libcangjie&quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2"></span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span>
<span class="s2"> dev-python/cython[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> virtual/pkgconfig&quot;</span>
- src_prepare<span class="o">()</span> <span class="o">{</span>
- default
- eautoreconf
- <span class="o">}</span>
-
- src_configure<span class="o">()</span> <span class="o">{</span>
- <span class="nb">local</span> <span class="nv">ECONF_SOURCE</span><span class="o">=</span><span class="si">${</span><span class="nv">S</span><span class="si">}</span>
-<span class="hll"> python_foreach_impl run_in_build_dir default
-</span> <span class="o">}</span>
-
- src_compile<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> python_foreach_impl run_in_build_dir default
-</span> <span class="o">}</span>
-
- src_test<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> python_foreach_impl run_in_build_dir default
-</span> <span class="o">}</span>
-
- src_install<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> python_foreach_impl run_in_build_dir default
-</span> einstalldocs
- find <span class="s2">&quot;</span><span class="si">${</span><span class="nv">D</span><span class="si">}</span><span class="s2">&quot;</span> -name <span class="s1">&#39;*.la&#39;</span> -delete <span class="o">||</span> die
- <span class="o">}</span>
+<span class="w"> </span>src_prepare<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>default
+<span class="w"> </span>eautoreconf
+<span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nb">local</span><span class="w"> </span><span class="nv">ECONF_SOURCE</span><span class="o">=</span><span class="si">${</span><span class="nv">S</span><span class="si">}</span>
+<span class="hll"><span class="w"> </span>python_foreach_impl<span class="w"> </span>run_in_build_dir<span class="w"> </span>default
+</span><span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_compile<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span>python_foreach_impl<span class="w"> </span>run_in_build_dir<span class="w"> </span>default
+</span><span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span>python_foreach_impl<span class="w"> </span>run_in_build_dir<span class="w"> </span>default
+</span><span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span>python_foreach_impl<span class="w"> </span>run_in_build_dir<span class="w"> </span>default
+</span><span class="w"> </span>einstalldocs
+<span class="w"> </span>find<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">D</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span>-name<span class="w"> </span><span class="s1">&#39;*.la&#39;</span><span class="w"> </span>-delete<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
+<span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
<p>Note the use of <code class="docutils literal notranslate"><span class="pre">run_in_build_dir</span></code> helper from <code class="docutils literal notranslate"><span class="pre">multibuild</span></code> eclass
@@ -198,53 +195,53 @@ afterwards.</p>
can be used to duplicate the package’s sources in build directories
for each implementation. The same ebuild easily can be changed
to do that:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="s2">&quot;6&quot;</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_6 <span class="o">)</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="s2">&quot;6&quot;</span>
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_6<span class="w"> </span><span class="o">)</span>
- inherit autotools python-r1
+<span class="w"> </span>inherit<span class="w"> </span>autotools<span class="w"> </span>python-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Python wrapper for libcangjie&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;http://cangjians.github.io/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/Cangjians/py</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/releases/download/v</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="p">#py</span><span class="si">}</span><span class="s2">.tar.xz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Python wrapper for libcangjie&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;http://cangjians.github.io/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://github.com/Cangjians/py</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/releases/download/v</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="p">#py</span><span class="si">}</span><span class="s2">.tar.xz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;LGPL-3+&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86&quot;</span>
- <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;&quot;</span>
- <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;LGPL-3+&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86&quot;</span>
+<span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;&quot;</span>
+<span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2">&quot;</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"></span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span>
<span class="s2"> app-i18n/libcangjie&quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2"></span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span>
<span class="s2"> dev-python/cython[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> virtual/pkgconfig&quot;</span>
- src_prepare<span class="o">()</span> <span class="o">{</span>
- default
- eautoreconf
-<span class="hll"> python_copy_sources
-</span> <span class="o">}</span>
-
- src_configure<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> python_foreach_impl run_in_build_dir default
-</span> <span class="o">}</span>
-
- src_compile<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> python_foreach_impl run_in_build_dir default
-</span> <span class="o">}</span>
-
- src_test<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> python_foreach_impl run_in_build_dir default
-</span> <span class="o">}</span>
-
- src_install<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> python_foreach_impl run_in_build_dir default
-</span> einstalldocs
- find <span class="s2">&quot;</span><span class="si">${</span><span class="nv">D</span><span class="si">}</span><span class="s2">&quot;</span> -name <span class="s1">&#39;*.la&#39;</span> -delete <span class="o">||</span> die
- <span class="o">}</span>
+<span class="w"> </span>src_prepare<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>default
+<span class="w"> </span>eautoreconf
+<span class="hll"><span class="w"> </span>python_copy_sources
+</span><span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span>python_foreach_impl<span class="w"> </span>run_in_build_dir<span class="w"> </span>default
+</span><span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_compile<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span>python_foreach_impl<span class="w"> </span>run_in_build_dir<span class="w"> </span>default
+</span><span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span>python_foreach_impl<span class="w"> </span>run_in_build_dir<span class="w"> </span>default
+</span><span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span>python_foreach_impl<span class="w"> </span>run_in_build_dir<span class="w"> </span>default
+</span><span class="w"> </span>einstalldocs
+<span class="w"> </span>find<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">D</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span>-name<span class="w"> </span><span class="s1">&#39;*.la&#39;</span><span class="w"> </span>-delete<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
+<span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
<p>Note that besides adding <code class="docutils literal notranslate"><span class="pre">python_copy_sources</span></code> call, <code class="docutils literal notranslate"><span class="pre">ECONF_SOURCE</span></code>
@@ -255,55 +252,55 @@ has been removed in order to disable out-of-source builds.</p>
<p>When the package installs Python components conditionally to a USE flag,
the respective USE conditional needs to be consistently used in metadata
variables and in <code class="docutils literal notranslate"><span class="pre">python_foreach_impl</span></code> calls.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">6</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python2_7 <span class="o">)</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">6</span>
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python2_7<span class="w"> </span><span class="o">)</span>
- inherit gnome2 python-r1
+<span class="w"> </span>inherit<span class="w"> </span>gnome2<span class="w"> </span>python-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Canvas widget for GTK+ using the cairo 2D library for drawing&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://wiki.gnome.org/GooCanvas&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Canvas widget for GTK+ using the cairo 2D library for drawing&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://wiki.gnome.org/GooCanvas&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;LGPL-2&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;2.0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha amd64 ia64 ppc ppc64 sparc x86&quot;</span>
-<span class="hll"> <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;python&quot;</span>
-</span><span class="hll"> <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;python? ( </span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2"> )&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;LGPL-2&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;2.0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha amd64 ia64 ppc ppc64 sparc x86&quot;</span>
+<span class="hll"><span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;python&quot;</span>
+</span><span class="hll"><span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;python? ( </span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2"> )&quot;</span>
</span>
- <span class="c1"># python only enables python specific binding override</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="c1"># python only enables python specific binding override</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="hll"><span class="s2"> python? (</span>
-</span><span class="hll"><span class="s2"> </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"></span>
+</span><span class="hll"><span class="s2"> </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span>
</span><span class="hll"><span class="s2"> &gt;=dev-python/pygobject-2.90.4:3[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">] )</span>
</span><span class="s2"> &quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2">&quot;</span>
-
- src_prepare<span class="o">()</span> <span class="o">{</span>
- <span class="c1"># Python bindings are built/installed manually.</span>
- sed -e <span class="s2">&quot;/SUBDIRS = python/d&quot;</span> -i bindings/Makefile.am <span class="se">\</span>
- bindings/Makefile.in <span class="o">||</span> die
-
- gnome2_src_prepare
- <span class="o">}</span>
-
- src_configure<span class="o">()</span> <span class="o">{</span>
- gnome2_src_configure <span class="se">\</span>
- --disable-python
- <span class="o">}</span>
-
- src_install<span class="o">()</span> <span class="o">{</span>
- gnome2_src_install
-
-<span class="hll"> <span class="k">if</span> use python<span class="p">;</span> <span class="k">then</span>
-</span><span class="hll"> sub_install<span class="o">()</span> <span class="o">{</span>
-</span><span class="hll"> python_moduleinto <span class="k">$(</span>python -c <span class="s2">&quot;import gi;print gi._overridesdir&quot;</span><span class="k">)</span>
-</span><span class="hll"> python_domodule bindings/python/GooCanvas.py
-</span><span class="hll"> <span class="o">}</span>
-</span><span class="hll"> python_foreach_impl sub_install
-</span><span class="hll"> <span class="k">fi</span>
-</span> <span class="o">}</span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2">&quot;</span>
+
+<span class="w"> </span>src_prepare<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="c1"># Python bindings are built/installed manually.</span>
+<span class="w"> </span>sed<span class="w"> </span>-e<span class="w"> </span><span class="s2">&quot;/SUBDIRS = python/d&quot;</span><span class="w"> </span>-i<span class="w"> </span>bindings/Makefile.am<span class="w"> </span><span class="se">\</span>
+<span class="w"> </span>bindings/Makefile.in<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
+
+<span class="w"> </span>gnome2_src_prepare
+<span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>gnome2_src_configure<span class="w"> </span><span class="se">\</span>
+<span class="w"> </span>--disable-python
+<span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>gnome2_src_install
+
+<span class="hll"><span class="w"> </span><span class="k">if</span><span class="w"> </span>use<span class="w"> </span>python<span class="p">;</span><span class="w"> </span><span class="k">then</span>
+</span><span class="hll"><span class="w"> </span>sub_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+</span><span class="hll"><span class="w"> </span>python_moduleinto<span class="w"> </span><span class="k">$(</span>python<span class="w"> </span>-c<span class="w"> </span><span class="s2">&quot;import gi;print gi._overridesdir&quot;</span><span class="k">)</span>
+</span><span class="hll"><span class="w"> </span>python_domodule<span class="w"> </span>bindings/python/GooCanvas.py
+</span><span class="hll"><span class="w"> </span><span class="o">}</span>
+</span><span class="hll"><span class="w"> </span>python_foreach_impl<span class="w"> </span>sub_install
+</span><span class="hll"><span class="w"> </span><span class="k">fi</span>
+</span><span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
<p>Note that in many cases, you will end up having to disable upstream
@@ -322,47 +319,47 @@ the routine requiring Python. It will choose the most preferred
of enabled implementations, and set the global environment for it. Note
that it is entirely normal that the same environment will be set inside
<code class="docutils literal notranslate"><span class="pre">python_foreach_impl</span></code> afterwards.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="linenos"> 1</span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
-<span class="linenos"> 2</span> <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="linenos"> 1</span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="linenos"> 2</span><span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
<span class="linenos"> 3</span>
-<span class="linenos"> 4</span> <span class="nv">EAPI</span><span class="o">=</span><span class="s2">&quot;7&quot;</span>
+<span class="linenos"> 4</span><span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="s2">&quot;7&quot;</span>
<span class="linenos"> 5</span>
-<span class="linenos"> 6</span> <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python<span class="o">{</span>3_6,3_7<span class="o">}</span> <span class="o">)</span>
-<span class="linenos"> 7</span> <span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s2">&quot;ncurses,readline&quot;</span>
-<span class="linenos"> 8</span> inherit python-r1
+<span class="linenos"> 6</span><span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python<span class="o">{</span>3_6,3_7<span class="o">}</span><span class="w"> </span><span class="o">)</span>
+<span class="linenos"> 7</span><span class="w"> </span><span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s2">&quot;ncurses,readline&quot;</span>
+<span class="linenos"> 8</span><span class="w"> </span>inherit<span class="w"> </span>python-r1
<span class="linenos"> 9</span>
-<span class="linenos">10</span> <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;QEMU + Kernel-based Virtual Machine userland tools&quot;</span>
-<span class="linenos">11</span> <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;http://www.qemu.org http://www.linux-kvm.org&quot;</span>
-<span class="linenos">12</span> <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;http://wiki.qemu-project.org/download/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.xz&quot;</span>
+<span class="linenos">10</span><span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;QEMU + Kernel-based Virtual Machine userland tools&quot;</span>
+<span class="linenos">11</span><span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;http://www.qemu.org http://www.linux-kvm.org&quot;</span>
+<span class="linenos">12</span><span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;http://wiki.qemu-project.org/download/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.xz&quot;</span>
<span class="linenos">13</span>
-<span class="linenos">14</span> <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-2 LGPL-2 BSD-2&quot;</span>
-<span class="linenos">15</span> <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
-<span class="linenos">16</span> <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;amd64 ~arm64 ~ppc ~ppc64 x86&quot;</span>
-<span class="hll"><span class="linenos">17</span> <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;python&quot;</span>
-</span><span class="hll"><span class="linenos">18</span> <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="linenos">14</span><span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-2 LGPL-2 BSD-2&quot;</span>
+<span class="linenos">15</span><span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="linenos">16</span><span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;amd64 ~arm64 ~ppc ~ppc64 x86&quot;</span>
+<span class="hll"><span class="linenos">17</span><span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;python&quot;</span>
+</span><span class="hll"><span class="linenos">18</span><span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2">&quot;</span>
</span><span class="linenos">19</span>
-<span class="hll"><span class="linenos">20</span> <span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2">&quot;</span>
-</span><span class="hll"><span class="linenos">21</span> <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;python? ( </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"> )&quot;</span>
+<span class="hll"><span class="linenos">20</span><span class="w"> </span><span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2">&quot;</span>
+</span><span class="hll"><span class="linenos">21</span><span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;python? ( </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"> )&quot;</span>
</span><span class="linenos">22</span>
-<span class="linenos">23</span> src_configure<span class="o">()</span> <span class="o">{</span>
-<span class="hll"><span class="linenos">24</span> python_setup
-</span><span class="linenos">25</span> ./configure <span class="o">||</span> die
-<span class="linenos">26</span> <span class="o">}</span>
+<span class="linenos">23</span><span class="w"> </span>src_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="linenos">24</span><span class="w"> </span>python_setup
+</span><span class="linenos">25</span><span class="w"> </span>./configure<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
+<span class="linenos">26</span><span class="w"> </span><span class="o">}</span>
<span class="linenos">27</span>
-<span class="hll"><span class="linenos">28</span> qemu_python_install<span class="o">()</span> <span class="o">{</span>
-</span><span class="hll"><span class="linenos">29</span> python_domodule <span class="s2">&quot;</span><span class="si">${</span><span class="nv">S</span><span class="si">}</span><span class="s2">/python/qemu&quot;</span>
+<span class="hll"><span class="linenos">28</span><span class="w"> </span>qemu_python_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+</span><span class="hll"><span class="linenos">29</span><span class="w"> </span>python_domodule<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">S</span><span class="si">}</span><span class="s2">/python/qemu&quot;</span>
</span><span class="hll"><span class="linenos">30</span>
-</span><span class="hll"><span class="linenos">31</span> python_doscript <span class="s2">&quot;</span><span class="si">${</span><span class="nv">S</span><span class="si">}</span><span class="s2">/scripts/kvm/vmxcap&quot;</span>
-</span><span class="hll"><span class="linenos">32</span> python_doscript <span class="s2">&quot;</span><span class="si">${</span><span class="nv">S</span><span class="si">}</span><span class="s2">/scripts/qmp/qmp-shell&quot;</span>
-</span><span class="hll"><span class="linenos">33</span> python_doscript <span class="s2">&quot;</span><span class="si">${</span><span class="nv">S</span><span class="si">}</span><span class="s2">/scripts/qmp/qemu-ga-client&quot;</span>
-</span><span class="hll"><span class="linenos">34</span> <span class="o">}</span>
+</span><span class="hll"><span class="linenos">31</span><span class="w"> </span>python_doscript<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">S</span><span class="si">}</span><span class="s2">/scripts/kvm/vmxcap&quot;</span>
+</span><span class="hll"><span class="linenos">32</span><span class="w"> </span>python_doscript<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">S</span><span class="si">}</span><span class="s2">/scripts/qmp/qmp-shell&quot;</span>
+</span><span class="hll"><span class="linenos">33</span><span class="w"> </span>python_doscript<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">S</span><span class="si">}</span><span class="s2">/scripts/qmp/qemu-ga-client&quot;</span>
+</span><span class="hll"><span class="linenos">34</span><span class="w"> </span><span class="o">}</span>
</span><span class="linenos">35</span>
-<span class="linenos">36</span> src_install<span class="o">()</span> <span class="o">{</span>
-<span class="linenos">37</span> default
-<span class="hll"><span class="linenos">38</span> <span class="k">if</span> use python<span class="p">;</span> <span class="k">then</span>
-</span><span class="hll"><span class="linenos">39</span> python_foreach_impl qemu_python_install
-</span><span class="hll"><span class="linenos">40</span> <span class="k">fi</span>
-</span><span class="linenos">41</span> <span class="o">}</span>
+<span class="linenos">36</span><span class="w"> </span>src_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="linenos">37</span><span class="w"> </span>default
+<span class="hll"><span class="linenos">38</span><span class="w"> </span><span class="k">if</span><span class="w"> </span>use<span class="w"> </span>python<span class="p">;</span><span class="w"> </span><span class="k">then</span>
+</span><span class="hll"><span class="linenos">39</span><span class="w"> </span>python_foreach_impl<span class="w"> </span>qemu_python_install
+</span><span class="hll"><span class="linenos">40</span><span class="w"> </span><span class="k">fi</span>
+</span><span class="linenos">41</span><span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
<p>Note that the parts affecting installation of runtime components
@@ -456,7 +453,7 @@ flag, while parts affecting build time (<code class="docutils literal notranslat
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
diff --git a/guide/package-maintenance.html b/guide/package-maintenance.html
index 6416025..29b048c 100644
--- a/guide/package-maintenance.html
+++ b/guide/package-maintenance.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -328,7 +325,7 @@ than to copy the mistakes into the ebuild.</p>
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
diff --git a/guide/porting.html b/guide/porting.html
index 374a54e..23c8c71 100644
--- a/guide/porting.html
+++ b/guide/porting.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -325,11 +322,11 @@ are not supposed to link directly to libpython).</p>
<p>If you are building programs that need to embed the Python interpreter,
new <code class="docutils literal notranslate"><span class="pre">python-X.Y-embed</span></code> pkg-config file and <code class="docutils literal notranslate"><span class="pre">--embed</span></code> parameter
are provided for the purpose.</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>pkg-config --libs python-3.7
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>pkg-config<span class="w"> </span>--libs<span class="w"> </span>python-3.7
<span class="go">-lpython3.7m</span>
-<span class="gp">$ </span>pkg-config --libs python-3.8
+<span class="gp">$ </span>pkg-config<span class="w"> </span>--libs<span class="w"> </span>python-3.8
-<span class="gp">$ </span>pkg-config --libs python-3.8-embed
+<span class="gp">$ </span>pkg-config<span class="w"> </span>--libs<span class="w"> </span>python-3.8-embed
<span class="go">-lpython3.8</span>
</pre></div>
</div>
@@ -402,15 +399,15 @@ where it is named <code class="docutils literal notranslate"><span class="pre">T
</pre></div>
</div>
<p>The following dependency string:</p>
-<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="n">dependencies</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
-<span class="w"> </span><span class="s">&quot;toml&quot;</span><span class="p">,</span><span class="w"></span>
-<span class="p">]</span><span class="w"></span>
+<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="n">dependencies</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span>
+<span class="w"> </span><span class="s">&quot;toml&quot;</span><span class="p">,</span>
+<span class="p">]</span>
</pre></div>
</div>
<p>would be replaced by:</p>
-<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="n">dependencies</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
-<span class="w"> </span><span class="s">&quot;tomli &gt;= 1.2.3; python_version &lt; &#39;3.11&#39;&quot;</span><span class="p">,</span><span class="w"></span>
-<span class="p">]</span><span class="w"></span>
+<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="n">dependencies</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span>
+<span class="w"> </span><span class="s">&quot;tomli &gt;= 1.2.3; python_version &lt; &#39;3.11&#39;&quot;</span><span class="p">,</span>
+<span class="p">]</span>
</pre></div>
</div>
</section>
@@ -446,10 +443,10 @@ look like the following:</p>
</pre></div>
</div>
<p>In this case, the dependency string becomes more complex:</p>
-<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="n">dependencies</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
-<span class="w"> </span><span class="s">&quot;tomli &gt;= 1.2.3; python_version &gt;= &#39;3.6&#39; and python_version &lt; &#39;3.11&#39;&quot;</span><span class="p">,</span><span class="w"></span>
-<span class="w"> </span><span class="s">&quot;toml; python_version &lt; &#39;3.6&#39;&quot;</span><span class="p">,</span><span class="w"></span>
-<span class="p">]</span><span class="w"></span>
+<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="n">dependencies</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span>
+<span class="w"> </span><span class="s">&quot;tomli &gt;= 1.2.3; python_version &gt;= &#39;3.6&#39; and python_version &lt; &#39;3.11&#39;&quot;</span><span class="p">,</span>
+<span class="w"> </span><span class="s">&quot;toml; python_version &lt; &#39;3.6&#39;&quot;</span><span class="p">,</span>
+<span class="p">]</span>
</pre></div>
</div>
</section>
@@ -567,7 +564,7 @@ modules need to be imported and used separately rather than one.</p>
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
diff --git a/guide/preface.html b/guide/preface.html
index dfb17ed..bb71a29 100644
--- a/guide/preface.html
+++ b/guide/preface.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -136,7 +133,7 @@ and improvements are welcome.</p>
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
diff --git a/guide/pytest.html b/guide/pytest.html
index 88cf1ab..1613a2c 100644
--- a/guide/pytest.html
+++ b/guide/pytest.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -42,8 +39,8 @@
<p>A few packages use <a class="reference external" href="https://docs.pytest.org/en/stable/example/markers.html">custom pytest markers</a> to indicate e.g. tests
requiring Internet access. These markers can be used to conveniently
disable whole test groups, e.g.:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span> <span class="o">{</span>
- epytest -m <span class="s1">&#39;not network&#39;</span> dask
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>epytest<span class="w"> </span>-m<span class="w"> </span><span class="s1">&#39;not network&#39;</span><span class="w"> </span>dask
<span class="o">}</span>
</pre></div>
</div>
@@ -70,22 +67,22 @@ test files or tests to be ignored or deselected respectively. These
variables can be used in global scope to avoid redefining
<code class="docutils literal notranslate"><span class="pre">python_test()</span></code>. However, combining them with additional conditions
requires using the local scope.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span> <span class="o">{</span>
- <span class="nb">local</span> <span class="nv">EPYTEST_IGNORE</span><span class="o">=(</span>
- <span class="c1"># ignore whole file with missing dep</span>
- tests/test_client.py
- <span class="o">)</span>
- <span class="nb">local</span> <span class="nv">EPYTEST_DESELECT</span><span class="o">=(</span>
- <span class="c1"># deselect a single test</span>
- <span class="s1">&#39;tests/utils/test_general.py::test_filename&#39;</span>
- <span class="c1"># deselect a parametrized test based on first param</span>
- <span class="s1">&#39;tests/test_transport.py::test_transport_works[eventlet&#39;</span>
- <span class="o">)</span>
- <span class="o">[[</span> <span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span> <span class="o">==</span> python3.6 <span class="o">]]</span> <span class="o">&amp;&amp;</span> <span class="nv">EPYTEST_DESELECT</span><span class="o">+=(</span>
- <span class="c1"># deselect a test for py3.6 only</span>
- <span class="s1">&#39;tests/utils/test_contextvars.py::test_leaks[greenlet]&#39;</span>
- <span class="o">)</span>
- epytest
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nb">local</span><span class="w"> </span><span class="nv">EPYTEST_IGNORE</span><span class="o">=(</span>
+<span class="w"> </span><span class="c1"># ignore whole file with missing dep</span>
+<span class="w"> </span>tests/test_client.py
+<span class="w"> </span><span class="o">)</span>
+<span class="w"> </span><span class="nb">local</span><span class="w"> </span><span class="nv">EPYTEST_DESELECT</span><span class="o">=(</span>
+<span class="w"> </span><span class="c1"># deselect a single test</span>
+<span class="w"> </span><span class="s1">&#39;tests/utils/test_general.py::test_filename&#39;</span>
+<span class="w"> </span><span class="c1"># deselect a parametrized test based on first param</span>
+<span class="w"> </span><span class="s1">&#39;tests/test_transport.py::test_transport_works[eventlet&#39;</span>
+<span class="w"> </span><span class="o">)</span>
+<span class="w"> </span><span class="o">[[</span><span class="w"> </span><span class="si">${</span><span class="nv">EPYTHON</span><span class="si">}</span><span class="w"> </span><span class="o">==</span><span class="w"> </span>python3.6<span class="w"> </span><span class="o">]]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="nv">EPYTEST_DESELECT</span><span class="o">+=(</span>
+<span class="w"> </span><span class="c1"># deselect a test for py3.6 only</span>
+<span class="w"> </span><span class="s1">&#39;tests/utils/test_contextvars.py::test_leaks[greenlet]&#39;</span>
+<span class="w"> </span><span class="o">)</span>
+<span class="w"> </span>epytest
<span class="o">}</span>
</pre></div>
</div>
@@ -101,9 +98,9 @@ in <code class="docutils literal notranslate"><span class="pre">setup_requires</
<code class="docutils literal notranslate"><span class="pre">setup.py</span></code> is being run, even if the user has no intention of running
tests. If this is the case, the dependency must be stripped.</p>
<p>The recommended method of stripping it is to use sed:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_prepare_all<span class="o">()</span> <span class="o">{</span>
- sed -i -e <span class="s1">&#39;/pytest-runner/d&#39;</span> setup.py <span class="o">||</span> die
- distutils-r1_python_prepare_all
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_prepare_all<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>sed<span class="w"> </span>-i<span class="w"> </span>-e<span class="w"> </span><span class="s1">&#39;/pytest-runner/d&#39;</span><span class="w"> </span>setup.py<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
+<span class="w"> </span>distutils-r1_python_prepare_all
<span class="o">}</span>
</pre></div>
</div>
@@ -123,7 +120,7 @@ to the maintainer’s discretion to decide whether this is justified.</p>
(i.e. it does not cause semi-random test failures) and its test suite
takes significant time. When using pytest-xdist, please respect user’s
make options for the job number, e.g.:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>inherit multiprocessing
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>inherit<span class="w"> </span>multiprocessing
<span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> test? (</span>
@@ -131,10 +128,10 @@ make options for the job number, e.g.:</p>
<span class="s2"> )</span>
<span class="s2">&quot;</span>
-distutils_enable_tests pytest
+distutils_enable_tests<span class="w"> </span>pytest
-python_test<span class="o">()</span> <span class="o">{</span>
- epytest -n <span class="s2">&quot;</span><span class="k">$(</span>makeopts_jobs<span class="k">)</span><span class="s2">&quot;</span>
+python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>epytest<span class="w"> </span>-n<span class="w"> </span><span class="s2">&quot;</span><span class="k">$(</span>makeopts_jobs<span class="k">)</span><span class="s2">&quot;</span>
<span class="o">}</span>
</pre></div>
</div>
@@ -160,9 +157,9 @@ to pass <code class="docutils literal notranslate"><span class="pre">-p</span> <
<p>In some cases, upstream packages only list them as dependencies
but do not use them automatically. In other cases, you will need
to strip options enabling them from <code class="docutils literal notranslate"><span class="pre">pytest.ini</span></code> or <code class="docutils literal notranslate"><span class="pre">setup.cfg</span></code>.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>src_prepare<span class="o">()</span> <span class="o">{</span>
- sed -i -e <span class="s1">&#39;s:--cov=wheel::&#39;</span> setup.cfg <span class="o">||</span> die
- distutils-r1_src_prepare
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>src_prepare<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>sed<span class="w"> </span>-i<span class="w"> </span>-e<span class="w"> </span><span class="s1">&#39;s:--cov=wheel::&#39;</span><span class="w"> </span>setup.cfg<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
+<span class="w"> </span>distutils-r1_src_prepare
<span class="o">}</span>
</pre></div>
</div>
@@ -176,9 +173,9 @@ that do not expect them, to fail.</p>
<p>An example of such package used to be <code class="docutils literal notranslate"><span class="pre">dev-python/pytest-relaxed</span></code>.
To resolve problems due to the plugin, it was necessary to disable
it explicitly:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span> <span class="o">{</span>
- <span class="c1"># pytest-relaxed plugin makes our tests fail</span>
- epytest -p no:relaxed
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="c1"># pytest-relaxed plugin makes our tests fail</span>
+<span class="w"> </span>epytest<span class="w"> </span>-p<span class="w"> </span>no:relaxed
<span class="o">}</span>
</pre></div>
</div>
@@ -198,12 +195,12 @@ to disable autoloading plugins, and <code class="docutils literal notranslate"><
plugins to load. The latter takes a comma-separated list of entry point
modules. To find the correct module names, look into
the <code class="docutils literal notranslate"><span class="pre">entry_points.txt</span></code> inside the package’s <code class="docutils literal notranslate"><span class="pre">.egg-info</span></code> directory.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span> <span class="o">{</span>
- <span class="nb">local</span> -x <span class="nv">PYTEST_DISABLE_PLUGIN_AUTOLOAD</span><span class="o">=</span><span class="m">1</span>
- <span class="nb">local</span> -x <span class="nv">PYTEST_PLUGINS</span><span class="o">=</span>xdist.plugin,xdist.looponfail,pytest_forked
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nb">local</span><span class="w"> </span>-x<span class="w"> </span><span class="nv">PYTEST_DISABLE_PLUGIN_AUTOLOAD</span><span class="o">=</span><span class="m">1</span>
+<span class="w"> </span><span class="nb">local</span><span class="w"> </span>-x<span class="w"> </span><span class="nv">PYTEST_PLUGINS</span><span class="o">=</span>xdist.plugin,xdist.looponfail,pytest_forked
- distutils_install_for_testing
- epytest
+<span class="w"> </span>distutils_install_for_testing
+<span class="w"> </span>epytest
<span class="o">}</span>
</pre></div>
</div>
@@ -211,7 +208,7 @@ the <code class="docutils literal notranslate"><span class="pre">entry_points.tx
<section id="typeerror-make-test-flaky-got-an-unexpected-keyword-argument-reruns">
<h2>TypeError: _make_test_flaky() got an unexpected keyword argument ‘reruns’<a class="headerlink" href="#typeerror-make-test-flaky-got-an-unexpected-keyword-argument-reruns" title="Permalink to this heading">¶</a></h2>
<p>If you see a test error resembling the following:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>TypeError: _make_test_flaky<span class="o">()</span> got an unexpected keyword argument <span class="s1">&#39;reruns&#39;</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>TypeError:<span class="w"> </span>_make_test_flaky<span class="o">()</span><span class="w"> </span>got<span class="w"> </span>an<span class="w"> </span>unexpected<span class="w"> </span>keyword<span class="w"> </span>argument<span class="w"> </span><span class="s1">&#39;reruns&#39;</span>
</pre></div>
</div>
<p>This means that the tests are being run via <a class="reference external" href="https://github.com/box/flaky/">flaky</a> plugin while
@@ -225,8 +222,8 @@ sure to depend on <code class="docutils literal notranslate"><span class="pre">d
<span class="s2"> dev-python/dev-python/pytest-rerunfailures[</span><span class="si">${</span><span class="nv">PYTHON_USEDEP</span><span class="si">}</span><span class="s2">]</span>
<span class="s2"> )&quot;</span>
-python_test<span class="o">()</span> <span class="o">{</span>
- epytest -p no:flaky
+python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>epytest<span class="w"> </span>-p<span class="w"> </span>no:flaky
<span class="o">}</span>
</pre></div>
</div>
@@ -236,7 +233,7 @@ python_test<span class="o">()</span> <span class="o">{</span>
<p>An <code class="docutils literal notranslate"><span class="pre">ImportPathMismatchError</span></code> generally indicates that the same Python
module (or one that supposedly looks the same) has been loaded twice
using different paths, e.g.:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>E _pytest.pathlib.ImportPathMismatchError: <span class="o">(</span><span class="s1">&#39;path&#39;</span>, <span class="s1">&#39;/usr/lib/pypy3.7/site-packages/path&#39;</span>, PosixPath<span class="o">(</span><span class="s1">&#39;/tmp/portage/dev-python/jaraco-path-3.3.1/work/jaraco.path-3.3.1/jaraco/path.py&#39;</span><span class="o">))</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>E<span class="w"> </span>_pytest.pathlib.ImportPathMismatchError:<span class="w"> </span><span class="o">(</span><span class="s1">&#39;path&#39;</span>,<span class="w"> </span><span class="s1">&#39;/usr/lib/pypy3.7/site-packages/path&#39;</span>,<span class="w"> </span>PosixPath<span class="o">(</span><span class="s1">&#39;/tmp/portage/dev-python/jaraco-path-3.3.1/work/jaraco.path-3.3.1/jaraco/path.py&#39;</span><span class="o">))</span>
</pre></div>
</div>
<p>These problems are usually caused by pytest test discovery getting
@@ -247,14 +244,14 @@ relatively to the top directory, it loads it as <code class="docutils literal no
to the <code class="docutils literal notranslate"><span class="pre">jaraco</span></code> directory.</p>
<p>The simplest way to resolve this problem is to restrict the test
discovery to the actual test directories, e.g.:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span> <span class="o">{</span>
- epytest <span class="nb">test</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>epytest<span class="w"> </span><span class="nb">test</span>
<span class="o">}</span>
</pre></div>
</div>
<p>or:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span> <span class="o">{</span>
- epytest --ignore jaraco
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>epytest<span class="w"> </span>--ignore<span class="w"> </span>jaraco
<span class="o">}</span>
</pre></div>
</div>
@@ -295,31 +292,31 @@ plugins.</p>
<h2>Warnings<a class="headerlink" href="#warnings" title="Permalink to this heading">¶</a></h2>
<p>pytest captures all warnings from the test suite by default, and prints
a summary of them at the end of the test suite run:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="o">===============================</span> warnings <span class="nv">summary</span> <span class="o">===============================</span>
-asgiref/sync.py:135: <span class="m">1</span> warning
-tests/test_local.py: <span class="m">5</span> warnings
-tests/test_sync.py: <span class="m">12</span> warnings
-tests/test_sync_contextvars.py: <span class="m">1</span> warning
- /tmp/asgiref/asgiref/sync.py:135: DeprecationWarning: There is no current event loop
- self.main_event_loop <span class="o">=</span> asyncio.get_event_loop<span class="o">()</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="o">===============================</span><span class="w"> </span>warnings<span class="w"> </span><span class="nv">summary</span><span class="w"> </span><span class="o">===============================</span>
+asgiref/sync.py:135:<span class="w"> </span><span class="m">1</span><span class="w"> </span>warning
+tests/test_local.py:<span class="w"> </span><span class="m">5</span><span class="w"> </span>warnings
+tests/test_sync.py:<span class="w"> </span><span class="m">12</span><span class="w"> </span>warnings
+tests/test_sync_contextvars.py:<span class="w"> </span><span class="m">1</span><span class="w"> </span>warning
+<span class="w"> </span>/tmp/asgiref/asgiref/sync.py:135:<span class="w"> </span>DeprecationWarning:<span class="w"> </span>There<span class="w"> </span>is<span class="w"> </span>no<span class="w"> </span>current<span class="w"> </span>event<span class="w"> </span>loop
+<span class="w"> </span>self.main_event_loop<span class="w"> </span><span class="o">=</span><span class="w"> </span>asyncio.get_event_loop<span class="o">()</span>
<span class="o">[</span>...<span class="o">]</span>
</pre></div>
</div>
<p>However, some projects go further and use <code class="docutils literal notranslate"><span class="pre">filterwarnings</span></code> option
to make (some) warnings fatal:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="o">====================================</span> <span class="nv">ERRORS</span> <span class="o">====================================</span>
-_____________________ ERROR collecting tests/test_sync.py ______________________
-tests/test_sync.py:577: <span class="k">in</span> &lt;module&gt;
- class ASGITest<span class="o">(</span>TestCase<span class="o">)</span>:
-tests/test_sync.py:583: <span class="k">in</span> ASGITest
- async def test_wrapped_case_is_collected<span class="o">(</span>self<span class="o">)</span>:
-asgiref/sync.py:135: <span class="k">in</span> __init__
- self.main_event_loop <span class="o">=</span> asyncio.get_event_loop<span class="o">()</span>
-E DeprecationWarning: There is no current event <span class="nv">loop</span>
-<span class="o">===========================</span> short <span class="nb">test</span> summary <span class="nv">info</span> <span class="o">============================</span>
-ERROR tests/test_sync.py - DeprecationWarning: There is no current event loop
-!!!!!!!!!!!!!!!!!!!! Interrupted: <span class="m">1</span> error during collection !!!!!!!!!!!!!!!!!!!!
-<span class="o">===============================</span> <span class="m">1</span> error <span class="k">in</span> <span class="m">0</span>.13s <span class="o">===============================</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="o">====================================</span><span class="w"> </span><span class="nv">ERRORS</span><span class="w"> </span><span class="o">====================================</span>
+_____________________<span class="w"> </span>ERROR<span class="w"> </span>collecting<span class="w"> </span>tests/test_sync.py<span class="w"> </span>______________________
+tests/test_sync.py:577:<span class="w"> </span><span class="k">in</span><span class="w"> </span>&lt;module&gt;
+<span class="w"> </span>class<span class="w"> </span>ASGITest<span class="o">(</span>TestCase<span class="o">)</span>:
+tests/test_sync.py:583:<span class="w"> </span><span class="k">in</span><span class="w"> </span>ASGITest
+<span class="w"> </span>async<span class="w"> </span>def<span class="w"> </span>test_wrapped_case_is_collected<span class="o">(</span>self<span class="o">)</span>:
+asgiref/sync.py:135:<span class="w"> </span><span class="k">in</span><span class="w"> </span>__init__
+<span class="w"> </span>self.main_event_loop<span class="w"> </span><span class="o">=</span><span class="w"> </span>asyncio.get_event_loop<span class="o">()</span>
+E<span class="w"> </span>DeprecationWarning:<span class="w"> </span>There<span class="w"> </span>is<span class="w"> </span>no<span class="w"> </span>current<span class="w"> </span>event<span class="w"> </span><span class="nv">loop</span>
+<span class="o">===========================</span><span class="w"> </span>short<span class="w"> </span><span class="nb">test</span><span class="w"> </span>summary<span class="w"> </span><span class="nv">info</span><span class="w"> </span><span class="o">============================</span>
+ERROR<span class="w"> </span>tests/test_sync.py<span class="w"> </span>-<span class="w"> </span>DeprecationWarning:<span class="w"> </span>There<span class="w"> </span>is<span class="w"> </span>no<span class="w"> </span>current<span class="w"> </span>event<span class="w"> </span>loop
+!!!!!!!!!!!!!!!!!!!!<span class="w"> </span>Interrupted:<span class="w"> </span><span class="m">1</span><span class="w"> </span>error<span class="w"> </span>during<span class="w"> </span>collection<span class="w"> </span>!!!!!!!!!!!!!!!!!!!!
+<span class="o">===============================</span><span class="w"> </span><span class="m">1</span><span class="w"> </span>error<span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="m">0</span>.13s<span class="w"> </span><span class="o">===============================</span>
</pre></div>
</div>
<p>Unfortunately, this frequently means that warnings coming from
@@ -337,9 +334,9 @@ the installed code, it is acceptable to make them non-fatal. This can
be done either through removing the <code class="docutils literal notranslate"><span class="pre">filterwarnings</span></code> key from
<code class="docutils literal notranslate"><span class="pre">setup.cfg</span></code>, or adding an ignore entry. For example, the following
setting ignores <code class="docutils literal notranslate"><span class="pre">DeprecationWarning</span></code> in <code class="docutils literal notranslate"><span class="pre">test</span></code> directory:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">filterwarnings</span> <span class="o">=</span>
- error
- ignore::DeprecationWarning:test
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">filterwarnings</span><span class="w"> </span><span class="o">=</span>
+<span class="w"> </span>error
+<span class="w"> </span>ignore::DeprecationWarning:test
</pre></div>
</div>
</section>
@@ -435,7 +432,7 @@ setting ignores <code class="docutils literal notranslate"><span class="pre">Dep
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
diff --git a/guide/qawarn.html b/guide/qawarn.html
index 081214f..36faf4a 100644
--- a/guide/qawarn.html
+++ b/guide/qawarn.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -247,7 +244,7 @@ not to install them in the first place.</p></li>
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
diff --git a/guide/search.html b/guide/search.html
index 6c0c780..1ec81bd 100644
--- a/guide/search.html
+++ b/guide/search.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<script src="_static/searchtools.js"></script>
@@ -133,7 +130,7 @@
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
</div>
diff --git a/guide/searchindex.js b/guide/searchindex.js
index 6e6756e..c43962d 100644
--- a/guide/searchindex.js
+++ b/guide/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["any", "basic", "buildsys", "concept", "depend", "distutils", "distutils-legacy", "eclass", "expert-multi", "helper", "index", "interpreter", "interpreter-maintenance", "migration", "multi", "package-maintenance", "porting", "preface", "pytest", "qawarn", "single", "test"], "filenames": ["any.rst", "basic.rst", "buildsys.rst", "concept.rst", "depend.rst", "distutils.rst", "distutils-legacy.rst", "eclass.rst", "expert-multi.rst", "helper.rst", "index.rst", "interpreter.rst", "interpreter-maintenance.rst", "migration.rst", "multi.rst", "package-maintenance.rst", "porting.rst", "preface.rst", "pytest.rst", "qawarn.rst", "single.rst", "test.rst"], "titles": ["python-any-r1 \u2014 build-time dependency", "Common basics", "Integration with build systems written in Python", "Advanced concepts", "Advanced dependencies", "distutils-r1 \u2014 standard Python build systems", "distutils-r1 legacy concepts", "Choosing between Python eclasses", "Expert python-r1 usage", "Common helper functions", "Gentoo Python Guide", "Python interpreters", "Maintenance of Python implementations", "Migration guides", "python-r1 \u2014 multi-impl packages", "Python package maintenance", "Porting tips", "Preface", "pytest recipes", "QA checks and warnings", "python-single-r1 \u2014 single-impl packages", "Resolving test suite problems"], "terms": {"The": [0, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21], "eclass": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13, 14, 17, 18, 20, 21], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "enabl": [0, 4, 6, 7, 8, 10, 11, 12, 14, 15, 18, 19], "support": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 13, 14, 16, 17, 18, 19, 20, 21], "packag": [0, 8, 9, 10, 11, 13, 17, 18, 19], "need": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21], "pure": [0, 5, 6, 7, 8, 10, 11, 15], "refer": [0, 1, 5, 9, 11, 13, 14, 17, 19, 20], "5": [0, 2, 5, 7, 8, 9, 11, 14, 15, 16, 18, 20, 21], "defin": [0, 1, 5, 6, 11, 20], "featur": [0, 4, 5, 6, 7, 8, 11, 12, 13, 19, 20, 21], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "pkg_setup": [0, 1, 2, 8, 20], "phase": [0, 1, 3, 6, 7, 8, 9, 10, 13, 14, 15, 19, 20, 21], "It": [0, 1, 3, 4, 5, 6, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21], "normal": [0, 3, 5, 8, 9, 14, 16, 19, 20], "call": [0, 1, 2, 3, 6, 7, 8, 9, 10, 11, 13, 14, 16, 18, 19, 20, 21], "python_setup": [0, 1, 2, 10, 13, 14, 20], "function": [0, 1, 4, 6, 7, 8, 10, 11, 13, 14, 16, 19, 20, 21], "order": [0, 1, 2, 4, 5, 7, 9, 12, 13, 14, 15, 20], "find": [0, 2, 3, 4, 6, 14, 15, 18, 21], "suitabl": [0, 7, 9, 14, 17], "interpret": [0, 1, 2, 5, 6, 7, 9, 10, 13, 14, 15, 16, 18, 19, 20], "global": [0, 1, 5, 8, 13, 14, 18, 20], "environ": [0, 5, 6, 10, 11, 13, 14, 16, 18, 20], "appropri": [0, 2, 4, 5, 6, 7, 9, 11, 12, 15, 20], "mean": [0, 1, 2, 5, 7, 8, 11, 15, 16, 18, 20, 21], "most": [0, 3, 5, 6, 9, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21], "trivial": [0, 5, 12, 16, 20], "an": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 19, 20, 21], "autotool": [0, 5, 6, 10, 16, 20], "compat": [0, 1, 2, 4, 5, 6, 7, 9, 11, 13, 16, 20], "system": [0, 3, 7, 8, 9, 10, 13, 14, 15, 17, 19, 20, 21], "could": [0, 2, 3, 5, 6, 8, 9, 15, 16, 19, 20], "look": [0, 1, 6, 8, 16, 18, 20, 21], "like": [0, 2, 4, 5, 6, 8, 11, 15, 16, 20, 21], "follow": [0, 1, 3, 4, 5, 6, 8, 9, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21], "copyright": [0, 2, 4, 5, 6, 8, 14, 20], "1999": [0, 2, 4, 5, 6, 8, 14, 20], "2020": [0, 2, 4, 5, 6, 8, 13, 14, 16, 20], "gentoo": [0, 1, 2, 4, 5, 6, 8, 9, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21], "author": [0, 2, 4, 5, 6, 8, 9, 10, 12, 14, 20], "distribut": [0, 2, 4, 5, 6, 8, 14, 15, 16, 17, 19, 20, 21], "under": [0, 1, 2, 3, 4, 5, 6, 8, 14, 20], "term": [0, 2, 4, 5, 6, 8, 14, 20], "gnu": [0, 2, 4, 5, 6, 8, 14, 20], "gener": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 18, 20, 21], "public": [0, 2, 4, 5, 6, 8, 11, 14, 20], "licens": [0, 2, 4, 5, 6, 8, 10, 14, 20], "v2": [0, 2, 4, 5, 6, 8, 14, 20], "eapi": [0, 2, 4, 5, 6, 8, 10, 14, 20], "7": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 14, 15, 16, 18, 19, 20, 21], "python_compat": [0, 2, 4, 5, 6, 8, 10, 11, 12, 14, 15, 20], "python3_": [0, 1, 2, 4, 5, 6, 8, 12, 20], "6": [0, 1, 2, 4, 5, 6, 8, 11, 12, 14, 15, 16, 18, 20, 21], "8": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 15, 20, 21], "inherit": [0, 1, 2, 4, 5, 6, 7, 8, 9, 13, 14, 16, 18, 20], "descript": [0, 2, 4, 5, 6, 8, 14, 20], "A": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 15, 18], "repositori": [0, 5, 6, 12, 15, 19], "data": [0, 2, 5, 6, 9, 16, 20, 21], "file": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 20], "describ": [0, 5, 6, 8, 9, 15], "media": [0, 2, 8], "player": [0, 4], "capabl": 0, "homepag": [0, 2, 4, 5, 6, 8, 14, 20], "http": [0, 2, 4, 5, 6, 8, 9, 12, 14, 16, 20, 21], "cgit": 0, "freedesktop": 0, "org": [0, 2, 4, 5, 6, 8, 9, 12, 14, 20], "info": [0, 5, 6, 18], "src_uri": [0, 2, 4, 5, 6, 8, 14, 20, 21], "www": [0, 2, 8, 14, 20], "softwar": [0, 1, 4, 8, 14, 15, 16, 21], "pn": [0, 2, 4, 5, 6, 8, 9, 14, 20, 21], "p": [0, 2, 4, 5, 6, 8, 14, 18, 20, 21], "tar": [0, 2, 4, 5, 6, 8, 12, 14, 20, 21], "gz": [0, 2, 4, 5, 6, 8, 14, 20, 21], "bsd": [0, 2, 5, 6, 8, 14, 20], "slot": [0, 2, 4, 5, 6, 8, 11, 14, 20], "0": [0, 2, 4, 5, 6, 8, 10, 11, 12, 14, 15, 16, 18, 20, 21], "keyword": [0, 2, 4, 5, 6, 8, 10, 14, 16, 20], "alpha": [0, 2, 4, 5, 6, 8, 11, 14, 20], "amd64": [0, 2, 4, 5, 6, 8, 12, 14, 20], "arm": [0, 2, 4, 5, 6, 8, 20], "arm64": [0, 2, 4, 5, 6, 8, 14, 20], "hppa": [0, 2, 4, 5, 6, 8, 14, 20], "ia64": [0, 2, 4, 5, 6, 8, 14, 20], "mip": [0, 2, 4, 5, 6, 8, 20], "ppc": [0, 2, 4, 5, 6, 8, 14, 20], "ppc64": [0, 2, 4, 5, 6, 8, 14, 20], "sh": [0, 2, 4, 5, 6, 8, 12, 20], "sparc": [0, 2, 4, 5, 6, 8, 14, 20], "x86": [0, 2, 4, 5, 6, 8, 12, 14, 20], "ius": [0, 2, 4, 5, 8, 14, 20], "rdepend": [0, 1, 2, 4, 5, 6, 8, 13, 14, 20], "virtual": [0, 2, 8, 14], "udev": 0, "208": 0, "bdepend": [0, 1, 2, 4, 5, 6, 8, 12, 14, 18, 20], "python_dep": [0, 2, 4, 5, 8, 10, 14, 20], "pkgconfig": [0, 2, 8, 14], "ebuild": [0, 1, 4, 5, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21], "demonstr": [0, 5, 20], "absolut": [0, 1, 9, 15, 20, 21], "minimum": [0, 15, 20], "work": [0, 3, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 18, 20, 21], "code": [0, 1, 3, 5, 6, 7, 8, 9, 11, 13, 14, 16, 18, 19, 20, 21], "onli": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 15, 16, 18, 19, 20, 21], "three": [0, 1, 3, 9, 13, 16, 19], "highlight": [0, 16, 20], "line": [0, 3, 5, 13, 15, 16, 20, 21], "ar": [0, 1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21], "specif": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 18, 19, 20, 21], "plu": [0, 20], "implicitli": [0, 3, 5, 8, 12, 20], "export": [0, 1, 2, 5, 20], "when": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21], "other": [0, 1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21], "declar": [0, 1, 2, 5, 6, 8, 9, 11, 14, 18, 20], "ensur": [0, 1, 4, 5, 6, 9, 14, 19, 20], "would": [0, 2, 4, 5, 7, 11, 12, 14, 15, 16, 20, 21], "built": [0, 1, 3, 5, 6, 7, 8, 11, 12, 14, 16, 17, 20, 21], "against": [0, 4, 7, 9, 11, 12, 14, 15, 20, 21], "implement": [0, 1, 3, 4, 5, 6, 7, 10, 14, 16, 17, 18, 19, 20, 21], "specifi": [0, 1, 2, 5, 6, 7, 8, 14, 18, 20, 21], "get": [0, 5, 6, 12, 13, 18, 21], "replac": [0, 5, 6, 10, 11, 13, 15], "python_gen_any_dep": [0, 2, 8], "match": [0, 2, 4, 5, 6, 8, 9, 11, 12, 15, 19, 20], "python_check_dep": [0, 2, 8], "accept": [0, 1, 4, 5, 6, 9, 12, 15, 16, 18, 19], "templat": [0, 2, 4, 5, 15, 19, 20], "where": [0, 3, 5, 6, 9, 11, 12, 14, 16, 20, 21], "liter": [0, 4, 20], "python_usedep": [0, 2, 4, 5, 8, 10, 12, 14, 15, 18, 20], "substitut": [0, 4, 20], "requir": [0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20], "all": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21], "same": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 21], "least": [0, 5, 8, 15, 19, 21], "one": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 16, 17, 18, 19, 20, 21], "test": [0, 1, 2, 3, 7, 8, 10, 11, 12, 13, 16, 17, 20], "whether": [0, 1, 4, 5, 6, 7, 15, 18, 20, 21], "question": [0, 1, 5, 7, 14, 18, 21], "In": [0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 12, 14, 15, 16, 18, 19, 20, 21], "particular": [0, 1, 4, 5, 6, 11, 15, 21], "verifi": [0, 1, 5, 6, 8, 13, 19, 21], "branch": [0, 11, 16, 21], "wa": [0, 4, 5, 11, 12, 13, 16, 18, 21], "satisfi": [0, 1, 8, 12], "were": [0, 2, 3, 5, 8, 11, 12, 13, 16], "instal": [0, 1, 3, 4, 7, 8, 10, 11, 12, 13, 16, 18, 19], "current": [0, 5, 6, 11, 12, 13, 15, 18, 21], "For": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 21], "purpos": [0, 6, 9, 12, 14, 16, 20, 21], "variabl": [0, 1, 5, 6, 8, 13, 14, 16, 18, 20], "string": [0, 1, 4, 5, 8, 14, 16, 20], "best": [0, 5, 7, 12, 16, 17, 18], "explain": [0, 1, 6, 19], "exampl": [0, 4, 5, 6, 7, 8, 9, 11, 12, 15, 16, 17, 18, 19, 20, 21], "meson": [0, 4, 5, 7, 10, 15], "manag": [0, 4, 5, 6, 8, 9, 19, 21], "cinnamon": 0, "fork": [0, 11, 12, 15, 21], "from": [0, 2, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 18, 19, 20, 21], "nautilu": 0, "develop": [0, 1, 7, 11, 15, 17, 18, 21], "linuxmint": 0, "com": [0, 2, 4, 5, 6, 8, 12, 14, 16, 21], "project": [0, 1, 5, 8, 9, 10, 14, 17, 18], "html": [0, 5, 8], "github": [0, 2, 4, 5, 6, 8, 12, 14, 17, 20, 21], "nemo": 0, "archiv": [0, 2, 4, 10, 20, 21], "pv": [0, 2, 4, 5, 8, 14, 20, 21], "gpl": [0, 2, 4, 8, 14, 20], "2": [0, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 20, 21], "lgpl": [0, 2, 5, 14, 20], "fdl": [0, 20], "1": [0, 2, 3, 4, 5, 6, 8, 9, 15, 18, 19, 20, 21], "dev": [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 18, 19, 20, 21], "polib": 0, "pygobject": [0, 14], "3": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21], "python_has_vers": [0, 2, 8], "provid": [0, 1, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 21], "its": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 15, 16, 18, 21], "both": [0, 1, 3, 4, 5, 6, 7, 8, 12, 13, 16, 17, 18, 20, 21], "have": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 15, 16, 18, 19, 20, 21], "dep": [0, 5, 13, 18], "true": [0, 1, 2, 5, 6, 8, 12, 13, 16, 21], "them": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 15, 16, 18, 19, 20, 21], "while": [0, 2, 3, 4, 5, 6, 7, 8, 11, 12, 14, 16, 17, 18, 19, 20, 21], "which": [0, 5, 6, 9, 10, 11, 14, 21], "wrapper": [0, 1, 5, 6, 9, 13, 14, 21], "help": [0, 15, 17, 21], "take": [0, 1, 2, 4, 5, 6, 7, 8, 9, 15, 16, 18, 21], "singl": [0, 1, 4, 6, 9, 10, 14, 15, 16, 18, 19, 21], "option": [0, 1, 3, 6, 8, 10, 13, 15, 18, 20, 21], "class": [0, 1, 5, 16, 18], "flag": [0, 1, 5, 7, 8, 9, 10, 11, 12, 14, 15, 20, 21], "more": [0, 1, 3, 4, 7, 9, 11, 12, 13, 16, 18, 19, 20, 21], "similarli": [0, 1, 5, 15], "has_vers": [0, 4, 12], "root": [0, 5, 6, 13, 20, 21], "can": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21], "b": 0, "d": [0, 2, 3, 8, 9, 14, 18], "r": [0, 2, 5, 9, 16, 21], "idepend": 0, "pdepend": [0, 2, 8, 12], "pass": [0, 6, 8, 9, 10, 12, 13, 16, 18, 21], "assum": [0, 1, 4, 5, 6, 9, 13, 15, 20], "verbos": [0, 19, 21], "print": [0, 3, 8, 14, 18, 21], "check": [0, 5, 6, 9, 10, 12, 13, 16, 17, 21], "perform": [0, 2, 5, 6, 11, 12, 14, 19, 20, 21], "result": [0, 5, 6, 8, 9, 12, 15, 16, 17, 18, 19, 21], "return": [0, 2, 5, 8, 16, 21], "success": 0, "found": [0, 1, 3, 5, 6, 9, 10, 11, 15, 19, 21], "fals": [0, 2, 5, 8, 12, 15, 16], "otherwis": [0, 5, 6, 7, 8, 9], "note": [0, 1, 4, 5, 6, 8, 9, 10, 11, 13, 14, 15, 16, 18, 19, 20, 21], "invoc": [0, 5, 18], "chain": 0, "abov": [0, 1, 6, 8, 12, 13, 15, 19, 20, 21], "also": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 21], "written": [0, 1, 5, 7, 10, 11, 16, 18], "import": [0, 1, 3, 4, 5, 6, 7, 11, 12, 13, 14, 15, 16, 18, 21], "understand": 0, "correctli": [0, 1, 5, 6, 7, 9, 11, 12, 13, 15, 16, 21], "exactli": [0, 7], "furthermor": [0, 2, 5], "combin": [0, 2, 5, 10, 11, 12, 13, 16, 17, 18, 20, 21], "must": [0, 1, 2, 3, 5, 6, 7, 8, 11, 16, 18, 20, 21], "onc": [0, 5, 8, 11, 12, 19], "invalid": [0, 16], "split": [0, 5, 13, 16], "some": [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21], "necessari": [0, 2, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 18, 20, 21], "particularli": [0, 5, 6, 7, 11, 13, 15, 18, 21], "common": [0, 3, 5, 6, 7, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21], "suit": [0, 1, 2, 5, 6, 7, 8, 9, 10, 12, 18], "case": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21], "wrap": [0, 5, 6, 9, 13], "programm": [0, 15], "complet": [0, 5, 16, 17], "bash": [0, 5, 7, 8, 9, 20], "scop": 0, "releas": [0, 2, 5, 8, 11, 12, 14, 16], "download": [0, 2, 5, 8, 14], "xz": [0, 4, 12, 14, 20], "s390": [0, 2, 4, 5, 6, 8, 20], "linux": [0, 2, 4, 5, 6, 8, 9, 14, 16, 20, 21], "maco": [0, 4, 5, 6, 8, 20], "x64": [0, 4, 5, 6, 8, 20], "m68k": [0, 4, 5, 6, 8, 20], "mint": 0, "solari": [0, 5, 6, 20], "sparc64": [0, 6], "restrict": [0, 2, 4, 5, 10, 18, 20, 21], "app": [0, 2, 4, 5, 8, 12, 14, 15, 19], "shell": [0, 5, 8, 14], "4": [0, 3, 5, 8, 9, 10, 11, 12, 14, 15, 21], "3_p30": 0, "pexpect": [0, 5], "pytest": [0, 4, 8, 10, 12, 21], "r1_pkg_setup": [0, 2, 20], "anoth": [0, 8, 9, 14, 16, 18, 19, 21], "possibl": [0, 2, 4, 5, 8, 9, 12, 14, 16, 17, 18, 21], "uncondition": [0, 1, 2, 4, 5, 6, 8, 11, 19, 20, 21], "condition": [0, 1, 2, 4, 5, 11, 12, 14, 15, 18, 20], "simplest": [0, 2, 5, 7, 14, 18, 21], "wai": [0, 5, 6, 9, 12, 13, 15, 18, 21], "achiev": [0, 8, 11, 16], "block": [0, 8, 13, 21], "express": [0, 8, 13, 20], "similar": [0, 2, 5, 14, 20, 21], "cmake": [0, 5, 6, 20], "qt": 0, "bind": [0, 2, 5, 8, 14, 20], "telepathi": 0, "bu": 0, "protocol": [0, 2, 20], "dbu": [0, 2], "hardest": 0, "differ": [0, 1, 3, 5, 9, 10, 11, 15, 16, 18, 21], "do": [0, 1, 3, 4, 5, 6, 8, 9, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21], "error": [0, 2, 5, 9, 13, 16, 18, 19, 21], "prone": 0, "move": [0, 4, 5, 12], "insid": [0, 1, 3, 5, 6, 9, 14, 18, 20], "python3_6": [0, 2, 4, 8, 14], "gnome2": [0, 4, 14], "gobject": 0, "librari": [0, 1, 2, 3, 4, 5, 8, 9, 11, 14, 20], "access": [0, 5, 10, 11, 18], "secret": 0, "servic": [0, 15, 21], "api": [0, 2, 9, 10, 11, 13, 14, 16], "wiki": [0, 4, 8, 9, 14, 17], "gnome": [0, 4, 14], "libsecret": 0, "apach": [0, 2, 4, 5, 8], "introspect": 0, "fail": [0, 1, 2, 5, 8, 9, 11, 12, 16, 18, 21], "bug": [0, 5, 6, 12, 21], "655482": 0, "required_us": [0, 1, 2, 4, 5, 7, 8, 13, 14, 20], "mock": [0, 4, 8, 11, 12, 18, 21], "fi": [0, 2, 4, 5, 8, 12, 14, 20], "host": 0, "variou": [1, 5, 6, 9, 13, 16], "r1": [1, 3, 4, 9, 10, 12, 15, 19, 21], "try": [1, 6, 8, 9, 11, 16, 21], "design": [1, 20], "you": [1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 21], "probabl": [1, 6, 8, 13, 20], "us": [1, 9, 10, 11, 12, 13, 15, 16, 19, 21], "than": [1, 2, 3, 6, 7, 8, 11, 12, 15, 16, 17, 18, 19, 21], "so": [1, 4, 5, 6, 11, 15, 18, 20, 21], "worthwhil": [1, 21], "shortli": 1, "bit": [1, 12, 17], "well": [1, 5, 7, 8, 11, 13, 15], "non": [1, 6, 7, 9, 12, 14, 16, 18, 21], "obviou": [1, 21], "between": [1, 5, 8, 10, 11, 13, 16], "befor": [1, 4, 8, 9, 10, 12, 14, 16, 21], "thei": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "valid": [1, 5, 8, 15, 16, 19, 21], "valu": [1, 5, 6, 9, 13, 18], "pythonx_i": 1, "cpython": [1, 4, 5, 9, 11, 13, 19], "x": [1, 5, 11, 16, 18, 21], "y": [1, 2, 11, 16], "pypy3": [1, 4, 5, 6, 8, 11, 12, 13, 15, 18, 19], "typic": [1, 14], "ani": [1, 2, 3, 5, 6, 7, 10, 14, 16, 18, 19, 21], "respons": [1, 5], "explicitli": [1, 5, 7, 8, 10, 13, 21], "put": [1, 8], "correct": [1, 5, 6, 7, 9, 10, 15, 18, 20], "meant": [1, 13], "consist": [1, 6, 9, 13, 14, 15], "cover": [1, 5, 6, 13], "time": [1, 3, 4, 5, 6, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 21], "runtim": [1, 2, 3, 5, 8, 10, 13, 14, 15], "form": [1, 4, 12, 17], "doe": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 15, 16, 18, 19, 21], "appli": [1, 4, 5, 6, 7, 12, 15, 18, 20, 21], "distutil": [1, 3, 4, 9, 10, 13, 14, 18, 19, 20, 21], "assign": 1, "default": [1, 2, 5, 6, 7, 8, 9, 11, 13, 14, 15, 18, 19, 20, 21], "commonli": [1, 2, 3, 5, 6, 9, 11], "concept": [1, 5, 10], "state": 1, "enforc": [1, 4, 5, 7, 8, 11, 18], "whenev": [1, 4, 5, 9, 11, 14, 15, 18, 20], "run": [1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 21], "two": [1, 5, 6, 8, 9, 11, 13, 16, 18, 19, 20], "being": [1, 3, 6, 8, 9, 10, 11, 15, 16, 18, 21], "epython": [1, 2, 5, 8, 9, 12, 13, 18, 21], "contain": [1, 3, 4, 5, 6, 7, 12, 13, 15, 19], "": [1, 2, 4, 5, 6, 7, 8, 9, 13, 14, 15, 16, 18, 19, 20, 21], "basenam": 1, "identifi": 1, "e": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21], "g": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21], "python3": [1, 3, 5, 9, 11, 13, 15, 16, 18, 19, 21], "10": [1, 4, 5, 8, 10, 11, 12, 15, 19], "final": [1, 2, 4, 5, 9, 11, 13, 16, 20, 21], "path": [1, 3, 5, 6, 9, 10, 12, 13, 16, 21], "usr": [1, 2, 3, 5, 7, 8, 9, 18, 19, 21], "bin": [1, 2, 5, 7, 8, 9, 12, 20, 21], "full": [1, 2, 4, 5, 13, 21], "should": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "embed": [1, 2, 9, 11], "program": [1, 2, 5, 6, 11, 16, 18], "shebang": [1, 10, 11, 21], "spawn": 1, "dure": [1, 5, 6, 7, 12, 13, 18, 19], "prefer": [1, 4, 5, 7, 8, 11, 12, 14, 15, 18, 21], "rather": [1, 6, 8, 15, 16, 17, 18, 19, 21], "bypass": 1, "virtualenv": [1, 5, 6, 12, 21], "creat": [1, 3, 4, 5, 6, 12, 13, 16, 19], "pep": [1, 3, 6, 7, 10, 12, 16], "517": [1, 3, 6, 7, 10, 12], "mode": [1, 3, 6, 7, 10, 13, 16, 19], "mai": [1, 3, 4, 5, 6, 8, 11, 12, 13, 15, 16, 18, 21], "caus": [1, 4, 5, 8, 9, 13, 15, 18, 19, 21], "failur": [1, 5, 10, 11, 12, 18], "modul": [1, 3, 4, 5, 6, 7, 8, 10, 11, 14, 15, 16, 18, 21], "previou": [1, 5, 12, 13, 16], "version": [1, 2, 3, 5, 6, 7, 8, 10, 12, 13, 16, 17, 18, 21], "just": [1, 5, 6, 11, 13, 21], "resolv": [1, 5, 6, 10, 16, 18], "problem": [1, 3, 4, 5, 6, 8, 10, 12, 16, 17, 18], "pythonn": 1, "tool": [1, 2, 5, 8, 14, 15, 16, 19, 21], "etc": 1, "via": [1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 20, 21], "exec": [1, 8, 9, 11, 12, 21], "hardcod": [1, 12, 18], "either": [1, 2, 5, 8, 9, 11, 13, 18, 19, 21], "establish": [1, 5, 13, 21], "local": [1, 2, 3, 4, 5, 8, 9, 12, 13, 14, 18, 20, 21], "scope": [1, 4, 5, 8, 13, 18], "multi": [1, 5, 10, 13, 20], "impl": [1, 5, 10, 13], "python_foreach_impl": [1, 2, 8, 14], "sub": [1, 3, 7, 8, 10, 21], "setup": [1, 3, 6, 7, 10, 13, 15, 18, 21], "done": [1, 5, 6, 8, 9, 14, 15, 18, 21], "directli": [1, 5, 6, 7, 9, 11, 13, 16, 18, 21], "section": [1, 5, 6, 7, 12, 15, 16, 19, 21], "focu": [1, 7, 12, 14], "often": [1, 5, 12, 21], "extern": [1, 2, 5, 6, 7, 11, 12], "languag": [1, 2, 5, 11, 15], "usual": [1, 3, 4, 5, 7, 11, 13, 15, 16, 18, 19, 21], "rule": [1, 2, 6, 7, 8, 13, 14, 15], "classifi": [1, 6], "categori": [1, 15], "present": [1, 5, 6, 15, 19], "script": [1, 2, 5, 6, 7, 8, 10, 11, 12, 14, 16, 20], "usabl": [1, 11], "whose": [1, 5], "therefor": [1, 2, 5, 6, 7, 8, 11, 12, 15, 18, 19], "howev": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 18, 19, 20, 21], "modern": [1, 4, 5, 6, 11, 12, 18, 21], "base": [1, 4, 5, 7, 8, 10, 12, 14, 15, 20, 21], "entri": [1, 5, 18], "point": [1, 5, 11, 13, 18, 21], "refus": [1, 4, 11], "place": [1, 6, 11, 12, 19], "special": [1, 3, 4, 5, 6, 16, 21], "subclass": 1, "extra": [1, 5, 6, 10], "still": [1, 5, 6, 8, 11, 13, 16, 21], "meaningfulli": 1, "handl": [1, 4, 5, 6, 8, 13, 14, 15], "gracefulli": [1, 4, 8], "subset": [1, 4, 5, 7, 8, 11, 12, 14, 15, 19, 21], "without": [1, 4, 10, 11, 13, 14, 15, 18], "There": [1, 3, 5, 8, 9, 16, 18, 19, 21], "multipl": [1, 3, 4, 5, 7, 10, 14, 17, 18, 19, 21], "approach": [1, 5, 7, 8, 16], "ad": [1, 7, 10, 11, 13, 14, 18], "consid": [1, 2, 3, 6, 7, 8, 11, 12, 14, 15, 16], "light": 1, "enough": [1, 5, 11], "inform": [1, 3, 5, 6, 10, 13, 16, 19, 21], "messag": [1, 5, 21], "pkg_postinst": [1, 5], "util": [1, 2, 4, 5, 7, 8, 9, 12, 15, 18, 20, 21], "optfeatur": 1, "cheap": 1, "rebuild": [1, 6, 11], "includ": [1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 15, 16, 17, 18, 19, 20, 21], "__init__": [1, 3, 5, 9, 18, 19, 21], "py": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 19, 21], "As": [1, 3, 5, 6, 7, 8, 11, 13, 15, 16, 18, 20, 21], "thumb": [1, 6, 7, 13, 15], "belong": [1, 21], "care": [1, 2, 5, 7, 9, 15, 21], "addit": [1, 2, 4, 6, 8, 9, 10, 11, 12, 13, 15, 18, 21], "plugin": [1, 3, 5, 6, 8, 10, 21], "setuptools_scm": [1, 10], "document": [1, 2, 7, 8, 10, 11, 14, 17, 21], "former": [1, 5, 7, 8, 13, 16, 21], "runner": [1, 5, 7, 10], "sinc": [1, 2, 3, 5, 6, 7, 11, 12, 13, 15, 16, 18, 21], "sometim": [1, 4, 5, 6, 7, 9, 11, 18, 21], "These": [1, 6, 7, 11, 12, 13, 15, 18, 21], "go": [1, 2, 8, 17, 18], "doc": [1, 2, 5, 8, 20], "respect": [1, 3, 4, 5, 12, 14, 15, 18, 19], "maximum": [1, 5], "coverag": [1, 5, 15, 18], "further": [1, 18], "guid": [1, 3, 5, 16, 17], "linter": 1, "report": [1, 5, 6, 9, 10, 15, 21], "actual": [1, 5, 6, 8, 9, 11, 12, 15, 18, 21], "undesir": [1, 18, 21], "again": [1, 2, 15, 21], "conveni": [1, 4, 5, 6, 7, 18, 21], "add": [1, 2, 5, 6, 8, 12, 15, 20, 21], "sphinx": [1, 3, 6, 7, 8, 10, 12], "copi": [1, 3, 5, 6, 9, 11, 15, 20], "c": [1, 2, 5, 6, 8, 9, 10, 11, 14], "extens": [1, 6, 7, 8, 9, 10, 11, 14, 15, 16], "header": [1, 9], "numpi": [1, 2], "If": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 20, 21], "metadata": [1, 5, 6, 14, 15, 20], "pyproject": [1, 5, 7, 12], "toml": [1, 5, 7, 10, 12], "setuptool": [1, 3, 4, 7, 8, 12, 13, 15, 18], "cfg": [1, 3, 5, 6, 15, 18], "custom": [1, 2, 6, 10, 13, 15, 16, 18], "read": [1, 5, 16], "name": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 21], "uncondit": [1, 2, 5, 10, 13, 14, 15], "upstream": [1, 3, 4, 5, 6, 7, 9, 11, 12, 14, 15, 16, 18, 19, 21], "spuriou": 1, "strip": [1, 3, 5, 11, 15, 18, 21], "ommit": 1, "kei": [1, 5, 16, 18, 20], "kind": [1, 3, 5, 7, 9, 11, 21], "621": 1, "older": [1, 11, 15], "flit": [1, 6, 12, 13], "poetri": [1, 6, 13], "indic": [1, 5, 6, 11, 12, 13, 15, 18, 19, 21], "install_requir": [1, 3, 5, 6], "group": [1, 2, 6, 13, 18], "extras_requir": [1, 5], "setup_requir": [1, 5, 18], "deprec": [1, 3, 10, 11, 13], "tests_requir": [1, 5], "tox": [1, 5, 21], "ini": [1, 5, 18, 21], "noxfil": 1, "python_requir": 1, "besid": [2, 6, 11, 14, 18, 19], "few": [2, 4, 6, 12, 18, 21], "make": [2, 3, 4, 5, 6, 7, 11, 12, 13, 15, 16, 18, 19, 20, 21], "proper": [2, 8], "fairli": [2, 15, 20], "recent": [2, 3, 5, 21], "agnost": 2, "henc": [2, 5, 14], "treat": [2, 18], "arbitrari": [2, 13], "ha": [2, 3, 5, 6, 7, 11, 12, 13, 14, 15, 16, 18, 19, 21], "gain": [2, 18], "quit": [2, 4, 6, 11, 12], "At": [2, 5, 11, 15, 17], "mani": [2, 5, 8, 12, 14, 15, 16, 21], "old": [2, 4, 5, 6, 8, 10, 11, 12, 16, 21], "reason": [2, 4, 5, 6, 11, 18, 21], "suffici": [2, 5, 6, 7, 11, 14], "prior": [2, 3, 5, 6, 8, 11, 13, 16, 19, 21], "happen": [2, 3, 4, 6, 7, 8, 11, 20, 21], "natur": [2, 5, 8, 15], "sort": 2, "latter": [2, 5, 7, 8, 13, 15, 16, 18, 21], "set": [2, 4, 5, 6, 7, 10, 11, 12, 14, 15, 16, 18, 19, 20, 21], "much": [2, 5, 21], "compon": [2, 3, 8, 11, 14, 16], "account": [2, 5, 8, 11, 15, 21], "detail": [2, 5, 7, 9, 11, 13, 16, 21], "choic": [2, 6, 7, 13, 21], "chapter": [2, 8, 9], "along": [2, 5, 6, 7, 11, 13, 19, 20, 21], "toolchain": [2, 4, 8], "func": [2, 8], "commit": [2, 21], "6e5e8a57628095d8d0c8bbb38187afb0f3a42112": 2, "userspac": 2, "xbox": 2, "360": 2, "control": [2, 4, 5, 18], "driver": 2, "xboxdrv": 2, "gitlab": [2, 8], "io": [2, 4, 5, 8, 14, 20], "chewi": 2, "workdir": [2, 5], "lib": [2, 3, 5, 7, 9, 16, 18, 19, 21], "boost": [2, 7], "glib": 2, "sy": [2, 5, 8, 11, 14, 15, 16, 21], "libudev": 2, "libusb": 2, "x11": 2, "libx11": 2, "src_compil": [2, 5, 6, 8, 14], "escon": 2, "cxx": 2, "tc": [2, 9], "getcxx": 2, "getar": 2, "ranlib": 2, "getranlib": 2, "cxxflag": 2, "wall": 2, "linkflag": 2, "ldflag": [2, 5], "src_instal": [2, 5, 8, 9, 14, 20], "dobin": [2, 9], "doman": 2, "dodoc": [2, 5], "new": [2, 5, 6, 9, 10, 11, 13, 16, 18], "readm": [2, 12], "md": 2, "todo": [2, 9, 12], "yourself": [2, 4, 21], "becaus": [2, 5, 6, 11, 15, 18, 21], "cannot": [2, 4, 5, 9, 11, 21], "my_p": 2, "src": [2, 5, 9, 21], "_rc": 2, "rc": [2, 11], "high": [2, 4, 11, 12, 15, 20], "open": [2, 16], "sourc": [2, 3, 10, 12, 14, 17, 19, 21], "schema": [2, 15], "free": [2, 15, 21], "orient": [2, 16], "databas": [2, 4], "mongodb": [2, 4], "fastdl": 2, "sspl": 2, "acct": 2, "user": [2, 3, 5, 6, 7, 8, 11, 12, 15, 18, 20, 21], "arch": [2, 5, 8, 11, 12], "snappi": 2, "cpp": 2, "yaml": [2, 3], "70": 2, "thread": [2, 8, 18, 20, 21], "libpcr": 2, "42": 2, "zstd": 2, "snowbal": 2, "stemmer": 2, "net": [2, 8, 11, 14, 20], "libpcap": 2, "zlib": 2, "11": [2, 5, 10, 12, 15, 21], "pymongo": 2, "cheetah3": 2, "psutil": 2, "pyyaml": 2, "type": [2, 3, 6, 13, 15, 16], "ncurs": [2, 14], "readlin": [2, 5, 8, 14], "admin": [2, 8], "mongo": 2, "src_configur": [2, 5, 8, 9, 13, 14, 20], "scons_opt": 2, "cc": [2, 9], "getcc": [2, 9], "disabl": [2, 5, 8, 10, 11, 14, 20, 21], "warn": [2, 3, 5, 10, 16], "pcre": 2, "core": [2, 5, 21], "src_test": [2, 5, 6, 14], "buildscript": 2, "resmok": 2, "dbpathprefix": 2, "job": [2, 18], "makeopts_job": [2, 18], "die": [2, 3, 5, 8, 9, 14, 18, 21], "nostrip": [2, 8], "prefix": [2, 8, 9, 15, 16, 21], "ed": [2, 9, 15], "everyth": [2, 13], "your": [2, 4, 5, 6, 7, 8, 11, 12, 15, 16, 18, 19, 21], "python2_7": [2, 5, 6, 8, 13, 14, 20], "eutil": 2, "molecular": 2, "dynam": 2, "nmr": 2, "analysi": [2, 20], "relax": [2, 18], "gna": 2, "bz2": [2, 8, 20], "python_required_us": [2, 4, 5, 8, 10, 14, 20], "python_gen_cond_dep": [2, 4, 5, 8, 12, 13, 20], "numdifftool": 2, "matplotlib": [2, 5, 20], "python2": [2, 8, 9, 13, 20], "wxpython": [2, 20], "wx_gtk_ver": [2, 20], "sci": [2, 5, 20], "chemistri": 2, "pymol": 2, "bmrblib": 2, "minfx": 2, "scipi": 2, "molmol": 2, "vmd": 2, "visual": 2, "grace": 2, "opendx": 2, "gfx": 2, "pngcrush": 2, "python_moduleinto": [2, 5, 9, 14], "python_domodul": [2, 5, 9, 12, 14, 20], "make_wrapp": [2, 9], "python_get_sitedir": [2, 3, 8, 9], "part": [2, 3, 4, 5, 8, 9, 12, 13, 14, 15, 18, 21], "That": [2, 16, 21], "fortran_need": 2, "fortran": 2, "fortran_standard": 2, "90": [2, 14], "object": [2, 11, 16, 20], "chemic": 2, "kinet": 2, "thermodynam": 2, "transport": 2, "cantera": 2, "v": [2, 4, 5, 10, 13, 14], "pch": 2, "sundial": 2, "eigen": 2, "libfmt": 2, "cython": [2, 10, 14, 20], "2_pkg_setup": 2, "scons_var": 2, "cc_flag": 2, "cxx_flag": 2, "std": 2, "debug": 2, "getfc": 2, "fortranflag": 2, "optimize_flag": 2, "wno": 2, "inlin": [2, 7, 14], "renamed_shared_librari": 2, "use_pch": 2, "usex": [2, 5, 20], "system_fmt": 2, "system_sundi": 2, "system_eigen": 2, "env_var": 2, "extra_inc_dir": 2, "eigen3": 2, "scons_target": 2, "f90_interfac": 2, "n": [2, 16, 18], "python2_packag": 2, "none": [2, 5, 6, 16], "python3_packag": 2, "python3_cmd": 2, "els": [2, 8, 11, 16], "stage_dir": 2, "libdirnam": 2, "get_libdir": [2, 8], "python_optim": [2, 8, 9, 19], "deal": [2, 7, 8, 10, 15], "sens": 2, "plain": [2, 5, 6, 13], "loop": [2, 5, 18], "autom": 2, "pipelin": [2, 21], "poisson": 2, "boltzmann": 2, "electrostat": 2, "calcul": 2, "poissonboltzmann": 2, "apb": 2, "opal": 2, "openbabel": 2, "zsi": 2, "lang": [2, 8, 11, 12, 20], "swig": [2, 20], "src_prepar": [2, 3, 5, 8, 9, 14, 16, 18, 19], "f": [2, 9, 16], "pyc": [2, 9, 19], "o": [2, 5, 19], "pyo": [2, 9, 19], "delet": [2, 3, 14], "eappli": 2, "patch": [2, 4, 5, 6, 8, 11, 12, 19, 21], "eapply_us": 2, "rm": [2, 3, 5, 9], "rf": 2, "python_copy_sourc": [2, 14], "python_configur": 2, "cat": [2, 5], "build_dir": [2, 3, 9, 14, 21], "build_config": 2, "eof": [2, 5], "eprefix": [2, 5, 8, 9], "max_atom": 2, "10000": 2, "build_pdb2pka": 2, "rebuild_swig": 2, "run_in_build_dir": [2, 8, 14], "python_instal": [2, 3, 14], "cd": [2, 5, 9, 12, 21], "let": [2, 4, 8, 16, 20], "independ": [2, 4, 5, 6, 7, 14, 20], "separ": [2, 5, 6, 7, 8, 11, 14, 15, 16, 18, 21], "presum": 2, "manual": [2, 6, 10, 11, 12, 19], "wider": 2, "target": [2, 5, 8, 9, 11, 12, 15, 20], "rang": [2, 5, 12], "recommend": [2, 5, 7, 12, 13, 14, 15, 16, 18, 20, 21], "gp": [2, 8], "daemon": [2, 8], "usb": [2, 8], "serial": [2, 5, 8, 15], "devic": [2, 8], "map": [2, 5, 6, 8, 15, 18], "client": [2, 8, 9, 11, 14], "gpsd": [2, 8], "mirror": [2, 4, 5, 6, 8, 14, 20, 21], "nongnu": [2, 8], "24": [2, 8, 18, 21], "misc": [2, 8], "pp": [2, 8], "20120407": [2, 8], "myesconsarg": [2, 8], "libdir": [2, 8, 9], "udevdir": [2, 8], "get_udevdir": [2, 8], "chrpath": [2, 8], "gpsd_user": [2, 8], "gpsd_group": [2, 8], "uucp": [2, 8], "manbuild": [2, 8], "use_scon": [2, 8], "sconstruct": [2, 8], "py2": [2, 8, 21], "construct": [2, 4, 8, 20], "pkg_config": 2, "shlinkflag": 2, "destdir": [2, 8, 9, 19], "bundl": [2, 5, 12], "simpl": [2, 5, 7, 13, 14, 17], "impli": [2, 9, 11], "python_req_us": [2, 4, 5, 6, 8, 14, 20], "individu": [2, 5, 11, 18], "applic": [2, 9, 11], "had": 2, "instead": [2, 3, 5, 6, 7, 8, 9, 13, 14, 16, 18, 20, 21], "no_waf_libdir": 2, "ye": 2, "unit": 2, "framework": [2, 3, 5, 11, 17], "mrzechonek": 2, "tut": 2, "roughli": [2, 9, 11, 13], "ldap": 2, "ldb": 2, "samba": [2, 20], "ftp": [2, 20], "pub": 2, "elibc_freebsd": 2, "libbsd": 2, "popt": 2, "talloc": [2, 20], "tevent": 2, "9": [2, 5, 10, 12, 15, 19, 21], "31": [2, 15], "tdb": 2, "12": [2, 5, 8, 15, 16, 18, 19], "nd": 2, "openldap": 2, "libxslt": 2, "waf_binari": [2, 20], "buildtool": [2, 20], "filesdir": 2, "27": [2, 8], "optional_packag": 2, "myconf": [2, 8], "rpath": 2, "modulesdir": 2, "builtin": 2, "utils_src_configur": [2, 20], "tradition": 3, "python": [3, 6, 17, 18, 19, 21], "organ": 3, "subpackag": [3, 5], "locat": [3, 5], "parent": [3, 9], "directori": [3, 6, 9, 10, 11, 12, 13, 14, 16, 18, 19, 21], "submodul": 3, "repres": [3, 5], "attribut": [3, 10, 16], "session": [3, 21], "addnod": 3, "site": [3, 5, 6, 9, 11, 16, 18, 19, 21], "fine": [3, 5, 12, 16], "start": [3, 4, 5, 6, 11, 12, 15, 16, 21], "problemat": [3, 5, 6, 10, 18], "top": [3, 5, 9, 18], "level": [3, 5, 9, 11, 19, 21], "layout": [3, 6, 13], "wish": [3, 5, 6], "zope": 3, "share": [3, 5], "interfac": [3, 6, 11, 16], "event": [3, 11, 18], "depend": [3, 6, 7, 9, 10, 11, 12, 13, 15, 16, 17], "far": [3, 12, 20], "concern": 3, "entir": [3, 5, 9, 10, 12, 13, 14, 21], "doabl": 3, "real": [3, 18, 19, 21], "we": [3, 4, 6, 8, 11, 12, 14, 15, 17, 19], "freshli": 3, "build": [3, 9, 10, 11, 15, 16, 19, 21], "abl": [3, 15], "tmp": [3, 5, 9, 18, 19, 21], "portag": [3, 5, 8, 10, 12, 14, 15, 18, 21], "python3_8": 3, "traceback": [3, 5, 21], "last": [3, 5, 16], "stdin": 3, "modulenotfounderror": 3, "No": [3, 5], "now": [3, 5, 6, 8, 13, 14, 21], "around": [3, 5, 6, 11, 12, 21], "back": [3, 6, 16], "better": [3, 6, 11, 12, 13, 14, 19], "solut": [3, 5, 15, 16, 19, 21], "unlik": [3, 5, 6, 11, 15], "tradit": 3, "act": 3, "proxi": [3, 14], "strictli": [3, 5, 6, 15, 21], "bound": [3, 11, 16], "permit": [3, 4, 5, 6, 11, 15], "load": [3, 7, 9, 16, 18, 19, 21], "search": [3, 10, 15, 21], "method": [3, 5, 11, 13, 16, 18, 21], "420": 3, "newer": [3, 4, 5, 6, 11, 15, 16, 19], "pkgutil": 3, "standard": [3, 4, 6, 7, 9, 10, 11, 14, 16, 21], "discourag": [3, 6], "earlier": [3, 13], "ignor": [3, 4, 5, 8, 15, 18, 21], "did": [3, 13, 16, 21], "within": [3, 5, 6, 12, 17, 21], "content": [3, 5, 7], "__path__": 3, "__import__": 3, "extend_path": 3, "__name__": 3, "pkg_resourc": [3, 6], "declare_namespac": 3, "altern": [3, 5, 6, 8, 10, 16, 17, 21], "pth": 3, "automat": [3, 4, 5, 6, 10, 12, 19], "inject": [3, 5, 20], "portabl": 3, "topic": [3, 17], "exact": [3, 5, 11, 20], "detect": [3, 5, 9, 15, 21], "recogn": [3, 5, 15, 16], "lack": [3, 9, 21], "action": [3, 5, 15], "distinguish": [3, 5, 13], "veri": [3, 4, 5, 6, 9, 11, 15, 17], "through": [3, 4, 5, 6, 8, 11, 16, 18, 21], "suspici": 3, "less": [3, 15, 21], "ruamel": 3, "miss": [3, 4, 5, 6, 9, 10, 11, 12, 13, 15, 17, 18, 19], "learn": 3, "about": [3, 6, 13, 15], "collis": [3, 5, 21], "namespace_packag": 3, "per": [3, 5], "remov": [3, 4, 5, 6, 11, 12, 13, 14, 15, 18, 19, 21], "tree": [3, 5, 13, 21], "after": [3, 5, 6, 9, 11, 12, 13, 16, 19], "python_compil": 3, "r1_python_compil": [3, 5], "jaraco": [3, 5, 12, 18], "equival": [3, 6, 8, 9, 13], "r1_python_instal": [3, 5], "python_install_al": [3, 5], "r1_python_install_al": [3, 5], "explicit": [3, 4, 5, 6, 20, 21], "rdep": 3, "sed": [3, 5, 8, 14, 15, 18, 21], "r1_src_prepar": [3, 5, 18], "histor": [3, 5, 6, 11, 13, 16, 19], "process": [3, 5, 7, 12, 16, 19, 20], "retir": 3, "major": [4, 5, 6, 11, 15, 21], "avail": [4, 5, 6, 8, 11, 13, 15, 16, 17], "sqlite3": 4, "sqlite": [4, 8], "xdg": 4, "music": 4, "lollypop": 4, "adishatz": 4, "syntax": [4, 10, 11, 15, 19], "lightweight": [4, 5], "password": 4, "backend": [4, 10, 12, 13], "pwman3": 4, "mysql": [4, 14], "postgr": 4, "fulli": [4, 5, 7, 11], "solv": [4, 17], "python_gen_impl_dep": 4, "helper": [4, 5, 7, 10, 14, 20, 21], "2_7": [4, 5], "3_": 4, "travel": 4, "spulec": 4, "freezegun": [4, 18, 21], "pypi": [4, 5, 6, 8, 10, 11, 13], "dateutil": 4, "six": [4, 5, 8], "nose": [4, 5, 21], "distutils_enable_test": [4, 13, 18, 21], "ll": [4, 14], "backport": [4, 6, 10, 12], "zero": [4, 15], "argument": [4, 6, 10, 13, 16, 21], "output": [4, 5, 6, 9, 16, 19, 21], "everi": [4, 5, 6, 8, 11, 14, 15, 16], "escap": [4, 13, 20], "quot": [4, 20], "partial": [4, 5, 9, 10, 13], "python_single_usedep": [4, 5, 13, 20], "cli": [4, 5], "black": 4, "click": 4, "fnmatch": 4, "style": [4, 5, 13, 16, 17, 18, 21], "wildcard": 4, "stdlib": [4, 13, 16], "rememb": [4, 12], "pattern": [4, 12, 13, 20], "prevent": [4, 10, 11, 20, 21], "filenam": [4, 5], "expans": 4, "expand": 4, "zoneinfo": 4, "advantag": [4, 5, 7, 18, 21], "adjust": [4, 9, 11, 16], "switch": [4, 7, 9, 11, 12, 13, 21], "list": [4, 5, 8, 12, 13, 18, 19], "longer": [4, 5, 6, 11, 13], "silent": 4, "updat": [4, 6, 9, 11, 12, 16], "immedi": [4, 5, 20], "becam": [4, 11], "empti": [4, 5], "importlib_metadata": [4, 5, 6, 15], "python3_7": [4, 8], "facilit": [5, 9], "deriv": [5, 6], "notabl": [5, 16], "effici": [5, 15], "oper": [5, 11, 17], "backward": [5, 11, 16], "incompat": [5, 6, 11, 16, 18, 21], "greater": [5, 7], "number": [5, 7, 12, 15, 18], "cost": [5, 11], "flexibl": [5, 7], "wheel": [5, 11, 12, 15, 18], "zip": [5, 6], "stage": [5, 11, 19, 21], "compil": [5, 6, 10, 11, 21], "mere": [5, 7], "imag": [5, 9, 19], "compliant": [5, 7], "invok": [5, 18, 21], "popul": [5, 15], "addition": [5, 9, 11, 14], "pyproject2setuppi": [5, 6, 13], "hack": [5, 6, 7, 13], "reli": [5, 6, 11, 21], "distutils_use_pep517": [5, 13], "legal": 5, "unset": [5, 6], "By": [5, 6, 11], "2022": [5, 13, 18], "xml": [5, 6], "feel": [5, 15], "json": 5, "martinblech": 5, "xmltodict": 5, "mit": [5, 6], "vast": 5, "index": [5, 10], "sdist": [5, 15, 21], "binari": [5, 9, 12, 16], "mechan": [5, 7, 11], "over": [5, 7, 11, 12, 18, 20, 21], "offici": 5, "instanc": [5, 13, 16], "nonfunct": 5, "append": [5, 14, 15], "uniqu": [5, 14], "suffix": [5, 15, 19], "gh": [5, 21], "request": [5, 8, 10, 15], "distfil": [5, 16, 20], "clearli": [5, 19, 21], "tarbal": [5, 12, 21], "textual": 5, "rich": 5, "implic": 5, "cf": [5, 12], "regener": [5, 12], "anywai": [5, 16], "nevertheless": 5, "even": [5, 8, 9, 11, 18, 21], "pregener": 5, "internet": [5, 10, 18], "nodej": 5, "underli": [5, 6, 7], "txt": [5, 6, 12, 18], "ci": [5, 21], "travi": 5, "yml": 5, "grep": 5, "statement": [5, 19], "indirect": 5, "relev": [5, 6, 13, 17, 18, 21], "unnecessarili": 5, "logic": [5, 6, 12], "long": [5, 11, 12], "quickli": 5, "widest": 5, "avoid": [5, 6, 8, 10, 15, 16, 17, 21], "unpredict": 5, "who": [5, 17], "especi": [5, 7, 18, 19, 21], "distutils_single_impl": [5, 7], "aim": [5, 11, 15, 17, 19], "exist": [5, 10, 11, 12, 16, 19], "rewritten": [5, 20], "layer": [5, 14], "pyroot": 5, "rootpi": 5, "physic": [5, 20], "root_numpi": 5, "pytabl": 5, "termcolor": 5, "determin": [5, 6, 7, 11, 20, 21], "flit_cor": [5, 12], "maintain": [5, 10, 11, 12, 16, 18], "suggest": [5, 8, 13, 17, 18, 21], "tabl": [5, 13, 16, 18], "summar": [5, 16], "use_pep517": 5, "hatchl": 5, "jupyt": 5, "jupyter_packag": 5, "build_api": 5, "maturin": 5, "mesonpi": 5, "see": [5, 9, 16, 18, 21], "below": [5, 8], "pbr": [5, 6], "pdm": [5, 13], "pep517": [5, 19], "sip": [5, 8, 15], "sipbuild": 5, "standalon": [5, 12], "itself": [5, 6, 8, 9, 12, 18], "own": [5, 21], "Their": [5, 6, 9], "fix": [5, 6, 10, 11, 12, 15, 16, 18, 19, 21], "produc": [5, 12, 15], "ident": 5, "artifact": 5, "reduc": 5, "footprint": 5, "isol": 5, "faster": 5, "poetry_cor": 5, "smaller": 5, "40": [5, 12], "incorrect": [5, 6, 19], "intend": [5, 16, 21], "implicit": [5, 14, 21], "fallback": [5, 6], "regular": [5, 7, 21], "pleas": [5, 6, 8, 9, 12, 15, 16, 18, 19, 20, 21], "alwai": [5, 6, 8, 11, 13, 16, 17, 19], "unfortun": [5, 13, 15, 16, 18, 21], "due": [5, 10, 12, 14, 18], "prolong": 5, "larg": [5, 12, 15, 18], "tend": 5, "mistak": [5, 15], "checkout": [5, 12, 21], "abil": [5, 6], "tag": [5, 12, 21], "execut": [5, 6, 7, 9, 11, 12, 13, 14, 21], "143": 5, "_install_setup_requir": 5, "attr": [5, 12], "131": 5, "dist": 5, "dict": [5, 20], "425": 5, "_distribut": 5, "self": [5, 16, 18, 21], "292": 5, "finalize_opt": 5, "717": 5, "ep": 5, "48": 5, "infer_vers": 5, "_get_vers": 5, "config": [5, 9, 12], "148": 5, "parsed_vers": 5, "_do_pars": 5, "110": 5, "rais": [5, 16], "lookuperror": 5, "scm": 5, "unabl": [5, 15, 21], "sure": [5, 18, 21], "re": [5, 8, 15, 21], "intact": 5, "git": [5, 12, 21], "folder": 5, "don": [5, 13], "t": [5, 7, 8, 11, 13, 21], "pip": [5, 12, 21], "proj": 5, "master": [5, 21], "egg": [5, 6, 18], "setuptools_scm_pretend_vers": 5, "static": [5, 8], "write": [5, 6, 7, 12, 16, 17, 19], "hybrid": [5, 10], "expos": [5, 6], "guarante": [5, 6, 10], "taken": [5, 16, 21], "ship": [5, 19], "issu": [5, 6, 13, 15, 16, 18, 21], "forc": [4, 5, 6, 8, 9, 12, 13, 18, 21], "frobnic": 5, "makefil": [5, 14], "jq": 5, "pyx": 5, "unresolv": 5, "regard": 5, "simultan": [5, 11, 17, 21], "link": [5, 7, 9, 16], "editor": 5, "broken": [5, 6, 18, 21], "cryptic": 5, "revers": [5, 7, 12, 15], "miscompil": 5, "panda": 5, "breakag": [5, 21], "dask": [5, 18], "29": 5, "_lib": 5, "hashtabl": 5, "_hashtabl": 5, "tslib": 5, "_tslib": 5, "13": [5, 15, 18, 21], "interv": 5, "init": 5, "30": [5, 11], "convers": [5, 6], "outofboundstimedelta": 5, "localize_pydatetim": 5, "importerror": [5, 6, 10, 11, 16], "38": [5, 19], "x86_64": 5, "undefin": 5, "symbol": 5, "pandas_datetime_to_datetimestruct": 5, "easiest": [5, 15, 20], "workaround": [5, 19], "j1": 5, "origin": [5, 9, 11, 12, 16], "overrid": [5, 9, 14, 21], "extend": [5, 11], "introduc": [5, 11], "src_": 5, "python_": [5, 8], "_all": [5, 8], "compris": 5, "behav": [5, 8], "r1_": 5, "correspond": [5, 11, 12], "python_prepare_al": [5, 18], "each": [5, 6, 7, 11, 14], "foreach": 5, "python_configure_al": 5, "python_compile_al": [5, 8], "python_test_al": 5, "dedic": [5, 6, 14], "chang": [5, 6, 8, 9, 10, 11, 13, 14, 15, 19, 21], "task": [5, 8, 12], "default_src_prepar": 5, "ez_setup": 5, "bootstrap": [5, 6, 10], "end": [5, 6, 7, 9, 11, 14, 18, 21], "dir": [5, 14], "extran": 5, "fixm": 5, "test_pytest_plugin": 5, "test_testcase_no_app": 5, "_": [5, 12, 21], "test_test_util": 5, "pointless": 5, "cov": [5, 18], "addopt": 5, "aiohttp": [5, 18], "r1_python_prepare_al": [5, 18], "duplic": [5, 14, 21], "moment": [5, 11, 13, 15], "modif": 5, "keep": [5, 15, 17], "why": [5, 6, 21], "console_script": [5, 6], "configur": [5, 6, 8, 13, 14, 21], "step": [5, 6, 7, 8, 14], "esetup": [5, 8], "mpi": 5, "distutils_arg": [5, 13], "resourcepath": 5, "compress": 5, "manpag": 5, "distutils_enable_sphinx": [5, 8], "emak": [5, 8, 9], "strongli": [5, 6, 15], "encourag": [5, 15], "testbitvector": 5, "redefin": [5, 18], "too": [5, 11, 21], "collada": 5, "einstalldoc": [5, 8, 14], "docinto": 5, "sample_cod": 5, "docompress": 5, "pf": 5, "main": [5, 9], "manipul": [5, 21], "arrai": 5, "futur": [5, 15], "pillow": 5, "build_ext": [5, 6, 21], "tiff": 5, "webp": 5, "dash": 5, "underscor": [5, 21], "boolean": 5, "disable_tiff": 5, "enable_tiff": 5, "disable_webp": 5, "enable_webp": 5, "modifi": [5, 6, 11, 15, 19, 21], "beforehand": 5, "econf": [5, 20], "paremet": 5, "find_packag": 5, "wrongli": [5, 16, 21], "grab": [5, 13], "attempt": [5, 16, 19, 21], "forbidden": 5, "exclud": 5, "paramet": [5, 8, 16], "properli": [5, 6, 13], "intermedi": 5, "minim": [5, 11, 15, 16], "precis": [5, 8, 9], "catch": [5, 19], "earli": [5, 7, 8, 12], "anywher": 5, "first": [5, 6, 10, 11, 12, 15, 16, 18, 19, 21], "easi": [5, 16, 19, 21], "whitelist": 5, "sanit": [5, 11, 16], "mozilla": 5, "bleach": 5, "webencod": 5, "unittest": [5, 11, 21], "discoveri": [5, 18, 21], "univers": 5, "encod": [5, 16], "detector": 5, "chardet": [5, 8], "cygwin": [5, 6], "hypothesi": [5, 21], "bottom": 5, "venv": [5, 6, 13], "temporari": [5, 6], "frequent": [5, 18], "littl": [5, 6, 18], "skip": [4, 5, 8, 10, 12, 16, 19], "those": [5, 6, 8, 9, 18, 21], "how": [5, 21], "statist": 5, "want": [5, 6, 8], "across": [5, 11], "irrelev": [5, 21], "pep8": 5, "pycodestyl": 5, "flake8": [5, 18], "thin": [5, 6], "alreadi": [5, 9, 12, 14, 15, 16, 19], "close": 5, "pre": 5, "post": [5, 6, 13, 15], "easili": [5, 14, 18, 21], "r1_src_test": 5, "cmd": 5, "cmd2": 5, "colorama": 5, "pyperclip": 5, "wcwidth": 5, "text": [5, 8, 16], "column": 5, "80": 5, "fact": [5, 21], "simpli": [5, 15, 16, 17, 21], "3_6": [5, 14], "3_7": [5, 14], "3_8": 5, "tab": [5, 15], "argpars": 5, "argcomplet": 5, "fish": 5, "tcsh": 5, "rel": [5, 18, 21], "epytest": [4, 5, 6, 8, 12, 18, 21], "network": [5, 6, 18, 21], "marker": [5, 10], "m": [5, 15, 18, 19, 21], "displai": 5, "appeas": 5, "usng": 5, "xvfb": 5, "server": [5, 21], "virtx": 5, "nonfat": 5, "termin": [5, 21], "context": [5, 20], "come": [5, 13, 18], "theme": [5, 6, 8], "hard": [5, 8, 12], "To": [5, 6, 8, 9, 12, 16, 18, 19, 20], "conf": [5, 6, 19], "ext": 5, "distutils_use_setuptool": [5, 13], "color": 5, "stream": 5, "handler": 5, "log": [5, 19], "coloredlog": 5, "xolox": 5, "readthedoc": 5, "en": 5, "latest": [5, 15], "humanfriendli": 5, "expert": [5, 10, 14, 21], "uncommon": 5, "third": [5, 7, 13, 19], "parti": 5, "inflect": 5, "word": 5, "jazzband": 5, "rst": 5, "linker": [5, 9], "alabast": [5, 6], "python_target": [5, 7, 8, 11, 12], "inspect": 5, "omit": [5, 15, 16], "port": [5, 8, 10], "pyseri": 5, "psf": 5, "tri": 5, "been": [5, 6, 8, 11, 12, 13, 14, 16, 18, 19], "assumpt": 5, "consum": [5, 6, 21], "distutils_opt": 5, "alter": [5, 18], "distutils_dep": 5, "dependneci": 5, "r1_src_compil": 5, "r1_src_instal": 5, "primari": [5, 18], "alongsid": [5, 6], "libfoo": 5, "r1_src_configur": [], "setuptools_rust": 5, "ecosystem": [5, 15, 17], "bump": [5, 12, 15], "lock": 5, "Then": 12, "crate": 5, "cargo_opt": 5, "url": [5, 11, 16], "cargo_crate_uri": 5, "qa_flags_ignor": 5, "posit": [5, 15], "cflag": [5, 9, 21], "cargo_src_unpack": 5, "inflector": 5, "alias": [5, 16], "asn1": 5, "asn1_der": 5, "_rust": 5, "src_unpack": 5, "benefit": [5, 7], "yet": [5, 8, 11, 20], "cyclic": 5, "suppos": [5, 16], "overlap": 5, "machineri": 5, "op": 5, "unless": [5, 6, 8, 15], "merg": [4, 5], "toward": 5, "effect": [5, 8, 11, 19], "pick": [5, 12], "up": [5, 6, 9, 11, 13, 14, 15, 17, 18, 19, 21], "hukkin": 5, "tomli": [5, 12, 15], "pythonhost": 5, "py3": [5, 18], "whl": 5, "unzip": 5, "deliber": 5, "unpack": 5, "gpep517": [5, 19], "python_newscript": [5, 9], "__main__": [5, 21], "exit": [5, 16, 19, 21], "fragment": [5, 16], "emesonarg": 5, "dlint": 5, "meson_src_configur": 5, "meson_src_compil": 5, "meson_src_test": 5, "meson_src_instal": 5, "here": [6, 8, 14, 20], "direct": [6, 14], "convert": [6, 8, 13], "facil": 6, "right": [6, 7], "fit": [6, 21], "profil": [4, 6, 15], "pyproject2toml": 6, "misbehav": 6, "subsequ": 6, "qa": [6, 9, 10, 17], "expect": [6, 11, 16, 18, 19, 21], "sidebar": 6, "bitprophet": 6, "possibli": [6, 21], "snippet": [6, 16, 19], "except": [6, 7, 9, 11, 12, 16], "pm": 6, "cleanli": [6, 12], "condit": [6, 10, 12, 18, 21], "leav": 6, "never": [6, 11, 13, 16], "clean": [6, 11, 13], "requier": 6, "With": [6, 21], "themselv": [6, 18, 19, 21], "entry_point": [6, 18], "dictionari": [6, 20], "our": [6, 18, 21], "interest": [6, 8, 21], "gui_script": 6, "meaning": 6, "importlib": [6, 11, 21], "fall": [6, 16], "remind": 6, "distutils_strict_entry_point": 6, "trigger": [6, 18, 19, 21], "wrong": [6, 13, 15], "leftov": 6, "resourc": [6, 11, 12, 19], "submit": [6, 19], "suppli": 6, "heavi": 6, "speak": [6, 11], "known": [6, 16, 21], "limit": [6, 12, 15, 17], "address": [6, 11, 16], "definit": 6, "subdirectori": [6, 9], "interspers": [6, 19], "closest": 6, "inplac": 6, "shift": [6, 11], "throughout": 6, "2to3": 6, "distutils_in_source_build": 6, "collect": [6, 18, 21], "pypa": 6, "riscv": [6, 8, 20], "pythonpath": [6, 21], "distutils_install_for_test": [6, 13, 18, 21], "alik": [6, 7, 11, 13], "preserv": [6, 11, 16], "extrem": 6, "home": [6, 12, 13], "went": 6, "awai": [6, 7], "python_test": [4, 6, 8, 9, 12, 18, 21], "total": 7, "rare": [7, 9, 18, 21], "simpler": 7, "complex": [7, 16, 20], "primarili": [7, 11], "involv": [7, 8, 13], "graph": [7, 11, 12], "meet": 7, "potenti": [7, 11, 15, 16, 18], "basi": 7, "occur": [7, 11, 18], "libpython": [7, 11, 16], "aforement": [7, 13, 16], "foo": [7, 16], "wise": 7, "abstract": [7, 14], "scon": [7, 8, 10, 19], "second": [7, 13, 19], "easier": [7, 19], "select": [7, 8, 18, 20], "allow": [7, 21], "repeat": [7, 14, 15, 19], "model": 7, "libboost_python": 7, "python_single_target": [7, 11, 12], "Its": [7, 12], "legaci": [7, 10, 13, 16], "power": 8, "harder": 8, "ninja": [8, 15], "train": 8, "opposit": [8, 11, 13], "investig": 8, "human": 8, "beings": 8, "socks5": 8, "ssl": 8, "certifi": [8, 15], "2017": 8, "17": 8, "idna": 8, "urllib3": [8, 12], "26": 8, "pysock": 8, "cryptographi": [8, 15], "pyopenssl": 8, "14": [8, 21], "httpbin": [8, 18], "hang": 8, "continu": [8, 12, 21], "python_gen_useflag": 8, "out": [8, 9, 10, 11, 12, 13, 14, 15, 16], "toolkit": 8, "translat": 8, "format": [8, 12, 15, 16], "subtitl": 8, "pydiff": 8, "iso": 8, "lxml": 8, "pycountri": 8, "18": 8, "levenshtein": 8, "devel": 8, "gettext": 8, "video": 8, "gaupol": 8, "riverbankcomput": 8, "intro": 8, "sip_api_major_nr": 8, "siplib": 8, "h": [8, 9, 20], "bison": 8, "flex": 8, "prepar": [8, 9, 20], "bindir": 8, "incdir": 8, "python_get_includedir": [8, 9, 13], "echo": [8, 19], "distutils_all_subphase_impl": 8, "python3_5": 8, "bzip2": 8, "epydoc": 8, "eselect": 8, "elibc_glibc": 8, "sandbox": [8, 19, 21], "kernel_linux": 8, "pax": 8, "rsync": 8, "userland_gnu": 8, "coreutil": 8, "sphinx_rtd_them": 8, "practic": [8, 11, 12], "big": 8, "imagin": 8, "anymor": [8, 11], "downgrad": 8, "though": [8, 11], "resembl": [8, 18], "presenc": [8, 18], "activ": [8, 17], "behavior": [8, 11, 16], "goal": [8, 12, 21], "side": [8, 11], "someth": [8, 9, 21], "accord": 8, "integr": [8, 9, 10, 11], "won": 8, "reject": [8, 15, 16], "unsupport": [8, 11], "python_is_python3": [8, 13], "basic": [9, 10, 21], "reus": 9, "four": [9, 13, 20], "python_doex": 9, "python_newex": 9, "python_doscript": [9, 14, 20], "recurs": [9, 15, 18], "python_dohead": 9, "python_scriptinto": 9, "affect": [9, 11, 14], "symlink": 9, "onto": 9, "improv": [9, 10, 11, 17], "cropgtk": 9, "sbin": 9, "pynslcd": 9, "anyth": 9, "land": 9, "my_pn": 9, "doin": 9, "libimag": 9, "env": [9, 12], "python_fix_shebang": 9, "sphinxtrain": 9, "openvpn": 9, "vulnkei": 9, "insinto": 9, "kitti": 9, "speed": 9, "nowadai": [9, 12, 13], "pypy2": [9, 11], "_feedparser_sgmllib": 9, "lib64": 9, "byte_compil": 9, "cmake_src_instal": 9, "entropi": 9, "ocassion": 9, "bad": [9, 16], "seri": 9, "getter": [9, 13, 16], "python_get_scriptdir": 9, "python_get_library_path": [9, 13], "python_get_cflag": 9, "preprocessor": 9, "pkg": 9, "python_get_lib": 9, "python_get_python_config": 9, "offset": 9, "mycmakearg": [9, 13, 20], "dpython_dest": 9, "dpython_execut": 9, "dpython_include_dir": 9, "dpython_librari": 9, "cmake_src_configur": [9, 20], "pyinc": 9, "pylib": 9, "micha\u0142": 10, "g\u00f3rny": 10, "creativ": 10, "intern": 10, "prefac": 10, "life": 10, "cycl": [10, 12], "stabil": 10, "choos": [10, 11, 14], "overview": 10, "variant": [10, 11, 16, 18], "flit_scm": 10, "hatch": 10, "vc": [10, 21], "snapshot": [10, 21], "parallel": 10, "race": 10, "command": [10, 14, 15, 18, 19], "usag": 10, "rust": 10, "cargo": 10, "variat": 10, "byte": [10, 16], "queri": [10, 16], "advanc": 10, "cffi": 10, "greenlet": [10, 18], "checklist": 10, "abort": 10, "assert": [10, 19], "recip": 10, "xdist": [10, 12, 21], "autoload": 10, "typeerror": 10, "_make_test_flaki": 10, "got": [10, 13], "unexpect": 10, "rerun": 10, "importpathmismatcherror": 10, "fixtur": [10, 12], "namespac": [10, 18], "disjoint": 10, "waf": [10, 20], "tip": [10, 21], "retroact": 10, "migrat": 10, "bytecod": 10, "relat": [10, 12, 13, 21], "mainten": 10, "co": [10, 21], "monitor": [10, 19], "routin": [10, 14], "page": [10, 16, 17], "increment": 11, "minor": [11, 21], "plan": 11, "On": 11, "hand": [11, 13], "platform": [11, 16, 21], "linux_distribut": 11, "window": 11, "understood": 11, "initi": [11, 21], "enter": 11, "stabl": [11, 12, 15], "prematur": [11, 15], "mask": [4, 11, 12, 15], "beta": 11, "made": [11, 13, 14, 16, 20], "regress": 11, "readi": [11, 12, 15], "dai": 11, "inconsist": [11, 21], "mark": [11, 15, 18, 21], "architectur": [4, 11], "clear": [11, 15], "depenend": 11, "repeatedli": 11, "ask": [11, 15], "push": [11, 12], "forward": 11, "eventu": [11, 12], "becom": [11, 16], "slowli": [11, 15], "discontinu": 11, "next": [11, 12, 15, 18], "june": 11, "juli": 11, "year": 11, "predict": [11, 20], "nears": 11, "great": 11, "obsolet": [11, 13], "feasibl": [4, 11, 15], "vulner": 11, "break": [11, 15, 16], "revert": 11, "enum": 11, "urlsplit": 11, "secur": [11, 12], "abi": 11, "bugfix": 11, "occasion": 11, "remain": [4, 11, 13], "contrari": [11, 16], "hold": [11, 16], "subslot": 11, "fortun": 11, "late": 11, "hous": 11, "rpython": 11, "lot": [11, 15], "good": [11, 17, 18, 21], "gc": 11, "jython": 11, "java": 11, "stand": 11, "alon": 11, "bidirect": 11, "interact": 11, "slow": 11, "pace": 11, "ironpython": 11, "brython": 11, "web": 11, "javascript": 11, "dom": 11, "micropython": 11, "microcontrol": 11, "down": 11, "hardwar": 11, "tauthon": 11, "accompani": 11, "nor": [11, 17, 19], "ideal": [11, 15, 21], "funcsig": 11, "signatur": [11, 16], "afterward": [11, 14, 15], "later": 11, "lzma": 11, "compet": 11, "amount": [11, 12, 21], "ipaddress": 11, "drop": [11, 16], "box": [11, 13], "hexvers": [11, 21], "0x03030000": 11, "trolliu": 11, "asyncio": [11, 18, 21], "nativ": 11, "workflow": 12, "clone": 12, "remot": [12, 21], "fetch": 12, "rebas": 12, "v3": 12, "cherri": 12, "upload": 12, "mkdir": 12, "scp": 12, "precompil": [12, 19], "unusu": 12, "structur": [12, 21], "ex": 12, "technic": 12, "docker": 12, "binpkg": 12, "diff": 12, "mgorni": 12, "desc": 12, "_python_all_impl": 12, "_python_verify_pattern": 12, "_python_set_impl": 12, "_python_impl_match": 12, "python_pkg_dep": 12, "gpyutil": [12, 15], "circular": 12, "eas": [12, 15], "temporarili": [12, 13], "python3_11": 12, "20": 12, "pwd": 12, "round": 12, "signific": [4, 12, 18], "remaind": 12, "pydant": 12, "epytest_deselect": [4, 12, 18], "test_comparison": 12, "test_close_to_now_": 12, "lenient": 12, "deselect": [4, 12, 18, 21], "unblock": 12, "100": 12, "emerg": [12, 19], "previous": 12, "reinstal": 12, "batch": [12, 19], "focus": 12, "reenabl": [12, 18], "face": [12, 21], "goe": [12, 21], "unbundl": 12, "obligatori": [12, 15], "baselin": 12, "ones": 12, "chosen": 12, "fewest": 12, "vendor": [12, 13], "februari": 13, "gross": 13, "serv": 13, "placehold": 13, "transit": [13, 15], "period": [13, 15], "ban": 13, "python_multi_usedep": 13, "know": [13, 16, 21], "given": 13, "repoman": 13, "pkgcheck": 13, "tell": 13, "chose": 13, "reorder": 13, "desir": [13, 16, 21], "scan": 13, "unmatch": 13, "trial": 13, "stuff": 13, "thing": [13, 17, 18], "privat": 13, "python_export": 13, "python_wrapper_setup": 13, "python_gen_usedep": 13, "mydistutilsarg": 13, "renam": [13, 16, 19], "cleanup": 13, "python_gen": 13, "march": 13, "python_get": 13, "python_includedir": 13, "python_libpath": 13, "dpython3_include_dir": 13, "dpython3_librari": 13, "sundri": 13, "stop": [13, 16], "realli": [13, 15, 18, 21], "ugli": 13, "sole": 13, "uppercas": [13, 16], "fourth": 13, "cruft": 13, "short": [13, 18], "evalu": 13, "januari": 13, "safe": 13, "streamlin": 13, "inde": 13, "foundat": 14, "fionet": 14, "psql": 14, "cach": 14, "sourceforg": [14, 20], "replic": 14, "tgz": 14, "libcangji": 14, "cangjian": 14, "i18n": 14, "eautoreconf": [14, 16], "econf_sourc": 14, "la": 14, "multibuild": 14, "unnecessari": [14, 15, 20, 21], "libtool": 14, "buggi": 14, "canva": 14, "widget": 14, "gtk": 14, "cairo": 14, "2d": 14, "draw": 14, "goocanva": 14, "subdir": 14, "am": 14, "gnome2_src_prepar": 14, "gnome2_src_configur": 14, "gnome2_src_instal": 14, "sub_instal": 14, "gi": 14, "_overridesdir": 14, "outsid": [14, 20], "qemu": 14, "kernel": 14, "machin": [14, 19], "userland": 14, "kvm": 14, "qemu_python_instal": 14, "vmxcap": 14, "qmp": 14, "ga": 14, "reach": 15, "eol": [15, 16], "proactiv": 15, "anticip": 15, "soon": 15, "wide": [15, 21], "revis": 15, "newli": 15, "risk": 15, "team": 15, "manpow": 15, "member": 15, "u": 15, "gemato": 15, "carri": 15, "histori": 15, "rss": 15, "comprehens": 15, "opml": 15, "followup": 15, "track": 15, "mail": 15, "suscept": 15, "confus": [15, 18], "sync": [15, 18], "conflict": 15, "cx": 15, "freez": 15, "patchelf": 15, "openapi": 15, "spec": [15, 16], "60": 15, "59": 15, "62": 15, "pin": 15, "httpcore": 15, "15": 15, "httpx": 15, "23": [15, 21], "sphobjinv": 15, "28": 15, "date": [15, 17, 19, 21], "pend": 15, "pip3": 15, "dirti": 15, "equal": [15, 21], "filetyp": 15, "mercuri": 15, "node": 15, "semver": 15, "pyqt": 15, "builder": 15, "pyqt5": 15, "pyqtwebengin": 15, "rout": 15, "dev20220522": 15, "selenium": 15, "141": 15, "sphinxcontrib": 15, "websupport": 15, "dev20220515": 15, "uri": 15, "watchfil": 15, "watchgod": 15, "dev0": 15, "sign": 15, "tag_build": 15, "compar": [15, 16], "tempest": 15, "oslo": 15, "stestr": 15, "versioningit": 15, "wstool": 15, "think": 16, "ve": 16, "hit": 16, "me": 16, "18_p9": 16, "13_p3": 16, "10_p3": 16, "9_p2": 16, "4_p1": 16, "urllib": 16, "pars": 16, "exploit": 16, "verbatim": 16, "worm": 16, "danger": 16, "worst": [16, 21], "unpars": 16, "django": [16, 21], "pr": 16, "14349": 16, "impact": [16, 19], "urlpars": 16, "nurl": 16, "parseresult": 16, "scheme": 16, "netloc": 16, "param": [16, 18], "badurl": 16, "what": 16, "attributeerror": 16, "492": 16, "decor": [16, 21], "async": [16, 18], "def": [16, 18, 21], "yield": 16, "await": 16, "sleep": 16, "callabl": 16, "mostli": [16, 17], "getfullargspec": 16, "p1": 16, "p2": 16, "kp3": 16, "kp4": 16, "kp5": 16, "arg": 16, "kwarg": 16, "argspec": 16, "vararg": 16, "fullargspec": 16, "varkw": 16, "kwonlyarg": 16, "kwonlydefault": 16, "annot": 16, "tupl": 16, "int": 16, "str": 16, "float": 16, "k6": 16, "k7": 16, "k8": 16, "One": [16, 21], "prototyp": 16, "bar": 16, "pretti": 16, "stringif": 16, "automak": 16, "16": 16, "exec_prefix": 16, "met": 16, "pkg_config_path": 16, "python_cflag": 16, "python_lib": 16, "man": 16, "autoreconf": 16, "throw": 16, "get_python_inc": 16, "get_path": 16, "platinclud": 16, "get_python_lib": 16, "purelib": 16, "platlib": 16, "platstdlib": 16, "todai": 16, "encodebyt": 16, "decodebyt": 16, "ought": 16, "unicod": 16, "version_info": 16, "b64_encodebyt": 16, "b64encod": 16, "b64decod": 16, "insert": 16, "newlin": 16, "length": 16, "until": 16, "emb": 16, "lpython3": 16, "7m": 16, "among": 17, "beyond": 17, "reliabl": [17, 21], "deep": 17, "beginn": 17, "peopl": 17, "suboptim": 17, "improp": 17, "fill": 17, "gap": 17, "welcom": 17, "whole": [4, 18, 21], "parametr": 18, "epytest_ignor": 18, "test_client": 18, "test_gener": 18, "test_filenam": 18, "test_transport": 18, "test_transport_work": 18, "eventlet": 18, "test_contextvar": 18, "test_leak": 18, "might": 18, "intent": 18, "Not": 18, "collid": [18, 21], "instabl": 18, "unstabl": 18, "discret": 18, "decid": 18, "justifi": 18, "semi": 18, "random": 18, "multiprocess": 18, "finish": 18, "01": 18, "chanc": 18, "experienc": 18, "insuffici": 18, "nest": 18, "envvar": 18, "pytest_disable_plugin_autoload": 18, "pytest_plugin": 18, "comma": 18, "looponfail": 18, "pytest_fork": 18, "flaki": [18, 21], "rerunfailur": 18, "supposedli": 18, "twice": 18, "_pytest": [18, 21], "pathlib": [18, 21], "posixpath": 18, "signifi": 18, "event_loop": 18, "freezer": 18, "mocker": 18, "captur": [18, 21], "summari": 18, "asgiref": 18, "135": 18, "test_loc": 18, "test_sync": 18, "test_sync_contextvar": 18, "deprecationwarn": 18, "main_event_loop": 18, "get_event_loop": 18, "filterwarn": 18, "fatal": [18, 21], "_____________________": 18, "______________________": 18, "577": 18, "asgitest": 18, "testcas": 18, "583": 18, "test_wrapped_case_is_collect": 18, "interrupt": 18, "world": 18, "elog": 19, "portage_elog_class": 19, "optim": 19, "size": 19, "oo": 19, "docstr": 19, "store": 19, "disk": [19, 21], "permiss": 19, "uninstal": 19, "violat": 19, "auxiliari": 19, "readabl": [19, 21], "trimesh": 19, "__pycache__": 19, "blender_boolean": 19, "310": 19, "opt": 19, "notic": 19, "blueman": 19, "constant": 19, "deviceclass": 19, "sdp": 19, "tmpl": 19, "pair": 19, "docbook": 19, "35": 19, "36": 19, "plot": 20, "voacap": 20, "propag": 20, "qsl": 20, "hz1jw": 20, "pythonprop": 20, "basemap": 20, "gtk2": 20, "doubl": 20, "energi": 20, "yoda": 20, "hepforg": 20, "use_en": 20, "pyext": 20, "extra_opt": 20, "give": 20, "sound": 20, "signal": [20, 21], "composit": 20, "csound": 20, "fordfrog": 20, "dbuild_python_interfac": 20, "dbuild_python_opcod": 20, "superset": 20, "arab": 20, "arabey": 20, "duali": 20, "pyduali": 20, "dict2db": 20, "trans2arab": 20, "arabic2tran": 20, "domain": 21, "firstli": 21, "idea": 21, "nosetest": 21, "secondli": 21, "strict": 21, "thirdli": 21, "wholli": 21, "spew": 21, "seem": 21, "ceas": 21, "downstream": 21, "convinc": [4, 21], "preced": 21, "area": 21, "____________________": 21, "systemd": 21, "test_login": 21, "234": 21, "hint": 21, "578": 21, "_importtestmodul": 21, "mod": 21, "import_path": 21, "fspath": 21, "importmod": 21, "524": 21, "import_modul": 21, "module_nam": 21, "127": 21, "_bootstrap": 21, "_gcd_import": 21, "frozen": 21, "1014": 21, "991": 21, "_find_and_load": 21, "975": 21, "_find_and_load_unlock": 21, "671": 21, "_load_unlock": 21, "rewrit": 21, "170": 21, "exec_modul": 21, "__dict__": 21, "login": 21, "r2": 21, "discov": 21, "pyarg": 21, "guess": 21, "quick": 21, "mayb": 21, "eunittest": 21, "aris": 21, "confirm": 21, "whom": 21, "myself": 21, "subtl": 21, "lead": 21, "But": 21, "bewar": 21, "unexpectedli": 21, "test_start_params_bug": 21, "xfail": 21, "statsmodel": 21, "tsa": 21, "test_arima": 21, "horrend": 21, "space": 21, "mayhem": 21, "5a": 21, "test_null_byt": 21, "skipif": 21, "0x03000000": 21, "unconditioanlli": 21, "test_babel_with_language_": 21, "test_build_latex": 21, "test_polyglossia_with_language_": 21, "altogeth": 21, "replai": 21, "devmanu": 21, "explan": 21, "connect": 21, "pygit2": 21, "no_network": 21, "properti": 21, "test_network": 21, "allow_test": 21, "unclear": 21, "backtrac": 21, "pluggi": 21, "cachedir": 21, "pytest_cach": 21, "rootdir": 21, "var": 21, "sabyenc": 21, "configfil": 21, "item": 21, "test_decod": 21, "test_crc_pickl": 21, "54": 21, "test_empty_size_pickl": 21, "0x00007f748bc47740": 21, "testsupport": 21, "74": 21, "sabyenc3_wrapp": 21, "119": 21, "180": 21, "pytest_pyfunc_cal": 21, "caller": 21, "187": 21, "_multical": 21, "temp": 21, "2934": 21, "66": 21, "dump": [16, 21], "vv": 21, "34": 21, "timeout": 21, "25": 21, "sabyenc3": 21, "596": 21, "decode_usenet_chunk": 21, "pybytearray_check": 21, "pylist_getitem": 21, "py_input_list": 21, "lp": 21, "0x00007fb5db746740": 21, "73": 21, "117": 21, "87": 21, "lambda": 21, "runpi": 21, "85": 21, "_run_cod": 21, "193": 21, "_run_module_as_main": 21, "reproduc": 21, "ubuntu": 21, "dndebug": 21, "leak": 21, "o0": 21, "isort": 21, "distutils_pep517_instal": 21, "destin": 21, "cp": 21, "pushd": 21, "null": 21, "popd": 21, "novemb": 16, "tomllib": [], "w": [], "tomlkit": 16, "edit": 16, "wherea": 16, "input": 16, "tomldecodeerror": 16, "d1": 16, "in1": 16, "in2": 16, "d2": 16, "d3": 16, "rb": 16, "insist": 16, "incompatibilit": 16, "consider": 16, "tomli_w": 16, "wb": 16, "trustm": 4, "test_request": 4, "testrequest": 4, "test_https_warn": 4, "outer": 4, "tl": 4, "pull": 4, "python_vers": 16, "pycargoebuild": 5}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"python": [0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20], "ani": [0, 8], "r1": [0, 2, 5, 6, 7, 8, 13, 14, 20], "build": [0, 1, 2, 5, 6, 7, 8, 12, 13, 14, 20], "time": [0, 2, 7, 8, 14, 20], "depend": [0, 1, 2, 4, 5, 8, 14, 18, 20, 21], "basic": [0, 1, 5, 20], "us": [0, 2, 3, 4, 5, 6, 7, 8, 14, 18, 20], "uncondit": [0, 20], "condit": [0, 2, 4, 5, 14, 20], "addit": [0, 5, 14], "multipl": [0, 11, 20], "set": [0, 8], "common": [1, 9], "python_compat": 1, "python_dep": 1, "python_required_us": 1, "environ": [1, 21], "packag": [1, 2, 3, 4, 5, 6, 7, 12, 14, 15, 16, 20, 21], "The": [1, 5], "most": 1, "type": 1, "find": 1, "list": [1, 15, 16], "from": [1, 5, 13], "system": [1, 2, 5, 6, 12], "integr": [2, 5], "written": 2, "meson": 2, "scon": 2, "extra": [2, 21], "singl": [2, 5, 7, 13, 20], "impl": [2, 7, 14, 20], "instal": [2, 5, 6, 9, 14, 15, 20, 21], "pure": [2, 14], "multi": [2, 7, 14], "hybrid": [2, 20], "waf": 2, "advanc": [3, 4], "concept": [3, 6], "namespac": 3, "hierarch": 3, "structur": 3, "determin": 3, "whether": 3, "ar": [3, 19], "ad": [3, 5, 12, 15], "new": [3, 12, 15], "gentoo": [3, 10], "legaci": [3, 5, 6], "request": 4, "flag": 4, "interpret": [4, 8, 11, 12], "version": [4, 11, 15], "cffi": 4, "greenlet": 4, "distutil": [5, 6, 7, 8, 16], "standard": 5, "pep": [5, 13, 21], "517": [5, 13, 21], "mode": [5, 21], "sourc": [5, 6], "archiv": 5, "variant": 5, "deprec": [5, 16], "backend": 5, "flit": 5, "buildapi": 5, "poetri": 5, "masonri": 5, "api": [5, 8], "setuptool": [5, 6], "build_meta": 5, "__legacy__": 5, "setuptools_scm": 5, "flit_scm": 5, "hatch": 5, "vc": 5, "snapshot": 5, "cython": 5, "parallel": [5, 18], "race": 5, "sub": 5, "phase": 5, "function": [5, 9], "python_prepar": 5, "python_configur": 5, "python_compil": 5, "python_test": 5, "python_instal": 5, "pass": 5, "argument": [5, 18], "setup": 5, "py": 5, "call": 5, "custom": 5, "command": 5, "prevent": 5, "test": [4, 5, 6, 15, 18, 21], "directori": 5, "being": 5, "enabl": 5, "distutils_enable_test": 5, "more": 5, "befor": [5, 6], "run": [5, 18], "undesir": 5, "pytest": [5, 18], "virtualx": 5, "document": 5, "via": [5, 15], "sphinx": 5, "autodoc": 5, "extens": [5, 21], "without": [5, 16], "option": [4, 5], "usag": [5, 8], "rust": [4, 5], "cargo": 5, "manual": [5, 14, 20], "build_dir": 5, "d": 5, "non": 5, "differ": [6, 8], "variat": 6, "distutils_use_setuptool": 6, "entri": 6, "point": 6, "other": [6, 18], "runtim": [6, 7, 20], "pyproject": 6, "toml": [6, 16], "base": [6, 16, 18], "project": [6, 15], "In": 6, "v": [6, 7], "out": 6, "choos": [7, 21], "between": 7, "eclass": [7, 12], "overview": 7, "first": 7, "expert": [8, 18], "partial": 8, "restrict": 8, "implement": [8, 9, 11, 12, 15], "python_setup": 8, "disjoint": 8, "regular": 8, "combin": 8, "helper": 9, "fix": 9, "shebang": 9, "script": 9, "byte": [9, 19], "compil": [9, 19], "modul": [9, 19], "queri": 9, "inform": 9, "guid": [10, 13], "content": 10, "indic": 10, "tabl": 10, "life": 11, "cycl": 11, "stabil": 11, "guarante": 11, "altern": 11, "support": [11, 15], "backport": 11, "mainten": [12, 15], "note": 12, "specif": 12, "cpython": 12, "patchset": 12, "pypi": [12, 15, 21], "profil": 12, "chang": [12, 16], "port": [12, 15, 16], "initi": 12, "bootstrap": 12, "migrat": 13, "old": 13, "python_usedep": 13, "syntax": 13, "eapi": [13, 15], "7": 13, "8": [13, 16], "autotool": 14, "2": 15, "which": 15, "exist": 15, "can": 15, "co": 15, "maintain": 15, "monitor": 15, "releas": 15, "feed": 15, "check": [15, 19], "pip": 15, "repologi": 15, "routin": 15, "outdat": 15, "gpy": 15, "verifi": 15, "dep": 15, "tip": 16, "retroact": 16, "bpo43882": 16, "urlsplit": 16, "now": 16, "strip": 16, "lf": 16, "cr": 16, "ht": 16, "charact": 16, "3": 16, "11": 16, "gener": 16, "coroutin": 16, "remov": 16, "asyncio": 16, "inspect": 16, "getargspec": 16, "formatargspec": 16, "10": 16, "configur": 16, "No": 16, "1": 16, "found": [16, 18], "sysconfig": 16, "9": 16, "base64": 16, "encodestr": 16, "decodestr": 16, "config": 16, "pkg": 16, "longer": 16, "librari": 16, "default": 16, "prefac": 17, "recip": 18, "skip": [18, 21], "marker": 18, "path": 18, "name": 18, "avoid": 18, "runner": [18, 21], "xdist": 18, "plugin": 18, "explicitli": 18, "disabl": 18, "automat": 18, "autoload": 18, "entir": 18, "typeerror": 18, "_make_test_flaki": 18, "got": 18, "an": 18, "unexpect": 18, "keyword": 18, "rerun": 18, "importpathmismatcherror": 18, "fixtur": 18, "warn": [18, 19], "qa": 19, "improv": 19, "report": 19, "portag": 19, "bytecod": 19, "relat": 19, "strai": 19, "A": 20, "resolv": 21, "suit": [4, 21], "problem": 21, "correct": 21, "miss": 21, "file": 21, "importerror": 21, "c": 21, "checklist": 21, "deal": 21, "failur": 21, "problemat": 21, "requir": 21, "internet": 21, "access": 21, "abort": 21, "due": 21, "assert": 21, "awai": [], "introduct": [], "tomllib": 16, "tomli": 16, "fallback": 16, "w": 16, "replac": 16}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"python-any-r1 \u2014 build-time dependency": [[0, "python-any-r1-build-time-dependency"]], "Basic use for unconditional Python": [[0, "basic-use-for-unconditional-python"], [20, "basic-use-for-unconditional-python"]], "Dependencies": [[0, "dependencies"], [14, "dependencies"], [20, "dependencies"], [5, "dependencies"]], "Conditional Python use": [[0, "conditional-python-use"], [14, "conditional-python-use"], [20, "conditional-python-use"]], "Additional conditional dependencies": [[0, "additional-conditional-dependencies"]], "Multiple sets of conditional dependencies": [[0, "multiple-sets-of-conditional-dependencies"]], "Common basics": [[1, "common-basics"]], "PYTHON_COMPAT": [[1, "python-compat"]], "PYTHON_DEPS and PYTHON_REQUIRED_USE": [[1, "python-deps-and-python-required-use"]], "Python environment": [[1, "python-environment"]], "Dependencies in Python packages": [[1, "dependencies-in-python-packages"]], "The most common dependency types": [[1, "the-most-common-dependency-types"]], "Finding dependency lists from build systems": [[1, "finding-dependency-lists-from-build-systems"]], "Integration with build systems written in Python": [[2, "integration-with-build-systems-written-in-python"]], "Meson": [[2, "meson"]], "SCons": [[2, "scons"]], "Build-time use with no extra dependencies": [[2, "build-time-use-with-no-extra-dependencies"]], "Build-time use with extra dependencies": [[2, "build-time-use-with-extra-dependencies"]], "Single-impl package": [[2, "single-impl-package"], [2, "id1"]], "Single-impl package with conditional Python install": [[2, "single-impl-package-with-conditional-python-install"]], "Pure Python multi-impl package": [[2, "pure-python-multi-impl-package"]], "Hybrid python-r1 + SCons package": [[2, "hybrid-python-r1-scons-package"]], "waf": [[2, "waf"]], "Build-time use": [[2, "build-time-use"]], "Advanced concepts": [[3, "advanced-concepts"]], "Namespace packages": [[3, "namespace-packages"]], "Hierarchical package structure": [[3, "hierarchical-package-structure"]], "Namespace package structure": [[3, "namespace-package-structure"]], "Determining whether namespaces are used": [[3, "determining-whether-namespaces-are-used"]], "Adding new namespace packages to Gentoo": [[3, "adding-new-namespace-packages-to-gentoo"]], "Legacy namespace packages in Gentoo": [[3, "legacy-namespace-packages-in-gentoo"]], "distutils-r1 legacy concepts": [[6, "distutils-r1-legacy-concepts"]], "Different build system variations": [[6, "different-build-system-variations"]], "DISTUTILS_USE_SETUPTOOLS": [[6, "distutils-use-setuptools"]], "distutils and setuptools build systems": [[6, "distutils-and-setuptools-build-systems"]], "Setuptools\u2019 entry points": [[6, "setuptools-entry-points"]], "Other runtime uses of setuptools": [[6, "other-runtime-uses-of-setuptools"]], "pyproject.toml-based projects": [[6, "pyproject-toml-based-projects"]], "In-source vs out-of-source builds": [[6, "in-source-vs-out-of-source-builds"]], "Installing the package before testing": [[6, "installing-the-package-before-testing"]], "Choosing between Python eclasses": [[7, "choosing-between-python-eclasses"]], "Overview": [[7, "overview"]], "Build time vs runtime use": [[7, "build-time-vs-runtime-use"]], "Single-impl vs multi-impl": [[7, "single-impl-vs-multi-impl"]], "Python-first packages (distutils-r1 eclass)": [[7, "python-first-packages-distutils-r1-eclass"]], "Expert python-r1 usage": [[8, "expert-python-r1-usage"]], "Partially restricting Python implementation": [[8, "partially-restricting-python-implementation"]], "Restricting interpreters for python_setup": [[8, "restricting-interpreters-for-python-setup"]], "Disjoint build dependencies (any-r1 API)": [[8, "disjoint-build-dependencies-any-r1-api"]], "Using regular python-r1 API": [[8, "using-regular-python-r1-api"]], "Using any-r1 API with python-r1": [[8, "using-any-r1-api-with-python-r1"]], "Different sets of build-time dependencies": [[8, "different-sets-of-build-time-dependencies"]], "Using any-r1 API with distutils-r1": [[8, "using-any-r1-api-with-distutils-r1"]], "Combining any-r1 API with implementation restrictions": [[8, "combining-any-r1-api-with-implementation-restrictions"]], "Common helper functions": [[9, "common-helper-functions"]], "Install helpers": [[9, "install-helpers"]], "Fixing shebangs on installed scripts": [[9, "fixing-shebangs-on-installed-scripts"]], "Byte-compiling Python modules": [[9, "byte-compiling-python-modules"]], "Querying the implementation information": [[9, "querying-the-implementation-information"]], "Gentoo Python Guide": [[10, "gentoo-python-guide"]], "Contents:": [[10, null]], "Indices and tables": [[10, "indices-and-tables"]], "Python interpreters": [[11, "python-interpreters"]], "Versions of Python": [[11, "versions-of-python"]], "Life cycle of a Python implementation": [[11, "life-cycle-of-a-python-implementation"]], "Stability guarantees of Python implementations": [[11, "stability-guarantees-of-python-implementations"]], "Alternative Python implementations": [[11, "alternative-python-implementations"]], "Support for multiple implementations": [[11, "support-for-multiple-implementations"]], "Backports": [[11, "backports"]], "Maintenance of Python implementations": [[12, "maintenance-of-python-implementations"]], "Notes specific to Python interpreters": [[12, "notes-specific-to-python-interpreters"]], "CPython patchsets": [[12, "cpython-patchsets"]], "PyPy": [[12, "pypy"]], "Adding a new Python implementation": [[12, "adding-a-new-python-implementation"]], "Eclass and profile changes": [[12, "eclass-and-profile-changes"]], "Porting initial packages": [[12, "porting-initial-packages"]], "Python build system bootstrap": [[12, "python-build-system-bootstrap"]], "Migration guides": [[13, "migration-guides"]], "Migrating from old PYTHON_USEDEP syntax in python-single-r1": [[13, "migrating-from-old-python-usedep-syntax-in-python-single-r1"]], "Migrating from EAPI 7 to EAPI 8": [[13, "migrating-from-eapi-7-to-eapi-8"]], "Migrating to PEP 517 builds": [[13, "migrating-to-pep-517-builds"]], "python-r1 \u2014 multi-impl packages": [[14, "python-r1-multi-impl-packages"]], "Manual install": [[14, "manual-install"], [20, "manual-install"]], "Pure Python autotools package": [[14, "pure-python-autotools-package"]], "Additional build-time Python use": [[14, "additional-build-time-python-use"]], "Python package maintenance": [[15, "python-package-maintenance"]], "Support for Python 2": [[15, "support-for-python-2"]], "Which implementations to test new packages for?": [[15, "which-implementations-to-test-new-packages-for"]], "Adding new Python implementations to existing packages": [[15, "adding-new-python-implementations-to-existing-packages"]], "Which packages can be (co-)maintained by the Python project?": [[15, "which-packages-can-be-co-maintained-by-the-python-project"]], "Porting packages to a new EAPI": [[15, "porting-packages-to-a-new-eapi"]], "Monitoring new package versions": [[15, "monitoring-new-package-versions"]], "PyPI release feeds": [[15, "pypi-release-feeds"]], "Checking via pip": [[15, "checking-via-pip"]], "Repology": [[15, "repology"]], "Routine checks on installed Python packages": [[15, "routine-checks-on-installed-python-packages"]], "pip check": [[15, "pip-check"]], "pip list --outdated": [[15, "pip-list-outdated"]], "gpy-verify-deps": [[15, "gpy-verify-deps"]], "Preface": [[17, "preface"]], "pytest recipes": [[18, "pytest-recipes"]], "Skipping tests based on markers": [[18, "skipping-tests-based-on-markers"]], "Skipping tests based on paths/names": [[18, "skipping-tests-based-on-paths-names"]], "Avoiding the dependency on pytest-runner": [[18, "avoiding-the-dependency-on-pytest-runner"]], "Using pytest-xdist to run tests in parallel": [[18, "using-pytest-xdist-to-run-tests-in-parallel"]], "Avoiding dependencies on other pytest plugins": [[18, "avoiding-dependencies-on-other-pytest-plugins"]], "Explicitly disabling automatic pytest plugins": [[18, "explicitly-disabling-automatic-pytest-plugins"]], "Expert: disabling plugin autoloading entirely": [[18, "expert-disabling-plugin-autoloading-entirely"]], "TypeError: _make_test_flaky() got an unexpected keyword argument \u2018reruns\u2019": [[18, "typeerror-make-test-flaky-got-an-unexpected-keyword-argument-reruns"]], "ImportPathMismatchError": [[18, "importpathmismatcherror"]], "fixture \u2018\u2026\u2019 not found": [[18, "fixture-not-found"]], "Warnings": [[18, "warnings"]], "QA checks and warnings": [[19, "qa-checks-and-warnings"]], "Improved QA warning reporting in Portage": [[19, "improved-qa-warning-reporting-in-portage"]], "Compiled bytecode-related warnings": [[19, "compiled-bytecode-related-warnings"]], "Modules are not byte-compiled": [[19, "modules-are-not-byte-compiled"]], "Stray compiled bytecode": [[19, "stray-compiled-bytecode"]], "python-single-r1 \u2014 single-impl packages": [[20, "python-single-r1-single-impl-packages"]], "A hybrid: build-time + conditional runtime": [[20, "a-hybrid-build-time-conditional-runtime"]], "Multiple USE conditions": [[20, "multiple-use-conditions"]], "Resolving test suite problems": [[21, "resolving-test-suite-problems"]], "Choosing the correct test runner": [[21, "choosing-the-correct-test-runner"]], "Missing test files in PyPI packages": [[21, "missing-test-files-in-pypi-packages"]], "ImportErrors for C extensions": [[21, "importerrors-for-c-extensions"]], "Checklist for dealing with test failures": [[21, "checklist-for-dealing-with-test-failures"]], "Skipping problematic tests": [[21, "skipping-problematic-tests"]], "Tests requiring Internet access": [[21, "tests-requiring-internet-access"]], "Tests aborting (due to assertions)": [[21, "tests-aborting-due-to-assertions"]], "Installing extra dependencies in test environment (PEP 517 mode)": [[21, "installing-extra-dependencies-in-test-environment-pep-517-mode"]], "Advanced dependencies": [[4, "advanced-dependencies"]], "Requesting USE flags on the Python interpreter": [[4, "requesting-use-flags-on-the-python-interpreter"]], "Dependencies conditional to Python version": [[4, "dependencies-conditional-to-python-version"]], "Dependencies on CFFI and greenlet": [[4, "dependencies-on-cffi-and-greenlet"]], "Optional test suite dependencies on Rust packages": [[4, "optional-test-suite-dependencies-on-rust-packages"]], "Porting tips": [[16, "porting-tips"]], "Retroactive changes": [[16, "retroactive-changes"]], "bpo43882: urlsplit now strips LF, CR and HT characters": [[16, "bpo43882-urlsplit-now-strips-lf-cr-and-ht-characters"]], "Python 3.11": [[16, "python-3-11"]], "Generator-based coroutine removal (asyncio.coroutine)": [[16, "generator-based-coroutine-removal-asyncio-coroutine"]], "inspect.getargspec() and inspect.formatargspec() removal": [[16, "inspect-getargspec-and-inspect-formatargspec-removal"]], "Python 3.10": [[16, "python-3-10"]], "configure: No package \u2018python-3.1\u2019 found": [[16, "configure-no-package-python-3-1-found"]], "distutils.sysconfig deprecation": [[16, "distutils-sysconfig-deprecation"]], "Python 3.9": [[16, "python-3-9"]], "base64.encodestring / base64.decodestring removal": [[16, "base64-encodestring-base64-decodestring-removal"]], "Python 3.8": [[16, "python-3-8"]], "python-config and pkg-config no longer list Python library by default": [[16, "python-config-and-pkg-config-no-longer-list-python-library-by-default"]], "Replacing the toml package": [[16, "replacing-the-toml-package"]], "Porting to tomllib/tomli without toml fallback": [[16, "porting-to-tomllib-tomli-without-toml-fallback"]], "Porting to tomllib/tomli with toml fallback": [[16, "porting-to-tomllib-tomli-with-toml-fallback"]], "Porting to tomli-w": [[16, "porting-to-tomli-w"]], "distutils-r1 \u2014 standard Python build systems": [[5, "distutils-r1-standard-python-build-systems"]], "The PEP 517 and legacy modes": [[5, "the-pep-517-and-legacy-modes"]], "Basic use (PEP 517 mode)": [[5, "basic-use-pep-517-mode"]], "Source archives": [[5, "source-archives"]], "python-single-r1 variant": [[5, "python-single-r1-variant"]], "PEP 517 build systems": [[5, "pep-517-build-systems"]], "Deprecated PEP 517 backends": [[5, "deprecated-pep-517-backends"]], "flit.buildapi": [[5, "flit-buildapi"]], "poetry.masonry.api": [[5, "poetry-masonry-api"]], "setuptools.build_meta:__legacy__": [[5, "setuptools-build-meta-legacy"]], "setuptools_scm (flit_scm, hatch-vcs) and snapshots": [[5, "setuptools-scm-flit-scm-hatch-vcs-and-snapshots"]], "Packages using Cython": [[5, "packages-using-cython"]], "Parallel build race conditions": [[5, "parallel-build-race-conditions"]], "Sub-phase functions": [[5, "sub-phase-functions"]], "python_prepare": [[5, "python-prepare"]], "python_configure": [[5, "python-configure"]], "python_compile": [[5, "python-compile"]], "python_test": [[5, "python-test"]], "python_install": [[5, "python-install"]], "Passing arguments to setup.py": [[5, "passing-arguments-to-setup-py"]], "Calling custom setup.py commands": [[5, "calling-custom-setup-py-commands"]], "Preventing test directory from being installed": [[5, "preventing-test-directory-from-being-installed"]], "Enabling tests": [[5, "enabling-tests"]], "Using distutils_enable_tests": [[5, "using-distutils-enable-tests"]], "Adding more test dependencies": [[5, "adding-more-test-dependencies"]], "Installing the package before running tests": [[5, "installing-the-package-before-running-tests"]], "Undesirable test dependencies": [[5, "undesirable-test-dependencies"]], "Customizing the test phase": [[5, "customizing-the-test-phase"]], "Customizing the test phase for pytest": [[5, "customizing-the-test-phase-for-pytest"]], "Running tests with virtualx": [[5, "running-tests-with-virtualx"]], "Building documentation via Sphinx": [[5, "building-documentation-via-sphinx"]], "Basic documentation with autodoc": [[5, "basic-documentation-with-autodoc"]], "Additional Sphinx extensions": [[5, "additional-sphinx-extensions"]], "Sphinx without autodoc or extensions": [[5, "sphinx-without-autodoc-or-extensions"]], "Packages with optional Python build system usage": [[5, "packages-with-optional-python-build-system-usage"]], "Packages with Rust extensions (using Cargo)": [[5, "packages-with-rust-extensions-using-cargo"]], "Installing packages without a PEP 517 build backend": [[5, "installing-packages-without-a-pep-517-build-backend"]], "Installing packages manually into BUILD_DIR": [[5, "installing-packages-manually-into-build-dir"]], "Installing packages manually into D": [[5, "installing-packages-manually-into-d"]], "Integrating with a non-PEP 517 build system": [[5, "integrating-with-a-non-pep-517-build-system"]]}, "indexentries": {"cython": [[5, "index-6"]], "distutils_args": [[5, "index-17"]], "distutils_deps": [[5, "index-23"]], "distutils_optional": [[5, "index-24"]], "distutils_single_impl": [[5, "index-0"]], "distutils_use_pep517": [[5, "index-1"]], "rust": [[5, "index-25"]], "setuptools_scm_pretend_version": [[5, "index-2"]], "distutils_enable_sphinx": [[5, "index-22"]], "distutils_enable_tests": [[5, "index-19"]], "epytest": [[5, "index-20"]], "esetup.py": [[5, "index-18"]], "flit_scm": [[5, "index-3"]], "hatch-vcs": [[5, "index-4"]], "python_compile": [[5, "index-11"]], "python_compile_all": [[5, "index-12"]], "python_configure": [[5, "index-9"]], "python_configure_all": [[5, "index-10"]], "python_install": [[5, "index-15"]], "python_install_all": [[5, "index-16"]], "python_prepare": [[5, "index-7"]], "python_prepare_all": [[5, "index-8"]], "python_test": [[5, "index-13"]], "python_test_all": [[5, "index-14"]], "setuptools_scm": [[5, "index-5"]], "virtx": [[5, "index-21"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["any", "basic", "buildsys", "concept", "depend", "distutils", "distutils-legacy", "eclass", "expert-multi", "helper", "index", "interpreter", "interpreter-maintenance", "migration", "multi", "package-maintenance", "porting", "preface", "pytest", "qawarn", "single", "test"], "filenames": ["any.rst", "basic.rst", "buildsys.rst", "concept.rst", "depend.rst", "distutils.rst", "distutils-legacy.rst", "eclass.rst", "expert-multi.rst", "helper.rst", "index.rst", "interpreter.rst", "interpreter-maintenance.rst", "migration.rst", "multi.rst", "package-maintenance.rst", "porting.rst", "preface.rst", "pytest.rst", "qawarn.rst", "single.rst", "test.rst"], "titles": ["python-any-r1 \u2014 build-time dependency", "Common basics", "Integration with build systems written in Python", "Advanced concepts", "Advanced dependencies", "distutils-r1 \u2014 standard Python build systems", "distutils-r1 legacy concepts", "Choosing between Python eclasses", "Expert python-r1 usage", "Common helper functions", "Gentoo Python Guide", "Python interpreters", "Maintenance of Python implementations", "Migration guides", "python-r1 \u2014 multi-impl packages", "Python package maintenance", "Porting tips", "Preface", "pytest recipes", "QA checks and warnings", "python-single-r1 \u2014 single-impl packages", "Resolving test suite problems"], "terms": {"The": [0, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21], "eclass": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13, 14, 17, 18, 20, 21], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "enabl": [0, 4, 6, 7, 8, 10, 11, 12, 14, 15, 18, 19], "support": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 13, 14, 16, 17, 18, 19, 20, 21], "packag": [0, 8, 9, 10, 11, 13, 17, 18, 19], "need": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21], "pure": [0, 5, 6, 7, 8, 10, 11, 15], "refer": [0, 1, 5, 9, 11, 13, 14, 17, 19, 20], "5": [0, 2, 5, 7, 8, 9, 11, 14, 15, 16, 18, 20, 21], "defin": [0, 1, 5, 6, 11, 20], "featur": [0, 4, 5, 6, 7, 8, 11, 12, 13, 19, 20, 21], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "pkg_setup": [0, 1, 2, 8, 20], "phase": [0, 1, 3, 6, 7, 8, 9, 10, 13, 14, 15, 19, 20, 21], "It": [0, 1, 3, 4, 5, 6, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21], "normal": [0, 3, 5, 8, 9, 14, 16, 19, 20], "call": [0, 1, 2, 3, 6, 7, 8, 9, 10, 11, 13, 14, 16, 18, 19, 20, 21], "python_setup": [0, 1, 2, 10, 13, 14, 20], "function": [0, 1, 4, 6, 7, 8, 10, 11, 13, 14, 16, 19, 20, 21], "order": [0, 1, 2, 4, 5, 7, 9, 12, 13, 14, 15, 20], "find": [0, 2, 3, 4, 6, 14, 15, 18, 21], "suitabl": [0, 7, 9, 14, 17], "interpret": [0, 1, 2, 5, 6, 7, 9, 10, 13, 14, 15, 16, 18, 19, 20], "global": [0, 1, 5, 8, 13, 14, 18, 20], "environ": [0, 5, 6, 10, 11, 13, 14, 16, 18, 20], "appropri": [0, 2, 4, 5, 6, 7, 9, 11, 12, 15, 20], "mean": [0, 1, 2, 5, 7, 8, 11, 15, 16, 18, 20, 21], "most": [0, 3, 5, 6, 9, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21], "trivial": [0, 5, 12, 16, 20], "an": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 19, 20, 21], "autotool": [0, 5, 6, 10, 16, 20], "compat": [0, 1, 2, 4, 5, 6, 7, 9, 11, 13, 16, 20], "system": [0, 3, 7, 8, 9, 10, 13, 14, 15, 17, 19, 20, 21], "could": [0, 2, 3, 5, 6, 8, 9, 15, 16, 19, 20], "look": [0, 1, 6, 8, 16, 18, 20, 21], "like": [0, 2, 4, 5, 6, 8, 11, 15, 16, 20, 21], "follow": [0, 1, 3, 4, 5, 6, 8, 9, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21], "copyright": [0, 2, 4, 5, 6, 8, 14, 20], "1999": [0, 2, 4, 5, 6, 8, 14, 20], "2020": [0, 2, 4, 5, 6, 8, 13, 14, 16, 20], "gentoo": [0, 1, 2, 4, 5, 6, 8, 9, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21], "author": [0, 2, 4, 5, 6, 8, 9, 10, 12, 14, 20], "distribut": [0, 2, 4, 5, 6, 8, 14, 15, 16, 17, 19, 20, 21], "under": [0, 1, 2, 3, 4, 5, 6, 8, 14, 20], "term": [0, 2, 4, 5, 6, 8, 14, 20], "gnu": [0, 2, 4, 5, 6, 8, 14, 20], "gener": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 18, 20, 21], "public": [0, 2, 4, 5, 6, 8, 11, 14, 20], "licens": [0, 2, 4, 5, 6, 8, 10, 14, 20], "v2": [0, 2, 4, 5, 6, 8, 14, 20], "eapi": [0, 2, 4, 5, 6, 8, 10, 14, 20], "7": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 14, 15, 16, 18, 19, 20, 21], "python_compat": [0, 2, 4, 5, 6, 8, 10, 11, 12, 14, 15, 20], "python3_": [0, 1, 2, 4, 5, 6, 8, 12, 20], "6": [0, 1, 2, 4, 5, 6, 8, 11, 12, 14, 15, 16, 18, 20, 21], "8": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 15, 20, 21], "inherit": [0, 1, 2, 4, 5, 6, 7, 8, 9, 13, 14, 16, 18, 20], "descript": [0, 2, 4, 5, 6, 8, 14, 20], "A": [0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 15, 18], "repositori": [0, 5, 6, 12, 15, 19], "data": [0, 2, 5, 6, 9, 16, 20, 21], "file": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 20], "describ": [0, 5, 6, 8, 9, 15], "media": [0, 2, 8], "player": [0, 4], "capabl": 0, "homepag": [0, 2, 4, 5, 6, 8, 14, 20], "http": [0, 2, 4, 5, 6, 8, 9, 12, 14, 16, 20, 21], "cgit": 0, "freedesktop": 0, "org": [0, 2, 4, 5, 6, 8, 9, 12, 14, 20], "info": [0, 5, 6, 18], "src_uri": [0, 2, 4, 5, 6, 8, 14, 20, 21], "www": [0, 2, 8, 14, 20], "softwar": [0, 1, 4, 8, 14, 15, 16, 21], "pn": [0, 2, 4, 5, 6, 8, 9, 14, 20, 21], "p": [0, 2, 4, 5, 6, 8, 14, 18, 20, 21], "tar": [0, 2, 4, 5, 6, 8, 12, 14, 20, 21], "gz": [0, 2, 4, 5, 6, 8, 14, 20, 21], "bsd": [0, 2, 5, 6, 8, 14, 20], "slot": [0, 2, 4, 5, 6, 8, 11, 14, 20], "0": [0, 2, 4, 5, 6, 8, 10, 11, 12, 14, 15, 16, 18, 20, 21], "keyword": [0, 2, 4, 5, 6, 8, 10, 14, 16, 20], "alpha": [0, 2, 4, 5, 6, 8, 11, 14, 20], "amd64": [0, 2, 4, 5, 6, 8, 12, 14, 20], "arm": [0, 2, 4, 5, 6, 8, 20], "arm64": [0, 2, 4, 5, 6, 8, 14, 20], "hppa": [0, 2, 4, 5, 6, 8, 14, 20], "ia64": [0, 2, 4, 5, 6, 8, 14, 20], "mip": [0, 2, 4, 5, 6, 8, 20], "ppc": [0, 2, 4, 5, 6, 8, 14, 20], "ppc64": [0, 2, 4, 5, 6, 8, 14, 20], "sh": [0, 2, 4, 5, 6, 8, 12, 20], "sparc": [0, 2, 4, 5, 6, 8, 14, 20], "x86": [0, 2, 4, 5, 6, 8, 12, 14, 20], "ius": [0, 2, 4, 5, 8, 14, 20], "rdepend": [0, 1, 2, 4, 5, 6, 8, 13, 14, 20], "virtual": [0, 2, 8, 14], "udev": 0, "208": 0, "bdepend": [0, 1, 2, 4, 5, 6, 8, 12, 14, 18, 20], "python_dep": [0, 2, 4, 5, 8, 10, 14, 20], "pkgconfig": [0, 2, 8, 14], "ebuild": [0, 1, 4, 5, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21], "demonstr": [0, 5, 20], "absolut": [0, 1, 9, 15, 20, 21], "minimum": [0, 15, 20], "work": [0, 3, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 18, 20, 21], "code": [0, 1, 3, 5, 6, 7, 8, 9, 11, 13, 14, 16, 18, 19, 20, 21], "onli": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 15, 16, 18, 19, 20, 21], "three": [0, 1, 3, 9, 13, 16, 19], "highlight": [0, 16, 20], "line": [0, 3, 5, 13, 15, 16, 20, 21], "ar": [0, 1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21], "specif": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 18, 19, 20, 21], "plu": [0, 20], "implicitli": [0, 3, 5, 8, 12, 20], "export": [0, 1, 2, 5, 20], "when": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21], "other": [0, 1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21], "declar": [0, 1, 2, 5, 6, 8, 9, 11, 14, 18, 20], "ensur": [0, 1, 4, 5, 6, 9, 14, 19, 20], "would": [0, 2, 4, 5, 7, 11, 12, 14, 15, 16, 20, 21], "built": [0, 1, 3, 5, 6, 7, 8, 11, 12, 14, 16, 17, 20, 21], "against": [0, 4, 7, 9, 11, 12, 14, 15, 20, 21], "implement": [0, 1, 3, 4, 5, 6, 7, 10, 14, 16, 17, 18, 19, 20, 21], "specifi": [0, 1, 2, 5, 6, 7, 8, 14, 18, 20, 21], "get": [0, 5, 6, 12, 13, 18, 21], "replac": [0, 5, 6, 10, 11, 13, 15], "python_gen_any_dep": [0, 2, 8], "match": [0, 2, 4, 5, 6, 8, 9, 11, 12, 15, 19, 20], "python_check_dep": [0, 2, 8], "accept": [0, 1, 4, 5, 6, 9, 12, 15, 16, 18, 19], "templat": [0, 2, 4, 5, 15, 19, 20], "where": [0, 3, 5, 6, 9, 11, 12, 14, 16, 20, 21], "liter": [0, 4, 20], "python_usedep": [0, 2, 4, 5, 8, 10, 12, 14, 15, 18, 20], "substitut": [0, 4, 20], "requir": [0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20], "all": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21], "same": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 21], "least": [0, 5, 8, 15, 19, 21], "one": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 16, 17, 18, 19, 20, 21], "test": [0, 1, 2, 3, 7, 8, 10, 11, 12, 13, 16, 17, 20], "whether": [0, 1, 4, 5, 6, 7, 15, 18, 20, 21], "question": [0, 1, 5, 7, 14, 18, 21], "In": [0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 12, 14, 15, 16, 18, 19, 20, 21], "particular": [0, 1, 4, 5, 6, 11, 15, 21], "verifi": [0, 1, 5, 6, 8, 13, 19, 21], "branch": [0, 11, 16, 21], "wa": [0, 4, 5, 11, 12, 13, 16, 18, 21], "satisfi": [0, 1, 8, 12], "were": [0, 2, 3, 5, 8, 11, 12, 13, 16], "instal": [0, 1, 3, 4, 7, 8, 10, 11, 12, 13, 16, 18, 19], "current": [0, 5, 6, 11, 12, 13, 15, 18, 21], "For": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 21], "purpos": [0, 6, 9, 12, 14, 16, 20, 21], "variabl": [0, 1, 5, 6, 8, 13, 14, 16, 18, 20], "string": [0, 1, 4, 5, 8, 14, 16, 20], "best": [0, 5, 7, 12, 16, 17, 18], "explain": [0, 1, 6, 19], "exampl": [0, 4, 5, 6, 7, 8, 9, 11, 12, 15, 16, 17, 18, 19, 20, 21], "meson": [0, 4, 5, 7, 10, 15], "manag": [0, 4, 5, 6, 8, 9, 19, 21], "cinnamon": 0, "fork": [0, 11, 12, 15, 21], "from": [0, 2, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 18, 19, 20, 21], "nautilu": 0, "develop": [0, 1, 7, 11, 15, 17, 18, 21], "linuxmint": 0, "com": [0, 2, 4, 5, 6, 8, 12, 14, 16, 21], "project": [0, 1, 5, 8, 9, 10, 14, 17, 18], "html": [0, 5, 8], "github": [0, 2, 4, 5, 6, 8, 12, 14, 17, 20, 21], "nemo": 0, "archiv": [0, 2, 4, 10, 20, 21], "pv": [0, 2, 4, 5, 8, 14, 20, 21], "gpl": [0, 2, 4, 8, 14, 20], "2": [0, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 20, 21], "lgpl": [0, 2, 5, 14, 20], "fdl": [0, 20], "1": [0, 2, 3, 4, 5, 6, 8, 9, 15, 18, 19, 20, 21], "dev": [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 18, 19, 20, 21], "polib": 0, "pygobject": [0, 14], "3": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21], "python_has_vers": [0, 2, 8], "provid": [0, 1, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 21], "its": [0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 15, 16, 18, 21], "both": [0, 1, 3, 4, 5, 6, 7, 8, 12, 13, 16, 17, 18, 20, 21], "have": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 15, 16, 18, 19, 20, 21], "dep": [0, 5, 13, 18], "true": [0, 1, 2, 5, 6, 8, 12, 13, 16, 21], "them": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 15, 16, 18, 19, 20, 21], "while": [0, 2, 3, 4, 5, 6, 7, 8, 11, 12, 14, 16, 17, 18, 19, 20, 21], "which": [0, 5, 6, 9, 10, 11, 14, 21], "wrapper": [0, 1, 5, 6, 9, 13, 14, 21], "help": [0, 15, 17, 21], "take": [0, 1, 2, 4, 5, 6, 7, 8, 9, 15, 16, 18, 21], "singl": [0, 1, 4, 6, 9, 10, 14, 15, 16, 18, 19, 21], "option": [0, 1, 3, 6, 8, 10, 13, 15, 18, 20, 21], "class": [0, 1, 5, 16, 18], "flag": [0, 1, 5, 7, 8, 9, 10, 11, 12, 14, 15, 20, 21], "more": [0, 1, 3, 4, 7, 9, 11, 12, 13, 16, 18, 19, 20, 21], "similarli": [0, 1, 5, 15], "has_vers": [0, 4, 12], "root": [0, 5, 6, 13, 20, 21], "can": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21], "b": 0, "d": [0, 2, 3, 8, 9, 14, 18], "r": [0, 2, 5, 9, 16, 21], "idepend": 0, "pdepend": [0, 2, 8, 12], "pass": [0, 6, 8, 9, 10, 12, 13, 16, 18, 21], "assum": [0, 1, 4, 5, 6, 9, 13, 15, 20], "verbos": [0, 19, 21], "print": [0, 3, 8, 14, 18, 21], "check": [0, 5, 6, 9, 10, 12, 13, 16, 17, 21], "perform": [0, 2, 5, 6, 11, 12, 14, 19, 20, 21], "result": [0, 5, 6, 8, 9, 12, 15, 16, 17, 18, 19, 21], "return": [0, 2, 5, 8, 16, 21], "success": 0, "found": [0, 1, 3, 5, 6, 9, 10, 11, 15, 19, 21], "fals": [0, 2, 5, 8, 12, 15, 16], "otherwis": [0, 5, 6, 7, 8, 9], "note": [0, 1, 4, 5, 6, 8, 9, 10, 11, 13, 14, 15, 16, 18, 19, 20, 21], "invoc": [0, 5, 18], "chain": 0, "abov": [0, 1, 6, 8, 12, 13, 15, 19, 20, 21], "also": [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 21], "written": [0, 1, 5, 7, 10, 11, 16, 18], "import": [0, 1, 3, 4, 5, 6, 7, 11, 12, 13, 14, 15, 16, 18, 21], "understand": 0, "correctli": [0, 1, 5, 6, 7, 9, 11, 12, 13, 15, 16, 21], "exactli": [0, 7], "furthermor": [0, 2, 5], "combin": [0, 2, 5, 10, 11, 12, 13, 16, 17, 18, 20, 21], "must": [0, 1, 2, 3, 5, 6, 7, 8, 11, 16, 18, 20, 21], "onc": [0, 5, 8, 11, 12, 19], "invalid": [0, 16], "split": [0, 5, 13, 16], "some": [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21], "necessari": [0, 2, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 18, 20, 21], "particularli": [0, 5, 6, 7, 11, 13, 15, 18, 21], "common": [0, 3, 5, 6, 7, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21], "suit": [0, 1, 2, 5, 6, 7, 8, 9, 10, 12, 18], "case": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21], "wrap": [0, 5, 6, 9, 13], "programm": [0, 15], "complet": [0, 5, 16, 17], "bash": [0, 5, 7, 8, 9, 20], "scop": 0, "releas": [0, 2, 5, 8, 11, 12, 14, 16], "download": [0, 2, 5, 8, 14], "xz": [0, 4, 12, 14, 20], "s390": [0, 2, 4, 5, 6, 8, 20], "linux": [0, 2, 4, 5, 6, 8, 9, 14, 16, 20, 21], "maco": [0, 4, 5, 6, 8, 20], "x64": [0, 4, 5, 6, 8, 20], "m68k": [0, 4, 5, 6, 8, 20], "mint": 0, "solari": [0, 5, 6, 20], "sparc64": [0, 6], "restrict": [0, 2, 4, 5, 10, 18, 20, 21], "app": [0, 2, 4, 5, 8, 12, 14, 15, 19], "shell": [0, 5, 8, 14], "4": [0, 3, 5, 8, 9, 10, 11, 12, 14, 15, 21], "3_p30": 0, "pexpect": [0, 5], "pytest": [0, 4, 8, 10, 12, 21], "r1_pkg_setup": [0, 2, 20], "anoth": [0, 8, 9, 14, 16, 18, 19, 21], "possibl": [0, 2, 4, 5, 8, 9, 12, 14, 16, 17, 18, 21], "uncondition": [0, 1, 2, 4, 5, 6, 8, 11, 19, 20, 21], "condition": [0, 1, 2, 4, 5, 11, 12, 14, 15, 18, 20], "simplest": [0, 2, 5, 7, 14, 18, 21], "wai": [0, 5, 6, 9, 12, 13, 15, 18, 21], "achiev": [0, 8, 11, 16], "block": [0, 8, 13, 21], "express": [0, 8, 13, 20], "similar": [0, 2, 5, 14, 20, 21], "cmake": [0, 5, 6, 20], "qt": 0, "bind": [0, 2, 5, 8, 14, 20], "telepathi": 0, "bu": 0, "protocol": [0, 2, 20], "dbu": [0, 2], "hardest": 0, "differ": [0, 1, 3, 5, 9, 10, 11, 15, 16, 18, 21], "do": [0, 1, 3, 4, 5, 6, 8, 9, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21], "error": [0, 2, 5, 9, 13, 16, 18, 19, 21], "prone": 0, "move": [0, 4, 5, 12], "insid": [0, 1, 3, 5, 6, 9, 14, 18, 20], "python3_6": [0, 2, 4, 8, 14], "gnome2": [0, 4, 14], "gobject": 0, "librari": [0, 1, 2, 3, 4, 5, 8, 9, 11, 14, 20], "access": [0, 5, 10, 11, 18], "secret": 0, "servic": [0, 15, 21], "api": [0, 2, 9, 10, 11, 13, 14, 16], "wiki": [0, 4, 8, 9, 14, 17], "gnome": [0, 4, 14], "libsecret": 0, "apach": [0, 2, 4, 5, 8], "introspect": 0, "fail": [0, 1, 2, 5, 8, 9, 11, 12, 16, 18, 21], "bug": [0, 5, 6, 12, 21], "655482": 0, "required_us": [0, 1, 2, 4, 5, 7, 8, 13, 14, 20], "mock": [0, 4, 8, 11, 12, 18, 21], "fi": [0, 2, 4, 5, 8, 12, 14, 20], "host": 0, "variou": [1, 5, 6, 9, 13, 16], "r1": [1, 3, 4, 9, 10, 12, 15, 19, 21], "try": [1, 6, 8, 9, 11, 16, 21], "design": [1, 20], "you": [1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 21], "probabl": [1, 6, 8, 13, 20], "us": [1, 9, 10, 11, 12, 13, 15, 16, 19, 21], "than": [1, 2, 3, 6, 7, 8, 11, 12, 15, 16, 17, 18, 19, 21], "so": [1, 4, 5, 6, 11, 15, 18, 20, 21], "worthwhil": [1, 21], "shortli": 1, "bit": [1, 12, 17], "well": [1, 5, 7, 8, 11, 13, 15], "non": [1, 6, 7, 9, 12, 14, 16, 18, 21], "obviou": [1, 21], "between": [1, 5, 8, 10, 11, 13, 16], "befor": [1, 4, 8, 9, 10, 12, 14, 16, 21], "thei": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "valid": [1, 5, 8, 15, 16, 19, 21], "valu": [1, 5, 6, 9, 13, 18], "pythonx_i": 1, "cpython": [1, 4, 5, 9, 11, 13, 19], "x": [1, 5, 11, 16, 18, 21], "y": [1, 2, 11, 16], "pypy3": [1, 4, 5, 6, 8, 11, 12, 13, 15, 18, 19], "typic": [1, 14], "ani": [1, 2, 3, 5, 6, 7, 10, 14, 16, 18, 19, 21], "respons": [1, 5], "explicitli": [1, 5, 7, 8, 10, 13, 21], "put": [1, 8], "correct": [1, 5, 6, 7, 9, 10, 15, 18, 20], "meant": [1, 13], "consist": [1, 6, 9, 13, 14, 15], "cover": [1, 5, 6, 13], "time": [1, 3, 4, 5, 6, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 21], "runtim": [1, 2, 3, 5, 8, 10, 13, 14, 15], "form": [1, 4, 12, 17], "doe": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 15, 16, 18, 19, 21], "appli": [1, 4, 5, 6, 7, 12, 15, 18, 20, 21], "distutil": [1, 3, 4, 9, 10, 13, 14, 18, 19, 20, 21], "assign": 1, "default": [1, 2, 5, 6, 7, 8, 9, 11, 13, 14, 15, 18, 19, 20, 21], "commonli": [1, 2, 3, 5, 6, 9, 11], "concept": [1, 5, 10], "state": 1, "enforc": [1, 4, 5, 7, 8, 11, 18], "whenev": [1, 4, 5, 9, 11, 14, 15, 18, 20], "run": [1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 21], "two": [1, 5, 6, 8, 9, 11, 13, 16, 18, 19, 20], "being": [1, 3, 6, 8, 9, 10, 11, 15, 16, 18, 21], "epython": [1, 2, 5, 8, 9, 12, 13, 18, 21], "contain": [1, 3, 4, 5, 6, 7, 12, 13, 15, 19], "": [1, 2, 4, 5, 6, 7, 8, 9, 13, 14, 15, 16, 18, 19, 20, 21], "basenam": 1, "identifi": 1, "e": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21], "g": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21], "python3": [1, 3, 5, 9, 11, 13, 15, 16, 18, 19, 21], "10": [1, 4, 5, 8, 10, 11, 12, 15, 19], "final": [1, 2, 4, 5, 9, 11, 13, 16, 20, 21], "path": [1, 3, 5, 6, 9, 10, 12, 13, 16, 21], "usr": [1, 2, 3, 5, 7, 8, 9, 18, 19, 21], "bin": [1, 2, 5, 7, 8, 9, 12, 20, 21], "full": [1, 2, 4, 5, 13, 21], "should": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "embed": [1, 2, 9, 11], "program": [1, 2, 5, 6, 11, 16, 18], "shebang": [1, 10, 11, 21], "spawn": 1, "dure": [1, 5, 6, 7, 12, 13, 18, 19], "prefer": [1, 4, 5, 7, 8, 11, 12, 14, 15, 18, 21], "rather": [1, 6, 8, 15, 16, 17, 18, 19, 21], "bypass": 1, "virtualenv": [1, 5, 6, 12, 21], "creat": [1, 3, 4, 5, 6, 12, 13, 16, 19], "pep": [1, 3, 6, 7, 10, 12, 16], "517": [1, 3, 6, 7, 10, 12], "mode": [1, 3, 6, 7, 10, 13, 16, 19], "mai": [1, 3, 4, 5, 6, 8, 11, 12, 13, 15, 16, 18, 21], "caus": [1, 4, 5, 8, 9, 13, 15, 18, 19, 21], "failur": [1, 5, 10, 11, 12, 18], "modul": [1, 3, 4, 5, 6, 7, 8, 10, 11, 14, 15, 16, 18, 21], "previou": [1, 5, 12, 13, 16], "version": [1, 2, 3, 5, 6, 7, 8, 10, 12, 13, 16, 17, 18, 21], "just": [1, 5, 6, 11, 13, 21], "resolv": [1, 5, 6, 10, 16, 18], "problem": [1, 3, 4, 5, 6, 8, 10, 12, 16, 17, 18], "pythonn": 1, "tool": [1, 2, 5, 8, 14, 15, 16, 19, 21], "etc": 1, "via": [1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 20, 21], "exec": [1, 8, 9, 11, 12, 21], "hardcod": [1, 12, 18], "either": [1, 2, 5, 8, 9, 11, 13, 18, 19, 21], "establish": [1, 5, 13, 21], "local": [1, 2, 3, 4, 5, 8, 9, 12, 13, 14, 18, 20, 21], "scope": [1, 4, 5, 8, 13, 18], "multi": [1, 5, 10, 13, 20], "impl": [1, 5, 10, 13], "python_foreach_impl": [1, 2, 8, 14], "sub": [1, 3, 7, 8, 10, 21], "setup": [1, 3, 6, 7, 10, 13, 15, 18, 21], "done": [1, 5, 6, 8, 9, 14, 15, 18, 21], "directli": [1, 5, 6, 7, 9, 11, 13, 16, 18, 21], "section": [1, 5, 6, 7, 12, 15, 16, 19, 21], "focu": [1, 7, 12, 14], "often": [1, 5, 12, 21], "extern": [1, 2, 5, 6, 7, 11, 12], "languag": [1, 2, 5, 11, 15], "usual": [1, 3, 4, 5, 7, 11, 13, 15, 16, 18, 19, 21], "rule": [1, 2, 6, 7, 8, 13, 14, 15], "classifi": [1, 6], "categori": [1, 15], "present": [1, 5, 6, 15, 19], "script": [1, 2, 5, 6, 7, 8, 10, 11, 12, 14, 16, 20], "usabl": [1, 11], "whose": [1, 5], "therefor": [1, 2, 5, 6, 7, 8, 11, 12, 15, 18, 19], "howev": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 18, 19, 20, 21], "modern": [1, 4, 5, 6, 11, 12, 18, 21], "base": [1, 4, 5, 7, 8, 10, 12, 14, 15, 20, 21], "entri": [1, 5, 18], "point": [1, 5, 11, 13, 18, 21], "refus": [1, 4, 11], "place": [1, 6, 11, 12, 19], "special": [1, 3, 4, 5, 6, 16, 21], "subclass": 1, "extra": [1, 5, 6, 10], "still": [1, 5, 6, 8, 11, 13, 16, 21], "meaningfulli": 1, "handl": [1, 4, 5, 6, 8, 13, 14, 15], "gracefulli": [1, 4, 8], "subset": [1, 4, 5, 7, 8, 11, 12, 14, 15, 19, 21], "without": [1, 4, 10, 11, 13, 14, 15, 18], "There": [1, 3, 5, 8, 9, 16, 18, 19, 21], "multipl": [1, 3, 4, 5, 7, 10, 14, 17, 18, 19, 21], "approach": [1, 5, 7, 8, 16], "ad": [1, 7, 10, 11, 13, 14, 18], "consid": [1, 2, 3, 6, 7, 8, 11, 12, 14, 15, 16], "light": 1, "enough": [1, 5, 11], "inform": [1, 3, 5, 6, 10, 13, 16, 19, 21], "messag": [1, 5, 21], "pkg_postinst": [1, 5], "util": [1, 2, 4, 5, 7, 8, 9, 12, 15, 18, 20, 21], "optfeatur": 1, "cheap": 1, "rebuild": [1, 6, 11], "includ": [1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 15, 16, 17, 18, 19, 20, 21], "__init__": [1, 3, 5, 9, 18, 19, 21], "py": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 19, 21], "As": [1, 3, 5, 6, 7, 8, 11, 13, 15, 16, 18, 20, 21], "thumb": [1, 6, 7, 13, 15], "belong": [1, 21], "care": [1, 2, 5, 7, 9, 15, 21], "addit": [1, 2, 4, 6, 8, 9, 10, 11, 12, 13, 15, 18, 21], "plugin": [1, 3, 5, 6, 8, 10, 21], "setuptools_scm": [1, 10], "document": [1, 2, 7, 8, 10, 11, 14, 17, 21], "former": [1, 5, 7, 8, 13, 16, 21], "runner": [1, 5, 7, 10], "sinc": [1, 2, 3, 5, 6, 7, 11, 12, 13, 15, 16, 18, 21], "sometim": [1, 4, 5, 6, 7, 9, 11, 18, 21], "These": [1, 6, 7, 11, 12, 13, 15, 18, 21], "go": [1, 2, 8, 17, 18], "doc": [1, 2, 5, 8, 20], "respect": [1, 3, 4, 5, 12, 14, 15, 18, 19], "maximum": [1, 5], "coverag": [1, 5, 15, 18], "further": [1, 18], "guid": [1, 3, 5, 16, 17], "linter": 1, "report": [1, 5, 6, 9, 10, 15, 21], "actual": [1, 5, 6, 8, 9, 11, 12, 15, 18, 21], "undesir": [1, 18, 21], "again": [1, 2, 15, 21], "conveni": [1, 4, 5, 6, 7, 18, 21], "add": [1, 2, 5, 6, 8, 12, 15, 20, 21], "sphinx": [1, 3, 6, 7, 8, 10, 12], "copi": [1, 3, 5, 6, 9, 11, 15, 20], "c": [1, 2, 5, 6, 8, 9, 10, 11, 14], "extens": [1, 6, 7, 8, 9, 10, 11, 14, 15, 16], "header": [1, 9], "numpi": [1, 2], "If": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 20, 21], "metadata": [1, 5, 6, 14, 15, 20], "pyproject": [1, 5, 7, 12], "toml": [1, 5, 7, 10, 12], "setuptool": [1, 3, 4, 7, 8, 12, 13, 15, 18], "cfg": [1, 3, 5, 6, 15, 18], "custom": [1, 2, 6, 10, 13, 15, 16, 18], "read": [1, 5, 16], "name": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 21], "uncondit": [1, 2, 5, 10, 13, 14, 15], "upstream": [1, 3, 4, 5, 6, 7, 9, 11, 12, 14, 15, 16, 18, 19, 21], "spuriou": 1, "strip": [1, 3, 5, 11, 15, 18, 21], "ommit": 1, "kei": [1, 5, 16, 18, 20], "kind": [1, 3, 5, 7, 9, 11, 21], "621": 1, "older": [1, 11, 15], "flit": [1, 6, 12, 13], "poetri": [1, 6, 13], "indic": [1, 5, 6, 11, 12, 13, 15, 18, 19, 21], "install_requir": [1, 3, 5, 6], "group": [1, 2, 6, 13, 18], "extras_requir": [1, 5], "setup_requir": [1, 5, 18], "deprec": [1, 3, 10, 11, 13], "tests_requir": [1, 5], "tox": [1, 5, 21], "ini": [1, 5, 18, 21], "noxfil": 1, "python_requir": 1, "besid": [2, 6, 11, 14, 18, 19], "few": [2, 4, 6, 12, 18, 21], "make": [2, 3, 4, 5, 6, 7, 11, 12, 13, 15, 16, 18, 19, 20, 21], "proper": [2, 8], "fairli": [2, 15, 20], "recent": [2, 3, 5, 21], "agnost": 2, "henc": [2, 5, 14], "treat": [2, 18], "arbitrari": [2, 13], "ha": [2, 3, 5, 6, 7, 11, 12, 13, 14, 15, 16, 18, 19, 21], "gain": [2, 18], "quit": [2, 4, 6, 11, 12], "At": [2, 5, 11, 15, 17], "mani": [2, 5, 8, 12, 14, 15, 16, 21], "old": [2, 4, 5, 6, 8, 10, 11, 12, 16, 21], "reason": [2, 4, 5, 6, 11, 18, 21], "suffici": [2, 5, 6, 7, 11, 14], "prior": [2, 3, 5, 6, 8, 11, 13, 16, 19, 21], "happen": [2, 3, 4, 6, 7, 8, 11, 20, 21], "natur": [2, 5, 8, 15], "sort": 2, "latter": [2, 5, 7, 8, 13, 15, 16, 18, 21], "set": [2, 4, 5, 6, 7, 10, 11, 12, 14, 15, 16, 18, 19, 20, 21], "much": [2, 5, 21], "compon": [2, 3, 8, 11, 14, 16], "account": [2, 5, 8, 11, 15, 21], "detail": [2, 5, 7, 9, 11, 13, 16, 21], "choic": [2, 6, 7, 13, 21], "chapter": [2, 8, 9], "along": [2, 5, 6, 7, 11, 13, 19, 20, 21], "toolchain": [2, 4, 8], "func": [2, 8], "commit": [2, 21], "6e5e8a57628095d8d0c8bbb38187afb0f3a42112": 2, "userspac": 2, "xbox": 2, "360": 2, "control": [2, 4, 5, 18], "driver": 2, "xboxdrv": 2, "gitlab": [2, 8], "io": [2, 4, 5, 8, 14, 20], "chewi": 2, "workdir": [2, 5], "lib": [2, 3, 5, 7, 9, 16, 18, 19, 21], "boost": [2, 7], "glib": 2, "sy": [2, 5, 8, 11, 14, 15, 16, 21], "libudev": 2, "libusb": 2, "x11": 2, "libx11": 2, "src_compil": [2, 5, 6, 8, 14], "escon": 2, "cxx": 2, "tc": [2, 9], "getcxx": 2, "getar": 2, "ranlib": 2, "getranlib": 2, "cxxflag": 2, "wall": 2, "linkflag": 2, "ldflag": [2, 5], "src_instal": [2, 5, 8, 9, 14, 20], "dobin": [2, 9], "doman": 2, "dodoc": [2, 5], "new": [2, 5, 6, 9, 10, 11, 13, 16, 18], "readm": [2, 12], "md": 2, "todo": [2, 9, 12], "yourself": [2, 4, 21], "becaus": [2, 5, 6, 11, 15, 18, 21], "cannot": [2, 4, 5, 9, 11, 21], "my_p": 2, "src": [2, 5, 9, 21], "_rc": 2, "rc": [2, 11], "high": [2, 4, 11, 12, 15, 20], "open": [2, 16], "sourc": [2, 3, 10, 12, 14, 17, 19, 21], "schema": [2, 15], "free": [2, 15, 21], "orient": [2, 16], "databas": [2, 4], "mongodb": [2, 4], "fastdl": 2, "sspl": 2, "acct": 2, "user": [2, 3, 5, 6, 7, 8, 11, 12, 15, 18, 20, 21], "arch": [2, 5, 8, 11, 12], "snappi": 2, "cpp": 2, "yaml": [2, 3], "70": 2, "thread": [2, 8, 18, 20, 21], "libpcr": 2, "42": 2, "zstd": 2, "snowbal": 2, "stemmer": 2, "net": [2, 8, 11, 14, 20], "libpcap": 2, "zlib": 2, "11": [2, 5, 10, 12, 15, 21], "pymongo": 2, "cheetah3": 2, "psutil": 2, "pyyaml": 2, "type": [2, 3, 6, 13, 15, 16], "ncurs": [2, 14], "readlin": [2, 5, 8, 14], "admin": [2, 8], "mongo": 2, "src_configur": [2, 5, 8, 9, 13, 14, 20], "scons_opt": 2, "cc": [2, 9], "getcc": [2, 9], "disabl": [2, 5, 8, 10, 11, 14, 20, 21], "warn": [2, 3, 5, 10, 16], "pcre": 2, "core": [2, 5, 21], "src_test": [2, 5, 6, 14], "buildscript": 2, "resmok": 2, "dbpathprefix": 2, "job": [2, 18], "makeopts_job": [2, 18], "die": [2, 3, 5, 8, 9, 14, 18, 21], "nostrip": [2, 8], "prefix": [2, 8, 9, 15, 16, 21], "ed": [2, 9, 15], "everyth": [2, 13], "your": [2, 4, 5, 6, 7, 8, 11, 12, 15, 16, 18, 19, 21], "python2_7": [2, 5, 6, 8, 13, 14, 20], "eutil": 2, "molecular": 2, "dynam": 2, "nmr": 2, "analysi": [2, 20], "relax": [2, 18], "gna": 2, "bz2": [2, 8, 20], "python_required_us": [2, 4, 5, 8, 10, 14, 20], "python_gen_cond_dep": [2, 4, 5, 8, 12, 13, 20], "numdifftool": 2, "matplotlib": [2, 5, 20], "python2": [2, 8, 9, 13, 20], "wxpython": [2, 20], "wx_gtk_ver": [2, 20], "sci": [2, 5, 20], "chemistri": 2, "pymol": 2, "bmrblib": 2, "minfx": 2, "scipi": 2, "molmol": 2, "vmd": 2, "visual": 2, "grace": 2, "opendx": 2, "gfx": 2, "pngcrush": 2, "python_moduleinto": [2, 5, 9, 14], "python_domodul": [2, 5, 9, 12, 14, 20], "make_wrapp": [2, 9], "python_get_sitedir": [2, 3, 8, 9], "part": [2, 3, 4, 5, 8, 9, 12, 13, 14, 15, 18, 21], "That": [2, 16, 21], "fortran_need": 2, "fortran": 2, "fortran_standard": 2, "90": [2, 14], "object": [2, 11, 16, 20], "chemic": 2, "kinet": 2, "thermodynam": 2, "transport": 2, "cantera": 2, "v": [2, 4, 5, 10, 13, 14], "pch": 2, "sundial": 2, "eigen": 2, "libfmt": 2, "cython": [2, 10, 14, 20], "2_pkg_setup": 2, "scons_var": 2, "cc_flag": 2, "cxx_flag": 2, "std": 2, "debug": 2, "getfc": 2, "fortranflag": 2, "optimize_flag": 2, "wno": 2, "inlin": [2, 7, 14], "renamed_shared_librari": 2, "use_pch": 2, "usex": [2, 5, 20], "system_fmt": 2, "system_sundi": 2, "system_eigen": 2, "env_var": 2, "extra_inc_dir": 2, "eigen3": 2, "scons_target": 2, "f90_interfac": 2, "n": [2, 16, 18], "python2_packag": 2, "none": [2, 5, 6, 16], "python3_packag": 2, "python3_cmd": 2, "els": [2, 8, 11, 16], "stage_dir": 2, "libdirnam": 2, "get_libdir": [2, 8], "python_optim": [2, 8, 9, 19], "deal": [2, 7, 8, 10, 15], "sens": 2, "plain": [2, 5, 6, 13], "loop": [2, 5, 18], "autom": 2, "pipelin": [2, 21], "poisson": 2, "boltzmann": 2, "electrostat": 2, "calcul": 2, "poissonboltzmann": 2, "apb": 2, "opal": 2, "openbabel": 2, "zsi": 2, "lang": [2, 8, 11, 12, 20], "swig": [2, 20], "src_prepar": [2, 3, 5, 8, 9, 14, 16, 18, 19], "f": [2, 9, 16], "pyc": [2, 9, 19], "o": [2, 5, 19], "pyo": [2, 9, 19], "delet": [2, 3, 14], "eappli": 2, "patch": [2, 4, 5, 6, 8, 11, 12, 19, 21], "eapply_us": 2, "rm": [2, 3, 5, 9], "rf": 2, "python_copy_sourc": [2, 14], "python_configur": 2, "cat": [2, 5], "build_dir": [2, 3, 9, 14, 21], "build_config": 2, "eof": [2, 5], "eprefix": [2, 5, 8, 9], "max_atom": 2, "10000": 2, "build_pdb2pka": 2, "rebuild_swig": 2, "run_in_build_dir": [2, 8, 14], "python_instal": [2, 3, 14], "cd": [2, 5, 9, 12, 21], "let": [2, 4, 8, 16, 20], "independ": [2, 4, 5, 6, 7, 14, 20], "separ": [2, 5, 6, 7, 8, 11, 14, 15, 16, 18, 21], "presum": 2, "manual": [2, 6, 10, 11, 12, 19], "wider": 2, "target": [2, 5, 8, 9, 11, 12, 15, 20], "rang": [2, 5, 12], "recommend": [2, 5, 7, 12, 13, 14, 15, 16, 18, 20, 21], "gp": [2, 8], "daemon": [2, 8], "usb": [2, 8], "serial": [2, 5, 8, 15], "devic": [2, 8], "map": [2, 5, 6, 8, 15, 18], "client": [2, 8, 9, 11, 14], "gpsd": [2, 8], "mirror": [2, 4, 5, 6, 8, 14, 20, 21], "nongnu": [2, 8], "24": [2, 8, 18, 21], "misc": [2, 8], "pp": [2, 8], "20120407": [2, 8], "myesconsarg": [2, 8], "libdir": [2, 8, 9], "udevdir": [2, 8], "get_udevdir": [2, 8], "chrpath": [2, 8], "gpsd_user": [2, 8], "gpsd_group": [2, 8], "uucp": [2, 8], "manbuild": [2, 8], "use_scon": [2, 8], "sconstruct": [2, 8], "py2": [2, 8, 21], "construct": [2, 4, 8, 20], "pkg_config": 2, "shlinkflag": 2, "destdir": [2, 8, 9, 19], "bundl": [2, 5, 12], "simpl": [2, 5, 7, 13, 14, 17], "impli": [2, 9, 11], "python_req_us": [2, 4, 5, 6, 8, 14, 20], "individu": [2, 5, 11, 18], "applic": [2, 9, 11], "had": 2, "instead": [2, 3, 5, 6, 7, 8, 9, 13, 14, 16, 18, 20, 21], "no_waf_libdir": 2, "ye": 2, "unit": 2, "framework": [2, 3, 5, 11, 17], "mrzechonek": 2, "tut": 2, "roughli": [2, 9, 11, 13], "ldap": 2, "ldb": 2, "samba": [2, 20], "ftp": [2, 20], "pub": 2, "elibc_freebsd": 2, "libbsd": 2, "popt": 2, "talloc": [2, 20], "tevent": 2, "9": [2, 5, 10, 12, 15, 19, 21], "31": [2, 15], "tdb": 2, "12": [2, 5, 8, 15, 16, 18, 19], "nd": 2, "openldap": 2, "libxslt": 2, "waf_binari": [2, 20], "buildtool": [2, 20], "filesdir": 2, "27": [2, 8], "optional_packag": 2, "myconf": [2, 8], "rpath": 2, "modulesdir": 2, "builtin": 2, "utils_src_configur": [2, 20], "tradition": 3, "python": [3, 6, 17, 18, 19, 21], "organ": 3, "subpackag": [3, 5], "locat": [3, 5], "parent": [3, 9], "directori": [3, 6, 9, 10, 11, 12, 13, 14, 16, 18, 19, 21], "submodul": 3, "repres": [3, 5], "attribut": [3, 10, 16], "session": [3, 21], "addnod": 3, "site": [3, 5, 6, 9, 11, 16, 18, 19, 21], "fine": [3, 5, 12, 16], "start": [3, 4, 5, 6, 11, 12, 15, 16, 21], "problemat": [3, 5, 6, 10, 18], "top": [3, 5, 9, 18], "level": [3, 5, 9, 11, 19, 21], "layout": [3, 6, 13], "wish": [3, 5, 6], "zope": 3, "share": [3, 5], "interfac": [3, 6, 11, 16], "event": [3, 11, 18], "depend": [3, 6, 7, 9, 10, 11, 12, 13, 15, 16, 17], "far": [3, 12, 20], "concern": 3, "entir": [3, 5, 9, 10, 12, 13, 14, 21], "doabl": 3, "real": [3, 18, 19, 21], "we": [3, 4, 6, 8, 11, 12, 14, 15, 17, 19], "freshli": 3, "build": [3, 9, 10, 11, 15, 16, 19, 21], "abl": [3, 15], "tmp": [3, 5, 9, 18, 19, 21], "portag": [3, 5, 8, 10, 12, 14, 15, 18, 21], "python3_8": 3, "traceback": [3, 5, 21], "last": [3, 5, 16], "stdin": 3, "modulenotfounderror": 3, "No": [3, 5], "now": [3, 5, 6, 8, 13, 14, 21], "around": [3, 5, 6, 11, 12, 21], "back": [3, 6, 16], "better": [3, 6, 11, 12, 13, 14, 19], "solut": [3, 5, 15, 16, 19, 21], "unlik": [3, 5, 6, 11, 15], "tradit": 3, "act": 3, "proxi": [3, 14], "strictli": [3, 5, 6, 15, 21], "bound": [3, 11, 16], "permit": [3, 4, 5, 6, 11, 15], "load": [3, 7, 9, 16, 18, 19, 21], "search": [3, 10, 15, 21], "method": [3, 5, 11, 13, 16, 18, 21], "420": 3, "newer": [3, 4, 5, 6, 11, 15, 16, 19], "pkgutil": 3, "standard": [3, 4, 6, 7, 9, 10, 11, 14, 16, 21], "discourag": [3, 6], "earlier": [3, 13], "ignor": [3, 4, 5, 8, 15, 18, 21], "did": [3, 13, 16, 21], "within": [3, 5, 6, 12, 17, 21], "content": [3, 5, 7], "__path__": 3, "__import__": 3, "extend_path": 3, "__name__": 3, "pkg_resourc": [3, 6], "declare_namespac": 3, "altern": [3, 5, 6, 8, 10, 16, 17, 21], "pth": 3, "automat": [3, 4, 5, 6, 10, 12, 19], "inject": [3, 5, 20], "portabl": 3, "topic": [3, 17], "exact": [3, 5, 11, 20], "detect": [3, 5, 9, 15, 21], "recogn": [3, 5, 15, 16], "lack": [3, 9, 21], "action": [3, 5, 15], "distinguish": [3, 5, 13], "veri": [3, 4, 5, 6, 9, 11, 15, 17], "through": [3, 4, 5, 6, 8, 11, 16, 18, 21], "suspici": 3, "less": [3, 15, 21], "ruamel": 3, "miss": [3, 4, 5, 6, 9, 10, 11, 12, 13, 15, 17, 18, 19], "learn": 3, "about": [3, 6, 13, 15], "collis": [3, 5, 21], "namespace_packag": 3, "per": [3, 5], "remov": [3, 4, 5, 6, 11, 12, 13, 14, 15, 18, 19, 21], "tree": [3, 5, 13, 21], "after": [3, 5, 6, 9, 11, 12, 13, 16, 19], "python_compil": 3, "r1_python_compil": [3, 5], "jaraco": [3, 5, 12, 18], "equival": [3, 6, 8, 9, 13], "r1_python_instal": [3, 5], "python_install_al": [3, 5], "r1_python_install_al": [3, 5], "explicit": [3, 4, 5, 6, 20, 21], "rdep": 3, "sed": [3, 5, 8, 14, 15, 18, 21], "r1_src_prepar": [3, 5, 18], "histor": [3, 5, 6, 11, 13, 16, 19], "process": [3, 5, 7, 12, 16, 19, 20], "retir": 3, "major": [4, 5, 6, 11, 15, 21], "avail": [4, 5, 6, 8, 11, 13, 15, 16, 17], "sqlite3": 4, "sqlite": [4, 8], "xdg": 4, "music": 4, "lollypop": 4, "adishatz": 4, "syntax": [4, 10, 11, 15, 19], "lightweight": [4, 5], "password": 4, "backend": [4, 10, 12, 13], "pwman3": 4, "mysql": [4, 14], "postgr": 4, "fulli": [4, 5, 7, 11], "solv": [4, 17], "python_gen_impl_dep": 4, "helper": [4, 5, 7, 10, 14, 20, 21], "2_7": [4, 5], "3_": 4, "travel": 4, "spulec": 4, "freezegun": [4, 18, 21], "pypi": [4, 5, 6, 8, 10, 11, 13], "dateutil": 4, "six": [4, 5, 8], "nose": [4, 5, 21], "distutils_enable_test": [4, 13, 18, 21], "ll": [4, 14], "backport": [4, 6, 10, 12], "zero": [4, 15], "argument": [4, 6, 10, 13, 16, 21], "output": [4, 5, 6, 9, 16, 19, 21], "everi": [4, 5, 6, 8, 11, 14, 15, 16], "escap": [4, 13, 20], "quot": [4, 20], "partial": [4, 5, 9, 10, 13], "python_single_usedep": [4, 5, 13, 20], "cli": [4, 5], "black": 4, "click": 4, "fnmatch": 4, "style": [4, 5, 13, 16, 17, 18, 21], "wildcard": 4, "stdlib": [4, 13, 16], "rememb": [4, 12], "pattern": [4, 12, 13, 20], "prevent": [4, 10, 11, 20, 21], "filenam": [4, 5], "expans": 4, "expand": 4, "zoneinfo": 4, "advantag": [4, 5, 7, 18, 21], "adjust": [4, 9, 11, 16], "switch": [4, 7, 9, 11, 12, 13, 21], "list": [4, 5, 8, 12, 13, 18, 19], "longer": [4, 5, 6, 11, 13], "silent": 4, "updat": [4, 6, 9, 11, 12, 16], "immedi": [4, 5, 20], "becam": [4, 11], "empti": [4, 5], "importlib_metadata": [4, 5, 6, 15], "python3_7": [4, 8], "facilit": [5, 9], "deriv": [5, 6], "notabl": [5, 16], "effici": [5, 15], "oper": [5, 11, 17], "backward": [5, 11, 16], "incompat": [5, 6, 11, 16, 18, 21], "greater": [5, 7], "number": [5, 7, 12, 15, 18], "cost": [5, 11], "flexibl": [5, 7], "wheel": [5, 11, 12, 15, 18], "zip": [5, 6], "stage": [5, 11, 19, 21], "compil": [5, 6, 10, 11, 21], "mere": [5, 7], "imag": [5, 9, 19], "compliant": [5, 7], "invok": [5, 18, 21], "popul": [5, 15], "addition": [5, 9, 11, 14], "pyproject2setuppi": [5, 6, 13], "hack": [5, 6, 7, 13], "reli": [5, 6, 11, 21], "distutils_use_pep517": [5, 13], "legal": 5, "unset": [5, 6], "By": [5, 6, 11], "2022": [5, 13, 18], "xml": [5, 6], "feel": [5, 15], "json": 5, "martinblech": 5, "xmltodict": 5, "mit": [5, 6], "vast": 5, "index": [5, 10], "sdist": [5, 15, 21], "binari": [5, 9, 12, 16], "mechan": [5, 7, 11], "over": [5, 7, 11, 12, 18, 20, 21], "offici": 5, "instanc": [5, 13, 16], "nonfunct": 5, "append": [5, 14, 15], "uniqu": [5, 14], "suffix": [5, 15, 19], "gh": [5, 21], "request": [5, 8, 10, 15], "distfil": [5, 16, 20], "clearli": [5, 19, 21], "tarbal": [5, 12, 21], "textual": 5, "rich": 5, "implic": 5, "cf": [5, 12], "regener": [5, 12], "anywai": [5, 16], "nevertheless": 5, "even": [5, 8, 9, 11, 18, 21], "pregener": 5, "internet": [5, 10, 18], "nodej": 5, "underli": [5, 6, 7], "txt": [5, 6, 12, 18], "ci": [5, 21], "travi": 5, "yml": 5, "grep": 5, "statement": [5, 19], "indirect": 5, "relev": [5, 6, 13, 17, 18, 21], "unnecessarili": 5, "logic": [5, 6, 12], "long": [5, 11, 12], "quickli": 5, "widest": 5, "avoid": [5, 6, 8, 10, 15, 16, 17, 21], "unpredict": 5, "who": [5, 17], "especi": [5, 7, 18, 19, 21], "distutils_single_impl": [5, 7], "aim": [5, 11, 15, 17, 19], "exist": [5, 10, 11, 12, 16, 19], "rewritten": [5, 20], "layer": [5, 14], "pyroot": 5, "rootpi": 5, "physic": [5, 20], "root_numpi": 5, "pytabl": 5, "termcolor": 5, "determin": [5, 6, 7, 11, 20, 21], "flit_cor": [5, 12], "maintain": [5, 10, 11, 12, 16, 18], "suggest": [5, 8, 13, 17, 18, 21], "tabl": [5, 13, 16, 18], "summar": [5, 16], "use_pep517": 5, "hatchl": 5, "jupyt": 5, "jupyter_packag": 5, "build_api": 5, "maturin": 5, "mesonpi": 5, "see": [5, 9, 16, 18, 21], "below": [5, 8], "pbr": [5, 6], "pdm": [5, 13], "pep517": [5, 19], "sip": [5, 8, 15], "sipbuild": 5, "standalon": [5, 12], "itself": [5, 6, 8, 9, 12, 18], "own": [5, 21], "Their": [5, 6, 9], "fix": [5, 6, 10, 11, 12, 15, 16, 18, 19, 21], "produc": [5, 12, 15], "ident": 5, "artifact": 5, "reduc": 5, "footprint": 5, "isol": 5, "faster": 5, "poetry_cor": 5, "smaller": 5, "40": [5, 12], "incorrect": [5, 6, 19], "intend": [5, 16, 21], "implicit": [5, 14, 21], "fallback": [5, 6], "regular": [5, 7, 21], "pleas": [5, 6, 8, 9, 12, 15, 16, 18, 19, 20, 21], "alwai": [5, 6, 8, 11, 13, 16, 17, 19], "unfortun": [5, 13, 15, 16, 18, 21], "due": [5, 10, 12, 14, 18], "prolong": 5, "larg": [5, 12, 15, 18], "tend": 5, "mistak": [5, 15], "checkout": [5, 12, 21], "abil": [5, 6], "tag": [5, 12, 21], "execut": [5, 6, 7, 9, 11, 12, 13, 14, 21], "143": 5, "_install_setup_requir": 5, "attr": [5, 12], "131": 5, "dist": 5, "dict": [5, 20], "425": 5, "_distribut": 5, "self": [5, 16, 18, 21], "292": 5, "finalize_opt": 5, "717": 5, "ep": 5, "48": 5, "infer_vers": 5, "_get_vers": 5, "config": [5, 9, 12], "148": 5, "parsed_vers": 5, "_do_pars": 5, "110": 5, "rais": [5, 16], "lookuperror": 5, "scm": 5, "unabl": [5, 15, 21], "sure": [5, 18, 21], "re": [5, 8, 15, 21], "intact": 5, "git": [5, 12, 21], "folder": 5, "don": [5, 13], "t": [5, 7, 8, 11, 13, 21], "pip": [5, 12, 21], "proj": 5, "master": [5, 21], "egg": [5, 6, 18], "setuptools_scm_pretend_vers": 5, "static": [5, 8], "write": [5, 6, 7, 12, 16, 17, 19], "hybrid": [5, 10], "expos": [5, 6], "guarante": [5, 6, 10], "taken": [5, 16, 21], "ship": [5, 19], "issu": [5, 6, 13, 15, 16, 18, 21], "forc": [4, 5, 6, 8, 9, 12, 13, 18, 21], "frobnic": 5, "makefil": [5, 14], "jq": 5, "pyx": 5, "unresolv": 5, "regard": 5, "simultan": [5, 11, 17, 21], "link": [5, 7, 9, 16], "editor": 5, "broken": [5, 6, 18, 21], "cryptic": 5, "revers": [5, 7, 12, 15], "miscompil": 5, "panda": 5, "breakag": [5, 21], "dask": [5, 18], "29": 5, "_lib": 5, "hashtabl": 5, "_hashtabl": 5, "tslib": 5, "_tslib": 5, "13": [5, 15, 18, 21], "interv": 5, "init": 5, "30": [5, 11], "convers": [5, 6], "outofboundstimedelta": 5, "localize_pydatetim": 5, "importerror": [5, 6, 10, 11, 16], "38": [5, 19], "x86_64": 5, "undefin": 5, "symbol": 5, "pandas_datetime_to_datetimestruct": 5, "easiest": [5, 15, 20], "workaround": [5, 19], "j1": 5, "origin": [5, 9, 11, 12, 16], "overrid": [5, 9, 14, 21], "extend": [5, 11], "introduc": [5, 11], "src_": 5, "python_": [5, 8], "_all": [5, 8], "compris": 5, "behav": [5, 8], "r1_": 5, "correspond": [5, 11, 12], "python_prepare_al": [5, 18], "each": [5, 6, 7, 11, 14], "foreach": 5, "python_configure_al": 5, "python_compile_al": [5, 8], "python_test_al": 5, "dedic": [5, 6, 14], "chang": [5, 6, 8, 9, 10, 11, 13, 14, 15, 19, 21], "task": [5, 8, 12], "default_src_prepar": 5, "ez_setup": 5, "bootstrap": [5, 6, 10], "end": [5, 6, 7, 9, 11, 14, 18, 21], "dir": [5, 14], "extran": 5, "fixm": 5, "test_pytest_plugin": 5, "test_testcase_no_app": 5, "_": [5, 12, 21], "test_test_util": 5, "pointless": 5, "cov": [5, 18], "addopt": 5, "aiohttp": [5, 18], "r1_python_prepare_al": [5, 18], "duplic": [5, 14, 21], "moment": [5, 11, 13, 15], "modif": 5, "keep": [5, 15, 17], "why": [5, 6, 21], "console_script": [5, 6], "configur": [5, 6, 8, 13, 14, 21], "step": [5, 6, 7, 8, 14], "esetup": [5, 8], "mpi": 5, "distutils_arg": [5, 13], "resourcepath": 5, "compress": 5, "manpag": 5, "distutils_enable_sphinx": [5, 8], "emak": [5, 8, 9], "strongli": [5, 6, 15], "encourag": [5, 15], "testbitvector": 5, "redefin": [5, 18], "too": [5, 11, 21], "collada": 5, "einstalldoc": [5, 8, 14], "docinto": 5, "sample_cod": 5, "docompress": 5, "pf": 5, "main": [5, 9], "manipul": [5, 21], "arrai": 5, "futur": [5, 15], "pillow": 5, "build_ext": [5, 6, 21], "tiff": 5, "webp": 5, "dash": 5, "underscor": [5, 21], "boolean": 5, "disable_tiff": 5, "enable_tiff": 5, "disable_webp": 5, "enable_webp": 5, "modifi": [5, 6, 11, 15, 19, 21], "beforehand": 5, "econf": [5, 20], "paremet": 5, "find_packag": 5, "wrongli": [5, 16, 21], "grab": [5, 13], "attempt": [5, 16, 19, 21], "forbidden": 5, "exclud": 5, "paramet": [5, 8, 16], "properli": [5, 6, 13], "intermedi": 5, "minim": [5, 11, 15, 16], "precis": [5, 8, 9], "catch": [5, 19], "earli": [5, 7, 8, 12], "anywher": 5, "first": [5, 6, 10, 11, 12, 15, 16, 18, 19, 21], "easi": [5, 16, 19, 21], "whitelist": 5, "sanit": [5, 11, 16], "mozilla": 5, "bleach": 5, "webencod": 5, "unittest": [5, 11, 21], "discoveri": [5, 18, 21], "univers": 5, "encod": [5, 16], "detector": 5, "chardet": [5, 8], "cygwin": [5, 6], "hypothesi": [5, 21], "bottom": 5, "venv": [5, 6, 13], "temporari": [5, 6], "frequent": [5, 18], "littl": [5, 6, 18], "skip": [4, 5, 8, 10, 12, 16, 19], "those": [5, 6, 8, 9, 18, 21], "how": [5, 21], "statist": 5, "want": [5, 6, 8], "across": [5, 11], "irrelev": [5, 21], "pep8": 5, "pycodestyl": 5, "flake8": [5, 18], "thin": [5, 6], "alreadi": [5, 9, 12, 14, 15, 16, 19], "close": 5, "pre": 5, "post": [5, 6, 13, 15], "easili": [5, 14, 18, 21], "r1_src_test": 5, "cmd": 5, "cmd2": 5, "colorama": 5, "pyperclip": 5, "wcwidth": 5, "text": [5, 8, 16], "column": 5, "80": 5, "fact": [5, 21], "simpli": [5, 15, 16, 17, 21], "3_6": [5, 14], "3_7": [5, 14], "3_8": 5, "tab": [5, 15], "argpars": 5, "argcomplet": 5, "fish": 5, "tcsh": 5, "rel": [5, 18, 21], "epytest": [4, 5, 6, 8, 12, 18, 21], "network": [5, 6, 18, 21], "marker": [5, 10], "m": [5, 15, 18, 19, 21], "displai": 5, "appeas": 5, "usng": 5, "xvfb": 5, "server": [5, 21], "virtx": 5, "nonfat": 5, "termin": [5, 21], "context": [5, 20], "come": [5, 13, 18], "theme": [5, 6, 8], "hard": [5, 8, 12], "To": [5, 6, 8, 9, 12, 16, 18, 19, 20], "conf": [5, 6, 19], "ext": 5, "distutils_use_setuptool": [5, 13], "color": 5, "stream": 5, "handler": 5, "log": [5, 19], "coloredlog": 5, "xolox": 5, "readthedoc": 5, "en": 5, "latest": [5, 15], "humanfriendli": 5, "expert": [5, 10, 14, 21], "uncommon": 5, "third": [5, 7, 13, 19], "parti": 5, "inflect": 5, "word": 5, "jazzband": 5, "rst": 5, "linker": [5, 9], "alabast": [5, 6], "python_target": [5, 7, 8, 11, 12], "inspect": 5, "omit": [5, 15, 16], "port": [5, 8, 10], "pyseri": 5, "psf": 5, "tri": 5, "been": [5, 6, 8, 11, 12, 13, 14, 16, 18, 19], "assumpt": 5, "consum": [5, 6, 21], "distutils_opt": 5, "alter": [5, 18], "distutils_dep": 5, "dependneci": 5, "r1_src_compil": 5, "r1_src_instal": 5, "primari": [5, 18], "alongsid": [5, 6], "libfoo": 5, "r1_src_configur": [], "setuptools_rust": 5, "ecosystem": [5, 15, 17], "bump": [5, 12, 15], "lock": 5, "Then": 12, "crate": 5, "cargo_opt": 5, "url": [5, 11, 16], "cargo_crate_uri": 5, "qa_flags_ignor": 5, "posit": [5, 15], "cflag": [5, 9, 21], "cargo_src_unpack": 5, "inflector": 5, "alias": [5, 16], "asn1": 5, "asn1_der": 5, "_rust": 5, "src_unpack": 5, "benefit": [5, 7], "yet": [5, 8, 11, 20], "cyclic": 5, "suppos": [5, 16], "overlap": 5, "machineri": 5, "op": 5, "unless": [5, 6, 8, 15], "merg": [4, 5], "toward": 5, "effect": [5, 8, 11, 19], "pick": [5, 12], "up": [5, 6, 9, 11, 13, 14, 15, 17, 18, 19, 21], "hukkin": 5, "tomli": [5, 12, 15], "pythonhost": 5, "py3": [5, 18], "whl": 5, "unzip": 5, "deliber": 5, "unpack": 5, "gpep517": [5, 19], "python_newscript": [5, 9], "__main__": [5, 21], "exit": [5, 16, 19, 21], "fragment": [5, 16], "emesonarg": 5, "dlint": 5, "meson_src_configur": 5, "meson_src_compil": 5, "meson_src_test": 5, "meson_src_instal": 5, "here": [6, 8, 14, 20], "direct": [6, 14], "convert": [6, 8, 13], "facil": 6, "right": [6, 7], "fit": [6, 21], "profil": [4, 6, 15], "pyproject2toml": 6, "misbehav": 6, "subsequ": 6, "qa": [6, 9, 10, 17], "expect": [6, 11, 16, 18, 19, 21], "sidebar": 6, "bitprophet": 6, "possibli": [6, 21], "snippet": [6, 16, 19], "except": [6, 7, 9, 11, 12, 16], "pm": 6, "cleanli": [6, 12], "condit": [6, 10, 12, 18, 21], "leav": 6, "never": [6, 11, 13, 16], "clean": [6, 11, 13], "requier": 6, "With": [6, 21], "themselv": [6, 18, 19, 21], "entry_point": [6, 18], "dictionari": [6, 20], "our": [6, 18, 21], "interest": [6, 8, 21], "gui_script": 6, "meaning": 6, "importlib": [6, 11, 21], "fall": [6, 16], "remind": 6, "distutils_strict_entry_point": 6, "trigger": [6, 18, 19, 21], "wrong": [6, 13, 15], "leftov": 6, "resourc": [6, 11, 12, 19], "submit": [6, 19], "suppli": 6, "heavi": 6, "speak": [6, 11], "known": [6, 16, 21], "limit": [6, 12, 15, 17], "address": [6, 11, 16], "definit": 6, "subdirectori": [6, 9], "interspers": [6, 19], "closest": 6, "inplac": 6, "shift": [6, 11], "throughout": 6, "2to3": 6, "distutils_in_source_build": 6, "collect": [6, 18, 21], "pypa": 6, "riscv": [6, 8, 20], "pythonpath": [6, 21], "distutils_install_for_test": [6, 13, 18, 21], "alik": [6, 7, 11, 13], "preserv": [6, 11, 16], "extrem": 6, "home": [6, 12, 13], "went": 6, "awai": [6, 7], "python_test": [4, 6, 8, 9, 12, 18, 21], "total": 7, "rare": [7, 9, 18, 21], "simpler": 7, "complex": [7, 16, 20], "primarili": [7, 11], "involv": [7, 8, 13], "graph": [7, 11, 12], "meet": 7, "potenti": [7, 11, 15, 16, 18], "basi": 7, "occur": [7, 11, 18], "libpython": [7, 11, 16], "aforement": [7, 13, 16], "foo": [7, 16], "wise": 7, "abstract": [7, 14], "scon": [7, 8, 10, 19], "second": [7, 13, 19], "easier": [7, 19], "select": [7, 8, 18, 20], "allow": [7, 21], "repeat": [7, 14, 15, 19], "model": 7, "libboost_python": 7, "python_single_target": [7, 11, 12], "Its": [7, 12], "legaci": [7, 10, 13, 16], "power": 8, "harder": 8, "ninja": [8, 15], "train": 8, "opposit": [8, 11, 13], "investig": 8, "human": 8, "beings": 8, "socks5": 8, "ssl": 8, "certifi": [8, 15], "2017": 8, "17": 8, "idna": 8, "urllib3": [8, 12], "26": 8, "pysock": 8, "cryptographi": [8, 15], "pyopenssl": 8, "14": [8, 21], "httpbin": [8, 18], "hang": 8, "continu": [8, 12, 21], "python_gen_useflag": 8, "out": [8, 9, 10, 11, 12, 13, 14, 15, 16], "toolkit": 8, "translat": 8, "format": [8, 12, 15, 16], "subtitl": 8, "pydiff": 8, "iso": 8, "lxml": 8, "pycountri": 8, "18": 8, "levenshtein": 8, "devel": 8, "gettext": 8, "video": 8, "gaupol": 8, "riverbankcomput": 8, "intro": 8, "sip_api_major_nr": 8, "siplib": 8, "h": [8, 9, 20], "bison": 8, "flex": 8, "prepar": [8, 9, 20], "bindir": 8, "incdir": 8, "python_get_includedir": [8, 9, 13], "echo": [8, 19], "distutils_all_subphase_impl": 8, "python3_5": 8, "bzip2": 8, "epydoc": 8, "eselect": 8, "elibc_glibc": 8, "sandbox": [8, 19, 21], "kernel_linux": 8, "pax": 8, "rsync": 8, "userland_gnu": 8, "coreutil": 8, "sphinx_rtd_them": 8, "practic": [8, 11, 12], "big": 8, "imagin": 8, "anymor": [8, 11], "downgrad": 8, "though": [8, 11], "resembl": [8, 18], "presenc": [8, 18], "activ": [8, 17], "behavior": [8, 11, 16], "goal": [8, 12, 21], "side": [8, 11], "someth": [8, 9, 21], "accord": 8, "integr": [8, 9, 10, 11], "won": 8, "reject": [8, 15, 16], "unsupport": [8, 11], "python_is_python3": [8, 13], "basic": [9, 10, 21], "reus": 9, "four": [9, 13, 20], "python_doex": 9, "python_newex": 9, "python_doscript": [9, 14, 20], "recurs": [9, 15, 18], "python_dohead": 9, "python_scriptinto": 9, "affect": [9, 11, 14], "symlink": 9, "onto": 9, "improv": [9, 10, 11, 17], "cropgtk": 9, "sbin": 9, "pynslcd": 9, "anyth": 9, "land": 9, "my_pn": 9, "doin": 9, "libimag": 9, "env": [9, 12], "python_fix_shebang": 9, "sphinxtrain": 9, "openvpn": 9, "vulnkei": 9, "insinto": 9, "kitti": 9, "speed": 9, "nowadai": [9, 12, 13], "pypy2": [9, 11], "_feedparser_sgmllib": 9, "lib64": 9, "byte_compil": 9, "cmake_src_instal": 9, "entropi": 9, "ocassion": 9, "bad": [9, 16], "seri": 9, "getter": [9, 13, 16], "python_get_scriptdir": 9, "python_get_library_path": [9, 13], "python_get_cflag": 9, "preprocessor": 9, "pkg": 9, "python_get_lib": 9, "python_get_python_config": 9, "offset": 9, "mycmakearg": [9, 13, 20], "dpython_dest": 9, "dpython_execut": 9, "dpython_include_dir": 9, "dpython_librari": 9, "cmake_src_configur": [9, 20], "pyinc": 9, "pylib": 9, "micha\u0142": 10, "g\u00f3rny": 10, "creativ": 10, "intern": 10, "prefac": 10, "life": 10, "cycl": [10, 12], "stabil": 10, "choos": [10, 11, 14], "overview": 10, "variant": [10, 11, 16, 18], "flit_scm": 10, "hatch": 10, "vc": [10, 21], "snapshot": [10, 21], "parallel": 10, "race": 10, "command": [10, 14, 15, 18, 19], "usag": 10, "rust": 10, "cargo": 10, "variat": 10, "byte": [10, 16], "queri": [10, 16], "advanc": 10, "cffi": 10, "greenlet": [10, 18], "checklist": 10, "abort": 10, "assert": [10, 19], "recip": 10, "xdist": [10, 12, 21], "autoload": 10, "typeerror": 10, "_make_test_flaki": 10, "got": [10, 13], "unexpect": 10, "rerun": 10, "importpathmismatcherror": 10, "fixtur": [10, 12], "namespac": [10, 18], "disjoint": 10, "waf": [10, 20], "tip": [10, 21], "retroact": 10, "migrat": 10, "bytecod": 10, "relat": [10, 12, 13, 21], "mainten": 10, "co": [10, 21], "monitor": [10, 19], "routin": [10, 14], "page": [10, 16, 17], "increment": 11, "minor": [11, 21], "plan": 11, "On": 11, "hand": [11, 13], "platform": [11, 16, 21], "linux_distribut": 11, "window": 11, "understood": 11, "initi": [11, 21], "enter": 11, "stabl": [11, 12, 15], "prematur": [11, 15], "mask": [4, 11, 12, 15], "beta": 11, "made": [11, 13, 14, 16, 20], "regress": 11, "readi": [11, 12, 15], "dai": 11, "inconsist": [11, 21], "mark": [11, 15, 18, 21], "architectur": [4, 11], "clear": [11, 15], "depenend": 11, "repeatedli": 11, "ask": [11, 15], "push": [11, 12], "forward": 11, "eventu": [11, 12], "becom": [11, 16], "slowli": [11, 15], "discontinu": 11, "next": [11, 12, 15, 18], "june": 11, "juli": 11, "year": 11, "predict": [11, 20], "nears": 11, "great": 11, "obsolet": [11, 13], "feasibl": [4, 11, 15], "vulner": 11, "break": [11, 15, 16], "revert": 11, "enum": 11, "urlsplit": 11, "secur": [11, 12], "abi": 11, "bugfix": 11, "occasion": 11, "remain": [4, 11, 13], "contrari": [11, 16], "hold": [11, 16], "subslot": 11, "fortun": 11, "late": 11, "hous": 11, "rpython": 11, "lot": [11, 15], "good": [11, 17, 18, 21], "gc": 11, "jython": 11, "java": 11, "stand": 11, "alon": 11, "bidirect": 11, "interact": 11, "slow": 11, "pace": 11, "ironpython": 11, "brython": 11, "web": 11, "javascript": 11, "dom": 11, "micropython": 11, "microcontrol": 11, "down": 11, "hardwar": 11, "tauthon": 11, "accompani": 11, "nor": [11, 17, 19], "ideal": [11, 15, 21], "funcsig": 11, "signatur": [11, 16], "afterward": [11, 14, 15], "later": 11, "lzma": 11, "compet": 11, "amount": [11, 12, 21], "ipaddress": 11, "drop": [11, 16], "box": [11, 13], "hexvers": [11, 21], "0x03030000": 11, "trolliu": 11, "asyncio": [11, 18, 21], "nativ": 11, "workflow": 12, "clone": 12, "remot": [12, 21], "fetch": 12, "rebas": 12, "v3": 12, "cherri": 12, "upload": 12, "mkdir": 12, "scp": 12, "precompil": [12, 19], "unusu": 12, "structur": [12, 21], "ex": 12, "technic": 12, "docker": 12, "binpkg": 12, "diff": 12, "mgorni": 12, "desc": 12, "_python_all_impl": 12, "_python_verify_pattern": 12, "_python_set_impl": 12, "_python_impl_match": 12, "python_pkg_dep": 12, "gpyutil": [12, 15], "circular": 12, "eas": [12, 15], "temporarili": [12, 13], "python3_11": 12, "20": 12, "pwd": 12, "round": 12, "signific": [4, 12, 18], "remaind": 12, "pydant": 12, "epytest_deselect": [4, 12, 18], "test_comparison": 12, "test_close_to_now_": 12, "lenient": 12, "deselect": [4, 12, 18, 21], "unblock": 12, "100": 12, "emerg": [12, 19], "previous": 12, "reinstal": 12, "batch": [12, 19], "focus": 12, "reenabl": [12, 18], "face": [12, 21], "goe": [12, 21], "unbundl": 12, "obligatori": [12, 15], "baselin": 12, "ones": 12, "chosen": 12, "fewest": 12, "vendor": [12, 13], "februari": 13, "gross": 13, "serv": 13, "placehold": 13, "transit": [13, 15], "period": [13, 15], "ban": 13, "python_multi_usedep": 13, "know": [13, 16, 21], "given": 13, "repoman": 13, "pkgcheck": 13, "tell": 13, "chose": 13, "reorder": 13, "desir": [13, 16, 21], "scan": 13, "unmatch": 13, "trial": 13, "stuff": 13, "thing": [13, 17, 18], "privat": 13, "python_export": 13, "python_wrapper_setup": 13, "python_gen_usedep": 13, "mydistutilsarg": 13, "renam": [13, 16, 19], "cleanup": 13, "python_gen": 13, "march": 13, "python_get": 13, "python_includedir": 13, "python_libpath": 13, "dpython3_include_dir": 13, "dpython3_librari": 13, "sundri": 13, "stop": [13, 16], "realli": [13, 15, 18, 21], "ugli": 13, "sole": 13, "uppercas": [13, 16], "fourth": 13, "cruft": 13, "short": [13, 18], "evalu": 13, "januari": 13, "safe": 13, "streamlin": 13, "inde": 13, "foundat": 14, "fionet": 14, "psql": 14, "cach": 14, "sourceforg": [14, 20], "replic": 14, "tgz": 14, "libcangji": 14, "cangjian": 14, "i18n": 14, "eautoreconf": [14, 16], "econf_sourc": 14, "la": 14, "multibuild": 14, "unnecessari": [14, 15, 20, 21], "libtool": 14, "buggi": 14, "canva": 14, "widget": 14, "gtk": 14, "cairo": 14, "2d": 14, "draw": 14, "goocanva": 14, "subdir": 14, "am": 14, "gnome2_src_prepar": 14, "gnome2_src_configur": 14, "gnome2_src_instal": 14, "sub_instal": 14, "gi": 14, "_overridesdir": 14, "outsid": [14, 20], "qemu": 14, "kernel": 14, "machin": [14, 19], "userland": 14, "kvm": 14, "qemu_python_instal": 14, "vmxcap": 14, "qmp": 14, "ga": 14, "reach": 15, "eol": [15, 16], "proactiv": 15, "anticip": 15, "soon": 15, "wide": [15, 21], "revis": 15, "newli": 15, "risk": 15, "team": 15, "manpow": 15, "member": 15, "u": 15, "gemato": 15, "carri": 15, "histori": 15, "rss": 15, "comprehens": 15, "opml": 15, "followup": 15, "track": 15, "mail": 15, "suscept": 15, "confus": [15, 18], "sync": [15, 18], "conflict": 15, "cx": 15, "freez": 15, "patchelf": 15, "openapi": 15, "spec": [15, 16], "60": 15, "59": 15, "62": 15, "pin": 15, "httpcore": 15, "15": 15, "httpx": 15, "23": [15, 21], "sphobjinv": 15, "28": 15, "date": [15, 17, 19, 21], "pend": 15, "pip3": 15, "dirti": 15, "equal": [15, 21], "filetyp": 15, "mercuri": 15, "node": 15, "semver": 15, "pyqt": 15, "builder": 15, "pyqt5": 15, "pyqtwebengin": 15, "rout": 15, "dev20220522": 15, "selenium": 15, "141": 15, "sphinxcontrib": 15, "websupport": 15, "dev20220515": 15, "uri": 15, "watchfil": 15, "watchgod": 15, "dev0": 15, "sign": 15, "tag_build": 15, "compar": [15, 16], "tempest": 15, "oslo": 15, "stestr": 15, "versioningit": 15, "wstool": 15, "think": 16, "ve": 16, "hit": 16, "me": 16, "18_p9": 16, "13_p3": 16, "10_p3": 16, "9_p2": 16, "4_p1": 16, "urllib": 16, "pars": 16, "exploit": 16, "verbatim": 16, "worm": 16, "danger": 16, "worst": [16, 21], "unpars": 16, "django": [16, 21], "pr": 16, "14349": 16, "impact": [16, 19], "urlpars": 16, "nurl": 16, "parseresult": 16, "scheme": 16, "netloc": 16, "param": [16, 18], "badurl": 16, "what": 16, "attributeerror": 16, "492": 16, "decor": [16, 21], "async": [16, 18], "def": [16, 18, 21], "yield": 16, "await": 16, "sleep": 16, "callabl": 16, "mostli": [16, 17], "getfullargspec": 16, "p1": 16, "p2": 16, "kp3": 16, "kp4": 16, "kp5": 16, "arg": 16, "kwarg": 16, "argspec": 16, "vararg": 16, "fullargspec": 16, "varkw": 16, "kwonlyarg": 16, "kwonlydefault": 16, "annot": 16, "tupl": 16, "int": 16, "str": 16, "float": 16, "k6": 16, "k7": 16, "k8": 16, "One": [16, 21], "prototyp": 16, "bar": 16, "pretti": 16, "stringif": 16, "automak": 16, "16": 16, "exec_prefix": 16, "met": 16, "pkg_config_path": 16, "python_cflag": 16, "python_lib": 16, "man": 16, "autoreconf": 16, "throw": 16, "get_python_inc": 16, "get_path": 16, "platinclud": 16, "get_python_lib": 16, "purelib": 16, "platlib": 16, "platstdlib": 16, "todai": 16, "encodebyt": 16, "decodebyt": 16, "ought": 16, "unicod": 16, "version_info": 16, "b64_encodebyt": 16, "b64encod": 16, "b64decod": 16, "insert": 16, "newlin": 16, "length": 16, "until": 16, "emb": 16, "lpython3": 16, "7m": 16, "among": 17, "beyond": 17, "reliabl": [17, 21], "deep": 17, "beginn": 17, "peopl": 17, "suboptim": 17, "improp": 17, "fill": 17, "gap": 17, "welcom": 17, "whole": [4, 18, 21], "parametr": 18, "epytest_ignor": 18, "test_client": 18, "test_gener": 18, "test_filenam": 18, "test_transport": 18, "test_transport_work": 18, "eventlet": 18, "test_contextvar": 18, "test_leak": 18, "might": 18, "intent": 18, "Not": 18, "collid": [18, 21], "instabl": 18, "unstabl": 18, "discret": 18, "decid": 18, "justifi": 18, "semi": 18, "random": 18, "multiprocess": 18, "finish": 18, "01": 18, "chanc": 18, "experienc": 18, "insuffici": 18, "nest": 18, "envvar": 18, "pytest_disable_plugin_autoload": 18, "pytest_plugin": 18, "comma": 18, "looponfail": 18, "pytest_fork": 18, "flaki": [18, 21], "rerunfailur": 18, "supposedli": 18, "twice": 18, "_pytest": [18, 21], "pathlib": [18, 21], "posixpath": 18, "signifi": 18, "event_loop": 18, "freezer": 18, "mocker": 18, "captur": [18, 21], "summari": 18, "asgiref": 18, "135": 18, "test_loc": 18, "test_sync": 18, "test_sync_contextvar": 18, "deprecationwarn": 18, "main_event_loop": 18, "get_event_loop": 18, "filterwarn": 18, "fatal": [18, 21], "_____________________": 18, "______________________": 18, "577": 18, "asgitest": 18, "testcas": 18, "583": 18, "test_wrapped_case_is_collect": 18, "interrupt": 18, "world": 18, "elog": 19, "portage_elog_class": 19, "optim": 19, "size": 19, "oo": 19, "docstr": 19, "store": 19, "disk": [19, 21], "permiss": 19, "uninstal": 19, "violat": 19, "auxiliari": 19, "readabl": [19, 21], "trimesh": 19, "__pycache__": 19, "blender_boolean": 19, "310": 19, "opt": 19, "notic": 19, "blueman": 19, "constant": 19, "deviceclass": 19, "sdp": 19, "tmpl": 19, "pair": 19, "docbook": 19, "35": 19, "36": 19, "plot": 20, "voacap": 20, "propag": 20, "qsl": 20, "hz1jw": 20, "pythonprop": 20, "basemap": 20, "gtk2": 20, "doubl": 20, "energi": 20, "yoda": 20, "hepforg": 20, "use_en": 20, "pyext": 20, "extra_opt": 20, "give": 20, "sound": 20, "signal": [20, 21], "composit": 20, "csound": 20, "fordfrog": 20, "dbuild_python_interfac": 20, "dbuild_python_opcod": 20, "superset": 20, "arab": 20, "arabey": 20, "duali": 20, "pyduali": 20, "dict2db": 20, "trans2arab": 20, "arabic2tran": 20, "domain": 21, "firstli": 21, "idea": 21, "nosetest": 21, "secondli": 21, "strict": 21, "thirdli": 21, "wholli": 21, "spew": 21, "seem": 21, "ceas": 21, "downstream": 21, "convinc": [4, 21], "preced": 21, "area": 21, "____________________": 21, "systemd": 21, "test_login": 21, "234": 21, "hint": 21, "578": 21, "_importtestmodul": 21, "mod": 21, "import_path": 21, "fspath": 21, "importmod": 21, "524": 21, "import_modul": 21, "module_nam": 21, "127": 21, "_bootstrap": 21, "_gcd_import": 21, "frozen": 21, "1014": 21, "991": 21, "_find_and_load": 21, "975": 21, "_find_and_load_unlock": 21, "671": 21, "_load_unlock": 21, "rewrit": 21, "170": 21, "exec_modul": 21, "__dict__": 21, "login": 21, "r2": 21, "discov": 21, "pyarg": 21, "guess": 21, "quick": 21, "mayb": 21, "eunittest": 21, "aris": 21, "confirm": 21, "whom": 21, "myself": 21, "subtl": 21, "lead": 21, "But": 21, "bewar": 21, "unexpectedli": 21, "test_start_params_bug": 21, "xfail": 21, "statsmodel": 21, "tsa": 21, "test_arima": 21, "horrend": 21, "space": 21, "mayhem": 21, "5a": 21, "test_null_byt": 21, "skipif": 21, "0x03000000": 21, "unconditioanlli": 21, "test_babel_with_language_": 21, "test_build_latex": 21, "test_polyglossia_with_language_": 21, "altogeth": 21, "replai": 21, "devmanu": 21, "explan": 21, "connect": 21, "pygit2": 21, "no_network": 21, "properti": 21, "test_network": 21, "allow_test": 21, "unclear": 21, "backtrac": 21, "pluggi": 21, "cachedir": 21, "pytest_cach": 21, "rootdir": 21, "var": 21, "sabyenc": 21, "configfil": 21, "item": 21, "test_decod": 21, "test_crc_pickl": 21, "54": 21, "test_empty_size_pickl": 21, "0x00007f748bc47740": 21, "testsupport": 21, "74": 21, "sabyenc3_wrapp": 21, "119": 21, "180": 21, "pytest_pyfunc_cal": 21, "caller": 21, "187": 21, "_multical": 21, "temp": 21, "2934": 21, "66": 21, "dump": [16, 21], "vv": 21, "34": 21, "timeout": 21, "25": 21, "sabyenc3": 21, "596": 21, "decode_usenet_chunk": 21, "pybytearray_check": 21, "pylist_getitem": 21, "py_input_list": 21, "lp": 21, "0x00007fb5db746740": 21, "73": 21, "117": 21, "87": 21, "lambda": 21, "runpi": 21, "85": 21, "_run_cod": 21, "193": 21, "_run_module_as_main": 21, "reproduc": 21, "ubuntu": 21, "dndebug": 21, "leak": 21, "o0": 21, "isort": 21, "distutils_pep517_instal": 21, "destin": 21, "cp": 21, "pushd": 21, "null": 21, "popd": 21, "novemb": 16, "tomllib": [], "w": [], "tomlkit": 16, "edit": 16, "wherea": 16, "input": 16, "tomldecodeerror": 16, "d1": 16, "in1": 16, "in2": 16, "d2": 16, "d3": 16, "rb": 16, "insist": 16, "incompatibilit": 16, "consider": 16, "tomli_w": 16, "wb": 16, "trustm": 4, "test_request": 4, "testrequest": 4, "test_https_warn": 4, "outer": 4, "tl": 4, "pull": 4, "python_vers": 16, "pycargoebuild": 5}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"python": [0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20], "ani": [0, 8], "r1": [0, 2, 5, 6, 7, 8, 13, 14, 20], "build": [0, 1, 2, 5, 6, 7, 8, 12, 13, 14, 20], "time": [0, 2, 7, 8, 14, 20], "depend": [0, 1, 2, 4, 5, 8, 14, 18, 20, 21], "basic": [0, 1, 5, 20], "us": [0, 2, 3, 4, 5, 6, 7, 8, 14, 18, 20], "uncondit": [0, 20], "condit": [0, 2, 4, 5, 14, 20], "addit": [0, 5, 14], "multipl": [0, 11, 20], "set": [0, 8], "common": [1, 9], "python_compat": 1, "python_dep": 1, "python_required_us": 1, "environ": [1, 21], "packag": [1, 2, 3, 4, 5, 6, 7, 12, 14, 15, 16, 20, 21], "The": [1, 5], "most": 1, "type": 1, "find": 1, "list": [1, 15, 16], "from": [1, 5, 13], "system": [1, 2, 5, 6, 12], "integr": [2, 5], "written": 2, "meson": 2, "scon": 2, "extra": [2, 21], "singl": [2, 5, 7, 13, 20], "impl": [2, 7, 14, 20], "instal": [2, 5, 6, 9, 14, 15, 20, 21], "pure": [2, 14], "multi": [2, 7, 14], "hybrid": [2, 20], "waf": 2, "advanc": [3, 4], "concept": [3, 6], "namespac": 3, "hierarch": 3, "structur": 3, "determin": 3, "whether": 3, "ar": [3, 19], "ad": [3, 5, 12, 15], "new": [3, 12, 15], "gentoo": [3, 10], "legaci": [3, 5, 6], "request": 4, "flag": 4, "interpret": [4, 8, 11, 12], "version": [4, 11, 15], "cffi": 4, "greenlet": 4, "distutil": [5, 6, 7, 8, 16], "standard": 5, "pep": [5, 13, 21], "517": [5, 13, 21], "mode": [5, 21], "sourc": [5, 6], "archiv": 5, "variant": 5, "deprec": [5, 16], "backend": 5, "flit": 5, "buildapi": 5, "poetri": 5, "masonri": 5, "api": [5, 8], "setuptool": [5, 6], "build_meta": 5, "__legacy__": 5, "setuptools_scm": 5, "flit_scm": 5, "hatch": 5, "vc": 5, "snapshot": 5, "cython": 5, "parallel": [5, 18], "race": 5, "sub": 5, "phase": 5, "function": [5, 9], "python_prepar": 5, "python_configur": 5, "python_compil": 5, "python_test": 5, "python_instal": 5, "pass": 5, "argument": [5, 18], "setup": 5, "py": 5, "call": 5, "custom": 5, "command": 5, "prevent": 5, "test": [4, 5, 6, 15, 18, 21], "directori": 5, "being": 5, "enabl": 5, "distutils_enable_test": 5, "more": 5, "befor": [5, 6], "run": [5, 18], "undesir": 5, "pytest": [5, 18], "virtualx": 5, "document": 5, "via": [5, 15], "sphinx": 5, "autodoc": 5, "extens": [5, 21], "without": [5, 16], "option": [4, 5], "usag": [5, 8], "rust": [4, 5], "cargo": 5, "manual": [5, 14, 20], "build_dir": 5, "d": 5, "non": 5, "differ": [6, 8], "variat": 6, "distutils_use_setuptool": 6, "entri": 6, "point": 6, "other": [6, 18], "runtim": [6, 7, 20], "pyproject": 6, "toml": [6, 16], "base": [6, 16, 18], "project": [6, 15], "In": 6, "v": [6, 7], "out": 6, "choos": [7, 21], "between": 7, "eclass": [7, 12], "overview": 7, "first": 7, "expert": [8, 18], "partial": 8, "restrict": 8, "implement": [8, 9, 11, 12, 15], "python_setup": 8, "disjoint": 8, "regular": 8, "combin": 8, "helper": 9, "fix": 9, "shebang": 9, "script": 9, "byte": [9, 19], "compil": [9, 19], "modul": [9, 19], "queri": 9, "inform": 9, "guid": [10, 13], "content": 10, "indic": 10, "tabl": 10, "life": 11, "cycl": 11, "stabil": 11, "guarante": 11, "altern": 11, "support": [11, 15], "backport": 11, "mainten": [12, 15], "note": 12, "specif": 12, "cpython": 12, "patchset": 12, "pypi": [12, 15, 21], "profil": 12, "chang": [12, 16], "port": [12, 15, 16], "initi": 12, "bootstrap": 12, "migrat": 13, "old": 13, "python_usedep": 13, "syntax": 13, "eapi": [13, 15], "7": 13, "8": [13, 16], "autotool": 14, "2": 15, "which": 15, "exist": 15, "can": 15, "co": 15, "maintain": 15, "monitor": 15, "releas": 15, "feed": 15, "check": [15, 19], "pip": 15, "repologi": 15, "routin": 15, "outdat": 15, "gpy": 15, "verifi": 15, "dep": 15, "tip": 16, "retroact": 16, "bpo43882": 16, "urlsplit": 16, "now": 16, "strip": 16, "lf": 16, "cr": 16, "ht": 16, "charact": 16, "3": 16, "11": 16, "gener": 16, "coroutin": 16, "remov": 16, "asyncio": 16, "inspect": 16, "getargspec": 16, "formatargspec": 16, "10": 16, "configur": 16, "No": 16, "1": 16, "found": [16, 18], "sysconfig": 16, "9": 16, "base64": 16, "encodestr": 16, "decodestr": 16, "config": 16, "pkg": 16, "longer": 16, "librari": 16, "default": 16, "prefac": 17, "recip": 18, "skip": [18, 21], "marker": 18, "path": 18, "name": 18, "avoid": 18, "runner": [18, 21], "xdist": 18, "plugin": 18, "explicitli": 18, "disabl": 18, "automat": 18, "autoload": 18, "entir": 18, "typeerror": 18, "_make_test_flaki": 18, "got": 18, "an": 18, "unexpect": 18, "keyword": 18, "rerun": 18, "importpathmismatcherror": 18, "fixtur": 18, "warn": [18, 19], "qa": 19, "improv": 19, "report": 19, "portag": 19, "bytecod": 19, "relat": 19, "strai": 19, "A": 20, "resolv": 21, "suit": [4, 21], "problem": 21, "correct": 21, "miss": 21, "file": 21, "importerror": 21, "c": 21, "checklist": 21, "deal": 21, "failur": 21, "problemat": 21, "requir": 21, "internet": 21, "access": 21, "abort": 21, "due": 21, "assert": 21, "awai": [], "introduct": [], "tomllib": 16, "tomli": 16, "fallback": 16, "w": 16, "replac": 16}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"python-any-r1 \u2014 build-time dependency": [[0, "python-any-r1-build-time-dependency"]], "Basic use for unconditional Python": [[0, "basic-use-for-unconditional-python"], [20, "basic-use-for-unconditional-python"]], "Dependencies": [[0, "dependencies"], [5, "dependencies"], [14, "dependencies"], [20, "dependencies"]], "Conditional Python use": [[0, "conditional-python-use"], [14, "conditional-python-use"], [20, "conditional-python-use"]], "Additional conditional dependencies": [[0, "additional-conditional-dependencies"]], "Multiple sets of conditional dependencies": [[0, "multiple-sets-of-conditional-dependencies"]], "Common basics": [[1, "common-basics"]], "PYTHON_COMPAT": [[1, "python-compat"]], "PYTHON_DEPS and PYTHON_REQUIRED_USE": [[1, "python-deps-and-python-required-use"]], "Python environment": [[1, "python-environment"]], "Dependencies in Python packages": [[1, "dependencies-in-python-packages"]], "The most common dependency types": [[1, "the-most-common-dependency-types"]], "Finding dependency lists from build systems": [[1, "finding-dependency-lists-from-build-systems"]], "Integration with build systems written in Python": [[2, "integration-with-build-systems-written-in-python"]], "Meson": [[2, "meson"]], "SCons": [[2, "scons"]], "Build-time use with no extra dependencies": [[2, "build-time-use-with-no-extra-dependencies"]], "Build-time use with extra dependencies": [[2, "build-time-use-with-extra-dependencies"]], "Single-impl package": [[2, "single-impl-package"], [2, "id1"]], "Single-impl package with conditional Python install": [[2, "single-impl-package-with-conditional-python-install"]], "Pure Python multi-impl package": [[2, "pure-python-multi-impl-package"]], "Hybrid python-r1 + SCons package": [[2, "hybrid-python-r1-scons-package"]], "waf": [[2, "waf"]], "Build-time use": [[2, "build-time-use"]], "Advanced concepts": [[3, "advanced-concepts"]], "Namespace packages": [[3, "namespace-packages"]], "Hierarchical package structure": [[3, "hierarchical-package-structure"]], "Namespace package structure": [[3, "namespace-package-structure"]], "Determining whether namespaces are used": [[3, "determining-whether-namespaces-are-used"]], "Adding new namespace packages to Gentoo": [[3, "adding-new-namespace-packages-to-gentoo"]], "Legacy namespace packages in Gentoo": [[3, "legacy-namespace-packages-in-gentoo"]], "Advanced dependencies": [[4, "advanced-dependencies"]], "Requesting USE flags on the Python interpreter": [[4, "requesting-use-flags-on-the-python-interpreter"]], "Dependencies conditional to Python version": [[4, "dependencies-conditional-to-python-version"]], "Dependencies on CFFI and greenlet": [[4, "dependencies-on-cffi-and-greenlet"]], "Optional test suite dependencies on Rust packages": [[4, "optional-test-suite-dependencies-on-rust-packages"]], "distutils-r1 \u2014 standard Python build systems": [[5, "distutils-r1-standard-python-build-systems"]], "The PEP 517 and legacy modes": [[5, "the-pep-517-and-legacy-modes"]], "Basic use (PEP 517 mode)": [[5, "basic-use-pep-517-mode"]], "Source archives": [[5, "source-archives"]], "python-single-r1 variant": [[5, "python-single-r1-variant"]], "PEP 517 build systems": [[5, "pep-517-build-systems"]], "Deprecated PEP 517 backends": [[5, "deprecated-pep-517-backends"]], "flit.buildapi": [[5, "flit-buildapi"]], "poetry.masonry.api": [[5, "poetry-masonry-api"]], "setuptools.build_meta:__legacy__": [[5, "setuptools-build-meta-legacy"]], "setuptools_scm (flit_scm, hatch-vcs) and snapshots": [[5, "setuptools-scm-flit-scm-hatch-vcs-and-snapshots"]], "Packages using Cython": [[5, "packages-using-cython"]], "Parallel build race conditions": [[5, "parallel-build-race-conditions"]], "Sub-phase functions": [[5, "sub-phase-functions"]], "python_prepare": [[5, "python-prepare"]], "python_configure": [[5, "python-configure"]], "python_compile": [[5, "python-compile"]], "python_test": [[5, "python-test"]], "python_install": [[5, "python-install"]], "Passing arguments to setup.py": [[5, "passing-arguments-to-setup-py"]], "Calling custom setup.py commands": [[5, "calling-custom-setup-py-commands"]], "Preventing test directory from being installed": [[5, "preventing-test-directory-from-being-installed"]], "Enabling tests": [[5, "enabling-tests"]], "Using distutils_enable_tests": [[5, "using-distutils-enable-tests"]], "Adding more test dependencies": [[5, "adding-more-test-dependencies"]], "Installing the package before running tests": [[5, "installing-the-package-before-running-tests"]], "Undesirable test dependencies": [[5, "undesirable-test-dependencies"]], "Customizing the test phase": [[5, "customizing-the-test-phase"]], "Customizing the test phase for pytest": [[5, "customizing-the-test-phase-for-pytest"]], "Running tests with virtualx": [[5, "running-tests-with-virtualx"]], "Building documentation via Sphinx": [[5, "building-documentation-via-sphinx"]], "Basic documentation with autodoc": [[5, "basic-documentation-with-autodoc"]], "Additional Sphinx extensions": [[5, "additional-sphinx-extensions"]], "Sphinx without autodoc or extensions": [[5, "sphinx-without-autodoc-or-extensions"]], "Packages with optional Python build system usage": [[5, "packages-with-optional-python-build-system-usage"]], "Packages with Rust extensions (using Cargo)": [[5, "packages-with-rust-extensions-using-cargo"]], "Installing packages without a PEP 517 build backend": [[5, "installing-packages-without-a-pep-517-build-backend"]], "Installing packages manually into BUILD_DIR": [[5, "installing-packages-manually-into-build-dir"]], "Installing packages manually into D": [[5, "installing-packages-manually-into-d"]], "Integrating with a non-PEP 517 build system": [[5, "integrating-with-a-non-pep-517-build-system"]], "distutils-r1 legacy concepts": [[6, "distutils-r1-legacy-concepts"]], "Different build system variations": [[6, "different-build-system-variations"]], "DISTUTILS_USE_SETUPTOOLS": [[6, "distutils-use-setuptools"]], "distutils and setuptools build systems": [[6, "distutils-and-setuptools-build-systems"]], "Setuptools\u2019 entry points": [[6, "setuptools-entry-points"]], "Other runtime uses of setuptools": [[6, "other-runtime-uses-of-setuptools"]], "pyproject.toml-based projects": [[6, "pyproject-toml-based-projects"]], "In-source vs out-of-source builds": [[6, "in-source-vs-out-of-source-builds"]], "Installing the package before testing": [[6, "installing-the-package-before-testing"]], "Choosing between Python eclasses": [[7, "choosing-between-python-eclasses"]], "Overview": [[7, "overview"]], "Build time vs runtime use": [[7, "build-time-vs-runtime-use"]], "Single-impl vs multi-impl": [[7, "single-impl-vs-multi-impl"]], "Python-first packages (distutils-r1 eclass)": [[7, "python-first-packages-distutils-r1-eclass"]], "Expert python-r1 usage": [[8, "expert-python-r1-usage"]], "Partially restricting Python implementation": [[8, "partially-restricting-python-implementation"]], "Restricting interpreters for python_setup": [[8, "restricting-interpreters-for-python-setup"]], "Disjoint build dependencies (any-r1 API)": [[8, "disjoint-build-dependencies-any-r1-api"]], "Using regular python-r1 API": [[8, "using-regular-python-r1-api"]], "Using any-r1 API with python-r1": [[8, "using-any-r1-api-with-python-r1"]], "Different sets of build-time dependencies": [[8, "different-sets-of-build-time-dependencies"]], "Using any-r1 API with distutils-r1": [[8, "using-any-r1-api-with-distutils-r1"]], "Combining any-r1 API with implementation restrictions": [[8, "combining-any-r1-api-with-implementation-restrictions"]], "Common helper functions": [[9, "common-helper-functions"]], "Install helpers": [[9, "install-helpers"]], "Fixing shebangs on installed scripts": [[9, "fixing-shebangs-on-installed-scripts"]], "Byte-compiling Python modules": [[9, "byte-compiling-python-modules"]], "Querying the implementation information": [[9, "querying-the-implementation-information"]], "Gentoo Python Guide": [[10, "gentoo-python-guide"]], "Contents:": [[10, null]], "Indices and tables": [[10, "indices-and-tables"]], "Python interpreters": [[11, "python-interpreters"]], "Versions of Python": [[11, "versions-of-python"]], "Life cycle of a Python implementation": [[11, "life-cycle-of-a-python-implementation"]], "Stability guarantees of Python implementations": [[11, "stability-guarantees-of-python-implementations"]], "Alternative Python implementations": [[11, "alternative-python-implementations"]], "Support for multiple implementations": [[11, "support-for-multiple-implementations"]], "Backports": [[11, "backports"]], "Maintenance of Python implementations": [[12, "maintenance-of-python-implementations"]], "Notes specific to Python interpreters": [[12, "notes-specific-to-python-interpreters"]], "CPython patchsets": [[12, "cpython-patchsets"]], "PyPy": [[12, "pypy"]], "Adding a new Python implementation": [[12, "adding-a-new-python-implementation"]], "Eclass and profile changes": [[12, "eclass-and-profile-changes"]], "Porting initial packages": [[12, "porting-initial-packages"]], "Python build system bootstrap": [[12, "python-build-system-bootstrap"]], "Migration guides": [[13, "migration-guides"]], "Migrating from old PYTHON_USEDEP syntax in python-single-r1": [[13, "migrating-from-old-python-usedep-syntax-in-python-single-r1"]], "Migrating from EAPI 7 to EAPI 8": [[13, "migrating-from-eapi-7-to-eapi-8"]], "Migrating to PEP 517 builds": [[13, "migrating-to-pep-517-builds"]], "python-r1 \u2014 multi-impl packages": [[14, "python-r1-multi-impl-packages"]], "Manual install": [[14, "manual-install"], [20, "manual-install"]], "Pure Python autotools package": [[14, "pure-python-autotools-package"]], "Additional build-time Python use": [[14, "additional-build-time-python-use"]], "Python package maintenance": [[15, "python-package-maintenance"]], "Support for Python 2": [[15, "support-for-python-2"]], "Which implementations to test new packages for?": [[15, "which-implementations-to-test-new-packages-for"]], "Adding new Python implementations to existing packages": [[15, "adding-new-python-implementations-to-existing-packages"]], "Which packages can be (co-)maintained by the Python project?": [[15, "which-packages-can-be-co-maintained-by-the-python-project"]], "Porting packages to a new EAPI": [[15, "porting-packages-to-a-new-eapi"]], "Monitoring new package versions": [[15, "monitoring-new-package-versions"]], "PyPI release feeds": [[15, "pypi-release-feeds"]], "Checking via pip": [[15, "checking-via-pip"]], "Repology": [[15, "repology"]], "Routine checks on installed Python packages": [[15, "routine-checks-on-installed-python-packages"]], "pip check": [[15, "pip-check"]], "pip list --outdated": [[15, "pip-list-outdated"]], "gpy-verify-deps": [[15, "gpy-verify-deps"]], "Porting tips": [[16, "porting-tips"]], "Retroactive changes": [[16, "retroactive-changes"]], "bpo43882: urlsplit now strips LF, CR and HT characters": [[16, "bpo43882-urlsplit-now-strips-lf-cr-and-ht-characters"]], "Python 3.11": [[16, "python-3-11"]], "Generator-based coroutine removal (asyncio.coroutine)": [[16, "generator-based-coroutine-removal-asyncio-coroutine"]], "inspect.getargspec() and inspect.formatargspec() removal": [[16, "inspect-getargspec-and-inspect-formatargspec-removal"]], "Python 3.10": [[16, "python-3-10"]], "configure: No package \u2018python-3.1\u2019 found": [[16, "configure-no-package-python-3-1-found"]], "distutils.sysconfig deprecation": [[16, "distutils-sysconfig-deprecation"]], "Python 3.9": [[16, "python-3-9"]], "base64.encodestring / base64.decodestring removal": [[16, "base64-encodestring-base64-decodestring-removal"]], "Python 3.8": [[16, "python-3-8"]], "python-config and pkg-config no longer list Python library by default": [[16, "python-config-and-pkg-config-no-longer-list-python-library-by-default"]], "Replacing the toml package": [[16, "replacing-the-toml-package"]], "Porting to tomllib/tomli without toml fallback": [[16, "porting-to-tomllib-tomli-without-toml-fallback"]], "Porting to tomllib/tomli with toml fallback": [[16, "porting-to-tomllib-tomli-with-toml-fallback"]], "Porting to tomli-w": [[16, "porting-to-tomli-w"]], "Preface": [[17, "preface"]], "pytest recipes": [[18, "pytest-recipes"]], "Skipping tests based on markers": [[18, "skipping-tests-based-on-markers"]], "Skipping tests based on paths/names": [[18, "skipping-tests-based-on-paths-names"]], "Avoiding the dependency on pytest-runner": [[18, "avoiding-the-dependency-on-pytest-runner"]], "Using pytest-xdist to run tests in parallel": [[18, "using-pytest-xdist-to-run-tests-in-parallel"]], "Avoiding dependencies on other pytest plugins": [[18, "avoiding-dependencies-on-other-pytest-plugins"]], "Explicitly disabling automatic pytest plugins": [[18, "explicitly-disabling-automatic-pytest-plugins"]], "Expert: disabling plugin autoloading entirely": [[18, "expert-disabling-plugin-autoloading-entirely"]], "TypeError: _make_test_flaky() got an unexpected keyword argument \u2018reruns\u2019": [[18, "typeerror-make-test-flaky-got-an-unexpected-keyword-argument-reruns"]], "ImportPathMismatchError": [[18, "importpathmismatcherror"]], "fixture \u2018\u2026\u2019 not found": [[18, "fixture-not-found"]], "Warnings": [[18, "warnings"]], "QA checks and warnings": [[19, "qa-checks-and-warnings"]], "Improved QA warning reporting in Portage": [[19, "improved-qa-warning-reporting-in-portage"]], "Compiled bytecode-related warnings": [[19, "compiled-bytecode-related-warnings"]], "Modules are not byte-compiled": [[19, "modules-are-not-byte-compiled"]], "Stray compiled bytecode": [[19, "stray-compiled-bytecode"]], "python-single-r1 \u2014 single-impl packages": [[20, "python-single-r1-single-impl-packages"]], "A hybrid: build-time + conditional runtime": [[20, "a-hybrid-build-time-conditional-runtime"]], "Multiple USE conditions": [[20, "multiple-use-conditions"]], "Resolving test suite problems": [[21, "resolving-test-suite-problems"]], "Choosing the correct test runner": [[21, "choosing-the-correct-test-runner"]], "Missing test files in PyPI packages": [[21, "missing-test-files-in-pypi-packages"]], "ImportErrors for C extensions": [[21, "importerrors-for-c-extensions"]], "Checklist for dealing with test failures": [[21, "checklist-for-dealing-with-test-failures"]], "Skipping problematic tests": [[21, "skipping-problematic-tests"]], "Tests requiring Internet access": [[21, "tests-requiring-internet-access"]], "Tests aborting (due to assertions)": [[21, "tests-aborting-due-to-assertions"]], "Installing extra dependencies in test environment (PEP 517 mode)": [[21, "installing-extra-dependencies-in-test-environment-pep-517-mode"]]}, "indexentries": {"python_usedep": [[0, "index-2"], [14, "index-1"], [20, "index-1"]], "python-any-r1": [[0, "index-0"], [0, "index-1"], [0, "index-2"]], "python_check_deps": [[0, "index-1"], [8, "index-4"]], "python_gen_any_dep": [[0, "index-0"], [8, "index-3"]], "python_has_version": [[0, "index-3"]], "bdepend": [[1, "index-5"]], "depend": [[1, "index-6"]], "epython": [[1, "index-3"]], "python": [[1, "index-4"]], "python_compat": [[1, "index-0"]], "python_deps": [[1, "index-1"]], "python_required_use": [[1, "index-2"]], "rdepend": [[1, "index-7"]], "python_req_use": [[4, "index-0"]], "cffi": [[4, "index-3"]], "for conditional deps": [[4, "index-2"]], "greenlet": [[4, "index-3"]], "python_gen_cond_dep": [[4, "index-2"], [20, "index-2"]], "python_gen_impl_dep": [[4, "index-1"]], "test-rust": [[4, "index-4"]], "cython": [[5, "index-6"]], "distutils_args": [[5, "index-17"]], "distutils_deps": [[5, "index-23"]], "distutils_optional": [[5, "index-24"]], "distutils_single_impl": [[5, "index-0"]], "distutils_use_pep517": [[5, "index-1"]], "rust": [[5, "index-25"]], "setuptools_scm_pretend_version": [[5, "index-2"]], "distutils_enable_sphinx": [[5, "index-22"]], "distutils_enable_tests": [[5, "index-19"]], "epytest": [[5, "index-20"]], "esetup.py": [[5, "index-18"]], "flit_scm": [[5, "index-3"]], "hatch-vcs": [[5, "index-4"]], "python_compile": [[5, "index-11"]], "python_compile_all": [[5, "index-12"]], "python_configure": [[5, "index-9"]], "python_configure_all": [[5, "index-10"]], "python_install": [[5, "index-15"]], "python_install_all": [[5, "index-16"]], "python_prepare": [[5, "index-7"]], "python_prepare_all": [[5, "index-8"]], "python_test": [[5, "index-13"]], "python_test_all": [[5, "index-14"]], "setuptools_scm": [[5, "index-5"]], "virtx": [[5, "index-21"]], "distutils_in_source_build": [[6, "index-1"]], "distutils_use_setuptools": [[6, "index-0"]], "distutils_install_for_testing": [[6, "index-2"]], "distutils_all_subphase_impls": [[8, "index-2"]], "python-r1": [[8, "index-3"], [8, "index-4"], [14, "index-1"]], "python_gen_useflags": [[8, "index-0"]], "python_setup": [[8, "index-1"], [14, "index-3"]], "with implementation parameter": [[8, "index-1"]], "python_doexe": [[9, "index-0"]], "python_doheaders": [[9, "index-5"]], "python_domodule": [[9, "index-4"]], "python_doscript": [[9, "index-2"]], "python_fix_shebang": [[9, "index-8"]], "python_get_cflags": [[9, "index-14"]], "python_get_libs": [[9, "index-15"]], "python_get_python_config": [[9, "index-16"]], "python_get_includedir": [[9, "index-11"]], "python_get_library_path": [[9, "index-13"]], "python_get_scriptdir": [[9, "index-12"]], "python_get_sitedir": [[9, "index-10"]], "python_moduleinto": [[9, "index-7"]], "python_newexe": [[9, "index-1"]], "python_newscript": [[9, "index-3"]], "python_optimize": [[9, "index-9"]], "python_scriptinto": [[9, "index-6"]], "eapi 8": [[13, "index-1"]], "python_multi_usedep": [[13, "index-0"]], "for python-r1": [[14, "index-3"]], "python_foreach_impl": [[14, "index-0"]], "run_in_build_dir": [[14, "index-2"]], "python_single_usedep": [[20, "index-0"]], "for python-single-r1": [[20, "index-2"]], "python-single-r1": [[20, "index-1"]]}}) \ No newline at end of file
diff --git a/guide/single.html b/guide/single.html
index e32f877..b915cfd 100644
--- a/guide/single.html
+++ b/guide/single.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -52,29 +49,29 @@ environment appropriately.</p>
<p>This means that a most trivial package using an autotools-compatible
build system along with unconditional dependency on Python could look
like the following:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
-<span class="hll"> <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python2_7 <span class="o">)</span>
-</span><span class="hll"> inherit python-single-r1
+<span class="hll"><span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python2_7<span class="w"> </span><span class="o">)</span>
+</span><span class="hll"><span class="w"> </span>inherit<span class="w"> </span>python-single-r1
</span>
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Scripts to prepare and plot VOACAP propagation predictions&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://www.qsl.net/h/hz1jw//pythonprop/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://sourceforge/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
-
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-2+&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86&quot;</span>
- <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;&quot;</span>
-<span class="hll"> <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Scripts to prepare and plot VOACAP propagation predictions&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://www.qsl.net/h/hz1jw//pythonprop/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://sourceforge/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-2+&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86&quot;</span>
+<span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;&quot;</span>
+<span class="hll"><span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2">&quot;</span>
</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
-<span class="hll"><span class="s2"> </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"></span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="hll"><span class="s2"> </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span>
</span><span class="s2"> ...</span>
<span class="s2"> &quot;</span>
- <span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2">&quot;</span>
</pre></div>
</div>
<p>This ebuild demonstrates the absolute minimum working code. Only
@@ -104,9 +101,9 @@ implementations, and substitute <code class="docutils literal notranslate"><span
it:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> ...</span>
-<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep <span class="s1">&#39;</span>
+<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep<span class="w"> </span><span class="s1">&#39;</span>
<span class="s1"> dev-python/matplotlib-python2[gtk2,${PYTHON_USEDEP}]</span>
-<span class="s1"> &#39;</span><span class="k">)</span><span class="s2"></span>
+<span class="s1"> &#39;</span><span class="k">)</span>
<span class="s2">&quot;</span>
</pre></div>
</div>
@@ -117,7 +114,7 @@ are used for this purpose. When other variables are used, double quotes
with explicit escapes have to be used:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> ...</span>
-<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep <span class="s2">&quot;</span>
+<span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep<span class="w"> </span><span class="s2">&quot;</span>
<span class="s2"> dev-python/wxpython:</span><span class="si">${</span><span class="nv">WX_GTK_VER</span><span class="si">}</span><span class="s2">[\${PYTHON_USEDEP}]</span>
<span class="s2"> &quot;</span><span class="k">)</span><span class="s2">&quot;</span>
</pre></div>
@@ -133,43 +130,43 @@ inside it.</p>
If Python support is conditional to a USE flag, appropriate USE
conditionals need to be used in metadata variables, and <code class="docutils literal notranslate"><span class="pre">pkg_setup</span></code>
needs to be rewritten to call the default implementation conditionally:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">6</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">6</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python2_7 <span class="o">)</span>
- inherit python-single-r1
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python2_7<span class="w"> </span><span class="o">)</span>
+<span class="w"> </span>inherit<span class="w"> </span>python-single-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Yet more Objects for (High Energy Physics) Data Analysis&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;http://yoda.hepforge.org/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;http://www.hepforge.org/archive/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.bz2&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Yet more Objects for (High Energy Physics) Data Analysis&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;http://yoda.hepforge.org/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;http://www.hepforge.org/archive/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.bz2&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-2&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0/</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86 ~amd64-linux ~x86-linux&quot;</span>
-<span class="hll"> <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;python root&quot;</span>
-</span><span class="hll"> <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;python? ( </span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2"> )&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-2&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0/</span><span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86 ~amd64-linux ~x86-linux&quot;</span>
+<span class="hll"><span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;python root&quot;</span>
+</span><span class="hll"><span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;python? ( </span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2"> )&quot;</span>
</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="hll"><span class="s2"> python? ( </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"> )</span>
</span><span class="hll"><span class="s2"> root? ( sci-physics/root:=[python=,</span><span class="si">${</span><span class="nv">PYTHON_SINGLE_USEDEP</span><span class="si">}</span><span class="s2">] )&quot;</span>
-</span> <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2"></span>
+</span><span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span>
<span class="hll"><span class="s2"> python? (</span>
-</span><span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep <span class="s1">&#39;</span>
+</span><span class="hll"><span class="s2"> </span><span class="k">$(</span>python_gen_cond_dep<span class="w"> </span><span class="s1">&#39;</span>
</span><span class="hll"><span class="s1"> dev-python/cython[${PYTHON_USEDEP}]</span>
-</span><span class="hll"><span class="s1"> &#39;</span><span class="k">)</span><span class="s2"></span>
+</span><span class="hll"><span class="s1"> &#39;</span><span class="k">)</span>
</span><span class="hll"><span class="s2"> )&quot;</span>
</span>
- pkg_setup<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> use python <span class="o">&amp;&amp;</span> python-single-r1_pkg_setup
-</span> <span class="o">}</span>
-
- src_configure<span class="o">()</span> <span class="o">{</span>
- econf <span class="se">\</span>
-<span class="hll"> <span class="k">$(</span>use_enable python pyext<span class="k">)</span> <span class="se">\</span>
-</span> <span class="k">$(</span>use_enable root<span class="k">)</span>
- <span class="o">}</span>
+<span class="w"> </span>pkg_setup<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span>use<span class="w"> </span>python<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>python-single-r1_pkg_setup
+</span><span class="w"> </span><span class="o">}</span>
+
+<span class="w"> </span>src_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>econf<span class="w"> </span><span class="se">\</span>
+<span class="hll"><span class="w"> </span><span class="k">$(</span>use_enable<span class="w"> </span>python<span class="w"> </span>pyext<span class="k">)</span><span class="w"> </span><span class="se">\</span>
+</span><span class="w"> </span><span class="k">$(</span>use_enable<span class="w"> </span>root<span class="k">)</span>
+<span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
</section>
@@ -181,41 +178,41 @@ the package is calling some helper scripts at build time, and optionally
installing Python bindings. In this case, the build time dependency
is expressed unconditionally, and the runtime dependency is made
USE-conditional:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">6</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">6</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span> <span class="o">)</span>
- <span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s2">&quot;threads(+)&quot;</span>
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span><span class="w"> </span><span class="o">)</span>
+<span class="w"> </span><span class="nv">PYTHON_REQ_USE</span><span class="o">=</span><span class="s2">&quot;threads(+)&quot;</span>
- inherit waf-utils python-single-r1
+<span class="w"> </span>inherit<span class="w"> </span>waf-utils<span class="w"> </span>python-single-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Samba talloc library&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://talloc.samba.org/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://www.samba.org/ftp/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Samba talloc library&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://talloc.samba.org/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://www.samba.org/ftp/</span><span class="si">${</span><span class="nv">PN</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.gz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-3 LGPL-3+ LGPL-2&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha amd64 arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sh ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~x64-solaris&quot;</span>
-<span class="hll"> <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;+python&quot;</span>
-</span><span class="hll"> <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;GPL-3 LGPL-3+ LGPL-2&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha amd64 arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sh ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~x64-solaris&quot;</span>
+<span class="hll"><span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;+python&quot;</span>
+</span><span class="hll"><span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2">&quot;</span>
</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> ...</span>
<span class="hll"><span class="s2"> python? ( </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"> )&quot;</span>
-</span> <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span><span class="s2"></span>
+</span><span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">RDEPEND</span><span class="si">}</span>
<span class="s2"> ...</span>
<span class="hll"><span class="s2"> </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2">&quot;</span>
</span>
- <span class="nv">WAF_BINARY</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">S</span><span class="si">}</span><span class="s2">/buildtools/bin/waf&quot;</span>
-
- src_configure<span class="o">()</span> <span class="o">{</span>
- <span class="nb">local</span> <span class="nv">extra_opts</span><span class="o">=(</span>
-<span class="hll"> <span class="k">$(</span>usex python <span class="s1">&#39;&#39;</span> --disable-python<span class="k">)</span>
-</span> <span class="o">)</span>
- waf-utils_src_configure <span class="s2">&quot;</span><span class="si">${</span><span class="nv">extra_opts</span><span class="p">[@]</span><span class="si">}</span><span class="s2">&quot;</span>
- <span class="o">}</span>
+<span class="w"> </span><span class="nv">WAF_BINARY</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">S</span><span class="si">}</span><span class="s2">/buildtools/bin/waf&quot;</span>
+
+<span class="w"> </span>src_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nb">local</span><span class="w"> </span><span class="nv">extra_opts</span><span class="o">=(</span>
+<span class="hll"><span class="w"> </span><span class="k">$(</span>usex<span class="w"> </span>python<span class="w"> </span><span class="s1">&#39;&#39;</span><span class="w"> </span>--disable-python<span class="k">)</span>
+</span><span class="w"> </span><span class="o">)</span>
+<span class="w"> </span>waf-utils_src_configure<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">extra_opts</span><span class="p">[@]</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
<p>Note that eclass-exported <code class="docutils literal notranslate"><span class="pre">pkg_setup</span></code> is used unconditionally here.</p>
@@ -225,49 +222,49 @@ USE-conditional:</p>
<p>Finally, let’s give an example of a package where Python is needed
for two independent conditions. To make it more complex, one of them
applies to build time (tests) while the other to runtime (bindings).</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">7</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span> <span class="o">)</span>
- inherit cmake python-single-r1
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python3_<span class="o">{</span><span class="m">6</span>,7,8<span class="o">}</span><span class="w"> </span><span class="o">)</span>
+<span class="w"> </span>inherit<span class="w"> </span>cmake<span class="w"> </span>python-single-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Sound design and signal processing system for composition and performance&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://csound.github.io/&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://dev.gentoo.org/~fordfrog/distfiles/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">-distributable.tar.xz&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Sound design and signal processing system for composition and performance&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://csound.github.io/&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;https://dev.gentoo.org/~fordfrog/distfiles/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">-distributable.tar.xz&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;LGPL-2.1 doc? ( FDL-1.2+ )&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86&quot;</span>
-<span class="hll"> <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;python test&quot;</span>
-</span> <span class="nv">RESTRICT</span><span class="o">=</span><span class="s2">&quot;!test? ( test )&quot;</span>
- <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;LGPL-2.1 doc? ( FDL-1.2+ )&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~amd64 ~x86&quot;</span>
+<span class="hll"><span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;python test&quot;</span>
+</span><span class="w"> </span><span class="nv">RESTRICT</span><span class="o">=</span><span class="s2">&quot;!test? ( test )&quot;</span>
+<span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="hll"><span class="s2"> python? ( </span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2"> )</span>
</span><span class="hll"><span class="s2"> test? ( </span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2"> )&quot;</span>
</span>
- <span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">BDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="s2"> python? ( dev-lang/swig )</span>
<span class="hll"><span class="s2"> test? ( </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"> )</span>
</span><span class="s2"> &quot;</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span>
<span class="hll"><span class="s2"> python? ( </span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2"> )</span>
</span><span class="s2"> &quot;</span>
- pkg_setup<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> <span class="k">if</span> use python <span class="o">||</span> use <span class="nb">test</span> <span class="p">;</span> <span class="k">then</span>
-</span><span class="hll"> python-single-r1_pkg_setup
-</span><span class="hll"> <span class="k">fi</span>
-</span> <span class="o">}</span>
+<span class="w"> </span>pkg_setup<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span><span class="k">if</span><span class="w"> </span>use<span class="w"> </span>python<span class="w"> </span><span class="o">||</span><span class="w"> </span>use<span class="w"> </span><span class="nb">test</span><span class="w"> </span><span class="p">;</span><span class="w"> </span><span class="k">then</span>
+</span><span class="hll"><span class="w"> </span>python-single-r1_pkg_setup
+</span><span class="hll"><span class="w"> </span><span class="k">fi</span>
+</span><span class="w"> </span><span class="o">}</span>
- src_configure<span class="o">()</span> <span class="o">{</span>
- <span class="nb">local</span> <span class="nv">mycmakeargs</span><span class="o">=(</span>
-<span class="hll"> -DBUILD_PYTHON_INTERFACE<span class="o">=</span><span class="k">$(</span>usex python<span class="k">)</span>
-</span><span class="hll"> -DBUILD_PYTHON_OPCODES<span class="o">=</span><span class="k">$(</span>usex python<span class="k">)</span>
-</span> <span class="o">)</span>
+<span class="w"> </span>src_configure<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nb">local</span><span class="w"> </span><span class="nv">mycmakeargs</span><span class="o">=(</span>
+<span class="hll"><span class="w"> </span>-DBUILD_PYTHON_INTERFACE<span class="o">=</span><span class="k">$(</span>usex<span class="w"> </span>python<span class="k">)</span>
+</span><span class="hll"><span class="w"> </span>-DBUILD_PYTHON_OPCODES<span class="o">=</span><span class="k">$(</span>usex<span class="w"> </span>python<span class="k">)</span>
+</span><span class="w"> </span><span class="o">)</span>
- cmake_src_configure
- <span class="o">}</span>
+<span class="w"> </span>cmake_src_configure
+<span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
<p>Please note that in general, the condition in <code class="docutils literal notranslate"><span class="pre">pkg_setup</span></code> must match
@@ -279,31 +276,31 @@ used in dependencies.</p>
<p>Some packages do not include Python files in their build systems,
or do not install all of them. In this case, the necessary files
can be installed via one of the installation helpers.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
- <span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="c1"># Copyright 1999-2020 Gentoo Authors</span>
+<span class="w"> </span><span class="c1"># Distributed under the terms of the GNU General Public License v2</span>
- <span class="nv">EAPI</span><span class="o">=</span><span class="m">6</span>
+<span class="w"> </span><span class="nv">EAPI</span><span class="o">=</span><span class="m">6</span>
- <span class="nv">PYTHON_COMPAT</span><span class="o">=(</span> python2_7 <span class="o">)</span>
- inherit python-single-r1
+<span class="w"> </span><span class="nv">PYTHON_COMPAT</span><span class="o">=(</span><span class="w"> </span>python2_7<span class="w"> </span><span class="o">)</span>
+<span class="w"> </span>inherit<span class="w"> </span>python-single-r1
- <span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Arabic dictionary based on the DICT protocol&quot;</span>
- <span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://www.arabeyes.org/Duali&quot;</span>
- <span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://sourceforge/arabeyes/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.bz2&quot;</span>
+<span class="w"> </span><span class="nv">DESCRIPTION</span><span class="o">=</span><span class="s2">&quot;Arabic dictionary based on the DICT protocol&quot;</span>
+<span class="w"> </span><span class="nv">HOMEPAGE</span><span class="o">=</span><span class="s2">&quot;https://www.arabeyes.org/Duali&quot;</span>
+<span class="w"> </span><span class="nv">SRC_URI</span><span class="o">=</span><span class="s2">&quot;mirror://sourceforge/arabeyes/</span><span class="si">${</span><span class="nv">P</span><span class="si">}</span><span class="s2">.tar.bz2&quot;</span>
- <span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;BSD&quot;</span>
- <span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
- <span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha amd64 ~hppa ~ia64 ~mips ~ppc ~sparc x86&quot;</span>
- <span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;&quot;</span>
- <span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">LICENSE</span><span class="o">=</span><span class="s2">&quot;BSD&quot;</span>
+<span class="w"> </span><span class="nv">SLOT</span><span class="o">=</span><span class="s2">&quot;0&quot;</span>
+<span class="w"> </span><span class="nv">KEYWORDS</span><span class="o">=</span><span class="s2">&quot;~alpha amd64 ~hppa ~ia64 ~mips ~ppc ~sparc x86&quot;</span>
+<span class="w"> </span><span class="nv">IUSE</span><span class="o">=</span><span class="s2">&quot;&quot;</span>
+<span class="w"> </span><span class="nv">REQUIRED_USE</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_REQUIRED_USE</span><span class="si">}</span><span class="s2">&quot;</span>
- <span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2">&quot;</span>
- <span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">DEPEND</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">DEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">PYTHON_DEPS</span><span class="si">}</span><span class="s2">&quot;</span>
+<span class="w"> </span><span class="nv">RDEPEND</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">DEPEND</span><span class="si">}</span><span class="s2">&quot;</span>
- src_install<span class="o">()</span> <span class="o">{</span>
-<span class="hll"> python_domodule pyduali
-</span><span class="hll"> python_doscript duali dict2db trans2arabic arabic2trans
-</span> <span class="o">}</span>
+<span class="w"> </span>src_install<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="hll"><span class="w"> </span>python_domodule<span class="w"> </span>pyduali
+</span><span class="hll"><span class="w"> </span>python_doscript<span class="w"> </span>duali<span class="w"> </span>dict2db<span class="w"> </span>trans2arabic<span class="w"> </span>arabic2trans
+</span><span class="w"> </span><span class="o">}</span>
</pre></div>
</div>
</section>
@@ -394,7 +391,7 @@ can be installed via one of the installation helpers.</p>
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
diff --git a/guide/test.html b/guide/test.html
index 5df01d8..545040b 100644
--- a/guide/test.html
+++ b/guide/test.html
@@ -10,9 +10,6 @@
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
- <script src="_static/jquery.js"></script>
- <script src="_static/underscore.js"></script>
- <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="index" title="Index" href="genindex.html" />
@@ -128,17 +125,17 @@ does not include the necessary extensions, the imports fail, e.g.:</p>
<p>The preferred solution is to change the working directory before running
the tests. If tests are installed as a part of the package, they can
be discovered through package search e.g. using pytest:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span> <span class="o">{</span>
- <span class="nb">cd</span> <span class="s2">&quot;</span><span class="si">${</span><span class="nv">T</span><span class="si">}</span><span class="s2">&quot;</span> <span class="o">||</span> die
- epytest --pyargs systemd
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nb">cd</span><span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">T</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span><span class="o">||</span><span class="w"> </span>die
+<span class="w"> </span>epytest<span class="w"> </span>--pyargs<span class="w"> </span>systemd
<span class="o">}</span>
</pre></div>
</div>
<p>If the tests are in a separate directory, an absolute path can be used
instead:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span> <span class="o">{</span>
- <span class="nb">cd</span> <span class="s2">&quot;</span><span class="si">${</span><span class="nv">T</span><span class="si">}</span><span class="s2">&quot;</span> <span class="o">||</span> die
- epytest <span class="s2">&quot;</span><span class="si">${</span><span class="nv">S</span><span class="si">}</span><span class="s2">&quot;</span>/test
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span><span class="nb">cd</span><span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">T</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span><span class="o">||</span><span class="w"> </span>die
+<span class="w"> </span>epytest<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">S</span><span class="si">}</span><span class="s2">&quot;</span>/test
<span class="o">}</span>
</pre></div>
</div>
@@ -179,7 +176,7 @@ requiring the package to be installed prior to testing.</p></li>
This can confirm cases of package for whom the above function
does not work. In the worst case, you can set a test self-dependency
to force users to install the package before testing:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>test? <span class="o">(</span> ~dev-python/myself-<span class="si">${</span><span class="nv">PV</span><span class="si">}</span> <span class="o">)</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>test?<span class="w"> </span><span class="o">(</span><span class="w"> </span>~dev-python/myself-<span class="si">${</span><span class="nv">PV</span><span class="si">}</span><span class="w"> </span><span class="o">)</span>
</pre></div>
</div>
</li>
@@ -215,9 +212,9 @@ continue being run and the test suite will report when it unexpectedly
starts passing again.</p>
<p>Expected failures are not supported by the standard Python unittest
module. It is supported e.g. by pytest.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sed -i -e <span class="se">\</span>
- <span class="s2">&quot;/def test_start_params_bug():/i@pytest.mark.xfail(reason=&#39;Known to fail on Gentoo&#39;)&quot;</span> <span class="se">\</span>
- statsmodels/tsa/tests/test_arima.py <span class="o">||</span> die
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sed<span class="w"> </span>-i<span class="w"> </span>-e<span class="w"> </span><span class="se">\</span>
+<span class="w"> </span><span class="s2">&quot;/def test_start_params_bug():/i@pytest.mark.xfail(reason=&#39;Known to fail on Gentoo&#39;)&quot;</span><span class="w"> </span><span class="se">\</span>
+<span class="w"> </span>statsmodels/tsa/tests/test_arima.py<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
</pre></div>
</div>
<p>Tests that cause inconsistent results, trigger errors, consume
@@ -227,20 +224,20 @@ run at all.</p>
<p>There are multiple ways to skip a test. You can patch it to use a skip
decorator, possibly with a condition:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># broken on py2.7, upstream knows</span>
-sed -i -e <span class="s1">&#39;5a\</span>
-<span class="s1">import sys&#39;</span> <span class="se">\</span>
- -e <span class="s1">&#39;/test_null_bytes/i\</span>
-<span class="s1">@pytest.mark.skipif(sys.hexversion &lt; 0x03000000, reason=&quot;broken on py2&quot;)&#39;</span> <span class="se">\</span>
- test/server.py <span class="o">||</span> die
+sed<span class="w"> </span>-i<span class="w"> </span>-e<span class="w"> </span><span class="s1">&#39;5a\</span>
+<span class="s1">import sys&#39;</span><span class="w"> </span><span class="se">\</span>
+<span class="w"> </span>-e<span class="w"> </span><span class="s1">&#39;/test_null_bytes/i\</span>
+<span class="s1">@pytest.mark.skipif(sys.hexversion &lt; 0x03000000, reason=&quot;broken on py2&quot;)&#39;</span><span class="w"> </span><span class="se">\</span>
+<span class="w"> </span>test/server.py<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
</pre></div>
</div>
<p>The easy way to skip a test unconditioanlly is to prefix its name with
an underscore:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># tests requiring specific locales</span>
-sed -i -e <span class="s1">&#39;s:test_babel_with_language_:_&amp;:&#39;</span> <span class="se">\</span>
- tests/test_build_latex.py <span class="o">||</span> die
-sed -i -e <span class="s1">&#39;s:test_polyglossia_with_language_:_&amp;:&#39;</span> <span class="se">\</span>
- tests/test_build_latex.py <span class="o">||</span> die
+sed<span class="w"> </span>-i<span class="w"> </span>-e<span class="w"> </span><span class="s1">&#39;s:test_babel_with_language_:_&amp;:&#39;</span><span class="w"> </span><span class="se">\</span>
+<span class="w"> </span>tests/test_build_latex.py<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
+sed<span class="w"> </span>-i<span class="w"> </span>-e<span class="w"> </span><span class="s1">&#39;s:test_polyglossia_with_language_:_&amp;:&#39;</span><span class="w"> </span><span class="se">\</span>
+<span class="w"> </span>tests/test_build_latex.py<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
</pre></div>
</div>
<p>Finally, if all tests in a particular file are problematic, you can
@@ -257,9 +254,9 @@ real Internet services. Devmanual provides a detailed explanation <a class="ref
tests must not use Internet</a>.</p>
<p>Some packages provide explicit methods of disabling network-based tests.
For example, <code class="docutils literal notranslate"><span class="pre">dev-python/tox</span></code> provides a switch for that:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span> <span class="o">{</span>
- distutils_install_for_testing
- epytest --no-network
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>distutils_install_for_testing
+<span class="w"> </span>epytest<span class="w"> </span>--no-network
<span class="o">}</span>
</pre></div>
</div>
@@ -268,8 +265,8 @@ connection errors, or detect whether Internet is accessible. Ideally,
you should modify those packages to disable network tests
unconditionally. For example, <code class="docutils literal notranslate"><span class="pre">dev-python/pygit2</span></code> ebuild does this:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># unconditionally prevent it from using network</span>
-sed -i -e <span class="s1">&#39;/def no_network/a \</span>
-<span class="s1"> return True&#39;</span> test/utils.py <span class="o">||</span> die
+sed<span class="w"> </span>-i<span class="w"> </span>-e<span class="w"> </span><span class="s1">&#39;/def no_network/a \</span>
+<span class="s1"> return True&#39;</span><span class="w"> </span>test/utils.py<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
</pre></div>
</div>
<p>In other cases, you will have to explicitly disable these tests.
@@ -283,7 +280,7 @@ to allow interested users to run tests when possible:</p>
<span class="nv">PROPERTIES</span><span class="o">=</span><span class="s2">&quot;test_network&quot;</span>
<span class="nv">RESTRICT</span><span class="o">=</span><span class="s2">&quot;test&quot;</span>
-distutils_enable_tests pytest
+distutils_enable_tests<span class="w"> </span>pytest
</pre></div>
</div>
</section>
@@ -291,24 +288,24 @@ distutils_enable_tests pytest
<h2>Tests aborting (due to assertions)<a class="headerlink" href="#tests-aborting-due-to-assertions" title="Permalink to this heading">¶</a></h2>
<p>There are cases of package’s tests terminating with an unclear error
message and backtrace similar to the following:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="o">=============================</span> <span class="nb">test</span> session <span class="nv">starts</span> <span class="o">==============================</span>
-platform linux -- Python <span class="m">3</span>.7.8, pytest-6.0.1, py-1.9.0, pluggy-0.13.1 -- /usr/bin/python3.7
-cachedir: .pytest_cache
-rootdir: /var/tmp/portage/dev-python/sabyenc-4.0.2/work/sabyenc-4.0.2, configfile: pytest.ini
-collecting ... collected <span class="m">24</span> items
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="o">=============================</span><span class="w"> </span><span class="nb">test</span><span class="w"> </span>session<span class="w"> </span><span class="nv">starts</span><span class="w"> </span><span class="o">==============================</span>
+platform<span class="w"> </span>linux<span class="w"> </span>--<span class="w"> </span>Python<span class="w"> </span><span class="m">3</span>.7.8,<span class="w"> </span>pytest-6.0.1,<span class="w"> </span>py-1.9.0,<span class="w"> </span>pluggy-0.13.1<span class="w"> </span>--<span class="w"> </span>/usr/bin/python3.7
+cachedir:<span class="w"> </span>.pytest_cache
+rootdir:<span class="w"> </span>/var/tmp/portage/dev-python/sabyenc-4.0.2/work/sabyenc-4.0.2,<span class="w"> </span>configfile:<span class="w"> </span>pytest.ini
+collecting<span class="w"> </span>...<span class="w"> </span>collected<span class="w"> </span><span class="m">24</span><span class="w"> </span>items
<span class="o">[</span>...<span class="o">]</span>
-tests/test_decoder.py::test_crc_pickles PASSED <span class="o">[</span> <span class="m">54</span>%<span class="o">]</span>
-tests/test_decoder.py::test_empty_size_pickles Fatal Python error: Aborted
-
-Current thread 0x00007f748bc47740 <span class="o">(</span>most recent call first<span class="o">)</span>:
- File <span class="s2">&quot;/var/tmp/portage/dev-python/sabyenc-4.0.2/work/sabyenc-4.0.2/tests/testsupport.py&quot;</span>, line <span class="m">74</span> <span class="k">in</span> sabyenc3_wrapper
- File <span class="s2">&quot;/var/tmp/portage/dev-python/sabyenc-4.0.2/work/sabyenc-4.0.2/tests/test_decoder.py&quot;</span>, line <span class="m">119</span> <span class="k">in</span> test_empty_size_pickles
- File <span class="s2">&quot;/usr/lib/python3.7/site-packages/_pytest/python.py&quot;</span>, line <span class="m">180</span> <span class="k">in</span> pytest_pyfunc_call
- File <span class="s2">&quot;/usr/lib/python3.7/site-packages/pluggy/callers.py&quot;</span>, line <span class="m">187</span> <span class="k">in</span> _multicall
- <span class="o">[</span>...<span class="o">]</span>
- File <span class="s2">&quot;/usr/lib/python-exec/python3.7/pytest&quot;</span>, line <span class="m">11</span> <span class="k">in</span> &lt;module&gt;
-/var/tmp/portage/dev-python/sabyenc-4.0.2/temp/environment: line <span class="m">2934</span>: <span class="m">66</span> Aborted <span class="o">(</span>core dumped<span class="o">)</span> pytest -vv
+tests/test_decoder.py::test_crc_pickles<span class="w"> </span>PASSED<span class="w"> </span><span class="o">[</span><span class="w"> </span><span class="m">54</span>%<span class="o">]</span>
+tests/test_decoder.py::test_empty_size_pickles<span class="w"> </span>Fatal<span class="w"> </span>Python<span class="w"> </span>error:<span class="w"> </span>Aborted
+
+Current<span class="w"> </span>thread<span class="w"> </span>0x00007f748bc47740<span class="w"> </span><span class="o">(</span>most<span class="w"> </span>recent<span class="w"> </span>call<span class="w"> </span>first<span class="o">)</span>:
+<span class="w"> </span>File<span class="w"> </span><span class="s2">&quot;/var/tmp/portage/dev-python/sabyenc-4.0.2/work/sabyenc-4.0.2/tests/testsupport.py&quot;</span>,<span class="w"> </span>line<span class="w"> </span><span class="m">74</span><span class="w"> </span><span class="k">in</span><span class="w"> </span>sabyenc3_wrapper
+<span class="w"> </span>File<span class="w"> </span><span class="s2">&quot;/var/tmp/portage/dev-python/sabyenc-4.0.2/work/sabyenc-4.0.2/tests/test_decoder.py&quot;</span>,<span class="w"> </span>line<span class="w"> </span><span class="m">119</span><span class="w"> </span><span class="k">in</span><span class="w"> </span>test_empty_size_pickles
+<span class="w"> </span>File<span class="w"> </span><span class="s2">&quot;/usr/lib/python3.7/site-packages/_pytest/python.py&quot;</span>,<span class="w"> </span>line<span class="w"> </span><span class="m">180</span><span class="w"> </span><span class="k">in</span><span class="w"> </span>pytest_pyfunc_call
+<span class="w"> </span>File<span class="w"> </span><span class="s2">&quot;/usr/lib/python3.7/site-packages/pluggy/callers.py&quot;</span>,<span class="w"> </span>line<span class="w"> </span><span class="m">187</span><span class="w"> </span><span class="k">in</span><span class="w"> </span>_multicall
+<span class="w"> </span><span class="o">[</span>...<span class="o">]</span>
+<span class="w"> </span>File<span class="w"> </span><span class="s2">&quot;/usr/lib/python-exec/python3.7/pytest&quot;</span>,<span class="w"> </span>line<span class="w"> </span><span class="m">11</span><span class="w"> </span><span class="k">in</span><span class="w"> </span>&lt;module&gt;
+/var/tmp/portage/dev-python/sabyenc-4.0.2/temp/environment:<span class="w"> </span>line<span class="w"> </span><span class="m">2934</span>:<span class="w"> </span><span class="m">66</span><span class="w"> </span>Aborted<span class="w"> </span><span class="o">(</span>core<span class="w"> </span>dumped<span class="o">)</span><span class="w"> </span>pytest<span class="w"> </span>-vv
</pre></div>
</div>
<p>This usually indicates that the C code of some Python extension failed
@@ -345,8 +342,8 @@ build Python with <code class="docutils literal notranslate"><span class="pre">-
As a result, all assertions are stripped at build time. Upstream
can work around that by explicitly setting <code class="docutils literal notranslate"><span class="pre">CFLAGS</span></code> for the build,
e.g.:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ <span class="nv">CFLAGS</span><span class="o">=</span><span class="s1">&#39;-O0 -g&#39;</span> python setup.py build build_ext -i
-$ pytest -s
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span><span class="nv">CFLAGS</span><span class="o">=</span><span class="s1">&#39;-O0 -g&#39;</span><span class="w"> </span>python<span class="w"> </span>setup.py<span class="w"> </span>build<span class="w"> </span>build_ext<span class="w"> </span>-i
+$<span class="w"> </span>pytest<span class="w"> </span>-s
</pre></div>
</div>
</section>
@@ -368,19 +365,19 @@ from the current directory.</p>
to duplicate the install tree and then install additional packages
into it for the purpose of testing. Note that <code class="docutils literal notranslate"><span class="pre">PATH</span></code> is manipulated
(rather than <code class="docutils literal notranslate"><span class="pre">PYTHONPATH</span></code>) to use virtualenv-style install root.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span> <span class="o">{</span>
- cp -a <span class="s2">&quot;</span><span class="si">${</span><span class="nv">BUILD_DIR</span><span class="si">}</span><span class="s2">&quot;</span>/<span class="o">{</span>install,test<span class="o">}</span> <span class="o">||</span> die
- <span class="nb">local</span> -x <span class="nv">PATH</span><span class="o">=</span><span class="si">${</span><span class="nv">BUILD_DIR</span><span class="si">}</span>/test/usr/bin:<span class="si">${</span><span class="nv">PATH</span><span class="si">}</span>
-
- <span class="c1"># Install necessary plugins</span>
- <span class="nb">local</span> p
- <span class="k">for</span> p <span class="k">in</span> example*/<span class="p">;</span> <span class="k">do</span>
- <span class="nb">pushd</span> <span class="s2">&quot;</span><span class="si">${</span><span class="nv">p</span><span class="si">}</span><span class="s2">&quot;</span> &gt;/dev/null <span class="o">||</span> die
- distutils_pep517_install <span class="s2">&quot;</span><span class="si">${</span><span class="nv">BUILD_DIR</span><span class="si">}</span><span class="s2">&quot;</span>/test
- <span class="nb">popd</span> &gt;/dev/null <span class="o">||</span> die
- <span class="k">done</span>
-
- epytest
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python_test<span class="o">()</span><span class="w"> </span><span class="o">{</span>
+<span class="w"> </span>cp<span class="w"> </span>-a<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">BUILD_DIR</span><span class="si">}</span><span class="s2">&quot;</span>/<span class="o">{</span>install,test<span class="o">}</span><span class="w"> </span><span class="o">||</span><span class="w"> </span>die
+<span class="w"> </span><span class="nb">local</span><span class="w"> </span>-x<span class="w"> </span><span class="nv">PATH</span><span class="o">=</span><span class="si">${</span><span class="nv">BUILD_DIR</span><span class="si">}</span>/test/usr/bin:<span class="si">${</span><span class="nv">PATH</span><span class="si">}</span>
+
+<span class="w"> </span><span class="c1"># Install necessary plugins</span>
+<span class="w"> </span><span class="nb">local</span><span class="w"> </span>p
+<span class="w"> </span><span class="k">for</span><span class="w"> </span>p<span class="w"> </span><span class="k">in</span><span class="w"> </span>example*/<span class="p">;</span><span class="w"> </span><span class="k">do</span>
+<span class="w"> </span><span class="nb">pushd</span><span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">p</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span>&gt;/dev/null<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
+<span class="w"> </span>distutils_pep517_install<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">BUILD_DIR</span><span class="si">}</span><span class="s2">&quot;</span>/test
+<span class="w"> </span><span class="nb">popd</span><span class="w"> </span>&gt;/dev/null<span class="w"> </span><span class="o">||</span><span class="w"> </span>die
+<span class="w"> </span><span class="k">done</span>
+
+<span class="w"> </span>epytest
<span class="o">}</span>
</pre></div>
</div>
@@ -474,7 +471,7 @@ into it for the purpose of testing. Note that <code class="docutils literal not
&copy;2020, Michał Górny, license: CC BY 4.0.
|
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 6.1.3</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|