GNU bug report logs -
#58587
[PATCH 00/14] Introducing pyproject-build-system.
Previous Next
Reported by: Marius Bakke <marius <at> gnu.org>
Date: Mon, 17 Oct 2022 20:07:01 UTC
Severity: normal
Tags: patch
Done: Marius Bakke <marius <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#58587: [PATCH 00/14] Introducing pyproject-build-system.
which was filed against the guix-patches package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 58587 <at> debbugs.gnu.org.
--
58587: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=58587
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
Marius Bakke <marius <at> gnu.org> skriver:
> Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skriver:
>
>> Hello,
>>
>> Marius Bakke <marius <at> gnu.org> writes:
>>
>>> From: Lars-Dominik Braun <lars <at> 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 (application/pgp-signature, inline)]
[Message part 5 (message/rfc822, inline)]
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
This bug report was last modified 2 years and 262 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.