From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id OFBDJWBkOGEIJAAAgWs5BA (envelope-from ) for ; Wed, 08 Sep 2021 09:21:04 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id CPoeIGBkOGGfEgAAbx9fmQ (envelope-from ) for ; Wed, 08 Sep 2021 07:21:04 +0000 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 5C4241BA64 for ; Wed, 8 Sep 2021 09:21:04 +0200 (CEST) Received: from localhost ([::1]:40758 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mNrtG-0000G7-Qf for larch@yhetil.org; Wed, 08 Sep 2021 03:21:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33846) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mNrqh-0003rU-R4 for guix-devel@gnu.org; Wed, 08 Sep 2021 03:18:23 -0400 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:37509) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mNrqg-0007Av-5B for guix-devel@gnu.org; Wed, 08 Sep 2021 03:18:23 -0400 Received: by mail-wr1-x443.google.com with SMTP id v10so1689067wrd.4 for ; Wed, 08 Sep 2021 00:18:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=Vk4CNbHoUA+YlrL7mwuatPpQ5ymh8wRkDk8Bjf3sqMI=; b=VF1nedBipI6fykgYmQLY0e5aSeRFCw3xPlQhP5PtkJPjtny95tct2eLK/TS6zzA0AF KmKh8E1W6XujStyGBhVXv8k88HMCJz3YsWkKnwCIgW8XStLcNsWzOEOdz0FFVcN/0oqy r/+uTlK3FN6+xtiuweLyXZrbD1SpELLlsuGBD8/lXblfWEDC1vO9FfO40Q88E0XlNwj3 5ivKWG3rotCXMInXmS928Ycb89Po+t2jML0vEjEaFk2WMxHQhux4JuYGeOi4XaauR2AV 1mhAKXc98v31Oi24dd++Ep9G5B21GOurawa0PT8uNvJM3OfH0SXjcpx1LBSCjDMRd4O0 UWGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=Vk4CNbHoUA+YlrL7mwuatPpQ5ymh8wRkDk8Bjf3sqMI=; b=Odql9/yRR281Q/Yh1NuaXwn8JG1n1wKel1lxl+7CWPUgofFBST0+SAYFNuOIZmwpIm 2aWXef/wIt6QUx9VSLOc6nYPRFeyTbOvyu8Jar/SqRN4xJyTRVvMSLImygtJTF2w8Gil kXAydcxxnXRkRg6ztndM43J9SNU5yOPo6LOnqr834ZYBXzOqkUu9B18IMoJPgh43KOLV t+Hwvx2E88C+jdG/kLX2ExbkgG8NOp9ZmLF5x0IaVV2wLe6ocJU41TCo2juXmjQECC8i 4T30famsq6ZH6YLt/CGkM2LZwFJ05oyioDjdPrZmuAWDYlG9wzTmwbRu5NlfRNqtfo8Y jOpQ== X-Gm-Message-State: AOAM533j6+ItefY6N7MGodgtFl2bJwfiCYl+ZVPcpt4klhL8MEukCXbf nvnHEjtI7lXeNIGMLP/jtk4= X-Google-Smtp-Source: ABdhPJzbkuQxvo9PjonLzDzgJKhrDLFDBCYIfBNsb96WcBad40BHmrdU8VrrS4rztPL45yOh1CA4TQ== X-Received: by 2002:a5d:44ca:: with SMTP id z10mr2220632wrr.298.1631085500096; Wed, 08 Sep 2021 00:18:20 -0700 (PDT) Received: from nijino.local (194-118-34-199.adsl.highway.telekom.at. [194.118.34.199]) by smtp.gmail.com with ESMTPSA id o14sm1207164wrg.91.2021.09.08.00.18.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Sep 2021 00:18:19 -0700 (PDT) Message-ID: Subject: Re: Rethinking propagated inputs? From: Liliana Marie Prikler To: Sarah Morgensen , Maxim Cournoyer Date: Wed, 08 Sep 2021 09:18:18 +0200 In-Reply-To: <8635qgi511.fsf@mgsn.dev> References: <8635qgi511.fsf@mgsn.dev> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Received-SPF: pass client-ip=2a00:1450:4864:20::443; envelope-from=liliana.prikler@gmail.com; helo=mail-wr1-x443.google.com 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -4.00 Authentication-Results: aspmx1.migadu.com; none X-Migadu-Queue-Id: 5C4241BA64 X-Spam-Score: -4.00 X-Migadu-Scanner: scn0.migadu.com X-TUID: +5NW3LpgE2u4 Hi, Am Dienstag, den 07.09.2021, 12:01 -0700 schrieb Sarah Morgensen: > [...] > > However, IMO it doesn't make sense to automatically install these in > a profile when installing that package. If you're installing a > source-only package, you likely don't want all the transitive > dependencies automatically installed--what if you're just inspecting > the source, or want to try building it with different > dependencies? If you want all the build dependencies as well, you > would just do > > guix environment go-foo --ad-hoc go-foo > > like you would do for other Guix packages. I think if you wanted to build go-foo locally, you should go with just `guix environment go-foo' anyway. For the source code, you might be interested in `guix build --source'. > In the context of this discussion, I can think of three types of > solution: > > 1. Add a modifier like #:profile? (defaulting to #f) to > propagated-inputs entries > (propagated-inputs > `(("foo" #:profile? #t))) This is basically a weaker linked-inputs, because linked-inputs could be sanitized while these propagated inputs could not. > 2. Rename "propagated-inputs" to e.g. "profile-propagated-inputs", > and then introduce a new "propagated-inputs", which only propagates > into the inputs of dependents, and not into built profiles. Again same as introducing a new field, but also changing semantics for everything in the tree. I think having "propagated-inputs" mean what it means is fine. If we do find that we're lacking a field with certain semantics, we should add that or change existing fields in backwards-compatible ways. > 3. Introduce a way to prevent an input from propagating anything into > the current package/profile > (inputs > `(("foo" #:propagate? #f))) > and then provide CLI options (transformations) to control this. Your example should have propagated-inputs. I'm not sure what benefit there is to this solution that isn't given by adding a field, except that it can't be sanitized. Now that I think about it, this seems to be a different syntax to 1. > I think the first two are clear and make the packager consider > exactly what they're going to propagate into user profiles. Of > course, both also rely on the packager always knowing what should be > propagated to a user's profile or not. The third option allows more > control over that (and could be combined with one of the first two), > but feels a bit rough to use... W.r.t. relying on the packager to know that, we could document such use cases in the manual (similar to how they are documented currently) and we still have a review process to fall back on. Regards