aboutsummaryrefslogtreecommitdiff
path: root/guix/scripts
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-04-25 22:06:48 +0200
committerLudovic Courtès <ludo@gnu.org>2013-04-25 22:14:51 +0200
commit1c9e7d65d4ca8674e674b339740f575f8edb5db2 (patch)
treefcf18c22276da0b321c8255d160028c74f3e4ef6 /guix/scripts
parent9e623d068dc5ed9c9e0ac5bdf2dce1d6b78ed6ac (diff)
downloadgnu-guix-1c9e7d65d4ca8674e674b339740f575f8edb5db2.tar
gnu-guix-1c9e7d65d4ca8674e674b339740f575f8edb5db2.tar.gz
web: Factorize `http-get' hackery.
This should fix `substitute-binary --query' on Guile 2.0.5. * guix/web.scm: New file. * Makefile.am (MODULES): Add it. * po/POTFILES.in: Add it. * guix/gnu-maintenance.scm (http-fetch): Remove. (%package-list-url): Turn into a URI. (official-gnu-packages): Add #:text? #t to `http-fetch' call. * guix/scripts/substitute-binary.scm (fetch): Remove `http' case, and use `http-fetch' instead.
Diffstat (limited to 'guix/scripts')
-rwxr-xr-xguix/scripts/substitute-binary.scm26
1 files changed, 2 insertions, 24 deletions
diff --git a/guix/scripts/substitute-binary.scm b/guix/scripts/substitute-binary.scm
index 7e059be596..87561db4b3 100755
--- a/guix/scripts/substitute-binary.scm
+++ b/guix/scripts/substitute-binary.scm
@@ -35,8 +35,7 @@
#:use-module (srfi srfi-19)
#:use-module (srfi srfi-26)
#:use-module (web uri)
- #:use-module (web client)
- #:use-module (web response)
+ #:use-module (guix web)
#:export (guix-substitute-binary))
;;; Comment:
@@ -128,28 +127,7 @@ provide."
(let ((port (open-input-file (uri-path uri))))
(values port (stat:size (stat port)))))
((http)
- (let*-values (((resp port)
- ;; XXX: `http-get*' was introduced in 2.0.7, and deprecated
- ;; in 2.0.8 (!). Assume it is available here.
- (if (version>? "2.0.7" (version))
- (http-get* uri #:decode-body? #f)
- (http-get uri #:streaming? #t)))
- ((code)
- (response-code resp))
- ((size)
- (response-content-length resp)))
- (case code
- ((200) ; OK
- (values port size))
- ((301 ; moved permanently
- 302) ; found (redirection)
- (let ((uri (response-location resp)))
- (format #t "following redirection to `~a'...~%"
- (uri->string uri))
- (fetch uri)))
- (else
- (error "download failed" (uri->string uri)
- code (response-reason-phrase resp))))))))
+ (http-fetch uri #:text? #f))))
(define-record-type <cache>
(%make-cache url store-directory wants-mass-query?)