download: Work around more bogus HTTP handling in Guile 2.2 <= 2.2.2.

Reported by Mark H Weaver <mhw@netris.org>
at <https://lists.gnu.org/archive/html/guix-devel/2017-11/msg00190.html>.

* guix/build/download.scm (guile-2.2) [write-request-line]: Backport
Guile commit 6ad28ae3bc6a6d9e95ab7d70510d12c97673a143.
This commit is contained in:
Ludovic Courtès 2017-11-11 15:17:52 +01:00
parent 56f35d92f5
commit 65a19abf3f
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5

View File

@ -514,7 +514,8 @@ (define (parse-rfc-822-date str space zone-offset)
(declare-relative-uri-header! "Location")))))
;; XXX: Work around broken proxy handling on Guile 2.2 <= 2.2.2, fixed in
;; Guile commit 7d0d9e2c25c1e872cfc7d14ab5139915f1813d56. See bug report at
;; Guile commits 7d0d9e2c25c1e872cfc7d14ab5139915f1813d56 and
;; 6ad28ae3bc6a6d9e95ab7d70510d12c97673a143. See bug report at
;; <https://lists.gnu.org/archive/html/guix-devel/2017-11/msg00070.html>.
(cond-expand
(guile-2.2
@ -539,9 +540,9 @@ (define (write-request-line method uri version port)
(put-string port "://")
(cond
((string-index host #\:) ;<---- The fix is here!
(put-char #\[ port)
(put-string port host
(put-char port #\])))
(put-char port #\[) ;<---- And here!
(put-string port host)
(put-char port #\]))
(else
(put-string port host)))
(unless ((@@ (web uri) default-port?) scheme host-port)