Make it possible to use python_domodule() outside src_install(),
in order to install files into the ${BUILD_DIR}/install tree used
by distutils-r1.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Fix python_moduleinto doc to mention python_domodule rather than
python_doscript (copy-paste error, probably).
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Introduce a new DISTUTILS_USE_PEP517 value "no" that stands for
"no build system". This is primarily meant to replace the legacy
distutils-r1 logic used for bootstrapping baseline PEP 517 packages.
At the same time, it provides a convenient replacement for some
of the uses of python-r1.
In this mode, the eclass does not add PEP517-specific dependencies
and does not export default python_compile() and python_install()
implementations. However, it does set dependencies, REQUIRED_USE
and enables sub-phase usage (with respect to DISTUTILS_OPTIONAL).
It also permits using distutils_enable_{sphinx,tests}.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Move the PEP517 venv logic, install executable wrapping and root-merging
logic all into post-phases. This will enable the ebuilds that do not
use the standard phase implementations to use them.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Now that we've essentially removed non-implicit namespace packages
from Gentoo and setuptools upstream has deprecated their old solution,
it's time to make this check fatal. Unfortunately, I did not think
of it when adding PEP517 mode, so let's do that in EAPI 9.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
The PyPy 'share' directory check was necessary because of the historical
prefix logic that we patched in Gentoo. All modern versions of PyPy
use '/usr' as sys.prefix natively, so the check is no longer needed.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Perform the install QA check (the invalid package name check) in a post-
phase function. This enables it to be performed even when
distutils-r1_python_install is not used.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Support running additional post-python_* phase functions for internal
usage. The goal is to replace some of the inline logic
in distutils-r1_python_* functions that relies on the user calling them
and additional calls to python_foreach_impl.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
The test suites of pytest plugins cause additional *-pytest-*.pyc files
to be created. Remove them in order to prevent them from being
installed alongside the package.
Closes: https://bugs.gentoo.org/847235
Signed-off-by: Michał Górny <mgorny@gentoo.org>