summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-05-16 14:15:59 +0200
committerLudovic Courtès <ludo@gnu.org>2017-05-16 14:16:56 +0200
commit5a3429bcc52a47ca9c879b9ace092eecddeed300 (patch)
tree03395695b49a1a633f94a885d47dc1a89476121e
parentd116695b315f75b93ac8083721b522a82a7cc139 (diff)
downloadguix-5a3429bcc52a47ca9c879b9ace092eecddeed300.tar.gz
gnu: guile-ssh: Fix bug in 'node-guile-version'.
* gnu/packages/patches/guile-ssh-rexec-bug.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/ssh.scm (guile-ssh)[source](patches): New field.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/guile-ssh-rexec-bug.patch16
-rw-r--r--gnu/packages/ssh.scm1
3 files changed, 18 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index f6e911b61a..c560c71725 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -649,6 +649,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/guile-present-coding.patch		\
   %D%/packages/patches/guile-relocatable.patch			\
   %D%/packages/patches/guile-rsvg-pkgconfig.patch		\
+  %D%/packages/patches/guile-ssh-rexec-bug.patch		\
   %D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch	\
   %D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \
   %D%/packages/patches/gtk2-theme-paths.patch			\
diff --git a/gnu/packages/patches/guile-ssh-rexec-bug.patch b/gnu/packages/patches/guile-ssh-rexec-bug.patch
new file mode 100644
index 0000000000..363fea38c9
--- /dev/null
+++ b/gnu/packages/patches/guile-ssh-rexec-bug.patch
@@ -0,0 +1,16 @@
+Fix a bug whereby 'node-guile-version' would pass a node instead of
+a session to 'rexec'.
+
+diff --git a/modules/ssh/dist/node.scm b/modules/ssh/dist/node.scm
+index 9c065c7..29a3906 100644
+--- a/modules/ssh/dist/node.scm
++++ b/modules/ssh/dist/node.scm
+@@ -411,7 +411,8 @@ procedure returns the 1st evaluated value if multiple values were returned."
+   "Get Guile version installed on a NODE, return the version string.  Return
+ #f if Guile is not installed."
+   (receive (result rc)
+-      (rexec node "which guile > /dev/null && guile --version")
++      (rexec (node-session node)
++             "which guile > /dev/null && guile --version")
+     (and (zero? rc)
+          (car result))))
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 1fd395049a..6a074d10fa 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -226,6 +226,7 @@ Additionally, various channel-specific options can be negotiated.")
               (sha256
                (base32
                 "0r261i8kc3avbmbwgyzak2vnqwssjlgz37g2y2fwm80w9bmn2m7j"))
+              (patches (search-patches "guile-ssh-rexec-bug.patch"))
               (modules '((guix build utils)))
               (snippet
                ;; 'configure.ac' mistakenly tries to link files from examples/