mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-02 15:41:48 +00:00
nettle: Refactor to be generic
This commit is contained in:
parent
4e106397df
commit
60b8b5a580
10
pkgs/development/libraries/nettle/27.nix
Normal file
10
pkgs/development/libraries/nettle/27.nix
Normal file
@ -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";
|
||||||
|
};
|
||||||
|
})
|
68
pkgs/development/libraries/nettle/generic.nix
Normal file
68
pkgs/development/libraries/nettle/generic.nix
Normal file
@ -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" ];
|
||||||
|
})
|
@ -7063,7 +7063,8 @@ let
|
|||||||
inherit ncurses flex bison;
|
inherit ncurses flex bison;
|
||||||
};
|
};
|
||||||
|
|
||||||
nettle = callPackage ../development/libraries/nettle { };
|
nettle27 = callPackage ../development/libraries/nettle/27.nix { };
|
||||||
|
nettle = nettle27;
|
||||||
|
|
||||||
newt = callPackage ../development/libraries/newt { };
|
newt = callPackage ../development/libraries/newt { };
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user