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