diff options
Diffstat (limited to 'guix')
-rw-r--r-- | guix/gnu-maintenance.scm | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index 302243559d..5a84fcb117 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm @@ -975,24 +975,17 @@ updater." ((url-predicate http-url?) package))) (define* (import-html-updatable-release package #:key (version #f)) - "Return the latest release of PACKAGE else #f. Do that by crawling the HTML -page of the directory containing its source tarball. Optionally include a -VERSION string to fetch a specific version." - - (define (expand-uri uri) - (string->uri - (match uri - ((and (? string?) (? (cut string-prefix? "mirror://" <>) url)) - ;; Retrieve the authoritative HTTP URL from a mirror. - (http-url? url)) - ((? string? url) - url) - ((url _ ...) - ;; This case is for when the URI is a list of possibly mirror URLs as - ;; well as HTTP URLs. - (expand-uri url))))) - - (let* ((uri (expand-uri (origin-uri (package-source package)))) + "Return the latest release of PACKAGE. Do that by crawling the HTML page of +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)) + ((and (? string?) + (? (cut string-prefix? "mirror://" <>) url)) + ;; Retrieve the authoritative HTTP URL from a mirror. + (http-url? url)) + ((? string? url) url) + ((url _ ...) url)))) (custom (assoc-ref (package-properties package) 'release-monitoring-url)) (base (or custom |