From 49d294e5c8eefdbf166fbc82ee535dd1a5de4571 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 4 Dec 2013 22:24:28 +0100 Subject: [PATCH] gnu: Move 'guile-ssh' to (gnu packages ssh). Reported by John Darrington . * gnu/packages/guile.scm (guile-ssh): Move to... * gnu/packages/ssh.scm (guile-ssh): ... here. New variable. This fixes a circular dependency issue, as reported at . --- gnu/packages/guile.scm | 64 ---------------------------------------- gnu/packages/ssh.scm | 66 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 64 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 31fb5c4473..40d9ae7df8 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -33,7 +33,6 @@ (define-module (gnu packages guile) #: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)) @@ -328,67 +327,4 @@ (define-public guile-lib ;; 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 diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 5c07835895..1d3ba7d828 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -24,6 +24,10 @@ (define-module (gnu packages ssh) #:use-module (gnu packages groff) #:use-module (gnu packages openssl) #:use-module (gnu packages patchelf) + #:use-module (gnu packages guile) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages autotools) + #:use-module (gnu packages which) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -175,3 +179,65 @@ (define-public openssh "See LICENSE in the distribution.")) (home-page "http://www.openssh.org/"))) +(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 license:gpl3+)))