[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#58587] [PATCH 00/14] Introducing pyproject-build-system.
From: |
zimoun |
Subject: |
[bug#58587] [PATCH 00/14] Introducing pyproject-build-system. |
Date: |
Wed, 19 Oct 2022 11:49:14 +0200 |
Hi Marius,
On Tue, 18 Oct 2022 at 23:51, Marius Bakke <marius@gnu.org> wrote:
> I tried to address this in the attached documentation patch.
Neat!
> The idea is to:
>
> * Recommend it for new packages in the 'guix' channel, mostly during
> patch review.
> * Once we are confident in the implementation, remove the "experimental"
> status and recommend it in the documentation.
> * Merge pieces of it into python-build-system as we go, such as sanity
> check changes, using python-toolchain, etc.
> * When we "know" that there won't be any major regressions, swap out
> python-build-system with pyproject-build-system entirely and mark the
> latter as deprecated.
I would add a note, for instance, something like that:
diff --git a/doc/contributing.texi b/doc/contributing.texi
index 4b1eed1cb1..17dd4ec7a9 100644
--- a/doc/contributing.texi
+++ b/doc/contributing.texi
@@ -786,6 +786,24 @@ for instance, the module python-dateutil is packaged under
the names
starts with @code{py} (e.g.@: @code{pytz}), we keep it and prefix it as
described above.
+@quotation Note
+Instead of the default Python build system @var{python-build-system}
+(@pxref{Build Systems}), we are encouraging to try the ``experimental''
+@var{pyproject-build-system} exported by @code{guix build-system
+pyproject}. It is a reimplementation of @var{python-build-system}
+designed around @file{pyproject.toml} and
+@url{https://peps.python.org/pep-0517/, PEP 517}, and it supports a
+variety of build backends and test frameworks.
+
+It is considered ``experimental'' in that the implementation details are
+not set in stone yet. However, there should not be any breaking
+changes, so please report any failure for new Python packages (even
+those using @file{setup.py}).
+
+Eventually this @var{pyproject-build-system} will be deprecated and
+merged back into @var{python-build-system}, probably some time in 2024.
+@end quotation
+
@subsubsection Specifying Dependencies
@cindex inputs, for Python packages
> From 628944b6f4267c4eeb5884074298b82c8d17548c Mon Sep 17 00:00:00 2001
> From: Marius Bakke <marius@gnu.org>
> Date: Tue, 18 Oct 2022 23:38:39 +0200
> Subject: [PATCH] doc: Document pyproject-build-system.
>
> * doc/guix.texi (Build Systems): Add pyproject-build-system section.
> * doc/contributing.texi (Python Modules): Mention pyproject.toml and the
> PYTHON-TOOLCHAIN package.
LGTM.
> ---
> doc/contributing.texi | 21 +++++++++++++--------
> doc/guix.texi | 14 ++++++++++++++
> 2 files changed, 27 insertions(+), 8 deletions(-)
>
> diff --git a/doc/contributing.texi b/doc/contributing.texi
> index 4b1eed1cb1..b9260267fa 100644
> --- a/doc/contributing.texi
> +++ b/doc/contributing.texi
[...]
> +@defvr {Scheme Variable} pyproject-build-system
> +This is a variable exported by @code{guix build-system pyproject}. It
> +is a reimplementation of @code{python-build-system} designed around
^
s/code/var
> +@file{pyproject.toml} and @url{https://peps.python.org/pep-0517/, PEP 517},
> +and supports a variety of build backends and test frameworks.
> +
> +It is considered ``experimental'' in that the implementation details are
> +not set in stone yet, however users are encouraged to try it for new
> +Python projects (even those using @file{setup.py}) and there should not
> +be any breaking changes.
>
> +Eventually this build system will be deprecated and merged back into
> +@code{python-build-system}, probably some time in 2024.
Idem
Cheers,
simon
- [bug#58587] [PATCH 08/14] gnu: weasyprint: Use pyproject-build-system., (continued)
- [bug#58587] [PATCH 08/14] gnu: weasyprint: Use pyproject-build-system., Marius Bakke, 2022/10/17
- [bug#58587] [PATCH 10/14] gnu: python-statmake: Use pyproject-build-system., Marius Bakke, 2022/10/17
- [bug#58587] [PATCH 13/14] gnu: python-tempora: Switch to pyproject-build-system., Marius Bakke, 2022/10/17
- [bug#58587] [PATCH 09/14] gnu: python-glyphslib: Use pyproject-build-system., Marius Bakke, 2022/10/17
- [bug#58587] [PATCH 11/14] gnu: python-ufolib2: Use pyproject-build-system., Marius Bakke, 2022/10/17
- [bug#58587] [PATCH 01/14] gnu: python-setuptools: Move to python-build., Maxim Cournoyer, 2022/10/27
[bug#58587] [PATCH 00/14] Introducing pyproject-build-system., zimoun, 2022/10/18
- [bug#58587] [PATCH 00/14] Introducing pyproject-build-system., Marius Bakke, 2022/10/18
- [bug#58587] [PATCH 00/14] Introducing pyproject-build-system.,
zimoun <=
- [bug#58587] [PATCH 00/14] Introducing pyproject-build-system., Marius Bakke, 2022/10/19
- [bug#58587] [PATCH 00/14] Introducing pyproject-build-system., Marius Bakke, 2022/10/19
- [bug#58587] [PATCH 00/14] Introducing pyproject-build-system., zimoun, 2022/10/20
- [bug#58587] [PATCH 00/14] Introducing pyproject-build-system., Marius Bakke, 2022/10/22
- [bug#58587] [PATCH v2 01/22] gnu: python-setuptools: Move to python-build., Marius Bakke, 2022/10/22
- [bug#58587] [PATCH v2 02/22] gnu: pypy: Move to separate module., Marius Bakke, 2022/10/22
- [bug#58587] [PATCH v2 03/22] gnu: python-pip: Move to (gnu packages python-build)., Marius Bakke, 2022/10/22
- [bug#58587] [PATCH v2 04/22] build-system: Add pyproject-build-system., Marius Bakke, 2022/10/22
- [bug#58587] [PATCH v2 05/22] news: Add entry for 'pyproject-build-system'., Marius Bakke, 2022/10/22
- [bug#58587] [PATCH v3 01/22] gnu: python-setuptools: Move to python-build., Marius Bakke, 2022/10/22