summaryrefslogtreecommitdiff
path: root/gnu/packages/ssh.scm
diff options
context:
space:
mode:
authorMathieu Othacehe <m.othacehe@gmail.com>2020-02-18 14:41:37 +0100
committerMathieu Othacehe <m.othacehe@gmail.com>2020-02-18 14:43:43 +0100
commit3db8833b4616f84cc8643fb983621e65de0acecd (patch)
tree761179a1a1875de3acf7c9fbfefeeffc4d83c567 /gnu/packages/ssh.scm
parent815d3ac4c343c75beca2d752adc34312bfeff4fe (diff)
downloadpatches-3db8833b4616f84cc8643fb983621e65de0acecd.tar
patches-3db8833b4616f84cc8643fb983621e65de0acecd.tar.gz
Revert "gnu: guile-ssh: Update to 0.12.0."
This reverts commit 668740cc055b59a6d343fb256881c3632e050459. This causes the following error when running guix pull: ./guix/store.scm:1224:15: Throw to key `srfi-34' with args `(#<condition &store-protocol-error [message: "build of `/gnu/store/gj4pk7zn0wrvf5c9rl9x8gnd3719l98d-guile3.0-ssh-0.12.0.drv' failed" status: 100] 7fa4df090120>)'. guix pull: error: You found a bug: the program '/gnu/store/0nbcv4jkhf73qlvc6dsy05iamj6l662c-compute-guix-derivation'
Diffstat (limited to 'gnu/packages/ssh.scm')
-rw-r--r--gnu/packages/ssh.scm63
1 files changed, 49 insertions, 14 deletions
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 90714a4a92..ac9c2f7711 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -12,7 +12,6 @@
;;; Copyright © 2017 ng0 <ng0@n0.is>
;;; Copyright © 2018 Manuel Graf <graf@init.at>
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
-;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -228,7 +227,7 @@ Additionally, various channel-specific options can be negotiated.")
(define-public guile-ssh
(package
(name "guile-ssh")
- (version "0.12.0")
+ (version "0.11.3")
(home-page "https://github.com/artyom-poptsov/guile-ssh")
(source (origin
(method git-fetch)
@@ -238,12 +237,31 @@ Additionally, various channel-specific options can be negotiated.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "054hd9rzfhb48gc1hw3rphhp0cnnd4bs5qmidy5ygsyvy9ravlad"))
- (modules '((guix build utils)))))
+ "03bv3hwp2s8f0bqgfjaan9jx4dyab0abv27n2zn2g0izlidv0vl6"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; libssh >= 0.8.0 no longer provides libssh_threads: see
+ ;; <https://github.com/artyom-poptsov/guile-ssh/issues/9>.
+ (substitute* "libguile-ssh/Makefile.am"
+ (("-lssh_threads") ""))
+
+ ;; This test would wrongfully pick DSS keys when running on
+ ;; libssh >= 0.8.0, which fails:
+ ;; <https://github.com/artyom-poptsov/guile-ssh/issues/10>.
+ (substitute* "tests/server.scm"
+ (("= %libssh-minor-version 7")
+ ">= %libssh-minor-version 7"))
+
+ ;; Allow builds with Guile 3.0.
+ (substitute* "configure.ac"
+ (("^GUILE_PKG.*$")
+ "GUILE_PKG([3.0 2.2 2.0])\n"))
+ #t))))
(build-system gnu-build-system)
(outputs '("out" "debug"))
(arguments
- `(;; It makes no sense to build libguile-ssh.a.
+ '(;; It makes no sense to build libguile-ssh.a.
#:configure-flags '("--disable-static")
#:phases (modify-phases %standard-phases
@@ -262,15 +280,6 @@ Additionally, various channel-specific options can be negotiated.")
(("\"libguile-ssh\"")
(string-append "\"" lib "/libguile-ssh\"")))
#t)))
- ,@(if (%current-target-system)
- '()
- '((add-before 'check 'fix-guile-path
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((guile (assoc-ref inputs "guile")))
- (substitute* "tests/common.scm"
- (("/usr/bin/guile")
- (string-append guile "/bin/guile")))
- #t)))))
(add-after 'install 'remove-bin-directory
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -314,6 +323,32 @@ libssh library.")
(package
(inherit guile-ssh)
(name "guile3.0-ssh")
+ (arguments
+ (substitute-keyword-arguments (package-arguments guile-ssh)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-before 'bootstrap 'delete-old-guile-m4
+ (lambda _
+ ;; The old 'guile.m4' that's shipped would fail to recognize
+ ;; Guile 2.9 as "3.0".
+ (delete-file "m4/guile.m4")
+ #t))
+ (add-before 'build 'adjust-for-guile3
+ (lambda _
+ ;; Adjust for things that are deprecated in 2.2 and removed in
+ ;; 3.0.
+ (substitute* "tests/common.scm"
+ (("define-module \\(tests common\\)")
+ "define-module (tests common)
+ #:use-module (ice-9 threads)\n"))
+ (substitute* "modules/ssh/tunnel.scm"
+ (("define-module \\(ssh tunnel\\)")
+ "define-module (ssh tunnel)
+ #:use-module (ice-9 threads)"))
+ (substitute* "modules/srfi/srfi-64.upstream.scm"
+ (("_IOLBF")
+ "'line"))
+ #t))))))
(inputs `(("guile" ,guile-next)
,@(alist-delete "guile" (package-inputs guile-ssh))))))