Message ID | 20221017200624.4076-1-marius@gnu.org |
---|---|
Headers |
Return-Path: <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 7FA8327BBE9; Mon, 17 Oct 2022 21:07:13 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 5977D27BBEA for <patchwork@mira.cbaines.net>; Mon, 17 Oct 2022 21:07:12 +0100 (BST) Received: from localhost ([::1]:43276 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org>) id 1okWOF-0004ny-95 for patchwork@mira.cbaines.net; Mon, 17 Oct 2022 16:07:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41220) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1okWO6-0004np-LD for guix-patches@gnu.org; Mon, 17 Oct 2022 16:07:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51028) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1okWO6-0001Qw-BZ for guix-patches@gnu.org; Mon, 17 Oct 2022 16:07:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1okWO6-0007Bs-3v for guix-patches@gnu.org; Mon, 17 Oct 2022 16:07:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#58587] [PATCH 00/14] Introducing pyproject-build-system. Resent-From: Marius Bakke <marius@gnu.org> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org> Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 17 Oct 2022 20:07:01 +0000 Resent-Message-ID: <handler.58587.B.166603719127598@debbugs.gnu.org> Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 58587 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 58587@debbugs.gnu.org Cc: Lars-Dominik Braun <lars@6xq.net>, Maxim Cournoyer <maxim.cournoyer@gmail.com> X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.166603719127598 (code B ref -1); Mon, 17 Oct 2022 20:07:01 +0000 Received: (at submit) by debbugs.gnu.org; 17 Oct 2022 20:06:31 +0000 Received: from localhost ([127.0.0.1]:50106 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>) id 1okWNb-0007B4-Co for submit@debbugs.gnu.org; Mon, 17 Oct 2022 16:06:31 -0400 Received: from lists.gnu.org ([209.51.188.17]:44956) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <marius@gnu.org>) id 1okWNZ-0007Aw-KJ for submit@debbugs.gnu.org; Mon, 17 Oct 2022 16:06:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54268) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <marius@gnu.org>) id 1okWNZ-0004kT-6x for guix-patches@gnu.org; Mon, 17 Oct 2022 16:06:29 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:53960) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <marius@gnu.org>) id 1okWNY-0001J6-3S; Mon, 17 Oct 2022 16:06:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=DBciv+az864eFTipVXwYBtihBDTy2HnFmxVz7KeK5fM=; b=J70s+0YshutN4/ 2yz8HC0OAny2y7YEj0KXx5/00fSXgjnOGJ0TWqTzITkFXAieS994BRFXx6kuGJvgSXVvfNEDwKElP yYMBZcNGWsDtQL67iWF7Qs0imUcNRJiPD4v9+ngVGBojqbalnRvKsI4fmtKn/Fjw7A+d8Q3FuZ669 gZpxvpKxWlMgcCQlWWfoZ1308ma811IX8TqHhsnNtaBA2x8VY6u+SQxRX2cgKoprF8Gy361bjdNy/ AQ0mep4emjFdTb+W9txbhMU2SRfbMc+rhxCQPS6jrJDuXDl3sXNyFkoB+VP+D4DBIOh6HI7BWGhJ/ d53Me22cYUv96ZV3o85Q==; Received: from [84.211.203.64] (port=56050 helo=localhost) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <marius@gnu.org>) id 1okWNX-0004Gq-FG; Mon, 17 Oct 2022 16:06:27 -0400 From: Marius Bakke <marius@gnu.org> Date: Mon, 17 Oct 2022 22:06:24 +0200 Message-Id: <20221017200624.4076-1-marius@gnu.org> X-Mailer: git-send-email 2.38.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: <guix-patches.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=unsubscribe> List-Archive: <https://lists.gnu.org/archive/html/guix-patches> List-Post: <mailto:guix-patches@gnu.org> List-Help: <mailto:guix-patches-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=subscribe> Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> X-getmail-retrieved-from-mailbox: Patches |
Series |
Introducing pyproject-build-system.
|
|
Message
Marius Bakke
Oct. 17, 2022, 8:06 p.m. UTC
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
Comments
Hi Marius, On Mon, 17 Oct 2022 at 22:06, Marius Bakke <marius@gnu.org> wrote: > This is an adaptation of Lars' work in wip-python-pep517 for 'master'. Cool! > I've implemented it as a separate build system so we can do a slow > transition, starting at the leafs. [...] > I plan to eventually merge it with python-build-system instead of > keeping it separate. Thoughts? I would suggest to have a clear plan about this transition strategy. :-) I mean, if we go to two separated Python build-systems and then merge them, we have to write down the various steps; otherwise it could be quickly a mess. For example, 1. advertise about this new Python build-system 2. recommend only this new 3. only include package using this new 4. convert from old to new 5. remove old / rename old to new or whatever else. My concern is to have two build systems to maintain on the long term. Once something lands to master and the API, it is then hard to modify. Therefore, it appears to me better to draw beforehand the large lines of this transition plan. Cheers, simon