summary refs log tree commit diff
path: root/gnu/packages/ssh.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/ssh.scm')
-rw-r--r--gnu/packages/ssh.scm86
1 files changed, 78 insertions, 8 deletions
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 685b5b039a..b91e70aaed 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -1,10 +1,10 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012-2022 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012-2023 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015, 2016, 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016, 2019 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2016, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2016, 2021, 2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org>
 ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
@@ -17,6 +17,7 @@
 ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
 ;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2023 Simon Streit <simon@netpanic.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -34,6 +35,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages ssh)
+  #:use-module (guix gexp)
   #:use-module (gnu packages)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages autotools)
@@ -130,7 +132,7 @@ file names.
 (define-public libssh
   (package
     (name "libssh")
-    (version "0.9.6")
+    (version "0.10.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.libssh.org/files/"
@@ -138,7 +140,16 @@ file names.
                                   "/libssh-" version ".tar.xz"))
               (sha256
                (base32
-                "16w2mc7pyv9mijjlgacbz8dgczc7ig2m6m70w1pld04vpn2zig46"))))
+                "0zfr9fy4vg1bmz1k836hg9wi20mmaz2sgw61s6464iv1mda2qf87"))
+              (modules '((guix build utils)))
+              (snippet
+               ;; 'PATH_MAX' is undefined on GNU/Hurd; work around it.
+               #~(substitute* (find-files "examples" "\\.c$")
+                   (("#include \"examples_common\\.h\"" all)
+                    (string-append all "\n"
+                                   "#ifndef PATH_MAX\n"
+                                   "# define PATH_MAX 4096\n"
+                                   "#endif\n"))))))
     (build-system cmake-build-system)
     (outputs '("out" "debug"))
     (arguments
@@ -186,7 +197,7 @@ a server that supports the SSH-2 protocol.")
 (define-public openssh
   (package
    (name "openssh")
-   (version "9.2p1")
+   (version "9.3p1")
    (source (origin
              (method url-fetch)
              (uri (string-append "mirror://openbsd/OpenSSH/portable/"
@@ -195,7 +206,7 @@ a server that supports the SSH-2 protocol.")
                                       "openssh-trust-guix-store-directory.patch"))
              (sha256
               (base32
-               "0ingf6fxzg2fcf6k68bvh0lc460jn0macvf5w585zd2zcpqxnriz"))))
+               "1a7qia3c255igny5kf00m5zxkp69lf1w6qjsv3rm2sm705vvmfp9"))))
    (build-system gnu-build-system)
    (native-inputs (list groff pkg-config))
    (inputs `(("libedit" ,libedit)
@@ -695,14 +706,14 @@ manipulating key files.")
 (define-public sshpass
   (package
     (name "sshpass")
-    (version "1.09")
+    (version "1.10")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://sourceforge/sshpass/sshpass/"
                            version "/sshpass-" version ".tar.gz"))
        (sha256
-        (base32 "1dwzqknpswa8vjlbwsx9rcq1j2a7px9h9i2anh09pzkz0mg6wx3i"))))
+        (base32 "1npfvxxqs77qg6l4s6cn8q3b98zwr9n8rb9vra2n3dfb0g10c4dd"))))
     (build-system gnu-build-system)
     (home-page "https://sourceforge.net/projects/sshpass/")
     (synopsis "Non-interactive password authentication with SSH")
@@ -940,3 +951,62 @@ Ed25519 keys.
 @item Modern browsers are supported.
 @end itemize")
     (license license:expat)))
+
+(define-public x11-ssh-askpass
+  (package
+    (name "x11-ssh-askpass")
+    (version "1.2.4.1")
+    (source
+     (origin
+       (method url-fetch)
+       ;; The project home page seams to be offline.
+       (uri (string-append "https://pkgs.fedoraproject.org/repo/pkgs/openssh/"
+                           name "-" version ".tar.gz"
+                           "/8f2e41f3f7eaa8543a2440454637f3c3/"
+                           name "-" version ".tar.gz"))
+       (sha256
+        (base32 "124c1frwvdmg4nv8xqv435ibjhj2y8xc1bmfr6i8a8g75b1y63b2"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:tests? #f                       ;no tests
+      #:make-flags
+      #~(list (string-append "BINDIR=" #$output "/libexec")
+              (string-append "MANDIR=" #$output "/share/man"))
+      #:configure-flags
+      #~(list (string-append "--mandir="
+                             "/usr/share/man/test")
+              (string-append "--libexecdir="
+                             "/usr/lib/ssh/test")
+              (string-append "--with-app-defaults-dir="
+                             "/usr/share/X11/app-defaults/test"))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'configure 'xmkmf
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((imake #$(this-package-native-input "imake")))
+                (invoke "xmkmf")
+                (substitute* "Makefile"
+                  ;; These imake variables somehow remain undefined
+                  (("DefaultGcc2[[:graph:]]*Opt") "-O2")
+                  ;; Reset a few variable defaults that are set in imake
+                  ;; templates.
+                  ((imake) #$output)
+                  (("(MANPATH = )[[:graph:]]*" _ front)
+                   (string-append front #$output "/share/man"))))))
+          (add-after 'xmkmf 'make-includes
+            (lambda _
+              (invoke "make" "includes")))
+          (add-after 'install 'install/doc
+            (lambda _
+              (lambda _
+                (invoke "make"
+                        (string-append "MANDIR=" #$output "/share/man")
+                        "install.man")))))))
+    (native-inputs (list imake))
+    (inputs (list libxt))
+    (home-page "http://www.jmknoble.net/software/x11-ssh-askpass/")
+    (synopsis "Lightweight passphrase dialog for SSH")
+    (description "code{x11-ssh-askpass} is an X11-based pass-phrase dialog for
+use with OpenSSH.")
+    (license license:gpl2+)))