From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id OOvhGISnR2SLRwAASxT56A (envelope-from ) for ; Tue, 25 Apr 2023 12:12:20 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id gCSYGISnR2Q2bAEAauVa8A (envelope-from ) for ; Tue, 25 Apr 2023 12:12:20 +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 9977DEAA1 for ; Tue, 25 Apr 2023 12:12:18 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1prFe0-0004a7-NV; Tue, 25 Apr 2023 06:11:32 -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 1prFdz-0004Zx-Az for guix-devel@gnu.org; Tue, 25 Apr 2023 06:11:31 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1prFdx-0005xH-De for guix-devel@gnu.org; Tue, 25 Apr 2023 06:11:31 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-3f16f792384so13877815e9.0 for ; Tue, 25 Apr 2023 03:11:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682417485; x=1685009485; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:from:to:cc:subject:date:message-id :reply-to; bh=XvJFFiDg+YADTcnhvC2+zpGdjTbNuY2HoR4X92QAKWM=; b=Omkh8bvabXKCcu4ihV8nJQGxfq8rbPu1lKD1evryi5lSB4AhFhrF0WHIkWe0OQfdAM nYLC6fLuotTE8fB7o6M8vXQsoRsw9ChJb3Qp77ccihrhMZqsJ8Lmi5t0fkrt8LTrVVCV +zyXImmHTGxqc5fXRDyC3rfLFsHJ/hadM5wYRtSNiD47W7oZme9PE5gx/9fDXs8bQSbG m7gdA8gaq4koia6/c++FxuHXfh0txnC/sjAzLm4ChQpzq2UyO2HlR/J79GnzIkC8gNdK PIJxdknyUsTlmnVlCXRaM/gj4Ly1Wrv2BnGAY7B70s/K5mkJVsErh/f928H1Ss9iPyBt funQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682417485; x=1685009485; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XvJFFiDg+YADTcnhvC2+zpGdjTbNuY2HoR4X92QAKWM=; b=jwBLJ5UbyHW0qVphyabVHYQsnUx8kOANbP/o78Cwrcm8uOs4NSMLB+BJRHHtiHmWrB QLG4f0Grv0f+esufSo8RwmjsDhD6mwF1H9HqgHqR9oH1Yq3UhPdbqzERclho3lq97sqb HItg0A/yz3Ef608B8e5LmMgDSpYVkIshj8OVb0v7UVCPVkLW6iHjVu9vMW76rgdoBj3S Pb6/AKp6iiTQovoNRHUxVEGj97gtAdX0cgaextLpuRyfOiMyGsQ6xFnM1vBiw4gXEwcT Q/wazMLzVP8cnysvOCNr7F2hwF9m6oupovC8LHqYBsFh6XPgI7o6c+g9gOS6uIy4+18J tKmw== X-Gm-Message-State: AAQBX9fZBolP75wxOyMrm1Haah/e/yxol0oXV2YPQmxNXFxOi207Izlw 51hju/fzWNrRWEJMJ1nwYuM= X-Google-Smtp-Source: AKy350aO2KSom9qMwJw62EGMF0afthp5EEHtz3qTIQPSPJmuIWH4sjqOmbgtZ5nWu6xXxEdY9iL/WA== X-Received: by 2002:a5d:4ecb:0:b0:2fe:e605:a8cd with SMTP id s11-20020a5d4ecb000000b002fee605a8cdmr8748868wrv.6.1682417484550; Tue, 25 Apr 2023 03:11:24 -0700 (PDT) Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e]) by smtp.gmail.com with ESMTPSA id z3-20020adff1c3000000b002fb9e73d5e5sm12715362wro.60.2023.04.25.03.11.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Apr 2023 03:11:24 -0700 (PDT) From: Simon Tournier To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: =?utf-8?Q?Bj=C3=B6rn_H=C3=B6fling?= , guix-devel@gnu.org, Lars-Dominik Braun , Maxim Cournoyer Subject: Re: Adding content-addressed URLs to https://guix.gnu.org/sources.json In-Reply-To: <87cz3t44hi.fsf_-_@inria.fr> References: <20230312220021.22bfff4f@tangletp> <878rfwgbng.fsf@gnu.org> <86lej8y75p.fsf@gmail.com> <87cz3t44hi.fsf_-_@inria.fr> Date: Tue, 25 Apr 2023 11:59:00 +0200 Message-ID: <86pm7sb7vf.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::333; envelope-from=zimon.toutoune@gmail.com; helo=mail-wm1-x333.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: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1682417540; a=rsa-sha256; cv=none; b=ssjsWKYYXLCZN2z/ZzgFfp4dnfzN66GIP1UdFUgU+dWHXfNuWEERfmgqyYybCg/ZhKrtfs Wfgau758AqdhaTh/7qvggmwyIkylNdCsDquyCyYhpP/Eh8QD/bzG3T3H23JhKQqC4NLdCn POrQhpXGrNbAwKOp177/UN5ifztIKFScyIjvlPnV0EmaKaJIvaQFsljUBF3oZkAMP8OqgO XA3R/3dY0+7hKSiIMDP8sLa899J6kU4f9nxN5kPsX8TN/5OaC6y57m5DuQ4pkKwqoTQSvZ WHJ0sLkhFswRt33lZnIZwD/+qOaxGziV7h689hfZuezGtm4/c1q/OsiC9OAakg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=Omkh8bva; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1682417540; 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: 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=XvJFFiDg+YADTcnhvC2+zpGdjTbNuY2HoR4X92QAKWM=; b=InmsewWaSR0N64ZI4LarqTI1WzwLQUOf3w57L+TrsJszjvT0W+rCwbLqGsR/XFL7IULGnX DwuHOeV9NYwj+n4xj4kvgJiKDje2JO7RhvTIeQY3QNbtJBsaYyA4VGoxEAH07Y/7NGnepO vkZy8cCMsWtwhk27fEDN9nnsWbuF1RiFQUZsS92c8YzcaHuY5qv3CAVDmCOaKBol8gh8GT eyOOg0wVnKD3ByyjjeL/BJC8gW+XB8YYh4jOY40SFOPm7IY/7V6N4Mxbh7BpJ3pUOHQHZ3 98W5bnWqWFELizbhxDzrW9xAq9W07A/X/Zf43omZszwmeetziRQNO0yCWcfCtQ== X-Migadu-Spam-Score: -7.73 X-Spam-Score: -7.73 X-Migadu-Queue-Id: 9977DEAA1 X-Migadu-Scanner: scn0.migadu.com Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=Omkh8bva; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-TUID: qxWlRLsuVSHN Hi, On Mon, 24 Apr 2023 at 18:41, Ludovic Court=C3=A8s wrote: > How does that sound? The patch LGTM. Cheers, simon PS: On a side note, building sources.json fails since ~1 month. --8<---------------cut here---------------start------------->8--- $ guix repl -- build-package-metadata.scm /tmp/ guix repl: package metadata will be written to '/tmp/' Backtrace: [...] In procedure %origin-patches-real: Wrong type argument: #< n= ame: "ruby-sorbet-runtime-0.5.10610.20230106174520-1fa668010-checkout" gexp= : # url: "https://github.com/sor= bet/sorbet" commit: "0.5.10610.20230106174520-1fa668010" recursive?: #f> #<= content-hash sha256:0f21dl06alxwn6xgdxyrkd58plmmsv04z2bcls9ld4cfzsrs5537> (= ) 7fa67b7f6000>:out> "/gems/sorbet-" #) #)) gnu/packages/ruby.scm:14078:5 7fa67b701c90> guile: #f options: = (#:local-build? #t)> --8<---------------cut here---------------end--------------->8--- Somehow, it reveals 3 currently uncovered cases: computed-file appearing as, 1. =E2=80=99origin=E2=80=99 in source field (ruby-sorbet-runtime) 2. =E2=80=99inputs=E2=80=99 (racket-minimal) 3. =E2=80=99snippet=E2=80=99 in origin in source field (chromium) And I think we should not try to fix these cases on build-package-metadata.scm side but instead investigate why they are needed in the first place. The regression in build-package-metadata is introduced by commit 7405e0c83f8f4eee5c4c40e809a40f2e4407a38c: CommitDate: Tue Mar 28 22:22:24 2023 -0400 Author: Maxim Cournoyer gnu: Add ruby-sorbet-runtime. * gnu/packages/ruby.scm (ruby-sorbet-runtime): New variable. (sorbet-version): New variable. (sorbet-monorepo): New variable. (make-sorbet-gem-source): New procedure. (define (make-sorbet-gem-source gem) "Return the source of GEM, a sub-directory." (computed-file (string-append "ruby-sorbet-" gem "-" sorbet-version "-checkout") (with-imported-modules (source-module-closure '((guix build utils))) #~(begin (use-modules (guix build utils)) (copy-recursively (string-append #$sorbet-monorepo "/gems/sorbet-" #$gem) #$output))))) [...] (define-public ruby-sorbet-runtime (package (name "ruby-sorbet-runtime") (version sorbet-version) (source (make-sorbet-gem-source "runtime")) This pattern appears to me wrong. It should use =E2=80=99snippet=E2=80=99.= And if the point is to have a meaningful path in /gnu/store, as it is the case with icecat or linux or emacs-company-box, the current way is =E2=80=99computed-origin-method=E2=80=99 from (guix packages). For =E2=80=99ruby-sorbet-runtime=E2=80=99, the fix seems =E2=80=99computed-= origin-method=E2=80=99. Well, some data behind =E2=80=99computed-file=E2=80=99 appears in two other= places: ./gnu/packages/racket.scm:505: (computed-file ./gnu/packages/chromium.scm:348: (computed-file For =E2=80=99chromium=E2=80=99, it appears to me somehow overcomplicated to= extract all the layers of patches; the work does not appears to me worth. Somehow, I would accept that =E2=80=9Cour way=E2=80=9C to build Chromium would be lo= st. It remains the case of =E2=80=99racket-minimal=E2=80=99 =E2=80=93 which is = somehow a corner case of =E2=80=99package-direct-sources=E2=80=99, --8<---------------cut here---------------start------------->8--- scheme@(guix-user)> ,use(gnu packages racket) scheme@(guix-user)> racket-minimal $1 =3D # scheme@(guix-user)> (package-direct-sources racket-minimal) $2 =3D () --8<---------------cut here---------------end--------------->8--- However, the case is indeed covered by the chain: + racket-minimal lists the input racket-vm-cs + racket-vm-cs inherits from racket-vm-bc + racket-vm-bc inherits from racket-vm-cgc + racket-vm-cgc has the source %racket-origin --8<---------------cut here---------------start------------->8--- scheme@(guix-user)> (package-direct-sources (@@ (gnu packages racket) racke= t-vm-cgc)) $3 =3D (# url: "https://github.com/racket/racket" = commit: "v8.7" recursive?: #f> # ("/gnu/store/g6xlx4ik4skazfdl0a9vbd5r0lmqnn= d9-guix-module-union/share/guile/site/3.0/gnu/packages/patches/racket-backp= ort-8.7-pkg-strip.patch" "/gnu/store/g6xlx4ik4skazfdl0a9vbd5r0lmqnnd9-guix-= module-union/share/guile/site/3.0/gnu/packages/patches/racket-chez-scheme-b= in-sh.patch" "/gnu/store/g6xlx4ik4skazfdl0a9vbd5r0lmqnnd9-guix-module-union= /share/guile/site/3.0/gnu/packages/patches/racket-rktio-bin-sh.patch" "/gnu= /store/g6xlx4ik4skazfdl0a9vbd5r0lmqnnd9-guix-module-union/share/guile/site/= 3.0/gnu/packages/patches/racket-zuo-bin-sh.patch") 7f88dea48720>) --8<---------------cut here---------------end--------------->8--- Therefore the source data of =E2=80=99racket-minimal=E2=80=99 is correctly = archived. WDYT to modify =E2=80=99ruby-sorbet-runtime=E2=80=99 and let =E2=80=99chrom= ium=E2=80=99 uncovered? Cheers, simon