aboutsummaryrefslogtreecommitdiff
path: root/guix/upstream.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-09-28 16:17:07 +0200
committerDavid Craven <david@craven.ch>2016-12-14 14:20:50 +0100
commitaf72a21a698bce94f4526fe04c0a9a06c6c3da80 (patch)
tree6f7bcb8d7cc0909e0123a45945d3a5223a955200 /guix/upstream.scm
parentce3f92e7018e140f5e6b7333a604f26506de6c2a (diff)
downloadguix-af72a21a698bce94f4526fe04c0a9a06c6c3da80.tar
guix-af72a21a698bce94f4526fe04c0a9a06c6c3da80.tar.gz
upstream: Use first url when it lacks an extension.
* guix/upstream.scm (package-update): Use a url from the list when it lacks an extension.
Diffstat (limited to 'guix/upstream.scm')
-rw-r--r--guix/upstream.scm8
1 files changed, 6 insertions, 2 deletions
diff --git a/guix/upstream.scm b/guix/upstream.scm
index 8685afd860..22187311ea 100644
--- a/guix/upstream.scm
+++ b/guix/upstream.scm
@@ -241,12 +241,16 @@ and 'interactive' (default)."
((archive-type)
(match (and=> (package-source package) origin-uri)
((? string? uri)
- (or (file-extension uri) "gz"))
+ (file-extension uri))
(_
"gz")))
((url signature-url)
(find2 (lambda (url sig-url)
- (string-suffix? archive-type url))
+ ;; Some URIs lack a file extension, like
+ ;; 'https://crates.io/???/0.1/download'. In that
+ ;; case, pick the first URL.
+ (or (not archive-type)
+ (string-suffix? archive-type url)))
urls
(or signature-urls (circular-list #f)))))
(let ((tarball (download-tarball store url signature-url