substitute: Download nar from another server upon ETIMEDOUT.

Previously, 'guix substitute' would fail abruptly with something like:

  guix substitute: warning: while fetching https://ci.guix.gnu.org/nar/lzip/…-example: server is somewhat slow
  guix substitute: warning: try `--no-substitutes' if the problem persists
  guix substitute: error: connect*: Connection timed out
  substitution of /gnu/store/…-example failed

* guix/scripts/substitute.scm (network-error?): Add ETIMEDOUT.
This commit is contained in:
Ludovic Courtès 2023-04-17 16:00:16 +02:00 committed by Maxim Cournoyer
parent 2886a59d18
commit e95e65541a
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -577,7 +577,7 @@ (define network-error?
(or (and (system-error? exception)
(let ((errno (system-error-errno
(cons 'system-error (exception-args exception)))))
(memv errno (list ECONNRESET ECONNABORTED
(memv errno (list ECONNRESET ECONNABORTED ETIMEDOUT
ECONNREFUSED EHOSTUNREACH
ENOENT)))) ;for "file://"
(and (kind-and-args? exception)