summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-09-05 14:14:02 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-09-05 19:52:19 -0400
commitfd09e7b053c7e5dd24e5fb1b3cb9b2cc95a8bf7c (patch)
treede53877b8e9d829cfe32daeb670e90d59c47e348
parented9bc58938d0a28888701860c049fb02073f4c93 (diff)
gnu-maintenance: Do not crash on refresh when origin URI is a list.
Updating the simh package would fail with: ice-9/boot-9.scm:1685:16: In procedure raise-exception: In procedure string-prefix?: Wrong type argument in position 2 (expecting string): ("http://simh.trailing-edge.com/sources/simhv312-4.zip" "http://simh.trailing-edge.com/sources/archive/simhv312-4.zip") This is because it expects a scalar value, but lists are allowed for URIs. * guix/gnu-maintenance.scm (import-html-updatable-release): Check that URI is a string before checking if it has the mirror:// prefix.
-rw-r--r--guix/gnu-maintenance.scm3
1 files changed, 2 insertions, 1 deletions
diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm
index ee6e0db747..41e0f4443d 100644
--- a/guix/gnu-maintenance.scm
+++ b/guix/gnu-maintenance.scm
@@ -980,7 +980,8 @@ the directory containing its source tarball. Optionally include a VERSION
string to fetch a specific version."
(let* ((uri (string->uri
(match (origin-uri (package-source package))
- ((? (cut string-prefix? "mirror://" <>) url)
+ ((and (? string?)
+ (? (cut string-prefix? "mirror://" <>) url))
;; Retrieve the authoritative HTTP URL from a mirror.
(http-url? url))
((? string? url) url)