Update `HACKING'.
[jackhill/guix/guix.git] / distro / packages / gnupg.scm
CommitLineData
233e7676
LC
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
8d1939e4 3;;;
233e7676 4;;; This file is part of GNU Guix.
8d1939e4 5;;;
233e7676 6;;; GNU Guix is free software; you can redistribute it and/or modify it
8d1939e4
LC
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;;;
233e7676 11;;; GNU Guix is distributed in the hope that it will be useful, but
8d1939e4
LC
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
233e7676 17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
8d1939e4
LC
18
19(define-module (distro packages gnupg)
4a44e743 20 #:use-module (guix licenses)
8d1939e4
LC
21 #:use-module (distro packages pth)
22 #:use-module (distro packages readline)
4a44e743
NK
23 #:use-module ((distro packages compression)
24 #:renamer (symbol-prefix-proc 'guix:))
8d1939e4 25 #:use-module (guix packages)
87f5d366 26 #:use-module (guix download)
8d1939e4
LC
27 #:use-module (guix build-system gnu))
28
29(define-public libgpg-error
30 (package
31 (name "libgpg-error")
32 (version "1.10")
33 (source
34 (origin
87f5d366 35 (method url-fetch)
0db342a5 36 (uri (string-append "mirror://gnupg/libgpg-error/libgpg-error-"
8d1939e4
LC
37 version ".tar.bz2"))
38 (sha256
39 (base32
40 "0cal3jdnzdailr13qcy74grfbplbghkgr3qwk6qjjp4bass2j1jj"))))
41 (build-system gnu-build-system)
42 (home-page "http://gnupg.org")
43 (synopsis
44 "Libgpg-error, a small library that defines common error values for all GnuPG components")
45 (description
46 "Libgpg-error is a small library that defines common error values
47for all GnuPG components. Among these are GPG, GPGSM, GPGME,
48GPG-Agent, libgcrypt, Libksba, DirMngr, Pinentry, SmartCard
49Daemon and possibly more in the future.")
4a44e743 50 (license lgpl2.0+)))
8d1939e4
LC
51
52(define-public libgcrypt
53 (package
54 (name "libgcrypt")
55 (version "1.5.0")
56 (source
57 (origin
87f5d366 58 (method url-fetch)
0db342a5 59 (uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
8d1939e4
LC
60 version ".tar.bz2"))
61 (sha256
62 (base32
63 "1ykkh7dm0gyndz7bbpvn3agijj8xb2h02m02f42hm504c18zqqjb"))))
64 (build-system gnu-build-system)
65 (propagated-inputs
66 `(("libgpg-error" ,libgpg-error)))
67 (home-page "http://gnupg.org/")
68 (synopsis
69 "GNU Libgcrypt, a general-pupose cryptographic library")
70 (description
71 "GNU Libgcrypt is a general purpose cryptographic library based on
72the code from GnuPG. It provides functions for all
73cryptographic building blocks: symmetric ciphers, hash
74algorithms, MACs, public key algorithms, large integer
75functions, random numbers and a lot of supporting functions.")
4a44e743 76 (license lgpl2.0+)))
8d1939e4
LC
77
78(define-public libassuan
79 (package
80 (name "libassuan")
81 (version "2.0.3")
82 (source
83 (origin
87f5d366 84 (method url-fetch)
0db342a5 85 (uri (string-append "mirror://gnupg/libassuan/libassuan-"
8d1939e4
LC
86 version ".tar.bz2"))
87 (sha256
88 (base32
89 "06xckkvxxlx7cj77803m8x58gxksap4k8yhspc5cqsy7fhinimds"))))
90 (build-system gnu-build-system)
91 (propagated-inputs
92 `(("libgpg-error" ,libgpg-error) ("pth" ,pth)))
93 (home-page "http://gnupg.org")
94 (synopsis
95 "Libassuan, the IPC library used by GnuPG and related software")
96 (description
97 "Libassuan is a small library implementing the so-called Assuan
98protocol. This protocol is used for IPC between most newer
99GnuPG components. Both, server and client side functions are
100provided.")
4a44e743 101 (license lgpl2.0+)))
8d1939e4
LC
102
103(define-public libksba
104 (package
105 (name "libksba")
106 (version "1.2.0")
107 (source
108 (origin
87f5d366 109 (method url-fetch)
8d1939e4 110 (uri (string-append
0db342a5 111 "mirror://gnupg/libksba/libksba-"
8d1939e4
LC
112 version ".tar.bz2"))
113 (sha256
114 (base32
115 "0jwk7hm3x3g4hd7l12z3d79dy7359x7lc88dq6z7q0ixn1jwxbq9"))))
116 (build-system gnu-build-system)
117 (propagated-inputs
118 `(("libgpg-error" ,libgpg-error)))
119 (home-page "http://www.gnupg.org")
120 (synopsis
121 "Libksba is a CMS and X.509 access library under development")
122 (description
123 "KSBA (pronounced Kasbah) is a library to make X.509 certificates
124as well as the CMS easily accessible by other applications. Both
125specifications are building blocks of S/MIME and TLS.")
4a44e743 126 (license gpl3+)))
8d1939e4
LC
127
128(define-public gnupg
129 (package
130 (name "gnupg")
131 (version "2.0.19")
132 (source
133 (origin
87f5d366 134 (method url-fetch)
0db342a5
LC
135 (uri (string-append "mirror://gnupg/gnupg/gnupg-" version
136 ".tar.bz2"))
8d1939e4
LC
137 (sha256
138 (base32
139 "08n636sfffs5qvg9ppiprvsh00q0dmdw425psg3m3nssja53m8pg"))))
140 (build-system gnu-build-system)
141 (inputs
142 `(;; TODO: Add missing optional deps.
143 ;; ("curl" ,curl)
144 ;; ("libusb" ,libusb)
145 ;; ("openldap" ,openldap)
146
4a44e743 147 ("bzip2" ,guix:bzip2)
8d1939e4
LC
148 ("libassuan" ,libassuan)
149 ("libgcrypt" ,libgcrypt)
150 ("libksba" ,libksba)
151 ("pth" ,pth)
152 ("libgpg-error" ,libgpg-error)
4a44e743 153 ("zlib" ,guix:zlib)
8d1939e4
LC
154 ("readline" ,readline)))
155 (home-page "http://gnupg.org/")
156 (synopsis
157 "GNU Privacy Guard (GnuPG), GNU Project's implementation of the OpenPGP standard")
158 (description
159 "GnuPG is the GNU project's complete and free implementation of
160the OpenPGP standard as defined by RFC4880. GnuPG allows to
161encrypt and sign your data and communication, features a
162versatile key managment system as well as access modules for all
163kind of public key directories. GnuPG, also known as GPG, is a
164command line tool with features for easy integration with other
165applications. A wealth of frontend applications and libraries
166are available. Version 2 of GnuPG also provides support for
167S/MIME.")
4a44e743 168 (license gpl3+)))