base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12
[NixPkgs.git] / pkgs / by-name / sp / sp800-90b-entropyassessment / package.nix
blob0619fe183fed07fe469934d05b0bb1c9f6038755
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , bzip2
5 , libdivsufsort
6 , jsoncpp
7 , openssl
8 , mpfr
9 }:
11 stdenv.mkDerivation (finalAttrs: {
12   pname = "sp800-90b-entropyassessment";
13   version = "1.1.6";
15   src = fetchFromGitHub {
16     owner = "usnistgov";
17     repo = "SP800-90B_EntropyAssessment";
18     rev = "v${finalAttrs.version}";
19     hash = "sha256-KZQ7kC0PbBkjLEQZIqYakQ91OvCxruhdfUwiRHtno3w=";
20   };
22   buildInputs = [ bzip2 libdivsufsort jsoncpp openssl mpfr ];
24   postPatch = ''
25     substituteInPlace Makefile \
26       --replace "-march=native" ""
27   '';
29   sourceRoot = "${finalAttrs.src.name}/cpp";
31   makeFlags = [
32     "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
33     "ARCH=${stdenv.hostPlatform.linuxArch}"
34   ];
36   installPhase = ''
37     runHook preInstall
38     mkdir -p $out/bin
39     cp ea_* $out/bin
40     runHook postInstall
41   '';
43   meta = {
44     homepage = "https://github.com/usnistgov/SP800-90B_EntropyAssessment";
45     description = "Implementation of min-entropy assessment methods included in Special Publication 800-90B";
46     platforms = lib.platforms.linux;
47     license = lib.licenses.nistSoftware;
48     maintainers = with lib.maintainers; [ orichter thillux ];
49   };