From 725ed45940ff3c2b165fa69abe019b58bb67e1b2 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 1 Jul 2009 15:42:01 +0000 Subject: Add GNU Nettle, a cryptographic library. svn path=/nixpkgs/trunk/; revision=16127 --- pkgs/development/libraries/nettle/default.nix | 44 +++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +++ 2 files changed, 48 insertions(+) create mode 100644 pkgs/development/libraries/nettle/default.nix (limited to 'pkgs') diff --git a/pkgs/development/libraries/nettle/default.nix b/pkgs/development/libraries/nettle/default.nix new file mode 100644 index 00000000000..772e1747ace --- /dev/null +++ b/pkgs/development/libraries/nettle/default.nix @@ -0,0 +1,44 @@ +{ fetchurl, stdenv }: + +stdenv.mkDerivation rec { + name = "nettle-2.0"; + + src = fetchurl { + # Eventually use `mirror://gnu/'. + url = "ftp://ftp.lysator.liu.se/pub/security/lsh/${name}.tar.gz"; + sha256 = "1mnb2zx6yxfzkkv8hnrjzhjviybd45z92wq4y5sv1gskp4qf5fb5"; + }; + + doCheck = true; + + 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+"; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 34360bca7ff..fc64ecbdc1e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3861,6 +3861,10 @@ let inherit ncurses flex bison; }; + nettle = import ../development/libraries/nettle { + inherit fetchurl stdenv; + }; + nss = import ../development/libraries/nss { inherit fetchurl stdenv perl zip; }; -- cgit 1.4.1