GNU bug report logs

#60847 [PATCH] Enable cross-compilation for the pyproject-build-system.

PackageSource(s)Maintainer(s)
guix-patches PTS Buildd Popcon
Full log

Message #59 received at 60847@debbugs.gnu.org (full text, mbox, reply):

Received: (at 60847) by debbugs.gnu.org; 10 Mar 2023 17:00:49 +0000
From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 10 12:00:49 2023
Received: from localhost ([127.0.0.1]:55687 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces@debbugs.gnu.org>)
	id 1pag6q-0002RP-Jp
	for submit@debbugs.gnu.org; Fri, 10 Mar 2023 12:00:49 -0500
Received: from eggs.gnu.org ([209.51.188.92]:52384)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@gnu.org>) id 1pag6o-0002R6-61
 for 60847@debbugs.gnu.org; Fri, 10 Mar 2023 12:00:46 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ludo@gnu.org>)
 id 1pag6g-0005zi-FI; Fri, 10 Mar 2023 12:00:38 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To:
 From; bh=kh6oOur036BbVM/4BN2ldIH/yNRDFvK/9MUNZDOG09k=; b=a8WJwUNIzprnti/lhiUr
 Hwj6fK6QWhaC0M7wqWFjW0gX3nnbuMK0zG7Vla3Jum4C+jz/On9s4F9yI6VKVw4f7JCtOojBxlY9J
 7v0mOFthMTl+Ca6vanUFN4AmA5+bllMELylrvQ5TM9rmk7cm/BdVoVrIsajlkMyUaWtWLEanpKh+C
 +LAp01Zs8puuSOqOpPUeoDub8mSJAvpK5OIT3QcZP0bo1SSHebc6fgJ+1aR+Z7FweyFY6ZuHeoSl+
 M694Xslduhh5hgzznoDW5iE2s3HVwbVWO+cX2YWLln3WLIkeT+C8+BwGnICZdSjzL1TpGdleLYDng
 nhTWRvnkJII+vg==;
Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ludo@gnu.org>)
 id 1pag6f-0000pl-CB; Fri, 10 Mar 2023 12:00:37 -0500
From: Ludovic Courtès <ludo@gnu.org>
To: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Subject: Re: bug#60847: [PATCH] Enable cross-compilation for the
 pyproject-build-system.
References: <20230123133217.318-1-maxim.cournoyer@gmail.com>
 <20230123133217.318-2-maxim.cournoyer@gmail.com>
 <87zg8p7qvw.fsf_-_@gnu.org> <87jzzsy7qt.fsf@gmail.com>
 <87o7p19e6w.fsf@gnu.org> <87v8j8r8jt.fsf@gmail.com>
X-URL: http://www.fdn.fr/~lcourtes/
X-Revolutionary-Date: Décadi 20 Ventôse an
 231 de la Révolution, jour du Cordeau
X-PGP-Key-ID: 0x090B11993D9AEBB5
X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc
X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4  0CFB 090B 1199 3D9A EBB5
X-OS: x86_64-pc-linux-gnu
Date: Fri, 10 Mar 2023 18:00:33 +0100
In-Reply-To: <87v8j8r8jt.fsf@gmail.com> (Maxim Cournoyer's message of "Fri, 10
 Mar 2023 09:21:42 -0500")
Message-ID: <87a60kh77y.fsf@gnu.org>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 60847
Cc: Josselin Poiret <dev@jpoiret.xyz>, Christopher Baines <mail@cbaines.net>,
 Simon Tournier <zimon.toutoune@gmail.com>, Mathieu Othacehe <othacehe@gnu.org>,
 60847@debbugs.gnu.org, Tobias Geerinckx-Rice <me@tobias.gr>,
 Lars-Dominik Braun <lars@6xq.net>, Ricardo Wurmus <rekado@elephly.net>,
 jgart <jgart@dismail.de>
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request@debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit@debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request@debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request@debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
X-Spam-Score: -3.3 (---)
Hi Maxim,

Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:

[...]

>>>>> +  (let ((builder-name (procedure-name (bag-build bag))))
>>>>> +    (if (or (bag-target bag)
>>>>> +            (eq? 'pyproject-build builder-name))
>>>>> +        (bag->cross-derivation bag)
>>>>
>>>> This one part is a showstopper to me, for two reasons:
>>>>
>>>>   1. We cannot rely on ‘procedure-name’ (it’s a debugging aid and it’s
>>>>      not guaranteed to return something useful).
>>>>
>>>>   2. Special-casing build systems here is not okay: the bag and build
>>>>      system abstractions exist to maintain separation of concerns.
>>>>
>>>> I understand there’s an actual bug to fix and the desire to fix a more
>>>> common issue, but I think this one approach is not the way forward.
>>>>
>>>> I hope that makes sense!
>>>
>>> I agree this is not "pretty", but it would be a "temporary" kludge until
>>
>> To make sure there’s no misunderstanding, I think that’s not okay even
>> as a “temporary kludge” (I’m not against temporary kludges in general,
>> I’ve done my share of that ;-), but this would be way too brittle.)
>
> "way too brittle" is a strong warning :-).

It is; I’m objecting to this change.

> I don't understand what is
> so brittle about it?  It's not like we change the build system names
> often.

I have little to add to what I wrote above: procedure names don’t mean
anything, especially with higher-order functions, and separation of
concerns is an important design principle.

I’m speaking with 15+ years of experience with Guile; I don’t mind being
challenged, it’s healthy, but I think we also need to recognize the
expertise of each other and encounter each other halfway.

[...]

>> Perhaps one suggestion would be: start the native-inputs/inputs change
>> on a new branch, for all the build systems (or at least the main
>> ones), and then try to build the ‘core’ subset (which includes
>> cross-compilation) to get an idea of the kind of code simplification
>> opportunities as well as issues that arise.  I feel like it’s hard to
>> anticipate the impact of such a change without actually trying.
>
> I can do this; the exercise would be similar to what I've done for
> pyproject-build-system, where I was able to build complex packages (both
> natively and cross-compiled) with the new same-bag representation
> change, but to a larger scale.  It's more work, which is why I would
> have preferred to contain its scope to get started, but the changes were
> easy, IIRC.

Yes, I agree it’s more work, but it’s dissimilar in that you’ll be
confronted with tons of weird cases, some of which we can already
anticipate, but probably others we’ll probably be surprised to discover.

> Basically, it forces us to review all the (assoc-ref inputs
> "package-name") or (search-input-file inputs "file") procedure calls and
> remove the assumption that native-inputs are also inputs for native
> builds (that'll fix multiple cross-compilation bugs at the same time, so
> it's a good thing to do anyway).

I do hope it’ll be this simple, but I just can’t tell.

Thank you,
Ludo’.




Send a report that this bug log contains spam.


debbugs.gnu.org maintainers <help-debbugs@gnu.org>. Last modified: Sun Dec 22 20:21:44 2024; Machine Name: wallace-server

GNU bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.