nixpkgs/pkgs/os-specific/linux/gradm/default.nix
Joachim Fasting 5da1394a58
Revert "gradm: fix using gradm while the RBAC system is active"
This reverts commit fdbf7dc8b3.

Unfortunately, while gradm now works when the RBAC system is enabled,
gradm still fails when full system learning is enabled, so I probably
need to try again later.
2016-11-28 11:41:12 +01:00

52 lines
1.2 KiB
Nix

{ stdenv, fetchurl
, bison, flex
, pam
}:
stdenv.mkDerivation rec {
name = "gradm-${version}";
version = "3.1-201608131257";
src = fetchurl {
url = "http://grsecurity.net/stable/${name}.tar.gz";
sha256 = "0y5565rhil5ciprwz7nx4s4ah7dsxx7zrkg42dbq0mcg8m316xrb";
};
nativeBuildInputs = [ bison flex ];
buildInputs = [ pam ];
enableParallelBuilding = true;
makeFlags = [
"DESTDIR=$(out)"
"LEX=${flex}/bin/flex"
"MANDIR=/share/man"
"MKNOD=true"
];
preBuild = ''
substituteInPlace Makefile \
--replace "/usr/bin/" "" \
--replace "/usr/include/security/pam_" "${pam}/include/security/pam_"
substituteInPlace gradm_defs.h \
--replace "/sbin/grlearn" "$out/bin/grlearn" \
--replace "/sbin/gradm" "$out/bin/gradm" \
--replace "/sbin/gradm_pam" "$out/bin/gradm_pam"
echo 'inherit-learn /nix/store' >>learn_config
mkdir -p "$out/etc/udev/rules.d"
'';
postInstall = ''rmdir $out/dev'';
meta = with stdenv.lib; {
description = "grsecurity RBAC administration and policy analysis utility";
homepage = "https://grsecurity.net";
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = with maintainers; [ thoughtpolice joachifm ];
};
}