aboutsummaryrefslogtreecommitdiff
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
guix-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/