Assuming no-one has any objections, this is my current patch set for
pinentry.

$ ./pre-inst-env guix package -A pinentry
pinentry        0.9.7   out gnu/packages/gnupg.scm:623:2
pinentry-gtk2   0.9.7   out gnu/packages/gnupg.scm:600:2
pinentry-qt     0.9.7   out gnu/packages/gnupg.scm:612:2
pinentry-tty    0.9.7   out gnu/packages/gnupg.scm:573:2

-- 
Efraim Flashner   <efr...@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
From 533668b17bcc901c132d93144a78f45c2f8aa918 Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efr...@flashner.co.il>
Date: Thu, 28 Apr 2016 05:20:45 +0300
Subject: [PATCH 1/3] gnu: pinentry: Rename to pinentry-gtk2.

* gnu/packages/gnupg.scm (pinentry): Rename to pinentry-gtk2.
Define pinentry as pinentry-gtk2.
---
 gnu/packages/gnupg.scm | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index d447007..6e16429 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -568,9 +568,9 @@ including tools for signing keys, keyring analysis, and 
party preparation.
    (license license:gpl2)
    (home-page "http://pgp-tools.alioth.debian.org/";)))
 
-(define-public pinentry
+(define-public pinentry-gtk2
   (package
-    (name "pinentry")
+    (name "pinentry-gtk2")
     (version "0.9.7")
     (source (origin
               (method url-fetch)
@@ -595,6 +595,10 @@ including tools for signing keys, keyring analysis, and 
party preparation.
 enter a passphrase when `gpg' or `gpg2' is run and needs it.")
     (license license:gpl2+)))
 
+(define-public pinentry
+  (package (inherit pinentry-gtk2)
+    (name "pinentry")))
+
 (define-public paperkey
   (package
     (name "paperkey")
-- 
2.8.1

From 730e98dd23da1fb408ec8e1942a2cc526b3e988b Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efr...@flashner.co.il>
Date: Tue, 26 Apr 2016 16:29:21 +0300
Subject: [PATCH 2/3] gnu: Add pinentry-tty.

* gnu/packages/gnupg.scm (pinentry-tty): New variable.
[arguments]: Add pinentry-tty flag.
(pinentry-gtk2): Inherit from pinentry-tty.
[inputs]: Use gtk+-2, glib for pinentry-gtk2 only.
[description]: Modify description based on inputs.
---
 gnu/packages/gnupg.scm | 26 +++++++++++++++++++-------
 1 file changed, 19 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 6e16429..28ab67c 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -568,9 +568,9 @@ including tools for signing keys, keyring analysis, and 
party preparation.
    (license license:gpl2)
    (home-page "http://pgp-tools.alioth.debian.org/";)))
 
-(define-public pinentry-gtk2
+(define-public pinentry-tty
   (package
-    (name "pinentry-gtk2")
+    (name "pinentry-tty")
     (version "0.9.7")
     (source (origin
               (method url-fetch)
@@ -580,21 +580,33 @@ including tools for signing keys, keyring analysis, and 
party preparation.
                (base32
                 "1cp7wjqr6nx31mdclr61s2h84ijqjl0ph99kgj4vyawpjj1j1633"))))
     (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags '("--enable-pinentry-tty")))
     (inputs
      `(("ncurses" ,ncurses)
        ("libassuan" ,libassuan)
-       ("libsecret" ,libsecret "out")
-       ("gtk+" ,gtk+-2)
-       ("glib" ,glib)))
+       ("libsecret" ,libsecret "out")))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (home-page "https://gnupg.org/aegypten2/";)
     (synopsis "GnuPG's interface to passphrase input")
     (description
-     "Pinentry provides a console and a GTK+ GUI that allows users to
-enter a passphrase when `gpg' or `gpg2' is run and needs it.")
+     "Pinentry provides a console that allows users to enter a passphrase when
+@code{gpg} or @code{gpg2} is run and needs it.")
     (license license:gpl2+)))
 
+(define-public pinentry-gtk2
+  (package
+    (inherit pinentry-tty)
+    (name "pinentry-gtk2")
+    (inputs
+     `(("gtk+" ,gtk+-2)
+       ("glib" ,glib)
+       ,@(package-inputs pinentry-tty)))
+    (description
+     "Pinentry provides a console and a GTK+ GUI that allows users to enter a
+passphrase when @code{gpg} or @code{gpg2} is run and needs it.")))
+
 (define-public pinentry
   (package (inherit pinentry-gtk2)
     (name "pinentry")))
-- 
2.8.1

From 843be013bae7207403b120e70ff1f115b2e1d967 Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efr...@flashner.co.il>
Date: Tue, 26 Apr 2016 16:39:31 +0300
Subject: [PATCH 3/3] gnu: Add pinentry-qt.

* gnu/packages/gnupg.scm (pinentry-qt): New variable.
---
 gnu/packages/gnupg.scm | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 28ab67c..b7c6612 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -31,6 +31,7 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pth)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages databases)
@@ -607,6 +608,17 @@ including tools for signing keys, keyring analysis, and 
party preparation.
      "Pinentry provides a console and a GTK+ GUI that allows users to enter a
 passphrase when @code{gpg} or @code{gpg2} is run and needs it.")))
 
+(define-public pinentry-qt
+  (package
+    (inherit pinentry-tty)
+    (name "pinentry-qt")
+    (inputs
+     `(("qt" ,qt)
+       ,@(package-inputs pinentry-tty)))
+  (description
+   "Pinentry provides a console and a Qt GUI that allows users to enter a
+passphrase when @code{gpg} or @code{gpg2} is run and needs it.")))
+
 (define-public pinentry
   (package (inherit pinentry-gtk2)
     (name "pinentry")))
-- 
2.8.1

Attachment: signature.asc
Description: PGP signature

Reply via email to