diff --git a/pkgs/tools/misc/SP800-90B_EntropyAssessment/default.nix b/pkgs/tools/misc/SP800-90B_EntropyAssessment/default.nix new file mode 100644 index 00000000000..dde0bc34924 --- /dev/null +++ b/pkgs/tools/misc/SP800-90B_EntropyAssessment/default.nix @@ -0,0 +1,50 @@ +{ lib +, stdenv +, fetchFromGitHub +, bzip2 +, libdivsufsort +, jsoncpp +, openssl +, mpfr +}: + +stdenv.mkDerivation rec { + pname = "SP800-90B_EntropyAssessment"; + version = "1.1.6"; + + src = fetchFromGitHub { + owner = "usnistgov"; + repo = "SP800-90B_EntropyAssessment"; + rev = "v${version}"; + hash = "sha256-KZQ7kC0PbBkjLEQZIqYakQ91OvCxruhdfUwiRHtno3w="; + }; + + buildInputs = [ bzip2 libdivsufsort jsoncpp openssl mpfr ]; + + postPatch = '' + substituteInPlace Makefile \ + --replace "-march=native" "" + ''; + + sourceRoot = "source/cpp"; + + makeFlags = [ + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" + "ARCH=${stdenv.hostPlatform.linuxArch}" + ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/bin + cp ea_* $out/bin + runHook postInstall + ''; + + meta = { + homepage = "https://github.com/usnistgov/SP800-90B_EntropyAssessment"; + description = "Implementation of min-entropy assessment methods included in Special Publication 800-90B."; + platforms = lib.platforms.linux; + license = lib.licenses.free; #this software uses the NIST software license + maintainers = with lib.maintainers; [ orichter thillux ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 37421f215d2..2d8f92b90d1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -40560,6 +40560,8 @@ with pkgs; sndio = callPackage ../misc/sndio { }; + SP800-90B_EntropyAssessment = callPackage ../tools/misc/SP800-90B_EntropyAssessment { }; + sticky = callPackage ../applications/misc/sticky { }; stork = darwin.apple_sdk_11_0.callPackage ../applications/misc/stork {