GNU bug report logs - #47929
[PATCH 0/5] Add manifest support to channel-with-substitutes-available

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix-patches; Reported by: Mathieu Othacehe <othacehe@HIDDEN>; Keywords: patch moreinfo; dated Wed, 21 Apr 2021 12:17:01 UTC; Maintainer for guix-patches is guix-patches@HIDDEN.
Added tag(s) moreinfo. Request was from Simon Tournier <zimon.toutoune@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 47929 <at> debbugs.gnu.org:


Received: (at 47929) by debbugs.gnu.org; 9 Jan 2026 12:25:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 09 07:25:30 2026
Received: from localhost ([127.0.0.1]:47827 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1veBYY-0001J0-ET
	for submit <at> debbugs.gnu.org; Fri, 09 Jan 2026 07:25:30 -0500
Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]:54642)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <zimon.toutoune@HIDDEN>)
 id 1veBYV-0001Ic-66
 for 47929 <at> debbugs.gnu.org; Fri, 09 Jan 2026 07:25:27 -0500
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-42fb0fc5aa9so1922893f8f.1
 for <47929 <at> debbugs.gnu.org>; Fri, 09 Jan 2026 04:25:27 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1767961526; x=1768566326; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=wsAjPU4X3T3XGYmy7pLtQB8hNPQgddQi8qoFPvvlmDM=;
 b=MoGN9vrAvkOdyxxYSFv0p6DJH4ojfxP1Sx2CvyA2XPxZZ1erFYuf6VAzPyZTQsnQhh
 tSoUv9mtaE2AmKW/7jVuCiZzKiZRBLHXmJkZWtF5sff/2eI3EabNMYvZjTdyP5Clnywp
 ArP38l+Samd5gl8BWepfGeqkcqMMY1g2LUc7dTlapyd9ztWpExQpXVEPOeDesT99GD9n
 pPeh9Twbxhn+vGi68RiSYFRseb+EP6WXBvhx+B3FhBFpQkdrrqm6Mp0W+I99tQD+7k8n
 q49dKs0kuS6q234NjEGfgRtASAO0cYHc2LcOb5MHbVGpeD1q5pUfaovxFYb6ZEmbu/Ab
 9JWA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1767961526; x=1768566326;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject
 :date:message-id:reply-to;
 bh=wsAjPU4X3T3XGYmy7pLtQB8hNPQgddQi8qoFPvvlmDM=;
 b=bI/vR61NJfFaasNOoAuNlh81YBWvCjn43jtk9osGi93tLebBZ54FQiMplV6XEiSUkH
 tXa+ubyt7iOMKcnrFtlUUYWozZ/vqPX4C4mpab+GNd3STyuzWpM1kMIL6cHo7y9fZWfN
 4QkAH6b5lPeafz/JSyrzaAw1OD6Wi2OHBWekvJgdXEtn9wudjbfRjKf8qBvKK22c2rQQ
 H7YKjiIZ9/IJWQQCWKxVHPjjmkak9OUR8NMCb7tbxGyxtCqI2bK5G5aBb77mdD8BxtJS
 EXgjQYtI3pQxVMddJG0IABb7qk3OZdeaANpsyKaUrkgpxT5qtc7v07yNxUwiMnPPwwCG
 KYOg==
X-Gm-Message-State: AOJu0YwOjnYLHv5lVo49nPZHYrK/wpp1xuiVARZ93Giguoks+V0Miz/j
 +ip2y1vgYYSD8Aa1cYF2T4BCRGni8pEZThx2JU4VTniIhvOGwZcAz0XDnYo9EQ==
X-Gm-Gg: AY/fxX7PX0zK59eVnKzHamkQm+QcMjd+lpmU6ov1cXwayPMxcsLYR6ow1Miy+yJXBJb
 nSyJO6YT75Pu9HEzW1BWcoKCl9wieBhEZqyxkFgKiIUTAxoaXuFb5+Uz1nkXyWnJx1ceThs2Ad6
 xrt6dgIDmgnHWKG5orhUtaN6nLIiOSIK1LJCTDyvlKWlqgEQPlghuAO6rr5nJkDWgDJF9tW1AaR
 jbY1tB8oDv0q2cuJb3OcKo0OlgZZGyoM2a3TiltTB+19ADwdMZxTOK9eY+sEn0TpXe9fggK3KL/
 kVIKB31KqysxKeJIg8hDNhOGln3ZWKmETX90i/NR6sF0lZWUbofzrE2XnDdARAopFmYs6fWqlA6
 +u5kC6zQGQabgNBYz7J6yj/z2M/efnMi9bSlueFfmKQmhWT+HKtUYY7bMPtglp9uXbLKb9BUfno
 bgZY/kUNLCNGzVQVrV04/+xR41pE1ePa0fcwAoPxY9WBSXjoI=
X-Google-Smtp-Source: AGHT+IEkwhn/iMF698KAmI9834cs7ArII+EwznAnlkHggf2tNyX3G3fqhyFAjMnZ4pEDq60DdXhPbQ==
X-Received: by 2002:a05:6000:26ca:b0:430:fc63:8c8 with SMTP id
 ffacd0b85a97d-432c374ff4bmr12242991f8f.35.1767961525953; 
 Fri, 09 Jan 2026 04:25:25 -0800 (PST)
Received: from lili (nat-dsi-209.net.univ-paris-diderot.fr. [81.194.30.209])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-432bd0e17aasm22571980f8f.15.2026.01.09.04.25.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 09 Jan 2026 04:25:25 -0800 (PST)
From: Simon Tournier <zimon.toutoune@HIDDEN>
To: Mathieu Othacehe <othacehe@HIDDEN>
Subject: Re: [bug#47929] [PATCH 1/5] ci: Add manifest support to
 channel-with-substitutes-available.
In-Reply-To: <20210421122108.2344-1-othacehe@HIDDEN> (Mathieu Othacehe's
 message of "Wed, 21 Apr 2021 14:21:04 +0200")
References: <20210421121610.2045-1-othacehe@HIDDEN>
 <20210421122108.2344-1-othacehe@HIDDEN>
Date: Fri, 09 Jan 2026 13:05:13 +0100
Message-ID: <87o6n3dm9y.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 47929
Cc: 47929 <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 (-)

Hi,

For more context, see:

    https://issues.guix.gnu.org/issue/47929

On Wed, 21 Apr 2021 at 14:21, Mathieu Othacehe <othacehe@HIDDEN> wrote:
> * guix/ci.scm (%default-guix-specification,
> %default-package-specification): New variables.
> (<job>, <history>): New records.
> (job, job-history, sort-history-by-coverage, channel-commit,
> package->job-name, manifest->jobs): New procedures.
> (find-latest-commit-with-substitutes): Rename it into ...
> (latest-checkouts-with-substitutes): ... this new procedure.
> (channel-with-substitutes-available): Add an optional manifest argument and
> honor it.
> * doc/guix.texi (Channels with Substitutes): Update it.
> ---
>  doc/guix.texi |  31 ++++++--
>  guix/ci.scm   | 205 ++++++++++++++++++++++++++++++++++++++++++++------
>  2 files changed, 207 insertions(+), 29 deletions(-)

Part of this seems included with commit:

    bb5f395a08deacb799ef1e085863ba01a5f05e70

What about the rest of the series?

Cheers,
simon




Information forwarded to guix-patches@HIDDEN:
bug#47929; Package guix-patches. Full text available.

Message received at 47929 <at> debbugs.gnu.org:


Received: (at 47929) by debbugs.gnu.org; 21 Apr 2021 12:21:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 21 08:21:36 2021
Received: from localhost ([127.0.0.1]:57122 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1lZBrL-0005ZI-RG
	for submit <at> debbugs.gnu.org; Wed, 21 Apr 2021 08:21:36 -0400
Received: from eggs.gnu.org ([209.51.188.92]:35910)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <othacehe@HIDDEN>) id 1lZBrI-0005YK-JL
 for 47929 <at> debbugs.gnu.org; Wed, 21 Apr 2021 08:21:32 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:54767)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <othacehe@HIDDEN>) id 1lZBrD-0006p0-Ec
 for 47929 <at> debbugs.gnu.org; Wed, 21 Apr 2021 08:21:27 -0400
Received: from [2a01:e0a:19b:d9a0:9576:8bbf:4795:82ee] (port=38154
 helo=localhost.localdomain)
 by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <othacehe@HIDDEN>)
 id 1lZBrC-0003pa-GI; Wed, 21 Apr 2021 08:21:26 -0400
From: Mathieu Othacehe <othacehe@HIDDEN>
To: 47929 <at> debbugs.gnu.org
Subject: [PATCH 5/5] ui: Disable hyperlink support inside screen.
Date: Wed, 21 Apr 2021 14:21:08 +0200
Message-Id: <20210421122108.2344-5-othacehe@HIDDEN>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20210421122108.2344-1-othacehe@HIDDEN>
References: <20210421122108.2344-1-othacehe@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 47929
Cc: Mathieu Othacehe <othacehe@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: -3.3 (---)

Inside screen, the OSC escape sequence is interpreted but the link is not clickable.

* guix/ui.scm (supports-hyperlinks?): Return false if STY is set.
---
 guix/ui.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/guix/ui.scm b/guix/ui.scm
index 7fbd4c63a2..56fbbb3db3 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -1486,7 +1486,8 @@ documented at
   ;; However, Emacs comint as of 26.3 does not ignore it and instead lets it
   ;; through, hence the 'INSIDE_EMACS' special case below.
   (and (isatty?* port)
-       (not (getenv "INSIDE_EMACS"))))
+       (not (or (getenv "INSIDE_EMACS")
+                (getenv "STY"))))) ;screen doesn't support hyperlinks.
 
 (define* (file-hyperlink file #:optional (text file))
   "Return TEXT with escapes for a hyperlink to FILE."
-- 
2.31.1





Information forwarded to guix-patches@HIDDEN:
bug#47929; Package guix-patches. Full text available.

Message received at 47929 <at> debbugs.gnu.org:


Received: (at 47929) by debbugs.gnu.org; 21 Apr 2021 12:21:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 21 08:21:35 2021
Received: from localhost ([127.0.0.1]:57120 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1lZBrL-0005ZB-He
	for submit <at> debbugs.gnu.org; Wed, 21 Apr 2021 08:21:35 -0400
Received: from eggs.gnu.org ([209.51.188.92]:35908)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <othacehe@HIDDEN>) id 1lZBrH-0005YI-Ow
 for 47929 <at> debbugs.gnu.org; Wed, 21 Apr 2021 08:21:31 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:54766)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <othacehe@HIDDEN>) id 1lZBrC-0006nq-Jr
 for 47929 <at> debbugs.gnu.org; Wed, 21 Apr 2021 08:21:26 -0400
Received: from [2a01:e0a:19b:d9a0:9576:8bbf:4795:82ee] (port=38154
 helo=localhost.localdomain)
 by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <othacehe@HIDDEN>)
 id 1lZBr9-0003pa-Vd; Wed, 21 Apr 2021 08:21:24 -0400
From: Mathieu Othacehe <othacehe@HIDDEN>
To: 47929 <at> debbugs.gnu.org
Subject: [PATCH 4/5] scripts: weather: Add packages dashboard support.
Date: Wed, 21 Apr 2021 14:21:07 +0200
Message-Id: <20210421122108.2344-4-othacehe@HIDDEN>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20210421122108.2344-1-othacehe@HIDDEN>
References: <20210421122108.2344-1-othacehe@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 47929
Cc: Mathieu Othacehe <othacehe@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: -3.3 (---)

* guix/scripts/weather.scm (display-dashboard-url): New procedure.
(guix-weather): Call it.
---
 guix/scripts/weather.scm | 32 +++++++++++++++++++++++---------
 1 file changed, 23 insertions(+), 9 deletions(-)

diff --git a/guix/scripts/weather.scm b/guix/scripts/weather.scm
index 5164fe0494..be0b2e3509 100644
--- a/guix/scripts/weather.scm
+++ b/guix/scripts/weather.scm
@@ -499,6 +499,17 @@ SERVER.  Display information for packages with at least THRESHOLD dependents."
              #f
              systems))))
 
+(define (display-dashboard-url server packages)
+  "Display a link to the dashboard for PACKAGES on the given CI SERVER."
+  (let* ((id (dashboard-register server packages))
+         (url (and id (dashboard-url server id))))
+    (when url
+      (format #t "~%")
+      (format #t (G_ "The packages dashboard is available ~a.~%")
+              (if (supports-hyperlinks?)
+                  (hyperlink url (G_ "here"))
+                  (format #f "here: ~a" url))))))
+
 
 ;;;
 ;;; Entry point.
@@ -554,15 +565,18 @@ SERVER.  Display information for packages with at least THRESHOLD dependents."
                      (report-server-coverage server items
                                              #:display-missing?
                                              (assoc-ref opts 'display-missing?)))
-                   (match (assoc-ref opts 'coverage)
-                     (#f #f)
-                     (threshold
-                      ;; PACKAGES may include non-package objects coming from a
-                      ;; manifest.  Filter them out.
-                      (report-package-coverage server
-                                               (filter package? packages)
-                                               systems
-                                               #:threshold threshold)))
+
+                   ;; PACKAGES may include non-package objects coming from a
+                   ;; manifest.  Filter them out.
+                   (let ((packages (filter package? packages)))
+                     (match (assoc-ref opts 'coverage)
+                       (#f #f)
+                       (threshold
+                        (report-package-coverage server
+                                                 packages
+                                                 systems
+                                                 #:threshold threshold)))
+                     (display-dashboard-url server packages))
 
                    (= 1 coverage))
                  urls))))))
-- 
2.31.1





Information forwarded to guix-patches@HIDDEN:
bug#47929; Package guix-patches. Full text available.

Message received at 47929 <at> debbugs.gnu.org:


Received: (at 47929) by debbugs.gnu.org; 21 Apr 2021 12:21:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 21 08:21:35 2021
Received: from localhost ([127.0.0.1]:57118 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1lZBrL-0005Z9-6u
	for submit <at> debbugs.gnu.org; Wed, 21 Apr 2021 08:21:35 -0400
Received: from eggs.gnu.org ([209.51.188.92]:35906)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <othacehe@HIDDEN>) id 1lZBrF-0005YF-4C
 for 47929 <at> debbugs.gnu.org; Wed, 21 Apr 2021 08:21:29 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:54765)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <othacehe@HIDDEN>) id 1lZBr9-0006mc-Vk
 for 47929 <at> debbugs.gnu.org; Wed, 21 Apr 2021 08:21:23 -0400
Received: from [2a01:e0a:19b:d9a0:9576:8bbf:4795:82ee] (port=38154
 helo=localhost.localdomain)
 by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <othacehe@HIDDEN>)
 id 1lZBr8-0003pa-Tj; Wed, 21 Apr 2021 08:21:23 -0400
From: Mathieu Othacehe <othacehe@HIDDEN>
To: 47929 <at> debbugs.gnu.org
Subject: [PATCH 3/5] ci: Add dashboard procedures.
Date: Wed, 21 Apr 2021 14:21:06 +0200
Message-Id: <20210421122108.2344-3-othacehe@HIDDEN>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20210421122108.2344-1-othacehe@HIDDEN>
References: <20210421122108.2344-1-othacehe@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 47929
Cc: Mathieu Othacehe <othacehe@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: -3.3 (---)

* guix/ci.scm (dashboard-url, dashboard-register): New procedures.
---
 guix/ci.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/guix/ci.scm b/guix/ci.scm
index 780e90ef32..78ab739340 100644
--- a/guix/ci.scm
+++ b/guix/ci.scm
@@ -65,6 +65,8 @@
             evaluations-for-commit
 
             manifest->jobs
+            dashboard-url
+            dashboard-register
             channel-with-substitutes-available))
 
 ;;; Commentary:
@@ -282,6 +284,26 @@ evaluation with the higher successful jobs count."
            (package->job-name (package-name package)))
          packages)))
 
+(define (dashboard-url url id)
+  "Return the url of the dashboard with the given ID on the CI server at URL."
+  (format #f "~a/dashboard/~a" url id))
+
+(define* (dashboard-register url packages
+                             #:key
+                             (specification "master"))
+  "Register a dashboard for the packages jobs of the given SPECIFICATION using
+the CI server at URL.  Returns the newly created dashboard id or false if it
+could not be created."
+  (let* ((jobs (manifest->jobs
+                (packages->manifest packages)))
+         (names (string-join jobs ","))
+         (id (json->scm
+              (http-fetch
+               (format #f "~a/api/dashboard/register?spec=~a&names=~a"
+                       url specification names)))))
+    (and id
+         (assoc-ref id "id"))))
+
 (define* (latest-checkouts-with-substitutes url jobs)
   "Return a list of latest checkouts, sorted by descending substitutes
 coverage of the given JOBS list on the CI server at URL. Only evaluations for
-- 
2.31.1





Information forwarded to guix-patches@HIDDEN:
bug#47929; Package guix-patches. Full text available.

Message received at 47929 <at> debbugs.gnu.org:


Received: (at 47929) by debbugs.gnu.org; 21 Apr 2021 12:21:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 21 08:21:30 2021
Received: from localhost ([127.0.0.1]:57114 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1lZBrF-0005Yc-Mb
	for submit <at> debbugs.gnu.org; Wed, 21 Apr 2021 08:21:30 -0400
Received: from eggs.gnu.org ([209.51.188.92]:35904)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <othacehe@HIDDEN>) id 1lZBrE-0005YD-8p
 for 47929 <at> debbugs.gnu.org; Wed, 21 Apr 2021 08:21:28 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:54764)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <othacehe@HIDDEN>) id 1lZBr9-0006ll-3S
 for 47929 <at> debbugs.gnu.org; Wed, 21 Apr 2021 08:21:23 -0400
Received: from [2a01:e0a:19b:d9a0:9576:8bbf:4795:82ee] (port=38154
 helo=localhost.localdomain)
 by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <othacehe@HIDDEN>)
 id 1lZBr7-0003pa-Ky; Wed, 21 Apr 2021 08:21:22 -0400
From: Mathieu Othacehe <othacehe@HIDDEN>
To: 47929 <at> debbugs.gnu.org
Subject: [PATCH 2/5] scripts: pull: Load (gnu packages) module.
Date: Wed, 21 Apr 2021 14:21:05 +0200
Message-Id: <20210421122108.2344-2-othacehe@HIDDEN>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20210421122108.2344-1-othacehe@HIDDEN>
References: <20210421122108.2344-1-othacehe@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 47929
Cc: Mathieu Othacehe <othacehe@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: -3.3 (---)

This allows to pass a manifest to channel-with-substitutes-available this way:

(channel-with-substitutes-available
 %default-guix-channel
 "https://ci.guix.gnu.org"
 (specifications->manifest
  '("git" "emacs-minimal")))

* guix/scripts/pull.scm (channel-list): Load the (gnu packages) module when
evaluating the user channels list.
---
 guix/scripts/pull.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm
index 07613240a8..662239b492 100644
--- a/guix/scripts/pull.scm
+++ b/guix/scripts/pull.scm
@@ -707,7 +707,8 @@ transformations specified in OPTS (resulting from '--url', '--commit', or
     (string-append %sysconfdir "/guix/channels.scm"))
 
   (define (load-channels file)
-    (let ((result (load* file (make-user-module '((guix channels))))))
+    (let ((result (load* file (make-user-module '((guix channels)
+                                                  (gnu packages))))))
       (if (and (list? result) (every channel? result))
           result
           (leave (G_ "'~a' did not return a list of channels~%") file))))
-- 
2.31.1





Information forwarded to guix-patches@HIDDEN:
bug#47929; Package guix-patches. Full text available.

Message received at 47929 <at> debbugs.gnu.org:


Received: (at 47929) by debbugs.gnu.org; 21 Apr 2021 12:21:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 21 08:21:29 2021
Received: from localhost ([127.0.0.1]:57111 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1lZBrE-0005YX-VN
	for submit <at> debbugs.gnu.org; Wed, 21 Apr 2021 08:21:29 -0400
Received: from eggs.gnu.org ([209.51.188.92]:35874)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <othacehe@HIDDEN>) id 1lZBrD-0005YB-0x
 for 47929 <at> debbugs.gnu.org; Wed, 21 Apr 2021 08:21:27 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:54763)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <othacehe@HIDDEN>) id 1lZBr7-0006lD-SI
 for 47929 <at> debbugs.gnu.org; Wed, 21 Apr 2021 08:21:21 -0400
Received: from [2a01:e0a:19b:d9a0:9576:8bbf:4795:82ee] (port=38154
 helo=localhost.localdomain)
 by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <othacehe@HIDDEN>)
 id 1lZBr6-0003pa-P3; Wed, 21 Apr 2021 08:21:21 -0400
From: Mathieu Othacehe <othacehe@HIDDEN>
To: 47929 <at> debbugs.gnu.org
Subject: [PATCH 1/5] ci: Add manifest support to
 channel-with-substitutes-available.
Date: Wed, 21 Apr 2021 14:21:04 +0200
Message-Id: <20210421122108.2344-1-othacehe@HIDDEN>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 47929
Cc: Mathieu Othacehe <othacehe@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: -3.3 (---)

* guix/ci.scm (%default-guix-specification,
%default-package-specification): New variables.
(<job>, <history>): New records.
(job, job-history, sort-history-by-coverage, channel-commit,
package->job-name, manifest->jobs): New procedures.
(find-latest-commit-with-substitutes): Rename it into ...
(latest-checkouts-with-substitutes): ... this new procedure.
(channel-with-substitutes-available): Add an optional manifest argument and
honor it.
* doc/guix.texi (Channels with Substitutes): Update it.
---
 doc/guix.texi |  31 ++++++--
 guix/ci.scm   | 205 ++++++++++++++++++++++++++++++++++++++++++++------
 2 files changed, 207 insertions(+), 29 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index b9019d5550..c39bbdb3d5 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -5201,11 +5201,32 @@ server at @url{https://ci.guix.gnu.org}.
        "https://ci.guix.gnu.org"))
 @end lisp
 
-Note that this does not mean that all the packages that you will
-install after running @command{guix pull} will have available
-substitutes.  It only ensures that @command{guix pull} will not try to
-compile package definitions.  This is particularly useful when using
-machines with limited resources.
+It is also possible to ask @command{guix pull} to use the latest commit
+with the maximal number of available substitutes for a given manifest
+this way:
+
+@lisp
+(use-modules (guix ci))
+
+(list (channel-with-substitutes-available
+       %default-guix-channel
+       "https://ci.guix.gnu.org"
+       "/path/to/manifest))
+@end lisp
+
+or this way:
+
+@lisp
+(use-modules (guix ci))
+
+(list (channel-with-substitutes-available
+       %default-guix-channel
+       "https://ci.guix.gnu.org"
+       (specifications->manifest
+        '("git" "emacs-minimal"))))
+@end lisp
+
+This is particularly useful when using machines with limited resources.
 
 @node Creating a Channel
 @section Creating a Channel
diff --git a/guix/ci.scm b/guix/ci.scm
index c70e5bb9e6..780e90ef32 100644
--- a/guix/ci.scm
+++ b/guix/ci.scm
@@ -18,10 +18,16 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (guix ci)
+  #:use-module (gnu packages)
+  #:use-module (guix channels)
   #:use-module (guix http-client)
+  #:use-module (guix packages)
+  #:use-module (guix profiles)
+  #:use-module (guix ui)
   #:use-module (guix utils)
   #:use-module (json)
   #:use-module (srfi srfi-1)
+  #:use-module (srfi srfi-26)
   #:use-module (ice-9 match)
   #:use-module (guix i18n)
   #:use-module (guix diagnostics)
@@ -58,6 +64,7 @@
             latest-evaluations
             evaluations-for-commit
 
+            manifest->jobs
             channel-with-substitutes-available))
 
 ;;; Commentary:
@@ -67,6 +74,14 @@
 ;;;
 ;;; Code:
 
+;; The name of the CI specification building the 'guix-modular' package.
+(define %default-guix-specification
+  (make-parameter "guix"))
+
+;; The default name of the CI specification building all the packages.
+(define %default-package-specification
+  (make-parameter "master"))
+
 (define-json-mapping <build-product> make-build-product
   build-product?
   json->build-product
@@ -109,6 +124,24 @@
                  (map json->checkout
                       (vector->list checkouts)))))
 
+(define-json-mapping <job> make-job job?
+  json->job
+  (name        job-name)                   ;string
+  (build       job-build)                  ;integer
+  (status      job-status))                ;integer
+
+(define-json-mapping <history> make-history history?
+  json->history
+  (evaluation  history-evaluation)                ;integer
+  (checkouts   history-checkouts "checkouts"      ;<checkout>*
+               (lambda (checkouts)
+                 (map json->checkout
+                      (vector->list checkouts))))
+  (jobs        history-jobs "jobs"
+               (lambda (jobs)
+                 (map json->job
+                      (vector->list jobs)))))
+
 (define %query-limit
   ;; Max number of builds requested in queries.
   1000)
@@ -172,34 +205,158 @@ as one of their inputs."
                   (evaluation-checkouts evaluation)))
           (latest-evaluations url limit)))
 
-(define (find-latest-commit-with-substitutes url)
-  "Return the latest commit with available substitutes for the Guix package
-definitions at URL.  Return false if no commit were found."
-  (let* ((job-name (string-append "guix." (%current-system)))
-         (build (match (latest-builds url 1
-                                      #:job job-name
-                                      #:status 0) ;success
-                  ((build) build)
-                  (_ #f)))
-         (evaluation (and build
-                          (evaluation url (build-evaluation build))))
-         (commit (and evaluation
-                      (match (evaluation-checkouts evaluation)
-                        ((checkout)
-                         (checkout-commit checkout))))))
-    commit))
-
-(define (channel-with-substitutes-available chan url)
+(define* (job url name #:key evaluation)
+  "Return the job which name is NAME for the given EVALUATION, from the CI
+server at URL."
+  (map json->job
+       (vector->list
+        (json->scm
+         (http-fetch
+          (format #f "~a/api/jobs?evaluation=~a&names=~a"
+                  url evaluation name))))))
+
+(define* (jobs-history url jobs
+                       #:key
+                       (specification "master")
+                       (limit 20))
+  "Return the job history for the SPECIFICATION jobs which names are part of
+the JOBS list, from the CI server at URL.  Limit the history to the latest
+LIMIT evaluations. "
+  (let ((names (string-join jobs ",")))
+    (map json->history
+         (vector->list
+          (json->scm
+           (http-fetch
+            (format #f "~a/api/jobs/history?spec=~a&names=~a&nr=~a"
+                    url specification names (number->string limit))))))))
+
+(define (sort-history-by-coverage history)
+  "Sort and return the given evaluation HISTORY list by descending successful
+jobs count.  This means that the first element of the list will be the
+evaluation with the higher successful jobs count."
+  (let ((coverage
+         (map (cut fold
+                   (lambda (status prev)
+                     (if (eq? status 0) ;successful
+                         (1+ prev)
+                         prev))
+                   0 <>)
+              (map (compose
+                    (cut map job-status <>) history-jobs)
+                   history))))
+    (map (match-lambda
+           ((cov . hist) hist))
+         (sort (map cons coverage history)
+               (match-lambda*
+                 (((c1 . h1) (c2 . h2))
+                  (> c1 c2)))))))
+
+(define (channel-commit checkouts channel)
+  "Return the CHANNEL commit from CHECKOUTS."
+  (any (lambda (checkout)
+         (and (string=? (checkout-channel checkout) channel)
+              (checkout-commit checkout)))
+       checkouts))
+
+(define (package->job-name package)
+  "Return the CI job name for the given PACKAGE name."
+  (string-append package "." (%current-system)))
+
+(define (manifest->jobs manifest)
+  "Return the list of job names that are part of the given MANIFEST."
+  (define (load-manifest file)
+    (let ((user-module (make-user-module '((guix profiles) (gnu)))))
+      (load* file user-module)))
+
+  (let* ((manifest (cond
+                   ((string? manifest)
+                    (load-manifest manifest))
+                   ((manifest? manifest)
+                    manifest)
+                   (else #f)))
+         (packages (delete-duplicates
+                    (map manifest-entry-item
+                         (manifest-transitive-entries manifest))
+                    eq?)))
+    (map (lambda (package)
+           (package->job-name (package-name package)))
+         packages)))
+
+(define* (latest-checkouts-with-substitutes url jobs)
+  "Return a list of latest checkouts, sorted by descending substitutes
+coverage of the given JOBS list on the CI server at URL. Only evaluations for
+which the Guix package is built are considered.
+
+If JOBS is false, return a list of latest checkouts for which the Guix package
+is built.  Return false if no checkouts were found."
+  (define guix-history
+    (filter (lambda (hist)
+              (let ((jobs (history-jobs hist)))
+                (match jobs
+                  ((job)
+                   (eq? (job-status job) 0))
+                  (else #f))))
+            (jobs-history url (list (package->job-name "guix"))
+                          #:specification
+                          (%default-guix-specification))))
+
+  (define (guix-commit checkouts)
+    (let ((name (symbol->string
+                 (channel-name %default-guix-channel))))
+      (channel-commit checkouts name)))
+
+  (define (guix-package-available? hist)
+    (any (lambda (guix-hist)
+           (string=? (guix-commit
+                      (history-checkouts hist))
+                     (guix-commit
+                      (history-checkouts guix-hist)))
+           hist)
+         guix-history))
+
+  (define (first-checkout checkouts)
+    (match checkouts
+      ((checkouts _ ...)
+       checkouts)
+      (() #f)))
+
+  (if jobs
+      (let* ((jobs-history
+              (sort-history-by-coverage
+               (jobs-history url jobs
+                             #:specification
+                             (%default-package-specification))))
+             (checkouts
+              (map history-checkouts
+                   (filter-map guix-package-available?
+                               jobs-history))))
+        (first-checkout checkouts))
+      (first-checkout
+       (map history-checkouts guix-history))))
+
+(define* (channel-with-substitutes-available chan url
+                                             #:optional manifest)
   "Return a channel inheriting from CHAN but which commit field is set to the
 latest commit with available substitutes for the Guix package definitions at
-URL.  The current system is taken into account.
+URL.  If the MANIFEST argument is passed, return the latest commit with the
+maximal substitutes coverage of MANIFEST.  MANIFEST can be an absolute path as
+a string, or a <manifest> record.  The current system is taken into account.
 
 If no commit with available substitutes were found, the commit field is set to
 false and a warning message is printed."
-  (let ((commit (find-latest-commit-with-substitutes url)))
-    (unless commit
+  (let* ((jobs (and manifest
+                    (manifest->jobs manifest)))
+         (checkouts
+          (latest-checkouts-with-substitutes url jobs)))
+    (unless checkouts
       (warning (G_ "could not find available substitutes at ~a~%")
                url))
-    (channel
-     (inherit chan)
-     (commit commit))))
+    (let* ((name (channel-name chan))
+           (name-str (if (symbol? name)
+                         (symbol->string name)
+                         name))
+           (commit (and checkouts
+                        (channel-commit checkouts name-str))))
+      (channel
+       (inherit chan)
+       (commit commit)))))
-- 
2.31.1





Information forwarded to guix-patches@HIDDEN:
bug#47929; Package guix-patches. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 21 Apr 2021 12:16:38 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 21 08:16:38 2021
Received: from localhost ([127.0.0.1]:57100 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1lZBmX-0005QQ-Td
	for submit <at> debbugs.gnu.org; Wed, 21 Apr 2021 08:16:38 -0400
Received: from lists.gnu.org ([209.51.188.17]:42178)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <othacehe@HIDDEN>) id 1lZBmS-0005QE-Lm
 for submit <at> debbugs.gnu.org; Wed, 21 Apr 2021 08:16:36 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:47596)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <othacehe@HIDDEN>) id 1lZBmS-0001hl-El
 for guix-patches@HIDDEN; Wed, 21 Apr 2021 08:16:32 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:54723)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <othacehe@HIDDEN>) id 1lZBmS-0003tm-8K
 for guix-patches@HIDDEN; Wed, 21 Apr 2021 08:16:32 -0400
Received: from [2a01:e0a:19b:d9a0:9576:8bbf:4795:82ee] (port=38006
 helo=localhost.localdomain)
 by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <othacehe@HIDDEN>)
 id 1lZBmR-0003UC-EH; Wed, 21 Apr 2021 08:16:31 -0400
From: Mathieu Othacehe <othacehe@HIDDEN>
To: guix-patches@HIDDEN
Subject: [PATCH 0/5] Add manifest support to channel-with-substitutes-available
Date: Wed, 21 Apr 2021 14:16:10 +0200
Message-Id: <20210421121610.2045-1-othacehe@HIDDEN>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: submit
Cc: Mathieu Othacehe <othacehe@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: -3.3 (---)

Hello,

This adds manifest support to channel-with-substitutes-available.  It also
allows to create CI dashboards from the guix weather command.

Thanks,

Mathieu

Mathieu Othacehe (5):
  ci: Add manifest support to channel-with-substitutes-available.
  scripts: pull: Load (gnu packages) module.
  ci: Add dashboard procedures.
  scripts: weather: Add packages dashboard support.
  ui: Disable hyperlink support inside screen.

 doc/guix.texi            |  31 +++++-
 guix/ci.scm              | 227 ++++++++++++++++++++++++++++++++++-----
 guix/scripts/pull.scm    |   3 +-
 guix/scripts/weather.scm |  32 ++++--
 guix/ui.scm              |   3 +-
 5 files changed, 256 insertions(+), 40 deletions(-)

-- 
2.31.1





Acknowledgement sent to Mathieu Othacehe <othacehe@HIDDEN>:
New bug report received and forwarded. Copy sent to guix-patches@HIDDEN. Full text available.
Report forwarded to guix-patches@HIDDEN:
bug#47929; Package guix-patches. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Thu, 19 Mar 2026 17:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.