From 4bfbdda33240ebbbf306d8233ddd48430947b45d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 6 Feb 2012 19:08:52 +0000 Subject: frandom: very fast random number generator kernel module nixos support via services.frandom.enable svn path=/nixpkgs/trunk/; revision=32078 --- pkgs/os-specific/linux/frandom/default.nix | 44 ++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 46 insertions(+) create mode 100644 pkgs/os-specific/linux/frandom/default.nix (limited to 'pkgs') diff --git a/pkgs/os-specific/linux/frandom/default.nix b/pkgs/os-specific/linux/frandom/default.nix new file mode 100644 index 00000000000..9f07e7c8eb0 --- /dev/null +++ b/pkgs/os-specific/linux/frandom/default.nix @@ -0,0 +1,44 @@ +{ stdenv, fetchurl, kernel }: + +stdenv.mkDerivation rec { + name = "frandom-1.1"; + + src = fetchurl { + url = "http://sourceforge.net/projects/frandom/files/${name}.tar.gz"; + sha256 = "15rgyk4hfawqg7z1spk2xlk1nn6rcdls8gdhc70f91shrc9pvlls"; + }; + + preBuild = '' + kernelVersion=$(cd ${kernel}/lib/modules && ls) + substituteInPlace Makefile \ + --replace "\$(shell uname -r)" "$kernelVersion" \ + --replace "/lib/modules" "${kernel}/lib/modules" + ''; + + installPhase = '' + kernelVersion=$(cd ${kernel}/lib/modules && ls) + ensureDir $out/lib/modules/$kernelVersion/misc + cp frandom.ko $out/lib/modules/$kernelVersion/misc + + ensureDir $out/lib/udev/rules.d + tee $out/lib/udev/rules.d/10-frandom.rules <<-EOF + # + # These are the rules for the frandom devices. In theory, we could let + # udev's catch-all rule create the /dev node based upon the kernel name, + # which gives correct result, except that the default MODE set in + # 50-udev.rules (0600) is too restrictive. + # + KERNEL=="[ef]random", MODE="444", OPTIONS="last_rule" + EOF + ''; + + buildInputs = []; + + meta = { + description = "A very fast random number generator kernel module."; + homepage = http://frandom.sourceforge.net/; + license = "GPLv2"; + maintainers = [ stdenv.lib.maintainers.bluescreen303 ]; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 35e92a9c25b..84508fb2a2d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5871,6 +5871,8 @@ let inherit (gtkLibs) gtkmm; }; + frandom = callPackage ../os-specific/linux/frandom { }; + iscsitarget = callPackage ../os-specific/linux/iscsitarget { }; iwlwifi = callPackage ../os-specific/linux/iwlwifi { }; -- cgit 1.4.1