~ruther/guix-local

fd09e7b053c7e5dd24e5fb1b3cb9b2cc95a8bf7c — Maxim Cournoyer 2 years ago ed9bc58
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.
1 files changed, 2 insertions(+), 1 deletions(-)

M guix/gnu-maintenance.scm
M guix/gnu-maintenance.scm => guix/gnu-maintenance.scm +2 -1
@@ 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)