| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Make `distutils_enable_tests pytest` automatically add
the `dev-python/pytest-xdist` dependency if `EPYTEST_XDIST` is set.
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>
|
|
|
|
|
|
| |
This fixes cross-prefix installations.
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, setup.py was handled by:
- manually passing makejobs, with a heuristic to guess whether it was a
time saver to do so.
- rm -rf'ing the build directory in between python versions to prevent
cross-version contamination
This is because in PEP 517 mode, it doesn't accept build options
specific to a setuptools phase. So a crude hack is to just build_ext
twice, once explicitly and once internally as part of bdist_wheel, and
pray that in the latter case it detects that there's nothing to do.
Unfortunately, sometimes build_ext does NOT detect that there is nothing
to do -- e.g. for codegen tools such as mypyc, that produce *.c files
which are different every time you try building. As for build
directories, those were given up on as hopeless.
There's a better hack which is to set a magic environment variable for a
setup.cfg file which is parsed additionally to the one provided by the
project. It can contain additional settings, such as the build-base and
parallelism, which means that bdist_wheel intrinsically builds
extensions in parallel the only time it is called. And we can set the
output directory for all build artifacts to outside of the source tree,
so it is no longer necessary to delete them (which among other things,
makes debugging difficult).
This is similar to .pydistutils.cfg, but is processed later and can be
in arbitrary locations. Since we store it in the per-impl build
directory we don't need to wipe it after using it to avoid leakage.
Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
|
| |
To complete 5b29e5b1a393c21db9974de5c2d01e6dc482d4b9.
Signed-off-by: Benda Xu <heroxbd@gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/32354
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
Strip LTO flags when cargo.eclass is inherited. This means that Rust
extensions are being built, and linking them with C/C++ style LTO
results in broken shared libraries.
Closes: https://bugs.gentoo.org/910220
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
|
| |
--reflink=auto has become the default behaviour in coreutils 9,
and it is not compatible with BSD userland.
Signed-off-by: Violet Purcell <vimproved@inventati.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: 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>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
|
| |
Do not force SETUPTOOLS_USE_DISTUTILS=stdlib on Python 3.12+
(in non-PEP517 mode), as stdlib no longer supplies distutils there.
Thanks to Sam for the report!
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>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replaces the deprecated MATURIN_PEP517_ARGS and will also
allow ebuilds to enable/disable cargo --features through
DISTUTILS_ARGS like the rest should the need arise.
Support was technically added in 0.15.3, but 1.0.0 allows
passing an array rather than only a to-be-shlex.split string.
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/31143
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>
|
|
|
|
|
|
| |
Closes: https://bugs.gentoo.org/906385
Closes: https://bugs.gentoo.org/906376
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
| |
Fix DISTUTILS_EXT to add IUSE=debug even if DISTUTILS_OPTIONAL is used.
This was the intended behavior, as documented in the Python Guide.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When not passing an explicit build directory, meson-python configures
meson into a build directory that is rooted in a tempdir with a random
suffix. This results in unstable paths, which currently disappear after
meson-python completes (either with success or failure). It doesn't
handle incremental or resumed builds, and it's very difficult to debug
-- for example by inspecting the logfile that meson itself prints out
when the configure stage fails.
Bug: https://bugs.gentoo.org/905396
Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
| |
Closes: https://bugs.gentoo.org/904677
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
Detect when Python packages install extensions and warn about missing
DISTUTILS_EXT appropriately.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/30650
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
|
| |
Issue the explicit `build_ext` command call only if `DISTUTILS_EXT`
is set. This should avoid a few false positives where the command
was called due to irrelevant .c files being present in the source tree.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
| |
Add IUSE=debug when DISTUTILS_EXT is set, and use it to control
assertions via appending -DNDEBUG or -UNDEBUG to CPPFLAGS.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Add `${PYTHON_DEPS}` to `DEPEND` (i.e. `SYSROOT` dependencies) when
building extensions. This is necessary to support cross-compilations
correctly.
Originally proposed by Raul E Rangel <rrangel@chromium.org>.
Closes: https://github.com/gentoo/gentoo/pull/30469
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
| |
Add a control variable that should be set in ebuilds that build
C, Cython, Rust extensions, etc.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
| |
Thanks to codespell.
Signed-off-by: Sam James <sam@gentoo.org>
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
| |
Closes: https://github.com/gentoo/gentoo/pull/30061
Signed-off-by: David Seifert <soap@gentoo.org>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
| |
Closes: https://github.com/gentoo/gentoo/pull/29701
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
|
|
|
| |
Replace the `--global-option` used to pass custom setup.py arguments
with `--build-option`. Using the former to pass arbitrary options
is deprecated since setuptools 64.0.0. They are both equivalent right
now and `--build-option` will preserve the current behavior, so this
should be NFC (except for silencing the warning).
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
| |
Fixes: 50546c3db84904399e5624eb8f163e3d2be284e3
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
79071eb9f6f4a5725c1a89700bcfd7f120101179 tried to mitigate this but
blockers don't affect dependency resolution (ordering), so let's add
a || ( <dev-python/setuptools-... >=dev-python/setuptools-...) dep
in the eclass to ensure that the bad in-between versions (which were
in ~arch, not stable, for a period, and are no longer in tree) aren't
considered good enough to install any distutils-r1 PEP517 packages.
We can clean this up once newer setuptools is stable & then simplify
(and tighten) the dep.
(Worth keeping in mind that Portage (rightly) doesn't aggressively
update things listed in RDEPEND in that order simply because they're
in RDEPEND. It might update something listed in RDEPEND after the
package listing it provided there's no >= or otherwise dep.)
Bug: https://bugs.gentoo.org/892529
Bug: https://bugs.gentoo.org/892525
Bug: https://bugs.gentoo.org/893538
Bug: https://bugs.gentoo.org/893632
Bug: https://bugs.gentoo.org/893630
Bug: https://bugs.gentoo.org/893634
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>
|
|
|
|
| |
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
| |
Closes: https://bugs.gentoo.org/891959
Closes: https://github.com/gentoo/gentoo/pull/29354
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>
|
|
|
|
|
|
|
|
|
|
|
| |
In addition to checking for known-bad package names, detect stray
files installed into top-level site-packages directory. This is
primarily meant to cover the common mistake in using `include`
in Poetry-built packages.
Closes: https://bugs.gentoo.org/893172
Closes: https://github.com/gentoo/gentoo/pull/29425
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rationale:
src_test() {
virtx distutils-r1_src_test
}
If the test fails with "die", Xvfb keeps running forever; but it's
cleaned up correctly with die -n
Signed-off-by: Alexey Sokolov <alexey+gentoo@asokolov.org>
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|