summaryrefslogtreecommitdiff
path: root/gnu/packages/ssh.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/ssh.scm')
-rw-r--r--gnu/packages/ssh.scm65
1 files changed, 23 insertions, 42 deletions
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 88bfd062df..c551f18481 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -80,20 +80,6 @@ remote applications.")
(home-page "http://www.libssh.org")
(license license:lgpl2.1+)))
-(define libssh-0.6 ; kept private for use in guile-ssh
- (package (inherit libssh)
- (version "0.6.5")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://red.libssh.org/attachments/"
- "download/121/libssh-"
- version ".tar.xz"))
- (sha256
- (base32
- "0b6wyx6bwbb8jpn8x4rhlrdiqwqrwrs0mxjmrnqykm9kw1ijgm8g"))
- (patches (search-patches
- "libssh-0.6.5-CVE-2016-0739.patch"))))))
-
(define-public libssh2
(package
(name "libssh2")
@@ -209,7 +195,7 @@ Additionally, various channel-specific options can be negotiated.")
(define-public guile-ssh
(package
(name "guile-ssh")
- (version "0.9.0")
+ (version "0.10.1")
(source (origin
;; ftp://memory-heap.org/software/guile-ssh/guile-ssh-VERSION.tar.gz
;; exists, but the server appears to be too slow and unreliable.
@@ -220,34 +206,29 @@ Additionally, various channel-specific options can be negotiated.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "04zs1cykwdyj51ag62ymrkgsja9dbhbaaglkvbfbac0bkxl2ir6d"))))
+ "0ky77kr7rnkhbq938bir61mlr8b86lfjcjjb1bxx1y1fhimsiz72"))))
(build-system gnu-build-system)
(arguments
- '(#:phases (alist-cons-after
- 'unpack 'autoreconf
- (lambda* (#:key inputs #:allow-other-keys)
- (chmod "doc/version.texi" #o777) ;make it writable
- (zero? (system* "autoreconf" "-vfi")))
- (alist-cons-after
- 'install 'fix-libguile-ssh-file-name
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (libdir (string-append out "/lib"))
- (guiledir (string-append out
- "/share/guile/site/2.0")))
- (substitute* (find-files guiledir ".scm")
- (("\"libguile-ssh\"")
- (string-append "\"" libdir "/libguile-ssh\"")))
-
- ;; Make sure it works.
- (setenv "GUILE_LOAD_PATH" guiledir)
- (setenv "GUILE_LOAD_COMPILED_PATH" guiledir)
- (zero?
- (system* "guile" "-c" "(use-modules (ssh session))"))))
- %standard-phases))
- #:configure-flags (list (string-append "--with-guilesitedir="
- (assoc-ref %outputs "out")
- "/share/guile/site/2.0"))
+ '(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'autoreconf
+ (lambda* (#:key inputs #:allow-other-keys)
+ (chmod "doc/version.texi" #o777) ;make it writable
+ (zero? (system* "autoreconf" "-vfi"))))
+ (add-before 'build 'fix-libguile-ssh-file-name
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Build and install libguile-ssh.so so that we can use
+ ;; its absolute file name in .scm files, before we build
+ ;; the .go files.
+ (and (zero? (system* "make" "install"
+ "-C" "libguile-ssh"
+ "-j" (number->string
+ (parallel-job-count))))
+ (let* ((out (assoc-ref outputs "out"))
+ (libdir (string-append out "/lib")))
+ (substitute* (find-files "." "\\.scm$")
+ (("\"libguile-ssh\"")
+ (string-append "\"" libdir "/libguile-ssh\"")))
+ #t)))))
;; Tests are not parallel-safe.
#:parallel-tests? #f))
@@ -258,7 +239,7 @@ Additionally, various channel-specific options can be negotiated.")
("pkg-config" ,pkg-config)
("which" ,which)))
(inputs `(("guile" ,guile-2.0)
- ("libssh" ,libssh-0.6)
+ ("libssh" ,libssh)
("libgcrypt" ,libgcrypt)))
(synopsis "Guile bindings to libssh")
(description