From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id IMjXOo/l6WE2ZwEAgWs5BA (envelope-from ) for ; Thu, 20 Jan 2022 23:43:27 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id P7MEOI/l6WGNawEA9RJhRA (envelope-from ) for ; Thu, 20 Jan 2022 23:43:27 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 8B82411D42 for ; Thu, 20 Jan 2022 23:43:27 +0100 (CET) Received: from localhost ([::1]:37026 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nAg9O-0004Kb-LQ for larch@yhetil.org; Thu, 20 Jan 2022 17:43:26 -0500 Received: from eggs.gnu.org ([209.51.188.92]:51176) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nAcPi-0000HL-1O for guix-patches@gnu.org; Thu, 20 Jan 2022 13:44:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:38048) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nAcPh-0007ZJ-OO for guix-patches@gnu.org; Thu, 20 Jan 2022 13:44:01 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nAcPh-0002pR-Lo for guix-patches@gnu.org; Thu, 20 Jan 2022 13:44:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#46848] [PATCHES] [core-updates] PEP 517 python-build-system Resent-From: Lars-Dominik Braun Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 20 Jan 2022 18:44:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 46848 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Marius Bakke Cc: 46848@debbugs.gnu.org, Maxim Cournoyer Received: via spool by 46848-submit@debbugs.gnu.org id=B46848.164270421810828 (code B ref 46848); Thu, 20 Jan 2022 18:44:01 +0000 Received: (at 46848) by debbugs.gnu.org; 20 Jan 2022 18:43:38 +0000 Received: from localhost ([127.0.0.1]:59184 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nAcPK-0002oa-2J for submit@debbugs.gnu.org; Thu, 20 Jan 2022 13:43:38 -0500 Received: from mout-p-102.mailbox.org ([80.241.56.152]:40992) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nAcPI-0002oK-JK for 46848@debbugs.gnu.org; Thu, 20 Jan 2022 13:43:37 -0500 Received: from smtp2.mailbox.org (smtp2.mailbox.org [IPv6:2001:67c:2050:105:465:1:2:0]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4JfrxY5cQ6z9sjs; Thu, 20 Jan 2022 19:43:29 +0100 (CET) X-Virus-Scanned: amavisd-new at heinlein-support.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6xq.net; s=MBO0001; t=1642704208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=byf06nzMITKrSDZsPhyRivdana1vgV5lHyxqplO28C4=; b=LOU+JQ0R6CcrKj4P4MXTwlYo4YXELWAOixq38dbq/LWt76hccfjrymP80f2FMunB/Gb/cL d81zKsepjfobRoqo+yUD6lpB06wkyNrYi0Vr1t37xvZ3+ivS46SuP+LnnQxG9eWT+vnLfB tSh5vJVaO5dqSfMQn40GtK5ZOKshqX3R2F47f2hgjS9OJE5G3oQ8clMm4rd6bWBJxIu9+n gxaVwnf3Ar2s7AHTI4SuMz0Ww1wK8FstTpfy7foF0YDE21+UITmJiTasM3s0vv9PfIEsh7 iJzq5jVXA7awnG32Y7YGRcULMBrmnIOqAG0SNPxFyvzb2m3ICTieW2nryvz5pQ== Date: Thu, 20 Jan 2022 19:43:24 +0100 From: Lars-Dominik Braun Message-ID: References: <877daubeju.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <877daubeju.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1642718607; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=byf06nzMITKrSDZsPhyRivdana1vgV5lHyxqplO28C4=; b=FEtXrb/gCA1wMnj3Q3NLH8NcPRTSDpkVDdf9aCgU0eqvxbafb4Mu9CEzxq7+DL+B7TQ9fX UAzXstRcCH2y7AzD68hr1pXFr++pbztxsWQhqOuqD2syMtEDOMRi87uGrY7eSOACgvxIOM V46l3+N/e6mucjBJfFB6AS669jMKpNMtDkdeaG7gCN8qbHdZ/2k9R6IsMXS9mLTI0jTAZr NJlJPtnSzD2bL2qIHiIHeUxzbNFdXYx2u7zDMt/m6kfi/9g7tDO9tXTzHJT/pfMbqMEY2H uRl0SK027c8aeW+3NdGbgH9QIiMUBx1Aul7u/XzBp/HUx1S0ocJsav6AxLk7xw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1642718607; a=rsa-sha256; cv=none; b=EnMce1VfVmDXBPxIC5N36CJ00G83WVOoAguJK+csJTUiLu1sKFpnXtY5ycPfTF4S539mCO 0hEYvcCF8PqaSTHG5xGlZj3WJbKiZZu+Io5/WKqpT+TnPBgcu8PPImM5+nck1x1Qsubach b6L2ci5RvwcT6yUfj0+davJXOF7WQ46g/QAxHCF3cadaPoiet0RUuMnItbvAfbXuyS4FrS 5VHbUqwPaUqZkbbnoppHLK0QVDYRldzghOD7mIJkw/14j81V8yHz9ixSzf6tSVhBfbVFQU DHpfClTM3/D/R2kc7UTWwoG5dD+OmeKG7avcdOYngnISFIgg52kYvlw6eLI1gg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=6xq.net header.s=MBO0001 header.b=LOU+JQ0R; dmarc=fail reason="SPF not aligned (relaxed)" header.from=6xq.net (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -2.22 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=6xq.net header.s=MBO0001 header.b=LOU+JQ0R; dmarc=fail reason="SPF not aligned (relaxed)" header.from=6xq.net (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 8B82411D42 X-Spam-Score: -2.22 X-Migadu-Scanner: scn1.migadu.com X-TUID: AXqLkGtXwc28 Hi Marius, > Can you elaborate on the name clash issue? the problem seems to be that most packages do not put the source code into a subdirectory in the sdist. I.e. package foobar will have a foobar/ directory, instead of src/foobar. Thus Python tries to load the module foobar.barbaz from that directory, instead of the store. Thus it’ll also look there for C extensions and fail. I don’t know why it does that, even when *not* using `python -m` – according to the documentation it should not. If anyone has any pointers I’d like to have a look again. > Unfortunately we need Python 2 for some time still. It is used to > bootstrap old versions of GHC, Node, and probably other things. But as far as I see these specific examples do not use python-build-system. Only if some package using `#:python python-2` is required during bootstrapping, then we’d need a way to support Python 2, right? > Do you think it is feasible to provide this as a new build system, say > pep517-build-system, during a transitional period? Then we can a) start > using it right away for the increasing amount of packages that lack a > setup.py; and b) flesh out most bugs before eventually merging it back > (possibly piecemeal) into python-build-system. Actually, I think that’s a good idea. I tried, but I cannot fix all packages broken by this change on my own, so smoothing the transition could help and – as you said – we could catch bugs early on. I could prepare a patch, if there is interest in this path. > * Zipping a wheel just to unpack it afterwards is weird, but there seems > to be no way around it. Indeed, that’s how PEP 517 works, which always builds a wheel (i.e. ZIP file). > * I also think trying "python setup.py test" is unnecessary. It still works quite often, although its usefulness will decrease in the future I guess. Another problem I see is that this command will not fail if there are no tests. > * It would be nice to support the "no tests" case without having to add > explicit #:tests? everywhere. Perhaps along the lines of... My idea was to force packagers to make and explain this decision explicitly. If you don’t run tests, you have to add `#:tests? #f` and leave a comment why they are disabled. I do see this could become a hassle with packages that simply don’t have any tests. But my hope is that it increases package quality. > (_ (apply invoke `("python" "-m" "unittest" ,@test-flags)))))) If I remember correctly I tried this and it did not work for some reason. I’ll have a look again. Cheers, Lars