From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id ACKVAg4ZbGKlowAAbAwnHQ (envelope-from ) for ; Fri, 29 Apr 2022 18:57:50 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id +PtjAg4ZbGLkeQEA9RJhRA (envelope-from ) for ; Fri, 29 Apr 2022 18:57:50 +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 65ECA366E9 for ; Fri, 29 Apr 2022 18:57:49 +0200 (CEST) Received: from localhost ([::1]:60072 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nkTwC-0005SG-1j for larch@yhetil.org; Fri, 29 Apr 2022 12:57:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36114) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nkTvX-0005Rg-R7 for help-guix@gnu.org; Fri, 29 Apr 2022 12:57:07 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]:37613) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nkTvV-0004iK-SV for help-guix@gnu.org; Fri, 29 Apr 2022 12:57:07 -0400 Received: by mail-wr1-x42b.google.com with SMTP id t6so11572644wra.4 for ; Fri, 29 Apr 2022 09:57:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:in-reply-to:references:date:message-id:mime-version :content-transfer-encoding; bh=T3tjYk20Dn5IDEtSgtqRXn1b7YR/0Eodi0bk8pg1VkY=; b=dpdfwFk3TEFTi90zFVygDNxgmD/gPIHiZxnVdJjMTpVWoRvvb/jMcKbMzn7j2DFrll MaQLyTwF5gZIqaArKaVlRsJ+Gn6kYZ4xOxrgW77Dk6LtdWsjcWDlU+WtlEJt1T+rjuSx xYdhc7ZvuZFq8cJy2ak70HpcF5gcpwGTjccwV+0CAB2XlMce4WIbCCpUDouNQY5bkf5P IItLNgX57lPhlaLWj0Cm7uZ2mdK9PegxA06CNqm/NvVEI02kDFUMJOwwSWyDbvklLw6J TDoAIlEX0dFc4UEK/IeRFYGFl1UBcD6M3CIkqnMjZravW8HxpFA313rq/sBbvCnp03iQ TFFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:in-reply-to:references:date :message-id:mime-version:content-transfer-encoding; bh=T3tjYk20Dn5IDEtSgtqRXn1b7YR/0Eodi0bk8pg1VkY=; b=dfZxCP7cNOHfbLFgq5N8nnEGfegPe/BpCpXtIOUQhQFFd1LeJN1sjF/rKyB/HKqMAC X/dBNSChuJ6Q4n/Ftfq5BwN7AnfAR+s2n3d7zdtCnzGgcHN+Lo01R9ohlIiTm4xZPTyL nZCKnny9g1iGhyZ7doRb+Z9ozM03xRoJEn74PC/cMqiJ9GnQxFKCxb2hg+rIRlgkNefZ mUeq/oB1gvPjMGTGD7rfpmOsdFDjzckWj5LcNCNJOzEHHmEsua+eCpyiL1/oQ13lznDU 70w7K/RBeMwe6SqQpeSLBp1uMtLDKcDaSH60DNIr7a0nwrgbNof3lHrY+D3CMNkhoCqU JGvg== X-Gm-Message-State: AOAM532A2GTFMAI4p+vYo1nDOAUgOohDxC+Z3JkXzWXaKV6LWqWOqpGK byPQvXBT55HkqGfA+NPZ8B4= X-Google-Smtp-Source: ABdhPJyjEP3m1XbuOpV7BPgIHwbg8uC2OAEbAnm4uMXV2m4ZKuT5ao1I89utkKzaNiDWIt1ehlq6Iw== X-Received: by 2002:adf:e0d0:0:b0:207:ad5b:b304 with SMTP id m16-20020adfe0d0000000b00207ad5bb304mr26432wri.353.1651251424101; Fri, 29 Apr 2022 09:57:04 -0700 (PDT) Received: from pfiuh07 ([193.48.40.241]) by smtp.gmail.com with ESMTPSA id m41-20020a05600c3b2900b00393e6f6c130sm3326968wms.42.2022.04.29.09.57.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Apr 2022 09:57:03 -0700 (PDT) From: zimoun To: Olivier Dion , Maxim Cournoyer , Olivier Dion via , Ricardo Wurmus Subject: Re: Questions regarding substitutes with debug output In-Reply-To: <87bkwkq73s.fsf@laura> References: <877d7joe2w.fsf@laura> <87levx4ui1.fsf@gmail.com> <87ee1pur82.fsf@laura> <86mtg5eibr.fsf@gmail.com> <87mtg5qovg.fsf@laura> <87ee1ge0k4.fsf@gmail.com> <87bkwkq73s.fsf@laura> Date: Fri, 29 Apr 2022 18:06:45 +0200 Message-ID: <87tuabc1re.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=zimon.toutoune@gmail.com; helo=mail-wr1-x42b.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, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1651251469; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=T3tjYk20Dn5IDEtSgtqRXn1b7YR/0Eodi0bk8pg1VkY=; b=fRCo4hcFDWtiWa3gWK282vZAVxzo7cjuHdLt06Bg96PCLlxKUQksLJ/yFSjGkkw5/VLNVc 8+6XUebUZi6zHw6EvV1DnbL5DELPQlYgf5qugOBKdwgOqhHFtBt80yAIg6Ks2019/LT/S5 GD7g8X3IBGBFZgEE6r8fE4iqLTfL72Jj5M9Na2JTFs7gJUCG2F5rvOGh01/fbkXIat+iLK ZFXe+Je1aYJrayaQlCdb72O9Dk+5/tj5s/u9pgA+s3Mc5PNW9p6/BUb59k+f5wQSWAF00O KY8vJM1yLh+T/7kmScsfXHNLC3xLFkis/Y56YZtrKBrB0rgwW6wlWhQgl2i+Qw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1651251469; a=rsa-sha256; cv=none; b=MElsm3iSOXHvkmtBvzO17vI8ar6SI+zLNMXrDOJOIIgTU0TQTp5i1NDk1jlvWfVZU8FAHm gO3t3raZOzCypbNnaJf5OBC8upQQXax7Lk+2lMnXB8EnAt+SMUGxxRHtlhuSTwbvWiEAk9 tkFnHQhnpUHUaFIjgCQi9mAhliSF3jdp/+2ImFTKZolUWOPAQ/iYRJI82g+cuIxYxftP/p nxmPhaYt8NWnwN25mjDqENdM/N1jgGZoivMk5d2tNTZcYKMKAf/ze9rt0fCz7GSFKe9agL qAUn1HkaIFvuRimqhY2yxfOpIdfGPjLilCT74A0IW6Kpsh7mSpodQlHuyTLnoA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=dpdfwFk3; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -2.50 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=dpdfwFk3; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 65ECA366E9 X-Spam-Score: -2.50 X-Migadu-Scanner: scn1.migadu.com X-TUID: bEVNh/L5nNgm Hi, On Fri, 29 Apr 2022 at 10:47, Olivier Dion via wrote: > Because importing the package using use-modules would yield the package > from the instance of Guix driving the workflow instead of using the > package of the inferior! GWL will lookup for package in the inferior > context when the package is a specification. > > Even if I were to import locally defined packages, their dependencies > would come from the Guix's main channel! Hum, ok. Well, I am not enough familiar with recent GWL. However, I am still missing a point since using =E2=80=9Cstring=E2=80=9D is just a key to= refer to package object. Anyway. > So now imagine you have a specification -- or something like a DSL -- > for describing your full RFS. You generate it and see that its total > size is too much for your SD card using default packages. But you have > a channel with different variants of some packages. You then apply a > preference filter like 'diet=3D1' instead of changing the specification or > the module imports. And now you see that your RFS fits in your SD card. What you are describing is already possible, somehow. The specification (manifest) is done by a DSL. This manifest.scm file can contain complex filters. Well, for instance, let install only the packages which use the =E2=80=99r-build-system=E2=80=99 with: guix package -m manifest.scm -p /tmp/all-r where manifest.scm reads, --8<---------------cut here---------------start------------->8--- (use-modules (guix packages) (gnu packages) (guix build-system r)) (packages->manifest (fold-packages (lambda (package result) (if (eq? (package-build-system package) r-build-system) (cons package result) result)) '())) --8<---------------cut here---------------end--------------->8--- > But yes, I would also describe it to be over-engineered if the intent is > to only have channel preference when there's name collision. But then > again, we never know what are the future use case of Guix. I think it is a better design to have a rich Scheme DSL to easily select (or transform) the packages you want than something like: --8<---------------cut here---------------start------------->8--- (specifications->manifest (list "guile@3.0.8:debug;channel=3Dmy-channel;some-metadata=3Dfoo")) --8<---------------cut here---------------end--------------->8--- And I agree that some =E2=80=9Cselectors=E2=80=9D as channel are currently = missing. :-) > Really this feature is almost not necessary with package's properties: > > (package > ... > (properties '((channel . "my-project")))) Instead of the string "my-project", it appears to me better to have the symbols of the channel name defined by the file ~/.config/guix/channels.scm, e.g.,=20 --8<---------------cut here---------------start------------->8--- (cons* (channel (name 'nonguix) (url "https://gitlab.com/nonguix/nonguix.git") (branch "master")) (channel ; .guix.channel depends on channel: (name 'bimsb-nonfree) ; github.com/BIMSBbioinfo/guix-bimsb.git (url "https://github.com/BIMSBbioinfo/guix-bimsb-nonfree.git") (branch "master")) ;; (channel ;; (name 'bimsb) ;; (url "https://github.com/BIMSBbioinfo/guix-bimsb.git") ;; (branch "master")) (channel (name 'past) (url "https://gitlab.inria.fr/guix-hpc/guix-past.git") (branch "master")) (channel (name 'genenet) (url "https://gitlab.com/genenetwork/guix-bioinformatics.git") (branch "master")) %default-channels) --8<---------------cut here---------------end--------------->8--- Thanks for the discussion. :-) Cool, a new feature to implement. ;-) Cheers, simon