diff options
author | Mathieu Othacehe <m.othacehe@gmail.com> | 2020-02-18 14:41:37 +0100 |
---|---|---|
committer | Mathieu Othacehe <m.othacehe@gmail.com> | 2020-02-18 14:43:43 +0100 |
commit | 3db8833b4616f84cc8643fb983621e65de0acecd (patch) | |
tree | 761179a1a1875de3acf7c9fbfefeeffc4d83c567 | |
parent | 815d3ac4c343c75beca2d752adc34312bfeff4fe (diff) |
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'
-rw-r--r-- | gnu/packages/ssh.scm | 63 |
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)))))) |