Archived
1
0
Fork 0

gnu: guile-ssh: Update to commit 688d7f.

Fixes <https://issues.guix.gnu.org/42740>.

* gnu/packages/ssh.scm (guile-ssh): Update to commit
688d7f3797b5155257a6c2ee4ea5084b3d8cc244.
[arguments]: Enable parallel tests.

Reported-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Maxim Cournoyer 2020-08-16 22:42:10 -04:00
parent 87257e6d37
commit aee0f559f2
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -15,6 +15,7 @@
;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -295,82 +296,81 @@ Additionally, various channel-specific options can be negotiated.")
(synopsis "OpenSSH client and server without X11 support"))) (synopsis "OpenSSH client and server without X11 support")))
(define-public guile-ssh (define-public guile-ssh
(package ;; This unreleased commit fixes for <https://issues.guix.gnu.org/42740>.
(name "guile-ssh") (let ((commit "688d7f3797b5155257a6c2ee4ea5084b3d8cc244")
(version "0.13.0") (revision "1"))
(home-page "https://github.com/artyom-poptsov/guile-ssh") (package
(source (origin (name "guile-ssh")
(method git-fetch) (version (git-version "0.13.0" revision commit))
(uri (git-reference (home-page "https://github.com/artyom-poptsov/guile-ssh")
(url home-page) (source (origin
(commit (string-append "v" version)))) (method git-fetch)
(file-name (string-append name "-" version ".tar.gz")) (uri (git-reference
(sha256 (url home-page)
(base32 (commit commit)))
"1q96h98p6x7ah6nc0d2wfx503fmsj36riv9ka9s79z3lzwaf0k26")) (file-name (git-file-name name version))
(modules '((guix build utils))))) (sha256
(build-system gnu-build-system) (base32
(outputs '("out" "debug")) "0mbff4v8738pmcs6sdma4b9gqb0bklraj346i5g5b1mwdywhzljj"))
(arguments (modules '((guix build utils)))))
`(;; It makes no sense to build libguile-ssh.a. (build-system gnu-build-system)
#:configure-flags '("--disable-static") (outputs '("out" "debug"))
(arguments
#:phases (modify-phases %standard-phases `(#:configure-flags '("--disable-static")
(add-before 'build 'fix-libguile-ssh-file-name #:phases
(lambda* (#:key outputs #:allow-other-keys) (modify-phases %standard-phases
;; Build and install libguile-ssh.so so that we can use (add-before 'build 'fix-libguile-ssh-file-name
;; its absolute file name in .scm files, before we build (lambda* (#:key outputs #:allow-other-keys)
;; the .go files. ;; Build and install libguile-ssh.so so that we can use
(let* ((out (assoc-ref outputs "out")) ;; its absolute file name in .scm files, before we build
(lib (string-append out "/lib"))) ;; the .go files.
(invoke "make" "install" (let* ((out (assoc-ref outputs "out"))
"-C" "libguile-ssh" (lib (string-append out "/lib")))
"-j" (number->string (invoke "make" "install"
(parallel-job-count))) "-C" "libguile-ssh"
(substitute* (find-files "." "\\.scm$") "-j" (number->string
(("\"libguile-ssh\"") (parallel-job-count)))
(string-append "\"" lib "/libguile-ssh\""))) (substitute* (find-files "." "\\.scm$")
#t))) (("\"libguile-ssh\"")
,@(if (%current-target-system) (string-append "\"" lib "/libguile-ssh\"")))
'() #t)))
'((add-before 'check 'fix-guile-path ,@(if (%current-target-system)
(lambda* (#:key inputs #:allow-other-keys) '()
(let ((guile (assoc-ref inputs "guile"))) '((add-before 'check 'fix-guile-path
(substitute* "tests/common.scm" (lambda* (#:key inputs #:allow-other-keys)
(("/usr/bin/guile") (let ((guile (assoc-ref inputs "guile")))
(string-append guile "/bin/guile"))) (substitute* "tests/common.scm"
#t))))) (("/usr/bin/guile")
(add-after 'install 'remove-bin-directory (string-append guile "/bin/guile")))
(lambda* (#:key outputs #:allow-other-keys) #t)))))
(let* ((out (assoc-ref outputs "out")) (add-after 'install 'remove-bin-directory
(bin (string-append out "/bin")) (lambda* (#:key outputs #:allow-other-keys)
(examples (string-append (let* ((out (assoc-ref outputs "out"))
out "/share/guile-ssh/examples"))) (bin (string-append out "/bin"))
(mkdir-p examples) (examples (string-append
(rename-file (string-append bin "/ssshd.scm") out "/share/guile-ssh/examples")))
(string-append examples "/ssshd.scm")) (mkdir-p examples)
(rename-file (string-append bin "/sssh.scm") (rename-file (string-append bin "/ssshd.scm")
(string-append examples "/sssh.scm")) (string-append examples "/ssshd.scm"))
(delete-file-recursively bin) (rename-file (string-append bin "/sssh.scm")
#t)))) (string-append examples "/sssh.scm"))
;; Tests are not parallel-safe. (delete-file-recursively bin)
#:parallel-tests? #f)) #t))))))
(native-inputs `(("autoconf" ,autoconf) (native-inputs `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)
("libtool" ,libtool) ("libtool" ,libtool)
("texinfo" ,texinfo) ("texinfo" ,texinfo)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("which" ,which) ("which" ,which)
("guile" ,guile-3.0))) ;needed when cross-compiling. ("guile" ,guile-3.0))) ;needed when cross-compiling.
(inputs `(("guile" ,guile-3.0) (inputs `(("guile" ,guile-3.0)
("libssh" ,libssh) ("libssh" ,libssh)
("libgcrypt" ,libgcrypt))) ("libgcrypt" ,libgcrypt)))
(synopsis "Guile bindings to libssh") (synopsis "Guile bindings to libssh")
(description (description "Guile-SSH is a library that provides access to the SSH
"Guile-SSH is a library that provides access to the SSH protocol for protocol for programs written in GNU Guile interpreter. It is a wrapper to
programs written in GNU Guile interpreter. It is a wrapper to the underlying the underlying libssh library.")
libssh library.") (license license:gpl3+))))
(license license:gpl3+)))
(define-public guile2.0-ssh (define-public guile2.0-ssh
(package (package