GNU bug report logs - #65665
package-mapping with #:deep? #t doesn't get all the implicit inputs

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix; Reported by: Ulf Herrman <striness@HIDDEN>; dated Thu, 31 Aug 2023 20:16:02 UTC; Maintainer for guix is bug-guix@HIDDEN.

Message received at 65665 <at> debbugs.gnu.org:


Received: (at 65665) by debbugs.gnu.org; 5 Sep 2023 16:06:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 05 12:06:12 2023
Received: from localhost ([127.0.0.1]:58114 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qdYZ9-0002F4-Ss
	for submit <at> debbugs.gnu.org; Tue, 05 Sep 2023 12:06:12 -0400
Received: from mail-lj1-x235.google.com ([2a00:1450:4864:20::235]:41072)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <zimon.toutoune@HIDDEN>) id 1qdYZ6-0002Do-PM
 for 65665 <at> debbugs.gnu.org; Tue, 05 Sep 2023 12:06:09 -0400
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-2bcce32ccd4so9913951fa.0
 for <65665 <at> debbugs.gnu.org>; Tue, 05 Sep 2023 09:06:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1693929962; x=1694534762; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:references:in-reply-to:subject:to:from
 :from:to:cc:subject:date:message-id:reply-to;
 bh=i2E4Jmf1hxkUIOQ+zXtGiH5T+kShgW7uxnOOGbw0RDw=;
 b=Ik8aSbNYTrCNTnr6mZqDLZXTYcPR418jq86geRdRnb2+OoXm9Z++fBnnJl7vW2lG2V
 1UfbFlbi5XKQO+cWj/qmaqEm+Dq66N/t9Y3/gdkmPl54tok+VsQa3hov5hlzCJ2hd/v/
 l0pKEOZd44ibFJH362AOFXbpQlqZCsrisnLLPNkdo92Lpb38CwGvWH10UYY4AN9aiIIK
 JDYEaBJGoezR5QEw2J4CzVAMxOBf5yuPL6QnlHkV4bueWBnQ9SPR4u/PD+rFKNEzcj/p
 wxMJ1xDbRWdvGF84A7xM0wBCN2WUIJrPIHzcm2oBCN1hBiI1zJ8DaW0tgYSMGgs0hXx0
 aq6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1693929962; x=1694534762;
 h=mime-version:message-id:date:references:in-reply-to:subject:to:from
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=i2E4Jmf1hxkUIOQ+zXtGiH5T+kShgW7uxnOOGbw0RDw=;
 b=ZWXUiuO87U3+Ea/MbxfENJQzHD8bX5fZnsfFPP7Y/VZ2nKj36Yp8Z/cMjPYzGXFeRe
 u6/t4/81Z2S8AbAT18BSHSOqwwpyKl/SsfRjomvaaHdWWyWYzDIflR98NTSsiQ+mw4bT
 Ic83UsGQWgBVrr5ZGMH/RNWanywpbcjai5GQr8VRCyAQV2CsTlpVsguNhC8EoBi7vmGR
 toJetK4L3esReub7ob1qUNWsiGbhDYdX9QIY8v1ic7CiLgDC64tNRHaKTXDDrDPcby8Z
 b4GTaigmo8KKOr8woWsSe0t3IIrFVZx3pbT3IQ+OAk7Vl26Q0xaVmZBQCQnCH5xKO5JI
 2x0Q==
X-Gm-Message-State: AOJu0YxEW0J/vPg9hhY+q+qjHbhRjAGvk4InRO3vr89UgXIMTdpVGH8N
 IwdYu9JQcvNbpNTDeGOq1nINWGTqiio=
X-Google-Smtp-Source: AGHT+IEtxpc9WdGEApOZWztRpfWtDvw/9//y424Ylp03FEdaQZrpG0sER2VBM9xxeFD5O9IkwQjsFA==
X-Received: by 2002:a05:651c:10a8:b0:2bc:ebb9:9544 with SMTP id
 k8-20020a05651c10a800b002bcebb99544mr9064486ljn.5.1693929962249; 
 Tue, 05 Sep 2023 09:06:02 -0700 (PDT)
Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e])
 by smtp.gmail.com with ESMTPSA id
 k8-20020a5d4288000000b003176aa612b1sm17840914wrq.38.2023.09.05.09.06.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 05 Sep 2023 09:06:01 -0700 (PDT)
From: Simon Tournier <zimon.toutoune@HIDDEN>
To: Ulf Herrman <striness@HIDDEN>, 65665 <at> debbugs.gnu.org
Subject: Re: bug#65665: package-mapping with #:deep? #t doesn't get all the
 implicit inputs
In-Reply-To: <87h6ofufy5.fsf@HIDDEN>
References: <87h6ofufy5.fsf@HIDDEN>
Date: Tue, 05 Sep 2023 16:57:15 +0200
Message-ID: <868r9ku0qc.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 65665
X-BeenThere: debbugs-submit <at> 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 <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi,

On Thu, 31 Aug 2023 at 15:14, Ulf Herrman <striness@HIDDEN> wrote:

> I propose that we have the build system lower procedure (that is, the
> one that converts from package to bag) completely fill in the argument
> list with all defaults, and we modify build-system-with-package-mapping
> to transform all arguments that look like a package or a list of
> packages (or maybe even a tree containing packages).

On principle, this looks a good idea.

Do you already have an implementation?  Because transformations lead to
headache and sometimes the implementation is hard, well evil, details
and all that. :-)

Cheers,
simon




Information forwarded to bug-guix@HIDDEN:
bug#65665; Package guix. Full text available.

Message received at 65665 <at> debbugs.gnu.org:


Received: (at 65665) by debbugs.gnu.org; 3 Sep 2023 13:02:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 03 09:02:54 2023
Received: from localhost ([127.0.0.1]:40003 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qcmkf-0000xg-TR
	for submit <at> debbugs.gnu.org; Sun, 03 Sep 2023 09:02:54 -0400
Received: from mail-ot1-x32d.google.com ([2607:f8b0:4864:20::32d]:48613)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maxim.cournoyer@HIDDEN>) id 1qcmkc-0000xR-K6
 for 65665 <at> debbugs.gnu.org; Sun, 03 Sep 2023 09:02:52 -0400
Received: by mail-ot1-x32d.google.com with SMTP id
 46e09a7af769-6bf58009a8dso507161a34.1
 for <65665 <at> debbugs.gnu.org>; Sun, 03 Sep 2023 06:02:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1693746154; x=1694350954; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:in-reply-to:date:references
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=kPazCQz/y+Adq8LNGxjrB1xJxBbFByZ6WziammRhVc8=;
 b=Li9HaKgnEOP+EWjLWmaztvFlGxVF9QAfPiOzMdrJ3lFdmD8Nxn4j5h0woy6CndT6HR
 PHrrz97jqbBv93bmUPPvElr4MjzgstIKiLyoZS+ey9Mu/aOeFXlta3C/l1bldUbT94lz
 1ZQLsqSEZ7PVRfTikQAY6/a37bisIGs1RFXva/MEu3zKbRo0728e9sFxqkLbbxCFHK4y
 CYV5UgINz9CwtzZCELByuCCDMrU7XfAbZ9ZDiq5aMZRm6YyNmjwHGMAilXo3m23GZ4Pl
 jBeVEcm3VRAn784DhL0hLhd2+a9ogvcCKejMVGNKNAkpzrhxYtARbQPu32HTN+cbdrId
 mQvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1693746154; x=1694350954;
 h=mime-version:user-agent:message-id:in-reply-to:date:references
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=kPazCQz/y+Adq8LNGxjrB1xJxBbFByZ6WziammRhVc8=;
 b=bAI57qRGB/m9gyeY5QnjAadqbXaHl2qIXQvfACuhrLSy9JbAXN9cIrm2XcgbfGBdab
 fNzFFCYmd7Co5cJ9cFVYXuo1Lv9/WK7lzqqB2+/YHNjCGSe/A2tPtGEMRTW9X3bK1ak+
 HOri6rTwBuLm+3b6PryF04Eq/P2B08aY1ymq8obIcFfZbK2fpJt1MOwnU4e1h7siep1/
 D/0xe1Z3dDFIea/9PbLuCxGivNONMU2onbhISqezyoBBaAv8XS74qcZaRVaJ/rmBJBcD
 HhuIaGdcUpHb3qRaf9fj7oXYNHNjXfR6DeJ70+ernuNOGZkm5VNHmsD2WiYXICHuqQrI
 95sQ==
X-Gm-Message-State: AOJu0YyISkfYQsq97O8C+NwskE4NhqkvVzOZ4Tk9VTR3zMFhFAuqWsdP
 wU+2e0JtwxlQgt6+7HiGNHk=
X-Google-Smtp-Source: AGHT+IEJ+DJ09Y4d9KyR23a+x1OKs797Cvr3jVlDvHVEZcjxhHg2H5MXhb3RUh/b2MeEoBP5fCiDlQ==
X-Received: by 2002:a9d:4d84:0:b0:6bd:63b:4b21 with SMTP id
 u4-20020a9d4d84000000b006bd063b4b21mr7289622otk.15.1693746154390; 
 Sun, 03 Sep 2023 06:02:34 -0700 (PDT)
Received: from hurd (dsl-10-135-141.b2b2c.ca. [72.10.135.141])
 by smtp.gmail.com with ESMTPSA id
 d4-20020a05620a140400b0075772c756e0sm2689580qkj.101.2023.09.03.06.02.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 03 Sep 2023 06:02:33 -0700 (PDT)
From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
To: Ulf Herrman <striness@HIDDEN>
Subject: Re: bug#65665: package-mapping with #:deep? #t doesn't get all the
 implicit inputs
References: <87h6ofufy5.fsf@HIDDEN>
Date: Sun, 03 Sep 2023 09:02:31 -0400
In-Reply-To: <87h6ofufy5.fsf@HIDDEN> (Ulf Herrman's message of "Thu, 31
 Aug 2023 15:14:58 -0500")
Message-ID: <875y4rwgt4.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 65665
Cc: dev@HIDDEN, zimon.toutoune@HIDDEN, othacehe@HIDDEN, ludo@HIDDEN,
 me@HIDDEN, 65665 <at> debbugs.gnu.org, rekado@HIDDEN, guix@HIDDEN
X-BeenThere: debbugs-submit <at> 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 <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hello Ulf,

Ulf Herrman <striness@HIDDEN> writes:

> #:deep? #t currently works by interposing a dummy build system that
> lowers the package to a bag using the original build system, then
> applies the supplied transformation to all of the bag's inputs, then
> returns a new bag with the new inputs.
>
> The problem with this approach is that it doesn't affect the bag
> arguments.  This means that packages passed in as arguments may still
> end up being used without being transformed.  Worse still, packages
> *not* passed in as arguments may end up being used *unless one is
> explicitly passed in as an argument*, as is the case with
> qt-build-system's #:qtbase argument.
>
> In short, the current approach of having the build-system lower
> procedure leave the arguments mostly unchanged and letting the
> bag->derivation procedure (the "bag builder") fill in lots of defaults
> means that there are implicit inputs that cannot be touched at the
> package level without adding special logic for every single build system
> that does something like this.

This is indeed sub-optimal!

> I propose that we have the build system lower procedure (that is, the
> one that converts from package to bag) completely fill in the argument
> list with all defaults, and we modify build-system-with-package-mapping
> to transform all arguments that look like a package or a list of
> packages (or maybe even a tree containing packages).

[...]

> What do you think?

Like Csepp, I like your proposition!  I'm CC'ing the core team, in case
they have something to add to it, but otherwise, we only need a
volunteer to turn it into code :-).

-- 
Thanks,
Maxim




Information forwarded to bug-guix@HIDDEN:
bug#65665; Package guix. Full text available.

Message received at 65665 <at> debbugs.gnu.org:


Received: (at 65665) by debbugs.gnu.org; 1 Sep 2023 18:09:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 01 14:09:27 2023
Received: from localhost ([127.0.0.1]:33833 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qc8aF-0001uR-7K
	for submit <at> debbugs.gnu.org; Fri, 01 Sep 2023 14:09:27 -0400
Received: from mx1.riseup.net ([198.252.153.129]:50174)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <raingloom@HIDDEN>) id 1qc8aD-0001uD-Hi
 for 65665 <at> debbugs.gnu.org; Fri, 01 Sep 2023 14:09:25 -0400
Received: from fews01-sea.riseup.net (fews01-sea-pn.riseup.net [10.0.1.109])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by mx1.riseup.net (Postfix) with ESMTPS id 4RcmJ652fFzDqJg;
 Fri,  1 Sep 2023 18:09:10 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak;
 t=1693591750; bh=peL9lFRxGDvwEKtCSpbLmRVPj1mhQJaxIce3EFdPIDY=;
 h=References:From:To:Cc:Subject:Date:In-reply-to:From;
 b=fdl6ydxC1RggGA97xM1zlwwOz731eSnozlmobaPzmpxWfwkH+SJTCjJ2wgN7Jsa4s
 Css/Cpxp1HZsKKsg2xxIj3Vey53iKNLG+/z7Y8v+CZnf1WBjTjp3fRHOOhHwz+69pC
 euGqiMN0F3EP7UM/L4k5HwXCyLLcu0JR1dEWEIrE=
X-Riseup-User-ID: AD94D5F16E7C51D0791147B5896CD0977BC8A7393169784D8D67CF14068C350A
Received: from [127.0.0.1] (localhost [127.0.0.1])
 by fews01-sea.riseup.net (Postfix) with ESMTPSA id 4RcmJ56v8fzJn8q;
 Fri,  1 Sep 2023 18:09:09 +0000 (UTC)
References: <87h6ofufy5.fsf@HIDDEN>
From: Csepp <raingloom@HIDDEN>
To: Ulf Herrman <striness@HIDDEN>
Subject: Re: bug#65665: package-mapping with #:deep? #t doesn't get all the
 implicit inputs
Date: Fri, 01 Sep 2023 20:08:53 +0200
In-reply-to: <87h6ofufy5.fsf@HIDDEN>
Message-ID: <87zg25hikd.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 65665
Cc: bug-guix@HIDDEN, 65665 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> 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 <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)


Ulf Herrman <striness@HIDDEN> writes:

> [[PGP Signed Part:Undecided]]
> #:deep? #t currently works by interposing a dummy build system that
> lowers the package to a bag using the original build system, then
> applies the supplied transformation to all of the bag's inputs, then
> returns a new bag with the new inputs.
>
> The problem with this approach is that it doesn't affect the bag
> arguments.  This means that packages passed in as arguments may still
> end up being used without being transformed.  Worse still, packages
> *not* passed in as arguments may end up being used *unless one is
> explicitly passed in as an argument*, as is the case with
> qt-build-system's #:qtbase argument.
>
> In short, the current approach of having the build-system lower
> procedure leave the arguments mostly unchanged and letting the
> bag->derivation procedure (the "bag builder") fill in lots of defaults
> means that there are implicit inputs that cannot be touched at the
> package level without adding special logic for every single build system
> that does something like this.
>
> I propose that we have the build system lower procedure (that is, the
> one that converts from package to bag) completely fill in the argument
> list with all defaults, and we modify build-system-with-package-mapping
> to transform all arguments that look like a package or a list of
> packages (or maybe even a tree containing packages).
>
> Many large-scale package transformations have their purpose defeated if
> even a single package slips through and has to be built or downloaded
> separately (e.g. "I wanted to use a more minimal version of P, and now I
> have both the original version of P *and* a more minimal version of P
> *and* a duplicate copy of a large portion of the package graph...").  In
> fact, in some situations, this could cause exponential growth of the
> number of packages, e.g. a transformation is applied to qtbase and its
> dependencies, but not to the implicit version and its dependencies, so
> now all the dependencies of qtbase are duplicated, and if this happens
> again at a higher level with something that depends on a package with
> qt-build-system, now there are four duplicate subgraphs, and so on.
>
> What do you think?
>
> - Ulf
>
> [[End of PGP Signed Part]]

Sounds like a good idea to me.




Information forwarded to bug-guix@HIDDEN:
bug#65665; Package guix. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 1 Sep 2023 18:09:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 01 14:09:34 2023
Received: from localhost ([127.0.0.1]:33836 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qc8aM-0001uk-K7
	for submit <at> debbugs.gnu.org; Fri, 01 Sep 2023 14:09:34 -0400
Received: from lists.gnu.org ([2001:470:142::17]:53356)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <raingloom@HIDDEN>) id 1qc8aK-0001uP-FM
 for submit <at> debbugs.gnu.org; Fri, 01 Sep 2023 14:09:33 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <raingloom@HIDDEN>)
 id 1qc8a4-0002T5-FW
 for bug-guix@HIDDEN; Fri, 01 Sep 2023 14:09:16 -0400
Received: from mx1.riseup.net ([198.252.153.129])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <raingloom@HIDDEN>)
 id 1qc8a1-0006eN-5Z
 for bug-guix@HIDDEN; Fri, 01 Sep 2023 14:09:15 -0400
Received: from fews01-sea.riseup.net (fews01-sea-pn.riseup.net [10.0.1.109])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by mx1.riseup.net (Postfix) with ESMTPS id 4RcmJ652fFzDqJg;
 Fri,  1 Sep 2023 18:09:10 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak;
 t=1693591750; bh=peL9lFRxGDvwEKtCSpbLmRVPj1mhQJaxIce3EFdPIDY=;
 h=References:From:To:Cc:Subject:Date:In-reply-to:From;
 b=fdl6ydxC1RggGA97xM1zlwwOz731eSnozlmobaPzmpxWfwkH+SJTCjJ2wgN7Jsa4s
 Css/Cpxp1HZsKKsg2xxIj3Vey53iKNLG+/z7Y8v+CZnf1WBjTjp3fRHOOhHwz+69pC
 euGqiMN0F3EP7UM/L4k5HwXCyLLcu0JR1dEWEIrE=
X-Riseup-User-ID: AD94D5F16E7C51D0791147B5896CD0977BC8A7393169784D8D67CF14068C350A
Received: from [127.0.0.1] (localhost [127.0.0.1])
 by fews01-sea.riseup.net (Postfix) with ESMTPSA id 4RcmJ56v8fzJn8q;
 Fri,  1 Sep 2023 18:09:09 +0000 (UTC)
References: <87h6ofufy5.fsf@HIDDEN>
From: Csepp <raingloom@HIDDEN>
To: Ulf Herrman <striness@HIDDEN>
Subject: Re: bug#65665: package-mapping with #:deep? #t doesn't get all the
 implicit inputs
Date: Fri, 01 Sep 2023 20:08:53 +0200
In-reply-to: <87h6ofufy5.fsf@HIDDEN>
Message-ID: <87zg25hikd.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=198.252.153.129;
 envelope-from=raingloom@HIDDEN; helo=mx1.riseup.net
X-Spam_score_int: -27
X-Spam_score: -2.8
X-Spam_bar: --
X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001,
 SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: submit
Cc: bug-guix@HIDDEN, 65665 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> 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 <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


Ulf Herrman <striness@HIDDEN> writes:

> [[PGP Signed Part:Undecided]]
> #:deep? #t currently works by interposing a dummy build system that
> lowers the package to a bag using the original build system, then
> applies the supplied transformation to all of the bag's inputs, then
> returns a new bag with the new inputs.
>
> The problem with this approach is that it doesn't affect the bag
> arguments.  This means that packages passed in as arguments may still
> end up being used without being transformed.  Worse still, packages
> *not* passed in as arguments may end up being used *unless one is
> explicitly passed in as an argument*, as is the case with
> qt-build-system's #:qtbase argument.
>
> In short, the current approach of having the build-system lower
> procedure leave the arguments mostly unchanged and letting the
> bag->derivation procedure (the "bag builder") fill in lots of defaults
> means that there are implicit inputs that cannot be touched at the
> package level without adding special logic for every single build system
> that does something like this.
>
> I propose that we have the build system lower procedure (that is, the
> one that converts from package to bag) completely fill in the argument
> list with all defaults, and we modify build-system-with-package-mapping
> to transform all arguments that look like a package or a list of
> packages (or maybe even a tree containing packages).
>
> Many large-scale package transformations have their purpose defeated if
> even a single package slips through and has to be built or downloaded
> separately (e.g. "I wanted to use a more minimal version of P, and now I
> have both the original version of P *and* a more minimal version of P
> *and* a duplicate copy of a large portion of the package graph...").  In
> fact, in some situations, this could cause exponential growth of the
> number of packages, e.g. a transformation is applied to qtbase and its
> dependencies, but not to the implicit version and its dependencies, so
> now all the dependencies of qtbase are duplicated, and if this happens
> again at a higher level with something that depends on a package with
> qt-build-system, now there are four duplicate subgraphs, and so on.
>
> What do you think?
>
> - Ulf
>
> [[End of PGP Signed Part]]

Sounds like a good idea to me.




Information forwarded to bug-guix@HIDDEN:
bug#65665; Package guix. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 31 Aug 2023 20:15:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 31 16:15:46 2023
Received: from localhost ([127.0.0.1]:59302 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qbo4v-0008K3-Sz
	for submit <at> debbugs.gnu.org; Thu, 31 Aug 2023 16:15:46 -0400
Received: from lists.gnu.org ([2001:470:142::17]:37694)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <striness@HIDDEN>) id 1qbo4u-0008Jr-Ha
 for submit <at> debbugs.gnu.org; Thu, 31 Aug 2023 16:15:45 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <striness@HIDDEN>)
 id 1qbo4g-0000bv-Gh
 for bug-guix@HIDDEN; Thu, 31 Aug 2023 16:15:30 -0400
Received: from tilde.club ([2607:5300:204:4340::114])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <striness@HIDDEN>)
 id 1qbo4e-0007qZ-Bo
 for bug-guix@HIDDEN; Thu, 31 Aug 2023 16:15:30 -0400
Received: by tilde.club (Postfix, from userid 5378)
 id 782AC2230E27B; Thu, 31 Aug 2023 20:15:25 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 tilde.club 782AC2230E27B
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tilde.club; s=mail;
 t=1693512925; bh=dd38u7mL08PfsKke01w/EU/tIGYtgf9eg83p8YlRQAk=;
 h=From:To:Subject:Date:From;
 b=UGh/OkaCnXDAoADjrnWWRLljzApjQdQAKJP3tqkk0kF6wXCqm60KGetJt9UMDViz1
 T7lGox8Jv2iLwksXxaEWiZwgARbCkb+mFicyJX+U2RS7eic3brAXbxKwLbXAOYZk/p
 piYZHroa3sldTj/pb5wuJMyWhbSVD7zIrInuk4AM=
From: Ulf Herrman <striness@HIDDEN>
To: bug-guix@HIDDEN
Subject: package-mapping with #:deep? #t doesn't get all the implicit inputs
Date: Thu, 31 Aug 2023 15:14:58 -0500
Message-ID: <87h6ofufy5.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
 micalg=pgp-sha256; protocol="application/pgp-signature"
Received-SPF: pass client-ip=2607:5300:204:4340::114;
 envelope-from=striness@HIDDEN; helo=tilde.club
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.9 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> 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 <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.1 (/)

--=-=-=
Content-Type: text/plain

#:deep? #t currently works by interposing a dummy build system that
lowers the package to a bag using the original build system, then
applies the supplied transformation to all of the bag's inputs, then
returns a new bag with the new inputs.

The problem with this approach is that it doesn't affect the bag
arguments.  This means that packages passed in as arguments may still
end up being used without being transformed.  Worse still, packages
*not* passed in as arguments may end up being used *unless one is
explicitly passed in as an argument*, as is the case with
qt-build-system's #:qtbase argument.

In short, the current approach of having the build-system lower
procedure leave the arguments mostly unchanged and letting the
bag->derivation procedure (the "bag builder") fill in lots of defaults
means that there are implicit inputs that cannot be touched at the
package level without adding special logic for every single build system
that does something like this.

I propose that we have the build system lower procedure (that is, the
one that converts from package to bag) completely fill in the argument
list with all defaults, and we modify build-system-with-package-mapping
to transform all arguments that look like a package or a list of
packages (or maybe even a tree containing packages).

Many large-scale package transformations have their purpose defeated if
even a single package slips through and has to be built or downloaded
separately (e.g. "I wanted to use a more minimal version of P, and now I
have both the original version of P *and* a more minimal version of P
*and* a duplicate copy of a large portion of the package graph...").  In
fact, in some situations, this could cause exponential growth of the
number of packages, e.g. a transformation is applied to qtbase and its
dependencies, but not to the implicit version and its dependencies, so
now all the dependencies of qtbase are duplicated, and if this happens
again at a higher level with something that depends on a package with
qt-build-system, now there are four duplicate subgraphs, and so on.

What do you think?

- Ulf

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQHIBAEBCAAyFiEEn6BUn0yca1D9JsMa1lV76sJM9mgFAmTw9MkUHHN0cmluZXNz
QHRpbGRlLmNsdWIACgkQ1lV76sJM9mhnnAwAmtKewwrTyG+f8sVRzZwHlipENflt
rQZmeK7LmkD2I6F4IG8tay+ro/ylIX3dFs2FPUDkBqY1biewXXO3M7Po3/oIUY3b
II16LQcp+FtJ8S8GZTHZnAdFgVoqVBiot5zftDCZCOQxZj/nbqFvT9EjAuUn6aCd
eEod96rS+VeecDQEvHiCr/x5B9OcMkgulo4Y6uv9GtxeE1vBj1FxV6dGCj6epPWP
Zj5+ED6P04T9vxXCmrlXMqtZBEZn7oQOauADribIQF/KAaqjuo+vjVyUorCCjkf9
wT+ukY2vikCd9esz+JJ7VXdRBS4q8RQ6kXIKdNvcJx2LdDgxPtF8+Iz2xls/J5sb
OoJvzRsfS1CTR8ZoTi92Nx+5DKl2qF5cRGlM78Ckowf0rhEs7VNwKDcJSe8nyUfy
LA43PXlB9J1NpzU9o9jAM6mM3rdxjGLf9lL0ARF9T3+XTu+XvVF4lHSdrQjsknMH
oILI2U6DOHsdUbpWOMk9wWkk8NwzXDN2cNGd
=3EXK
-----END PGP SIGNATURE-----
--=-=-=--




Acknowledgement sent to Ulf Herrman <striness@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-guix@HIDDEN. Full text available.
Report forwarded to bug-guix@HIDDEN:
bug#65665; Package guix. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Tue, 5 Sep 2023 16:15:01 UTC

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