[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#58587] [PATCH 00/14] Introducing pyproject-build-system.
From: |
Marius Bakke |
Subject: |
[bug#58587] [PATCH 00/14] Introducing pyproject-build-system. |
Date: |
Thu, 20 Oct 2022 01:11:49 +0200 |
zimoun <zimon.toutoune@gmail.com> skriver:
> I would add a note, for instance, something like that:
[...]
Good idea, although I don't like to duplicate so much information from
the build system description. Here is my attempt:
diff --git a/doc/contributing.texi b/doc/contributing.texi
index b9260267fa..d12daa7ec3 100644
--- a/doc/contributing.texi
+++ b/doc/contributing.texi
@@ -786,6 +786,21 @@ 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
+Currently there are two different build systems for Python packages in Guix:
+@var{python-build-system} and @var{pyproject-build-system}. For the
+longest time, Python packages were built from an informally specified
+@file{setup.py} file. That worked amazingly well, considering Pythons
+success, but was difficult to build tooling around. As a result, a host
+of alternative build systems emerged and the community eventually settled on a
+@url{https://peps.python.org/pep-0517/, formal standard} for specifying build
+requirements. @var{pyproject-build-system} is Guix's implementation of this
+standard. It is considered ``experimental'' in that it does not yet support
+all the various PEP-517 @emph{build backends}, but you are encouraged to try
+it for new Python packages and report any problems. It will eventually be
+deprecated and merged into @var{python-build-system}.
+@end quotation
+
@subsubsection Specifying Dependencies
@cindex inputs, for Python packages
>> +@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
Fixed both instances, thanks. :-)
I also made some substantial changes to the build system:
* Moved 'python-toolchain' into python.scm which seems to work fine.
* Inherit from python-build-system where possible.
* Hint about deprecating 'add-installed-pythonpath', which has always
annoyed me :-) I think a 'with-installed-pythonpath' would be much
more ergonomic and plan to submit that later.
* Most importantly, use three ;;; for module commentary.
Patch below:
0001-fixup-pyproject.patch
Description: Text Data
signature.asc
Description: PGP signature
- [bug#58587] [PATCH 10/14] gnu: python-statmake: Use pyproject-build-system., (continued)
- [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, 2022/10/19
- [bug#58587] [PATCH 00/14] Introducing pyproject-build-system.,
Marius Bakke <=
- [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
- [bug#58587] [PATCH v3 09/22] gnu: weasyprint: Use pyproject-build-system., Marius Bakke, 2022/10/22