2009-09-16 14:26:00 +00:00
|
|
|
{ fetchurl, stdenv, gmp, gnum4 }:
|
2009-07-01 15:42:01 +00:00
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
2010-08-20 18:40:35 +00:00
|
|
|
name = "nettle-2.1";
|
2009-07-01 15:42:01 +00:00
|
|
|
|
|
|
|
src = fetchurl {
|
|
|
|
# Eventually use `mirror://gnu/'.
|
|
|
|
url = "ftp://ftp.lysator.liu.se/pub/security/lsh/${name}.tar.gz";
|
2010-08-20 18:40:35 +00:00
|
|
|
sha256 = "0knp778738dpgbcj1yz54a7jsvmarfiafzl05z086bc470z6plmp";
|
2009-07-01 15:42:01 +00:00
|
|
|
};
|
|
|
|
|
2009-09-16 14:26:00 +00:00
|
|
|
buildInputs = [ gmp gnum4 ];
|
|
|
|
|
2009-09-18 18:25:24 +00:00
|
|
|
doCheck = (stdenv.system != "i686-cygwin");
|
2009-07-01 15:42:01 +00:00
|
|
|
|
2009-09-18 15:01:47 +00:00
|
|
|
patches = stdenv.lib.optional (stdenv.system == "i686-cygwin")
|
|
|
|
./cygwin.patch;
|
|
|
|
|
2009-07-01 15:42:01 +00:00
|
|
|
meta = {
|
|
|
|
description = "GNU Nettle, a cryptographic library";
|
|
|
|
|
|
|
|
longDescription = ''
|
|
|
|
Nettle is a cryptographic library that is designed to fit
|
|
|
|
easily in more or less any context: In crypto toolkits for
|
|
|
|
object-oriented languages (C++, Python, Pike, ...), in
|
|
|
|
applications like LSH or GNUPG, or even in kernel space. In
|
|
|
|
most contexts, you need more than the basic cryptographic
|
|
|
|
algorithms, you also need some way to keep track of available
|
|
|
|
algorithms, their properties and variants. You often have
|
|
|
|
some algorithm selection process, often dictated by a protocol
|
|
|
|
you want to implement.
|
|
|
|
|
|
|
|
And as the requirements of applications differ in subtle and
|
|
|
|
not so subtle ways, an API that fits one application well can
|
|
|
|
be a pain to use in a different context. And that is why
|
|
|
|
there are so many different cryptographic libraries around.
|
|
|
|
|
|
|
|
Nettle tries to avoid this problem by doing one thing, the
|
|
|
|
low-level crypto stuff, and providing a simple but general
|
|
|
|
interface to it. In particular, Nettle doesn't do algorithm
|
|
|
|
selection. It doesn't do memory allocation. It doesn't do any
|
|
|
|
I/O.
|
|
|
|
'';
|
|
|
|
|
|
|
|
license = "GPLv2+";
|
|
|
|
|
2009-07-01 21:44:20 +00:00
|
|
|
homepage = http://www.lysator.liu.se/~nisse/nettle/;
|
|
|
|
|
2009-07-01 15:42:01 +00:00
|
|
|
maintainers = [ stdenv.lib.maintainers.ludo ];
|
2010-08-23 14:50:55 +00:00
|
|
|
platforms = stdenv.lib.platforms.all;
|
2009-07-01 15:42:01 +00:00
|
|
|
};
|
|
|
|
}
|