gnu: Add Guile-SSH.
* gnu/packages/guile.scm (guile-ssh): New variable.
This commit is contained in:
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
|
||||
|
|
Loading…
Reference in New Issue