Subject: [bug#42404] [PATCH 2/2] gnu: Add dkgpg.

From: Justus Winter <[email-masked]>
Date: Mon, 20 Jul 2020 11:28:45 +0200

* gnu/packages/openpgp.scm (dkgpg): New variable.
---
 gnu/packages/openpgp.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/openpgp.scm b/gnu/packages/openpgp.scm
index b806ab78cc..d4bcbacafc 100644
--- a/gnu/packages/openpgp.scm
+++ b/gnu/packages/openpgp.scm
@@ -21,6 +21,7 @@
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gnu packages compression)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages multiprecision))
 
@@ -54,3 +55,41 @@ first section of [St05] for a short survey).  LibTMCG provides the first
 practical implementation of such protocols.")
     (home-page "https://www.nongnu.org/libtmcg/")
     (license license:gpl2+)))
+
+(define-public dkgpg
+  (package
+    (name "dkgpg")
+    (version "1.1.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://savannah/dkgpg/dkgpg-" version
+                                  ".tar.gz"))
+              (sha256
+               (base32
+                "1hpfg7akd5icj49i03z74hp9zj0xwl90bndn0hnw0hpb8lk7qcxg"))))
+    (build-system gnu-build-system)
+    (arguments '(#:configure-flags
+                 '("--enable-silent-rules")
+                 ;; https://savannah.nongnu.org/bugs/?58772
+                 #:parallel-tests? #f))
+    (inputs `(("bzip2" ,bzip2)
+              ("gmp" ,gmp)
+              ("libgcrypt" ,libgcrypt)
+              ("libtmcg" ,libtmcg)
+              ("zlib" ,zlib)))
+    (synopsis
+     "Distributed Key Generation and Threshold Cryptography for OpenPGP")
+    (description
+     "The Distributed Privacy Guard (DKGPG) implements Distributed Key
+Generation (DKG) and Threshold Cryptography for OpenPGP.  The generated public
+keys are compatible with the standard and thus can be used by any
+RFC4880-compliant application (e.g. GnuPG).  The main purposes of this
+software are distributing power among multiple parties, eliminating single
+points of failure, and increasing the difficulty of side-channel attacks on
+private key material.
+
+DKGPG consists of a bunch of simple command-line programs.  The current
+implementation is in experimental state and should NOT be used in production
+environments.")
+    (home-page "https://www.nongnu.org/dkgpg/")
+    (license license:gpl2+)))
-- 
2.20.1