aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2015-02-24 19:58:13 -0500
committerMark H Weaver <mhw@netris.org>2015-02-24 20:01:55 -0500
commitc964a15d8239d28144be51868868aa21d5d4ddce (patch)
tree395aa9a15b17e173b07803f61a49d2e83837bfe8
parentda71f145c6bf1aab4e5e9378609f4d5d6eae1093 (diff)
downloadguix-c964a15d8239d28144be51868868aa21d5d4ddce.tar
guix-c964a15d8239d28144be51868868aa21d5d4ddce.tar.gz
download: Cope with Guile 2.0.6 or earlier.
* guix/build/download.scm: Do not attempt to support relative URIs in "Location" headers if 'declare-relative-uri-header!' is not present. This is the case for Guile 2.0.6 or earlier.
-rw-r--r--guix/build/download.scm10
1 files changed, 6 insertions, 4 deletions
diff --git a/guix/build/download.scm b/guix/build/download.scm
index 16afb1dce1..e8d61e0d92 100644
--- a/guix/build/download.scm
+++ b/guix/build/download.scm
@@ -211,10 +211,12 @@ which is not available during bootstrap."
(unless (or (> (string->number (major-version)) 2)
(> (string->number (minor-version)) 0)
(> (string->number (micro-version)) 11))
- (let ((declare-relative-uri-header!
- (module-ref (resolve-module '(web http))
- 'declare-relative-uri-header!)))
- (declare-relative-uri-header! "Location")))
+ (let ((var (module-variable (resolve-module '(web http))
+ 'declare-relative-uri-header!)))
+ ;; If 'declare-relative-uri-header!' doesn't exist, forget it.
+ (when (and var (variable-bound? var))
+ (let ((declare-relative-uri-header! (variable-ref var)))
+ (declare-relative-uri-header! "Location")))))
(define (resolve-uri-reference ref base)
"Resolve the URI reference REF, interpreted relative to the BASE URI, into a