diff options
Diffstat (limited to 'gnu/packages/ssh.scm')
-rw-r--r-- | gnu/packages/ssh.scm | 149 |
1 files changed, 74 insertions, 75 deletions
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index bfccfee250..79f8256a3f 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -296,81 +296,80 @@ Additionally, various channel-specific options can be negotiated.") (synopsis "OpenSSH client and server without X11 support"))) (define-public guile-ssh - ;; This unreleased commit fixes for <https://issues.guix.gnu.org/42740>. - (let ((commit "688d7f3797b5155257a6c2ee4ea5084b3d8cc244") - (revision "1")) - (package - (name "guile-ssh") - (version (git-version "0.13.0" revision commit)) - (home-page "https://github.com/artyom-poptsov/guile-ssh") - (source (origin - (method git-fetch) - (uri (git-reference - (url home-page) - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0mbff4v8738pmcs6sdma4b9gqb0bklraj346i5g5b1mwdywhzljj")) - (modules '((guix build utils))))) - (build-system gnu-build-system) - (outputs '("out" "debug")) - (arguments - `(#:configure-flags '("--disable-static") - #:phases - (modify-phases %standard-phases - (add-before 'build 'fix-libguile-ssh-file-name - (lambda* (#:key outputs #:allow-other-keys) - ;; Build and install libguile-ssh.so so that we can use - ;; its absolute file name in .scm files, before we build - ;; the .go files. - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib"))) - (invoke "make" "install" - "-C" "libguile-ssh" - "-j" (number->string - (parallel-job-count))) - (substitute* (find-files "." "\\.scm$") - (("\"libguile-ssh\"") - (string-append "\"" lib "/libguile-ssh\""))) - #t))) - ,@(if (%current-target-system) - '() - '((add-before 'check 'fix-guile-path - (lambda* (#:key inputs #:allow-other-keys) - (let ((guile (assoc-ref inputs "guile"))) - (substitute* "tests/common.scm" - (("/usr/bin/guile") - (string-append guile "/bin/guile"))) - #t))))) - (add-after 'install 'remove-bin-directory - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (examples (string-append - out "/share/guile-ssh/examples"))) - (mkdir-p examples) - (rename-file (string-append bin "/ssshd.scm") - (string-append examples "/ssshd.scm")) - (rename-file (string-append bin "/sssh.scm") - (string-append examples "/sssh.scm")) - (delete-file-recursively bin) - #t)))))) - (native-inputs `(("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool) - ("texinfo" ,texinfo) - ("pkg-config" ,pkg-config) - ("which" ,which) - ("guile" ,guile-3.0))) ;needed when cross-compiling. - (inputs `(("guile" ,guile-3.0) - ("libssh" ,libssh) - ("libgcrypt" ,libgcrypt))) - (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.") - (license license:gpl3+)))) + (package + (name "guile-ssh") + (version "0.13.1") + (home-page "https://github.com/artyom-poptsov/guile-ssh") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xpxkvgj7wgcl450djkcrmrf957mcy2f36hfs5g6kpla1gax2d1g")) + (modules '((guix build utils))))) + (build-system gnu-build-system) + (outputs '("out" "debug")) + (arguments + `(;; It makes no sense to build libguile-ssh.a. + #:configure-flags '("--disable-static") + + #:phases (modify-phases %standard-phases + (add-before 'build 'fix-libguile-ssh-file-name + (lambda* (#:key outputs #:allow-other-keys) + ;; Build and install libguile-ssh.so so that we can use + ;; its absolute file name in .scm files, before we build + ;; the .go files. + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib"))) + (invoke "make" "install" + "-C" "libguile-ssh" + "-j" (number->string + (parallel-job-count))) + (substitute* (find-files "." "\\.scm$") + (("\"libguile-ssh\"") + (string-append "\"" lib "/libguile-ssh\""))) + #t))) + ,@(if (%current-target-system) + '() + '((add-before 'check 'fix-guile-path + (lambda* (#:key inputs #:allow-other-keys) + (let ((guile (assoc-ref inputs "guile"))) + (substitute* "tests/common.scm" + (("/usr/bin/guile") + (string-append guile "/bin/guile"))) + #t))))) + (add-after 'install 'remove-bin-directory + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (examples (string-append + out "/share/guile-ssh/examples"))) + (mkdir-p examples) + (rename-file (string-append bin "/ssshd.scm") + (string-append examples "/ssshd.scm")) + (rename-file (string-append bin "/sssh.scm") + (string-append examples "/sssh.scm")) + (delete-file-recursively bin) + #t)))))) + (native-inputs `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("texinfo" ,texinfo) + ("pkg-config" ,pkg-config) + ("which" ,which) + ("guile" ,guile-3.0))) ;needed when cross-compiling. + (inputs `(("guile" ,guile-3.0) + ("libssh" ,libssh) + ("libgcrypt" ,libgcrypt))) + (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.") + (license license:gpl3+))) (define-public guile2.0-ssh (package |