GNU bug report logs -
#58587
[PATCH 00/14] Introducing pyproject-build-system.
Previous Next
Reported by: Marius Bakke <marius <at> gnu.org>
Date: Mon, 17 Oct 2022 20:07:01 UTC
Severity: normal
Tags: patch
Done: Marius Bakke <marius <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
zimoun <zimon.toutoune <at> 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:
[Message part 2 (text/x-patch, inline)]
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
[Message part 3 (text/plain, inline)]
>> +@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 (text/x-patch, attachment)]
[signature.asc (application/pgp-signature, inline)]
This bug report was last modified 2 years and 262 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.