guix-patches
[Top][All Lists]
Advanced

[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:

Attachment: 0001-fixup-pyproject.patch
Description: Text Data

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]