| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pep517 mode had some options changed around (as part of 1.0
release roadmap), notably adds --jobs/--profile, and removes
--cargo-extra-args.
--jobs is semi-optional given cargo.eclass handles that, but will
be useful in the event don't use cargo.eclass (e.g. vendored crates),
or if maturin ever uses it internally for non-cargo bits.
Errors out on unrecognized options, so split in two blocks with intend
to cleanup the old once a 0.13.x is stable rather than do messy
per-option conditions (likely won't stable .0, releases are frequent).
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
|
|
|
|
| |
We get trouble when bootstrapping Prefix otherwise as diffutils
may not be installed yet. This is a bit less churn than
adding the BDEPEND, not that there's a strong argument either way.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
Split the wheel installation logic from distutils_pep517_install
into a new distutils_wheel_install function. Also intended for expert
use only.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
| |
Warn if python_foreach_impl is called directly from within a phase
function that is already covered by a distutils-r1 sub-phase.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The eclass code in distutils-r1_python_install makes some assumptions
specific to _distutils-r1_post_python_compile being called,
and scriptdir not being modified since. Make them more explicit by:
1) explicitly removing the files that we expect to have been created,
2) verifying that both the copied and the original scriptdir have
the same list of files.
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 PEP 517-specific dependencies
and the default python_compile() is a no-op. 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>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
| |
Account for the possibility that ${BUILD_DIR}/install does not contain
any files to merge, in preparation for DISTUTILS_USE_PEP517=no.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
| |
Reverts: de2e1bee2462fccc445b845a889b006f888c6b1d
Closes: https://bugs.gentoo.org/850418
Closes: https://bugs.gentoo.org/850433
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
| |
Reverts: e897148019dc484622c8c6a44153dd45694d8a99
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
| |
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
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>
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
|
|
|
| |
Move a few minor setup calls from distutils-r1_src_configure()
to distutils-r1_python_prepare_all(). Since we do not declare default
configure sub-phases, it is easy to override src_configure() entirely
and accidentally skip these steps. We already warn for missing
distutils-r1_python_prepare_all() call, so let's move them there.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
| |
Use gpep517 --config-json support to pass DISTUTILS_ARGS in PEP517 mode.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
| |
Switch the distutils-r1.eclass to gpep517 code branches unconditionally.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
|
| |
dev-python/installer has made incompatible changes in 0.5.1 that breaks
the non-gpep517 code path. Add a version limit prior to bumping,
in case we end up reverting gpep517 changes.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
| |
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
| |
With only indentation changes.
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
|
| |
Account for distutils-r1_python_compile arguments when counting
makejobs. This is needed to correctly detect forced "-j1",
e.g. in dev-python/pandas.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
|
| |
Run parallel build_ext only if there are at least two potential source
files to compile. This call is expensive and parallel builds do not
benefit us if there is only one file to compile.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
| |
Fixes: 6451cf647f04b31a56ea2dc8c3f84a70c2468f87
Thanks-to: Ionen Wolkens <ionen@gentoo.org>
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
Bump min. dependency versions to match oldest stable in ::gentoo,
in order to avoid requiring developers to repeat them in BDEPEND
with higher version.
Closes: https://github.com/gentoo/gentoo/pull/24965
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
|
|
|
| |
Print deprecation warnings for non-PEP517 builds using plain distutils.
This is a small subset of Python packages overall, and the first step
towards deprecating legacy build support. Transitioning pure distutils
packages is also important to avoid .egg-info collisions when we switch
from CPython distutils to setuptools-vendored distutils.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
|
| |
Introduce a distutils_write_namespace helper that can be used to
temporarily write a namespace __init__.py as needed to run tests
when legacy dev-python/namespace-* packages are installed.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
Skip issuing build_ext when there appears to be no .c/.pyx files.
Since starting setuptools is expensive, this gives a major speedup
to building pure Python packages. If the check misfires, the worst
that can happen is that C extensions will be built serialized.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Call `setup.py build_ext` instead of the wholesale `build` in PEP517
mode. After all, the call is not strictly necessary; it is only done
in order to build C extensions in parallel (PEP517 backend does not
support specifying job count). By skipping the other tasks build
command does (and then repeats via PEP517 call), the ebuild can build
a few seconds faster.
Since this is a potentially breaking change (but very unlikely to
actually break anything), let's test it behind GPEP517_TESTING.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|