From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Cc: "Michał Górny" <mgorny@gentoo.org>
Subject: [gentoo-dev] [PATCH 0/6] distutils-r1.eclass: Enable wheel reuse by default and add `distutils_enable_tests import-check`
Date: Fri, 19 Jul 2024 16:56:00 +0200 [thread overview]
Message-ID: <20240719150427.133877-1-mgorny@gentoo.org> (raw)
Hello,
Here's another batch of changes to distutils-r1. Its focused on two
topics:
1. Enabling the new wheel reuse code (added 2024-05-20) by default.
This means that whenever possible, the eclass will invoke the PEP517
build system just once and install the resulting wheel for all
suitable implementations.
This is NFC if you have only a single target enabled. If you enable
multiple targets, this gives a major performance boost, as most
of the time we don't need to spend significant time repeatedly
invoking slowtools, I mean setuptools.
It also means that for Python packages using the stable API, we don't
build roughly identical C or Rust extensions multiple times.
2. Adding `distutils_enable_tests import-check` option. This is meant
as a "last resort" for packages that don't feature test suites
at all. It uses dev-python/pytest-import-check plugin to verify
that all installed modules (both .py and .so) are at least
importable.
I'm including three example uses of that. Since it's implemented
on top of pytest, EPYTEST_DESELECT can be used to skip modules
that don't meant to be importable.
Pull request: https://github.com/gentoo/gentoo/pull/37187
(note that it's failing because of keywords on pytest-import-check)
Michał Górny (6):
distutils-r1.eclass: Fix QA to ignore non-generic "pure" wheels
distutils-r1.eclass: Allow wheel reuse by default
distutils-r1.eclass: Add distutils_enable_tests import-check
dev-python/ytmusicapi: Enable import-check testing (sample)
dev-python/pymountboot: Enable import-check testing (sample)
dev-python/miniupnpc: Enable import-check testing (sample)
dev-python/miniupnpc/miniupnpc-2.2.8.ebuild | 1 +
.../pymountboot/pymountboot-0.2.3-r1.ebuild | 2 ++
dev-python/ytmusicapi/ytmusicapi-1.7.5.ebuild | 2 +-
eclass/distutils-r1.eclass | 16 +++++++++++++---
4 files changed, 17 insertions(+), 4 deletions(-)
--
2.45.2
next reply other threads:[~2024-07-19 15:04 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-19 14:56 Michał Górny [this message]
2024-07-19 14:56 ` [gentoo-dev] [PATCH 1/6] distutils-r1.eclass: Fix QA to ignore non-generic "pure" wheels Michał Górny
2024-07-19 14:56 ` [gentoo-dev] [PATCH 2/6] distutils-r1.eclass: Allow wheel reuse by default Michał Górny
2024-07-19 14:56 ` [gentoo-dev] [PATCH 3/6] distutils-r1.eclass: Add distutils_enable_tests import-check Michał Górny
2024-07-19 14:56 ` [gentoo-dev] [PATCH 4/6] dev-python/ytmusicapi: Enable import-check testing (sample) Michał Górny
2024-07-19 14:56 ` [gentoo-dev] [PATCH 5/6] dev-python/pymountboot: " Michał Górny
2024-07-19 14:56 ` [gentoo-dev] [PATCH 6/6] dev-python/miniupnpc: " Michał Górny
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240719150427.133877-1-mgorny@gentoo.org \
--to=mgorny@gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox