build: Avoid brace expansion in `nix/sync-with-upstream'.
[jackhill/guix/guix.git] / distro / packages / nettle.scm
CommitLineData
2e659827
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 nettle)
20 #:use-module (guix packages)
21 #:use-module (guix download)
22 #:use-module (guix build-system gnu)
23 #:use-module (distro packages multiprecision)
24 #:use-module (distro packages m4))
25
26(define-public nettle
27 (package
28 (name "nettle")
29 (version "2.5")
30 (source
31 (origin
32 (method url-fetch)
33 (uri (string-append
34 "mirror://gnu/nettle/nettle-"
35 version
36 ".tar.gz"))
37 (sha256
38 (base32
39 "0wicr7amx01l03rm0pzgr1qvw3f9blaw17vjsy1301dh13ll58aa"))))
40 (build-system gnu-build-system)
41 (inputs `(("m4" ,m4)))
42 (propagated-inputs `(("gmp" ,gmp)))
43 (home-page
44 "http://www.lysator.liu.se/~nisse/nettle/")
45 (synopsis "GNU Nettle, a cryptographic library")
46 (description
47 "Nettle is a cryptographic library that is designed to fit easily
48in more or less any context: In crypto toolkits for object-oriented
49languages (C++, Python, Pike, ...), in applications like LSH or GNUPG,
50or even in kernel space. In most contexts, you need more than the basic
51cryptographic algorithms, you also need some way to keep track of
52available algorithms, their properties and variants. You often have
53some algorithm selection process, often dictated by a protocol you want
54to implement.
55
56And as the requirements of applications differ in subtle and not so
57subtle ways, an API that fits one application well can be a pain to use
58in a different context. And that is why there are so many different
59cryptographic libraries around. \nNettle tries to avoid this problem by
60doing one thing, the low-level crypto stuff, and providing a simple but
61general interface to it. In particular, Nettle doesn't do algorithm
62selection. It doesn't do memory allocation. It doesn't do any I/O.")
63 (license "GPLv2+")))