gnu: Add Guile-SSH.

* gnu/packages/guile.scm (guile-ssh): New variable.
This commit is contained in:
Ludovic Courtès 2013-12-04 00:30:08 +01:00
parent deed349b4a
commit 595801e2f4

@ -33,6 +33,7 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ed)
#:use-module (gnu packages which)
#:autoload (gnu packages ssh) (libssh)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
@ -327,4 +328,67 @@ for Guile\".")
;; details.
(license gpl3+)))
(define-public guile-ssh
(package
(name "guile-ssh")
(version "0.4.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/artyom-poptsov/libguile-ssh/archive/v"
version ".tar.gz"))
(sha256
(base32
"0vw02r261amkp6238cflww2y9y1v6vfx9ias6hvn8dlx0ghrd5dw"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-before
'configure 'autoreconf
(lambda* (#:key inputs #:allow-other-keys)
;; The 'configure' script would want libssh 0.5.4, but that
;; doesn't exist.
(substitute* "configure.ac"
(("0\\.5\\.4")
"0.5.3"))
(substitute* "src/Makefile.am"
(("-lssh_threads" match)
(string-append "-L" (assoc-ref inputs "libssh")
"/lib " match)))
(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)
(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"))))
(native-inputs `(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool "bin")
("pkg-config" ,pkg-config)
("which" ,which)))
(inputs `(("guile" ,guile-2.0)
("libssh" ,libssh)))
(synopsis "Guile bindings to libssh")
(description
"Guile-SSH is a library that provides access to the SSH protocol for
programs written in GNU Guile interpreter. It is a wrapper to the underlying
libssh library.")
(home-page "https://github.com/artyom-poptsov/libguile-ssh")
(license gpl3+)))
;;; guile.scm ends here