gnu-maintenance: Handle lists returned by 'origin-uri'.
authorLudovic Courtès <ludo@gnu.org>
Mon, 20 Jul 2020 21:36:33 +0000 (23:36 +0200)
committerLudovic Courtès <ludo@gnu.org>
Mon, 20 Jul 2020 21:36:33 +0000 (23:36 +0200)
This fixes "guix refresh man-pages", for instance.

* guix/gnu-maintenance.scm (latest-savannah-release)
(latest-kernel.org-release): Handle the case where 'origin-uri' returns
a list.

guix/gnu-maintenance.scm

index 91203f5..0b5bc85 100644 (file)
@@ -642,7 +642,10 @@ releases are on gnu.org."
 
 (define (latest-savannah-release package)
   "Return the latest release of PACKAGE."
-  (let* ((uri       (string->uri (origin-uri (package-source package))))
+  (let* ((uri       (string->uri
+                     (match (origin-uri (package-source package))
+                       ((? string? uri) uri)
+                       ((uri mirrors ...) uri))))
          (package   (package-upstream-name package))
          (directory (dirname (uri-path uri)))
          (rewrite   (url-prefix-rewrite %savannah-base
@@ -672,7 +675,10 @@ releases are on gnu.org."
   (define (file->signature file)
     (string-append (file-sans-extension file) ".sign"))
 
-  (let* ((uri       (string->uri (origin-uri (package-source package))))
+  (let* ((uri       (string->uri
+                     (match (origin-uri (package-source package))
+                       ((? string? uri) uri)
+                       ((uri mirrors ...) uri))))
          (package   (package-upstream-name package))
          (directory (dirname (uri-path uri)))
          (rewrite   (url-prefix-rewrite %kernel.org-base