Commit | Line | Data |
---|---|---|
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 | |
45 | for all GnuPG components. Among these are GPG, GPGSM, GPGME, | |
46 | GPG-Agent, libgcrypt, Libksba, DirMngr, Pinentry, SmartCard | |
47 | Daemon 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 | |
70 | the code from GnuPG. It provides functions for all | |
71 | cryptographic building blocks: symmetric ciphers, hash | |
72 | algorithms, MACs, public key algorithms, large integer | |
73 | functions, 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 | |
96 | protocol. This protocol is used for IPC between most newer | |
97 | GnuPG components. Both, server and client side functions are | |
98 | provided.") | |
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 | |
122 | as well as the CMS easily accessible by other applications. Both | |
123 | specifications 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 | |
159 | the OpenPGP standard as defined by RFC4880. GnuPG allows to | |
160 | encrypt and sign your data and communication, features a | |
161 | versatile key managment system as well as access modules for all | |
162 | kind of public key directories. GnuPG, also known as GPG, is a | |
163 | command line tool with features for easy integration with other | |
164 | applications. A wealth of frontend applications and libraries | |
165 | are available. Version 2 of GnuPG also provides support for | |
166 | S/MIME.") | |
167 | (license "GPLv3+"))) |