summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-12-04 22:24:28 +0100
committerLudovic Courtès <ludo@gnu.org>2013-12-04 22:24:28 +0100
commit49d294e5c8eefdbf166fbc82ee535dd1a5de4571 (patch)
tree7557c2f8ae6936c71360627fdd4a3e84d532acaa
parentf4badde3fab0e2b05574811de712b6dab676cbc4 (diff)
downloadguix-49d294e5c8eefdbf166fbc82ee535dd1a5de4571.tar.gz
gnu: Move 'guile-ssh' to (gnu packages ssh).
Reported by John Darrington <john@darrington.wattle.id.au>.

* 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
  <https://lists.gnu.org/archive/html/guix-devel/2013-12/msg00024.html>.
-rw-r--r--gnu/packages/guile.scm64
-rw-r--r--gnu/packages/ssh.scm66
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 @@
   #: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 @@ 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
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 @@
   #: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 @@ Additionally, various channel-specific options can be negotiated.")
                                "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+)))