GNU bug report logs - #58587
[PATCH 00/14] Introducing pyproject-build-system.

Previous Next

Package: guix-patches;

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


Message #68 received at 58587 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <marius <at> gnu.org>
To: zimoun <zimon.toutoune <at> gmail.com>, 58587 <at> debbugs.gnu.org
Cc: Lars-Dominik Braun <lars <at> 6xq.net>,
 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: Re: [bug#58587] [PATCH 00/14] Introducing pyproject-build-system.
Date: Sat, 22 Oct 2022 21:06:25 +0200
[Message part 1 (text/plain, inline)]
zimoun <zimon.toutoune <at> gmail.com> skriver:

> Hi Marius,
>
> On jeu., 20 oct. 2022 at 01:11, Marius Bakke <marius <at> gnu.org> 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.
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 2 years and 263 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.