summaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2018-02-11 04:05:07 -0500
committerMark H Weaver <mhw@netris.org>2018-02-11 04:05:07 -0500
commita7fb29866520d5661e0ac8e47957c91a2a43e11e (patch)
tree50a169b022edbb31db49f09809d30dfe8597b862 /guix
parent6730d895d3992f37f35f5351332f51a4be2fda50 (diff)
parent31c7002b466c6d09400a95bc15774f232b51ce0b (diff)
downloadguix-patches-a7fb29866520d5661e0ac8e47957c91a2a43e11e.tar
guix-patches-a7fb29866520d5661e0ac8e47957c91a2a43e11e.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'guix')
-rw-r--r--guix/licenses.scm6
-rw-r--r--guix/ssh.scm17
2 files changed, 19 insertions, 4 deletions
diff --git a/guix/licenses.scm b/guix/licenses.scm
index 269d97c723..700fa7f03a 100644
--- a/guix/licenses.scm
+++ b/guix/licenses.scm
@@ -87,6 +87,7 @@
tcl/tk
unlicense
vim
+ w3c
x11 x11-style
zpl2.1
zlib
@@ -578,6 +579,11 @@ at URI, which may be a file:// URI pointing the package's tree."
"https://unlicense.org/"
"https://www.gnu.org/licenses/license-list.html#Unlicense"))
+(define w3c
+ (license "W3C Software Notice and License"
+ "https://directory.fsf.org/wiki/License:W3C_31Dec2002"
+ "https://www.gnu.org/licenses/license-list.en.html#W3C"))
+
(define wtfpl2
(license "WTFPL 2"
"http://www.wtfpl.net"
diff --git a/guix/ssh.scm b/guix/ssh.scm
index 5e442024bc..9e90216a2d 100644
--- a/guix/ssh.scm
+++ b/guix/ssh.scm
@@ -108,9 +108,18 @@ Throw an error on failure."
(use-modules (ice-9 match) (rnrs io ports)
(rnrs bytevectors))
- (let ((sock (socket AF_UNIX SOCK_STREAM 0))
- (stdin (current-input-port))
- (stdout (current-output-port)))
+ (let ((sock (socket AF_UNIX SOCK_STREAM 0))
+ (stdin (current-input-port))
+ (stdout (current-output-port))
+ (select* (lambda (read write except)
+ ;; This is a workaround for
+ ;; <https://bugs.gnu.org/30365> in Guile < 2.2.4:
+ ;; since 'select' sometimes returns non-empty sets for
+ ;; no good reason, call 'select' a second time with a
+ ;; zero timeout to filter out incorrect replies.
+ (match (select read write except)
+ ((read write except)
+ (select read write except 0))))))
(setvbuf stdout _IONBF)
;; Use buffered ports so that 'get-bytevector-some' returns up to the
@@ -121,7 +130,7 @@ Throw an error on failure."
(connect sock AF_UNIX ,socket-name)
(let loop ()
- (match (select (list stdin sock) '() '())
+ (match (select* (list stdin sock) '() '())
((reads () ())
(when (memq stdin reads)
(match (get-bytevector-some stdin)