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