You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
3.8 KiB

  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2020 Justus Winter <justus@sequoia-pgp.org>
  3. ;;;
  4. ;;; This file is part of GNU Guix.
  5. ;;;
  6. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  7. ;;; under the terms of the GNU General Public License as published by
  8. ;;; the Free Software Foundation; either version 3 of the License, or (at
  9. ;;; your option) any later version.
  10. ;;;
  11. ;;; GNU Guix is distributed in the hope that it will be useful, but
  12. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  13. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. ;;; GNU General Public License for more details.
  15. ;;;
  16. ;;; You should have received a copy of the GNU General Public License
  17. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  18. (define-module (gnu packages openpgp)
  19. #:use-module (guix packages)
  20. #:use-module (guix download)
  21. #:use-module (guix build-system gnu)
  22. #:use-module ((guix licenses) #:prefix license:)
  23. #:use-module (gnu packages compression)
  24. #:use-module (gnu packages gnupg)
  25. #:use-module (gnu packages multiprecision))
  26. (define-public libtmcg
  27. (package
  28. (name "libtmcg")
  29. (version "1.3.18")
  30. (source (origin
  31. (method url-fetch)
  32. (uri (string-append "mirror://savannah/libtmcg/libTMCG-" version
  33. ".tar.gz"))
  34. (sha256
  35. (base32
  36. "179b5jx3mqs9hgsj8cfwk6x8qib60kw9szk9fkz6s1gl3v83mnyx"))))
  37. (build-system gnu-build-system)
  38. (arguments '(#:configure-flags '("--enable-silent-rules")))
  39. (inputs `(("gmp" ,gmp)
  40. ("libgcrypt" ,libgcrypt)))
  41. (synopsis
  42. "C++ library for creating secure and fair online card games")
  43. (description
  44. "The library provides a sort of useful classes, algorithms, and
  45. high-level protocols to support an application programmer in writing such
  46. software. The most remarkable feature is the absence of a trusted third
  47. party (TTP), i.e. neither a central game server nor trusted hardware
  48. components are necessary.
  49. The corresponding cryptographic problem, actually called Mental Poker, has
  50. been studied since 1979 (Shamir, Rivest, and Adleman) by many authors.
  51. LibTMCG provides the first practical implementation of such protocols.")
  52. (home-page "https://www.nongnu.org/libtmcg/")
  53. (license license:gpl2+)))
  54. (define-public dkgpg
  55. (package
  56. (name "dkgpg")
  57. (version "1.1.3")
  58. (source (origin
  59. (method url-fetch)
  60. (uri (string-append "mirror://savannah/dkgpg/dkgpg-" version
  61. ".tar.gz"))
  62. (sha256
  63. (base32
  64. "1hpfg7akd5icj49i03z74hp9zj0xwl90bndn0hnw0hpb8lk7qcxg"))))
  65. (build-system gnu-build-system)
  66. (arguments '(#:configure-flags
  67. '("--enable-silent-rules")
  68. ;; https://savannah.nongnu.org/bugs/?58772
  69. #:parallel-tests? #f))
  70. (inputs `(("bzip2" ,bzip2)
  71. ("gmp" ,gmp)
  72. ("libgcrypt" ,libgcrypt)
  73. ("libtmcg" ,libtmcg)
  74. ("zlib" ,zlib)))
  75. (synopsis
  76. "Distributed Key Generation and Threshold Cryptography for OpenPGP")
  77. (description
  78. "The Distributed Privacy Guard (DKGPG) implements Distributed Key
  79. Generation (DKG) and Threshold Cryptography for OpenPGP. The generated public
  80. keys are compatible with the standard and thus can be used by any
  81. RFC4880-compliant application (e.g. GnuPG). The main purposes of this
  82. software are distributing power among multiple parties, eliminating single
  83. points of failure, and increasing the difficulty of side-channel attacks on
  84. private key material.
  85. DKGPG consists of a bunch of simple command-line programs. The current
  86. implementation is in experimental state and should NOT be used in production
  87. environments.")
  88. (home-page "https://www.nongnu.org/dkgpg/")
  89. (license license:gpl2+)))