Subject: [PATCH] gnu: Add x11-ssh-askpass.
From: Simon Streit <[email-masked]>
To: [email-masked]
Cc: Simon Streit <[email-masked]>
Date: Thu, 26 Jan 2023 23:24:32 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/ssh.scm (x11-ssh-askpass): New variable.
---
 gnu/packages/ssh.scm | 59 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 2f6874f811..bd2f024689 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -17,6 +17,7 @@
 ;;; Copyright © 2020 Oleg Pykhalov <[email-masked]>
 ;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <[email-masked]>
 ;;; Copyright © 2021 Brice Waegeneire <[email-masked]>
+;;; Copyright © 2023 Simon Streit <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -940,3 +941,61 @@ (define-public webssh
 @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)
+    (native-inputs (list imake))
+    (inputs (list libxt))
+    (arguments
+     `(#:make-flags
+       (let ((out (assoc-ref %outputs "out")))
+         (list (string-append "BINDIR=" out "/libexec")
+               (string-append "MANDIR=" out "/share/man")))
+       #:tests? #f
+       #: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 outputs #:allow-other-keys)
+            (let ((imake (assoc-ref inputs "imake"))
+                  (out (assoc-ref outputs "out")))
+              (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) out)
+                (("(MANPATH = )[[:graph:]]*" _ front)
+                 (string-append front out "/share/man"))))))
+        (add-after 'xmkmf 'make-includes
+          (lambda _
+            (invoke "make" "includes")))
+        (add-after 'install 'install/doc
+          (lambda* (#:key outputs #:allow-other-keys)
+            (let ((out (assoc-ref outputs "out")))
+              (lambda _
+                (invoke "make"
+                        (string-append "MANDIR=" out "/share/man")
+                        "install.man"))))))))
+    (home-page "http://www.jmknoble.net/software/x11-ssh-askpass/")
+    (synopsis "Lightweight passphrase dialog for SSH")
+    (description "An X11-based pass-phrase dialog for use with OpenSSH.")
+    (license license:gpl2+)))
-- 
2.39.1