unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Marius Bakke <marius@gnu.org>
To: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Cc: 58587@debbugs.gnu.org, Lars-Dominik Braun <lars@6xq.net>
Subject: [bug#58587] [PATCH 04/14] build-system: Add pyproject-build-system.
Date: Thu, 27 Oct 2022 19:23:18 +0200	[thread overview]
Message-ID: <871qqttc3d.fsf@gnu.org> (raw)
In-Reply-To: <87zgdhjqgr.fsf@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2690 bytes --]

Maxim Cournoyer <maxim.cournoyer@gmail.com> skriver:

> Hello,
>
> Marius Bakke <marius@gnu.org> writes:
>
>> From: Lars-Dominik Braun <lars@6xq.net>
>>
>> This is an experimental build system based on python-build-system
>> that implements PEP 517-compliant builds.
>>
>> * guix/build-system/pyproject.scm,
>> guix/build/pyproject-build-system.scm,
>> gnu/packages/aux-files/python/sanity-check-next.py,
>
> I know this file is temporary, but I'd keep the copyright/license
> notices header anyway, less it may be forgotten in the future.

Makes sense; done.

>> gnu/packages/python-commencement.scm: New files.
>> * Makefile.am (MODULES): Register the new build systems.
>> * gnu/local.mk (GNU_SYSTEM_MODULES): Add python-commencement.scm.
>
> Seems this could be merged into gnu/packages/python-build.scm instead of
> creating a new module.

I think you reviewed an old revision; the latest revision adds
python-toolchain straight into python.scm.

We may have to bring back python-commencement.scm for bootstrapping
setuptools and friends at a later core-updates cycle though.

>> +              ;; 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)

?

>> +(define* (set-SOURCE-DATE-EPOCH #:rest _)
>
> Perhaps name this set-SOURCE-DATE-EPOCH* to hint that it's not the same
> thing duplicated.

Done; although in the latest revision nothing is duplicated as it
inherits a bunch from python-build-system.

Plans for the immediate core-updates cycle:

* merge sanity-check-next.py into sanity-check.py
* set SOURCE_DATE_EPOCH to ~1980 also in python-build-system
  (and inherit in pyproject-build-system)
* move the compile-bytecode phase into python-build-system
  (currently python-build-system does this during install, hence
   duplication)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

  parent reply	other threads:[~2022-10-27 17:28 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-17 20:06 [bug#58587] [PATCH 00/14] Introducing pyproject-build-system Marius Bakke
2022-10-17 20:11 ` [bug#58587] [PATCH 01/14] gnu: python-setuptools: Move to python-build Marius Bakke
2022-10-17 20:11   ` [bug#58587] [PATCH 02/14] gnu: pypy: Move to separate module Marius Bakke
2022-10-27 13:28     ` Maxim Cournoyer
2022-10-17 20:11   ` [bug#58587] [PATCH 03/14] gnu: python-pip: Move to (gnu packages python-build) Marius Bakke
2022-10-27 13:29     ` Maxim Cournoyer
2022-10-17 20:11   ` [bug#58587] [PATCH 04/14] build-system: Add pyproject-build-system Marius Bakke
2022-10-27 14:23     ` Maxim Cournoyer
2022-10-27 15:17       ` Lars-Dominik Braun
2022-10-27 17:12         ` Maxim Cournoyer
2022-10-27 17:23       ` Marius Bakke [this message]
2022-10-27 19:32         ` bug#58587: " Marius Bakke
2022-10-28  1:12           ` [bug#58587] " Maxim Cournoyer
2022-10-17 20:11   ` [bug#58587] [PATCH 05/14] gnu: python-autopage: Use pyproject-build-system Marius Bakke
2022-10-27 14:24     ` Maxim Cournoyer
2022-10-17 20:11   ` [bug#58587] [PATCH 06/14] gnu: flair: Switch to pyproject-build-system Marius Bakke
2022-10-17 20:11   ` [bug#58587] [PATCH 07/14] gnu: python-pydyf: Use pyproject-build-system Marius Bakke
2022-10-17 20:11   ` [bug#58587] [PATCH 08/14] gnu: weasyprint: " Marius Bakke
2022-10-17 20:11   ` [bug#58587] [PATCH 09/14] gnu: python-glyphslib: " Marius Bakke
2022-10-17 20:11   ` [bug#58587] [PATCH 10/14] gnu: python-statmake: " Marius Bakke
2022-10-17 20:11   ` [bug#58587] [PATCH 11/14] gnu: python-ufolib2: " Marius Bakke
2022-10-17 20:11   ` [bug#58587] [PATCH 12/14] gnu: python-mypy-protobuf: Switch to pyproject-build-system Marius Bakke
2022-10-17 20:12   ` [bug#58587] [PATCH 13/14] gnu: python-tempora: " Marius Bakke
2022-10-17 20:12   ` [bug#58587] [PATCH 14/14] gnu: python-pygmsh: Use pyproject-build-system Marius Bakke
2022-10-27 14:26     ` Maxim Cournoyer
2022-10-27 13:25   ` [bug#58587] [PATCH 01/14] gnu: python-setuptools: Move to python-build Maxim Cournoyer
2022-10-27 14:08     ` Marius Bakke
2022-10-27 17:34       ` Maxim Cournoyer
2022-10-18  9:33 ` [bug#58587] [PATCH 00/14] Introducing pyproject-build-system zimoun
2022-10-18 21:51   ` Marius Bakke
2022-10-19  9:49     ` zimoun
2022-10-19 23:11       ` Marius Bakke
2022-10-19 23:17         ` Marius Bakke
2022-10-20  8:08         ` zimoun
2022-10-22 19:06           ` Marius Bakke
2022-10-22 19:09             ` [bug#58587] [PATCH v2 01/22] gnu: python-setuptools: Move to python-build Marius Bakke
2022-10-22 19:09               ` [bug#58587] [PATCH v2 02/22] gnu: pypy: Move to separate module Marius Bakke
2022-10-22 19:09               ` [bug#58587] [PATCH v2 03/22] gnu: python-pip: Move to (gnu packages python-build) Marius Bakke
2022-10-22 19:09               ` [bug#58587] [PATCH v2 04/22] build-system: Add pyproject-build-system Marius Bakke
2022-10-22 19:09               ` [bug#58587] [PATCH v2 05/22] news: Add entry for 'pyproject-build-system' Marius Bakke
2022-10-22 22:20             ` [bug#58587] [PATCH v3 01/22] gnu: python-setuptools: Move to python-build Marius Bakke
2022-10-22 22:20               ` [bug#58587] [PATCH v3 02/22] gnu: pypy: Move to separate module Marius Bakke
2022-10-22 22:20               ` [bug#58587] [PATCH v3 03/22] gnu: python-pip: Move to (gnu packages python-build) Marius Bakke
2022-10-22 22:20               ` [bug#58587] [PATCH v3 04/22] build-system: Add pyproject-build-system Marius Bakke
2022-10-22 22:20               ` [bug#58587] [PATCH v3 05/22] news: Add entry for 'pyproject-build-system' Marius Bakke
2022-10-24 16:36                 ` pelzflorian (Florian Pelz)
2022-10-24 18:01                   ` Julien Lepiller
2022-10-22 22:20               ` [bug#58587] [PATCH v3 06/22] gnu: python-autopage: Use pyproject-build-system Marius Bakke
2022-10-22 22:20               ` [bug#58587] [PATCH v3 07/22] gnu: flair: Switch to pyproject-build-system Marius Bakke
2022-10-22 22:20               ` [bug#58587] [PATCH v3 08/22] gnu: python-pydyf: Use pyproject-build-system Marius Bakke
2022-10-22 22:20               ` [bug#58587] [PATCH v3 09/22] gnu: weasyprint: " Marius Bakke
2022-10-22 22:20               ` [bug#58587] [PATCH v3 10/22] gnu: python-glyphslib: " Marius Bakke
2022-10-22 22:20               ` [bug#58587] [PATCH v3 11/22] gnu: python-statmake: " Marius Bakke
2022-10-22 22:20               ` [bug#58587] [PATCH v3 12/22] gnu: python-ufolib2: " Marius Bakke
2022-10-22 22:20               ` [bug#58587] [PATCH v3 13/22] gnu: python-mypy-protobuf: Switch to pyproject-build-system Marius Bakke
2022-10-22 22:20               ` [bug#58587] [PATCH v3 14/22] gnu: python-tempora: " Marius Bakke
2022-10-22 22:20               ` [bug#58587] [PATCH v3 15/22] gnu: python-pygmsh: Use pyproject-build-system Marius Bakke
2022-10-22 22:20               ` [bug#58587] [PATCH v3 16/22] gnu: zabbix-cli: Switch to pyproject-build-system Marius Bakke
2022-10-22 22:20               ` [bug#58587] [PATCH v3 17/22] gnu: python-openapi-schema-validator: Use pyproject-build-system Marius Bakke
2022-10-22 22:20               ` [bug#58587] [PATCH v3 18/22] gnu: python-openapi-spec-validator: " Marius Bakke
2022-10-22 22:20               ` [bug#58587] [PATCH v3 19/22] gnu: python-path: " Marius Bakke
2022-10-22 22:20               ` [bug#58587] [PATCH v3 20/22] gnu: python-cattrs: " Marius Bakke
2022-10-22 22:20               ` [bug#58587] [PATCH v3 21/22] gnu: python-scikit-build: Switch to pyproject-build-system Marius Bakke
2022-10-22 22:21               ` [bug#58587] [PATCH v3 22/22] gnu: python-deepmerge: Use pyproject-build-system Marius Bakke
2022-10-27 13:10             ` [bug#58587] [PATCH 00/14] Introducing pyproject-build-system Maxim Cournoyer

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

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871qqttc3d.fsf@gnu.org \
    --to=marius@gnu.org \
    --cc=58587@debbugs.gnu.org \
    --cc=lars@6xq.net \
    --cc=maxim.cournoyer@gmail.com \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).