51 lines
1.7 KiB
Nix
51 lines
1.7 KiB
Nix
{ stdenv, fetchFromGitHub, libtool, autoconf, automake, pkgconfig
|
|
, sysfsutils
|
|
# WARNING: DO NOT USE BEACON GENERATED VALUES AS SECRET CRYPTOGRAPHIC KEYS
|
|
# https://www.nist.gov/programs-projects/nist-randomness-beacon
|
|
, curl ? null, libxml2 ? null, openssl ? null, withNistBeacon ? false
|
|
# Systems that support RDRAND but not AES-NI require libgcrypt to use RDRAND as an entropy source
|
|
, libgcrypt ? null, withGcrypt ? true
|
|
# Not sure if jitterentropy is safe to use for cryptography
|
|
# and thus a default entropy source
|
|
, jitterentropy ? null, withJitterEntropy ? false
|
|
}:
|
|
with stdenv.lib;
|
|
stdenv.mkDerivation rec {
|
|
name = "rng-tools-${version}";
|
|
version = "6.6";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "nhorman";
|
|
repo = "rng-tools";
|
|
rev = "v${version}";
|
|
sha256 = "0c32sxfvngdjzfmxn5ngc5yxwi8ij3yl216nhzyz9r31qi3m14v7";
|
|
};
|
|
|
|
nativeBuildInputs = [ libtool autoconf automake pkgconfig ];
|
|
|
|
preConfigure = "./autogen.sh";
|
|
|
|
configureFlags =
|
|
optional (!withJitterEntropy) "--disable-jitterentropy"
|
|
++ optional (!withNistBeacon) "--without-nistbeacon"
|
|
++ optional (!withGcrypt) "--without-libgcrypt";
|
|
|
|
buildInputs = [ sysfsutils ]
|
|
++ optional withJitterEntropy [ jitterentropy ]
|
|
++ optional withGcrypt [ libgcrypt.dev ]
|
|
++ optional withNistBeacon [ openssl.dev curl.dev libxml2.dev ];
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
# For cross-compilation
|
|
makeFlags = [ "AR:=$(AR)" ];
|
|
|
|
meta = {
|
|
description = "A random number generator daemon";
|
|
homepage = https://github.com/nhorman/rng-tools;
|
|
license = stdenv.lib.licenses.gpl2Plus;
|
|
platforms = stdenv.lib.platforms.linux;
|
|
maintainers = with stdenv.lib.maintainers; [ johnazoidberg ];
|
|
};
|
|
}
|