--- Begin Message ---
Subject: |
[PATCH 00/14] Introducing pyproject-build-system. |
Date: |
Mon, 17 Oct 2022 22:06:24 +0200 |
This is an adaptation of Lars' work in wip-python-pep517 for 'master'.
I've implemented it as a separate build system so we can do a slow
transition, starting at the leafs.
Changes from the original branch:
* Renamed to pyproject-build-system.
* It inherits some code from python-build-system.
* Python 2 and <3.7 support removed.
* A (temporary) sanity-check-next.py file is introduced.
* A new (hidden) 'python-sans-pip' variable is introduced.
* The 'python-toolchain' package includes pip, wheel, setuptools, and
pypa-build.
The build system logic is unchanged from Lars' branch.
I've converted a handful packages that were doing PEP 517 style builds
to the new build system with great success. It should help a lot with
packaging "modern" Python packages.
Please try it for new packages, even those using setup.py, and don't be
afraid to report problems!
I plan to eventually merge it with python-build-system instead of
keeping it separate. Thoughts?
Note: documentation is missing. Will work on that next.
Lars-Dominik Braun (3):
gnu: python-setuptools: Move to python-build.
gnu: pypy: Move to separate module.
build-system: Add pyproject-build-system.
Marius Bakke (11):
gnu: python-pip: Move to (gnu packages python-build).
gnu: python-autopage: Use pyproject-build-system.
gnu: flair: Switch to pyproject-build-system.
gnu: python-pydyf: Use pyproject-build-system.
gnu: weasyprint: Use pyproject-build-system.
gnu: python-glyphslib: Use pyproject-build-system.
gnu: python-statmake: Use pyproject-build-system.
gnu: python-ufolib2: Use pyproject-build-system.
gnu: python-mypy-protobuf: Switch to pyproject-build-system.
gnu: python-tempora: Switch to pyproject-build-system.
gnu: python-pygmsh: Use pyproject-build-system.
Makefile.am | 2 +
gnu/local.mk | 2 +
.../aux-files/python/sanity-check-next.py | 98 ++++
gnu/packages/bioinformatics.scm | 23 +-
gnu/packages/chemistry.scm | 1 +
gnu/packages/fontutils.scm | 91 +---
gnu/packages/messaging.scm | 1 +
gnu/packages/pdf.scm | 40 +-
gnu/packages/protobuf.scm | 15 +-
gnu/packages/pypy.scm | 273 +++++++++++
gnu/packages/python-build.scm | 61 +++
gnu/packages/python-commencement.scm | 64 +++
gnu/packages/python-xyz.scm | 110 +----
gnu/packages/python.scm | 180 +------
gnu/packages/sequoia.scm | 2 +-
gnu/packages/simulation.scm | 20 +-
guix/build-system/pyproject.scm | 148 ++++++
guix/build/pyproject-build-system.scm | 460 ++++++++++++++++++
tests/lint.scm | 2 +-
19 files changed, 1164 insertions(+), 429 deletions(-)
create mode 100644 gnu/packages/aux-files/python/sanity-check-next.py
create mode 100644 gnu/packages/pypy.scm
create mode 100644 gnu/packages/python-commencement.scm
create mode 100644 guix/build-system/pyproject.scm
create mode 100644 guix/build/pyproject-build-system.scm
--
2.38.0
--- End Message ---
--- Begin Message ---
Subject: |
Re: [bug#58587] [PATCH 04/14] build-system: Add pyproject-build-system. |
Date: |
Thu, 27 Oct 2022 21:32:23 +0200 |
Marius Bakke <marius@gnu.org> skriver:
> Maxim Cournoyer <maxim.cournoyer@gmail.com> skriver:
>
>> Hello,
>>
>> Marius Bakke <marius@gnu.org> writes:
>>
>>> From: Lars-Dominik Braun <lars@6xq.net>
>>>
>>> + ;; Prefer pytest
>>> + (if pytest 'pytest #f)
>>> + (if nosetests 'nose #f)
>>> + (if nose2 'nose2 #f)
>>> + ;; But fall back to setup.py, which should work for most
>>> + ;; packages. XXX: would be nice not to depend on setup.py
>>> here? fails
>>> + ;; more often than not to find any tests at all. Maybe we
>>> can run
>>> + ;; `python -m unittest`?
>>> + (if have-setup-py 'setup.py #f))))
>>> + (format #t "Using ~a~%" use-test-backend)
>>> + (match use-test-backend
>>> + ('pytest
>>> + (apply invoke (cons pytest (or test-flags '("-vv")))))
>>> + ('nose
>>> + (apply invoke (cons nosetests (or test-flags '("-v")))))
>>> + ('nose2
>>> + (apply invoke (cons nose2 (or test-flags '("-v"
>>> "--pretty-assert")))))
>>
>> I think I'd leave the defaults in and document it that way.
>
> By leave, you mean:
>
> (apply invoke "pytest" "-vv" test-flags)
>
> ?
I made this change in e944734ef9afa1ac9b46579934482b7d909ed24e.
The patches are now merged!
signature.asc
Description: PGP signature
--- End Message ---