diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:36 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:47 +0000 |
commit | 36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch) | |
tree | b3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/development/libraries/nettle | |
parent | 4e31070265257dc67d120c27e0f75c2344fdfa9a (diff) | |
parent | abf060725d7614bd3b9f96764262dfbc2f9c2199 (diff) | |
download | nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2 nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip |
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/nettle')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/nettle/cygwin.patch | 12 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/nettle/default.nix | 10 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/nettle/generic.nix | 69 |
3 files changed, 91 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/nettle/cygwin.patch b/nixpkgs/pkgs/development/libraries/nettle/cygwin.patch new file mode 100644 index 000000000000..d5036237c8d5 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/nettle/cygwin.patch @@ -0,0 +1,12 @@ +Cygwin sucks. Patch suggested by Niel Möller. + +--- nettle-2.0/examples/setup-env 2009-06-08 20:27:12.000000000 +0200 ++++ nettle-2.0/examples/setup-env 2009-09-18 16:58:03.000000000 +0200 +@@ -3,5 +3,5 @@ + set -e + + if [ -x rsa-keygen ] ; then +- ./rsa-keygen -r rsa-decrypt -o testkey || exit 1 ++ ./rsa-keygen -r rsa-decrypt.exe -o testkey || exit 1 + fi + diff --git a/nixpkgs/pkgs/development/libraries/nettle/default.nix b/nixpkgs/pkgs/development/libraries/nettle/default.nix new file mode 100644 index 000000000000..5b998926f0a5 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/nettle/default.nix @@ -0,0 +1,10 @@ +{ callPackage, fetchurl, ... } @ args: + +callPackage ./generic.nix (args // rec { + version = "3.4"; + + src = fetchurl { + url = "mirror://gnu/nettle/nettle-${version}.tar.gz"; + sha256 = "150y8655h629wn946dvzasq16qxsc1m9nf58mifvhl350bgl4ymf"; + }; +}) diff --git a/nixpkgs/pkgs/development/libraries/nettle/generic.nix b/nixpkgs/pkgs/development/libraries/nettle/generic.nix new file mode 100644 index 000000000000..2ef367b6c53a --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/nettle/generic.nix @@ -0,0 +1,69 @@ +{ stdenv, buildPackages, gmp, gnum4 + +# Version specific args +, version, src +, ...}: + +stdenv.mkDerivation (rec { + name = "nettle-${version}"; + + inherit src; + + outputs = [ "out" "dev" ]; + outputBin = "dev"; + + depsBuildBuild = [ buildPackages.stdenv.cc ]; + nativeBuildInputs = [ gnum4 ]; + propagatedBuildInputs = [ gmp ]; + + doCheck = (stdenv.hostPlatform.system != "i686-cygwin" && !stdenv.isDarwin); + + enableParallelBuilding = true; + + patches = stdenv.lib.optional (stdenv.hostPlatform.system == "i686-cygwin") + ./cygwin.patch; + + meta = with stdenv.lib; { + 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 = licenses.gpl2Plus; + + homepage = http://www.lysator.liu.se/~nisse/nettle/; + + maintainers = with maintainers; [ wkennington ]; + platforms = 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.dev}/include" ]; +}) |