zimoun skriver: > Hi Marius, > > On jeu., 20 oct. 2022 at 01:11, Marius Bakke wrote: > >> 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 > ^ > typo? Right, I've adjusted it! >> +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 > > LTGM. Thanks for checking. I've now added a section in the manual about API changes and stability, and removed more duplicate code from pyproject-build-system. I also added a news entry. I think this is now ready for merge, but have some concerns: * The python-toolchain package is a union that includes setuptools, wheel and others. Packages that pick up a reference to the build-time Python will needlessly include those other packages. It could be worked around by propagating instead of using a union. * Overriding #:test-flags means having to add back the implicit defaults for verbose output. We could add them even when #:test-flags is present so users don't need to add "-vv" manually. Thoughts? I will merge this in a few days if there are no further comments. It can still be tweaked directly on 'master' if necessary. Updated patches follow shortly.