diff options
author | William A. Kennington III <william@wkennington.com> | 2015-04-03 19:13:20 -0700 |
---|---|---|
committer | William A. Kennington III <william@wkennington.com> | 2015-04-03 19:13:20 -0700 |
commit | 60b8b5a5809091e4d50591c2c571eb1e60b73c36 (patch) | |
tree | 93379ec6014b1be9194885c4483aa4053e617a0c /pkgs/development/libraries/nettle | |
parent | 4e106397df6025b8f7bdfe5cf1d300928acca8f5 (diff) | |
download | nixpkgs-60b8b5a5809091e4d50591c2c571eb1e60b73c36.tar nixpkgs-60b8b5a5809091e4d50591c2c571eb1e60b73c36.tar.gz nixpkgs-60b8b5a5809091e4d50591c2c571eb1e60b73c36.tar.bz2 nixpkgs-60b8b5a5809091e4d50591c2c571eb1e60b73c36.tar.lz nixpkgs-60b8b5a5809091e4d50591c2c571eb1e60b73c36.tar.xz nixpkgs-60b8b5a5809091e4d50591c2c571eb1e60b73c36.tar.zst nixpkgs-60b8b5a5809091e4d50591c2c571eb1e60b73c36.zip |
nettle: Refactor to be generic
Diffstat (limited to 'pkgs/development/libraries/nettle')
-rw-r--r-- | pkgs/development/libraries/nettle/27.nix | 10 | ||||
-rw-r--r-- | pkgs/development/libraries/nettle/generic.nix | 68 |
2 files changed, 78 insertions, 0 deletions
diff --git a/pkgs/development/libraries/nettle/27.nix b/pkgs/development/libraries/nettle/27.nix new file mode 100644 index 00000000000..fc85f5eb9de --- /dev/null +++ b/pkgs/development/libraries/nettle/27.nix @@ -0,0 +1,10 @@ +{ callPackage, fetchurl, ... } @ args: + +callPackage ./generic.nix (args // rec { + version = "2.7.1"; + + src = fetchurl { + url = "mirror://gnu/nettle/nettle-${version}.tar.gz"; + sha256 = "0h2vap31yvi1a438d36lg1r1nllfx3y19r4rfxv7slrm6kafnwdw"; + }; +}) diff --git a/pkgs/development/libraries/nettle/generic.nix b/pkgs/development/libraries/nettle/generic.nix new file mode 100644 index 00000000000..76629c80b96 --- /dev/null +++ b/pkgs/development/libraries/nettle/generic.nix @@ -0,0 +1,68 @@ +{ stdenv, gmp, gnum4 + +# Version specific args +, version, src +, ...}: + +stdenv.mkDerivation (rec { + name = "nettle-${version}"; + + inherit src; + + buildInputs = [ gnum4 ]; + propagatedBuildInputs = [ gmp ]; + + doCheck = (stdenv.system != "i686-cygwin" && !stdenv.isDarwin); + + enableParallelBuilding = true; + + # It doesn't build otherwise + dontDisableStatic = true; + + patches = stdenv.lib.optional (stdenv.system == "i686-cygwin") + ./cygwin.patch; + + meta = { + description = "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 = stdenv.lib.licenses.gpl2Plus; + + homepage = http://www.lysator.liu.se/~nisse/nettle/; + + maintainers = [ ]; + platforms = stdenv.lib.platforms.all; + }; +} + +// + +stdenv.lib.optionalAttrs stdenv.isSunOS { + # Make sure the right <gmp.h> is found, and not the incompatible + # /usr/include/mp.h from OpenSolaris. See + # <https://lists.gnu.org/archive/html/hydra-users/2012-08/msg00000.html> + # for details. + configureFlags = [ "--with-include-path=${gmp}/include" ]; +}) |