summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-10-12 22:42:41 +0200
committerLudovic Courtès <ludo@gnu.org>2020-10-22 17:10:25 +0200
commit8425a9b60a75d95000634bee518d9fd1cf1b4d8b (patch)
treeb93ef4f84935133d0e4bbecc9f392df2e9399983
parent298f9d29d6c26e408a90d08d147d926aa6f81ab3 (diff)
git: Support HTTP and HTTPS proxies.
This allows 'guix pull' and similar to fetch code over a proxy. * guix/git.scm (make-default-fetch-options): Pass #:proxy-url.
-rw-r--r--guix/git.scm7
1 files changed, 5 insertions, 2 deletions
diff --git a/guix/git.scm b/guix/git.scm
index b81a011443..364b4997ae 100644
--- a/guix/git.scm
+++ b/guix/git.scm
@@ -161,11 +161,14 @@ the 'SSL_CERT_FILE' and 'SSL_CERT_DIR' environment variables."
(define (make-default-fetch-options)
"Return the default fetch options."
(let ((auth-method (%make-auth-ssh-agent)))
- ;; The #:transfer-progress option appeared in Guile-Git 0.4.0. Omit it
- ;; when using an older version.
+ ;; The #:transfer-progress and #:proxy-url options appeared in Guile-Git
+ ;; 0.4.0. Omit them when using an older version.
(catch 'wrong-number-of-args
(lambda ()
(make-fetch-options auth-method
+ ;; Guile-Git doesn't distinguish between these.
+ #:proxy-url (or (getenv "http_proxy")
+ (getenv "https_proxy"))
#:transfer-progress
(and (isatty? (current-error-port))
show-progress)))