summaryrefslogtreecommitdiff
path: root/guix/gnu-maintenance.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-06-03 12:58:41 +0200
committerLudovic Courtès <ludo@gnu.org>2021-06-03 13:04:20 +0200
commit1e8ebb16c997eeeb65ef1205e930dcce0f0e0345 (patch)
treef65c38f4ba80d8b355e37d2b51871d8a64e14ebd /guix/gnu-maintenance.scm
parentfe509e017fa1c0e3d0b057784b081def3aa621ad (diff)
gnu-maintenance: 'generic-html' computes the right source URL.
Fixes a regression introduced in 84f8bae0f85de081bbc55aa54ad6a50981a06a43, whereby the URL computed for the new ffmpeg (for instance) would be: https://ffmpeg.org/ffmpeg-4.4.tar.xz instead of: https://ffmpeg.org/releases/ffmpeg-4.4.tar.xz Reported by Maxim Cournoyer. * guix/gnu-maintenance.scm (latest-html-release)[url->release]: Adjust computation in the case of a URI-reference with a relative path.
Diffstat (limited to 'guix/gnu-maintenance.scm')
-rw-r--r--guix/gnu-maintenance.scm11
1 files changed, 9 insertions, 2 deletions
diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm
index 19cf1062bd..e7edbf6656 100644
--- a/guix/gnu-maintenance.scm
+++ b/guix/gnu-maintenance.scm
@@ -507,12 +507,19 @@ are unavailable."
#:port (uri-port uri)
#:path url))))
- ;; URL is relative path and BASE-URL may or may not
+ ;; URL is a relative path and BASE-URL may or may not
;; end in slash.
((string-suffix? "/" base-url)
(string-append base-url url))
(else
- (string-append (dirname base-url) "/" url)))))
+ ;; If DIRECTORY is non-empty, assume BASE-URL
+ ;; denotes a directory; otherwise, assume BASE-URL
+ ;; denotes a file within a directory, and that URL
+ ;; is relative to that directory.
+ (string-append (if (string-null? directory)
+ (dirname base-url)
+ base-url)
+ "/" url)))))
(and (release-file? package base)
(let ((version (tarball->version base)))
(upstream-source