From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id qGKhNQ4p8mT3igAAG6o9tA:P1 (envelope-from ) for ; Fri, 01 Sep 2023 20:10:23 +0200 Received: from aspmx1.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id qGKhNQ4p8mT3igAAG6o9tA (envelope-from ) for ; Fri, 01 Sep 2023 20:10:22 +0200 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 817DB5AD71 for ; Fri, 1 Sep 2023 20:10:22 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=riseup.net header.s=squak header.b=fdl6ydxC; dmarc=fail reason="SPF not aligned (relaxed)" header.from=riseup.net (policy=none); spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1693591822; a=rsa-sha256; cv=none; b=t9Jz/MsVWNK//ifBU5KwOqxeoFGg6TrNYoiO/P8KTTjdbPXX7ST3lTmAap4EZCjMJjHCPi RBXQlLSZprzBow4cvyzZpx65wF7mUampIoPONcPzk18GjTqW9D1Rfc15uOvefj5/UAyvEY DyNUU7eHqKQX1VsSTeRH+qEE2fPBMStUv3ClOAjueypV/6LXVipomcpqcYOzanisPWciGY Axc1YVOCWKxeuNBOhnug9blHGKSUpPDY7eCZsDUYPLlJSowGVnDbvwaqU+ZQC+WdnxXXdP DfTmLMiw8K3dCq3n9DfLTdro+jFze9wro2khO/re5PCe6qeGRpe+opVQu0sRmw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=riseup.net header.s=squak header.b=fdl6ydxC; dmarc=fail reason="SPF not aligned (relaxed)" header.from=riseup.net (policy=none); spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1693591822; 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: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=TKedgDQVEMQ0JlYgy5bQk0ofzzqaasOn0SI/vCFRGNM=; b=b2Clm/3VjyAQYXViAbFEmCIjb1H2kExWst+FxgzRMcJdWdZ9rgVWKKoIeFbWJOLmAm8pNg z3cx1pDjzX7Nw1V3tk4EKKLHPiiT4S1Qom7Dg92Wr9R0sgrR7RHoLP3okTnIDfzhs/Rto5 gHal/j3NZFE5ksRgLmk+4NTrP8tCEJivQDSkOFNouF4Aeglsri9/5qWrMZcWZ6Nckl1tEI yS5Nje+sE1qlw+AlZSVA3imKN/4JKQZpNr5vYczB+A2vwLQncTY0JpMCsA0BpnToUHghVt 9Xoja/nCTEdgDcwWcGnjir7cnFBwY0WrFamRg+npjWNY0JFP9aDSWJhdUG/0eQ== Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qc8aj-0002lt-SJ; Fri, 01 Sep 2023 14:09:57 -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 ) id 1qc8af-0002l0-TF for bug-guix@gnu.org; Fri, 01 Sep 2023 14:09:54 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qc8af-0006i3-9J for bug-guix@gnu.org; Fri, 01 Sep 2023 14:09:53 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qc8ao-0001vd-92 for bug-guix@gnu.org; Fri, 01 Sep 2023 14:10:02 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#65665: package-mapping with #:deep? #t doesn't get all the implicit inputs Resent-From: Csepp Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Fri, 01 Sep 2023 18:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65665 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Ulf Herrman Cc: 65665@debbugs.gnu.org X-Debbugs-Original-Cc: bug-guix@gnu.org, 65665@debbugs.gnu.org Received: via spool by 65665-submit@debbugs.gnu.org id=B65665.16935917677347 (code B ref 65665); Fri, 01 Sep 2023 18:10:02 +0000 Received: (at 65665) by debbugs.gnu.org; 1 Sep 2023 18:09:27 +0000 Received: from localhost ([127.0.0.1]:33833 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qc8aF-0001uR-7K for submit@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 ) id 1qc8aD-0001uD-Hi for 65665@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@tilde.club> From: Csepp Date: Fri, 01 Sep 2023 20:08:53 +0200 In-reply-to: <87h6ofufy5.fsf@tilde.club> Message-ID: <87zg25hikd.fsf@riseup.net> MIME-Version: 1.0 Content-Type: text/plain X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: bug-guix-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -5.22 X-Spam-Score: -5.22 X-Migadu-Queue-Id: 817DB5AD71 X-Migadu-Scanner: mx2.migadu.com X-TUID: PFlLhBzyHaCC Ulf Herrman 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.