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
bug-guix@HIDDEN
:bug#65665
; Package guix
.
Full text available.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
bug-guix@HIDDEN
:bug#65665
; Package guix
.
Full text available.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.
bug-guix@HIDDEN
:bug#65665
; Package guix
.
Full text available.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.
bug-guix@HIDDEN
:bug#65665
; Package guix
.
Full text available.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----- --=-=-=--
Ulf Herrman <striness@HIDDEN>
:bug-guix@HIDDEN
.
Full text available.bug-guix@HIDDEN
:bug#65665
; Package guix
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.