summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaxime Devos <maximedevos@telenet.be>2022-09-01 11:01:50 +0200
committerLudovic Courtès <ludo@gnu.org>2022-09-26 23:29:36 +0200
commit11ec14ff0ede22fa5e402baf46938b17513d21e6 (patch)
tree180a4893e07ffa4aa2cc1f786a27cb8e42656921
parentd877dc098bcf1f1b2f39ba5a6e3701eda547d004 (diff)
downloadguix-11ec14ff0ede22fa5e402baf46938b17513d21e6.tar.gz
gnu-maintenance: Produce mirror:// URIs in latest-html-release.
Partially fixes <https://issues.guix.gnu.org/57477>.

I'm not aware of a package using both latest-html-release and mirrors, so it
has not been completely tested.  However, updating "yt-dlp" appears to work
(except for git-fetch not being supported yet).  The expression for the
signature-urls field had to be tweaked to not call uri-mirror-rewrite on #false.

* guix/gnu-maintenance.scm (latest-html-release)[url->research]{urls,signature-urls}:
Call uri-mirror-rewrite on the URLs.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--guix/gnu-maintenance.scm7
1 files changed, 5 insertions, 2 deletions
diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm
index b6450994e6..604522e913 100644
--- a/guix/gnu-maintenance.scm
+++ b/guix/gnu-maintenance.scm
@@ -538,9 +538,12 @@ are unavailable."
                (upstream-source
                 (package package)
                 (version version)
-                (urls (list url))
+                ;; uri-mirror-rewrite: Don't turn nice mirror:// URIs into ftp://
+                ;; URLs during "guix refresh -u".
+                (urls (list (uri-mirror-rewrite url)))
                 (signature-urls
-                 (list ((or file->signature file->signature/guess) url))))))))
+                 (and=> ((or file->signature file->signature/guess) url)
+                        (lambda (url) (list (uri-mirror-rewrite url))))))))))
 
     (define candidates
       (filter-map url->release links))