public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [PATCH 0/6] distutils-r1.eclass: Enable wheel reuse by default and add `distutils_enable_tests import-check`
@ 2024-07-19 14:56 Michał Górny
  2024-07-19 14:56 ` [gentoo-dev] [PATCH 1/6] distutils-r1.eclass: Fix QA to ignore non-generic "pure" wheels Michał Górny
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Michał Górny @ 2024-07-19 14:56 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

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



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-07-19 15:06 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-19 14:56 [gentoo-dev] [PATCH 0/6] distutils-r1.eclass: Enable wheel reuse by default and add `distutils_enable_tests import-check` Michał Górny
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox