From 3db8833b4616f84cc8643fb983621e65de0acecd Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 18 Feb 2020 14:41:37 +0100 Subject: 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 `(#)'. guix pull: error: You found a bug: the program '/gnu/store/0nbcv4jkhf73qlvc6dsy05iamj6l662c-compute-guix-derivation' --- gnu/packages/ssh.scm | 63 ++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 49 insertions(+), 14 deletions(-) (limited to 'gnu/packages/ssh.scm') 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 ;;; Copyright © 2018 Manuel Graf ;;; Copyright © 2019 Gábor Boskovits -;;; Copyright © 2020 Mathieu Othacehe ;;; ;;; 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 + ;; . + (substitute* "libguile-ssh/Makefile.am" + (("-lssh_threads") "")) + + ;; This test would wrongfully pick DSS keys when running on + ;; libssh >= 0.8.0, which fails: + ;; . + (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)))))) -- cgit v1.2.3