nixpkgs/pkgs/os-specific/linux/libselinux/default.nix

42 lines
1 KiB
Nix
Raw Normal View History

{ stdenv, fetchurl, pkgconfig, libsepol, pcre
, enablePython ? false, swig ? null, python ? null
}:
assert enablePython -> swig != null && python != null;
with stdenv.lib;
stdenv.mkDerivation rec {
name = "libselinux-${version}";
2015-07-31 19:40:17 +00:00
version = "2.4";
inherit (libsepol) se_release se_url;
src = fetchurl {
url = "${se_url}/${se_release}/libselinux-${version}.tar.gz";
2015-07-31 19:40:17 +00:00
sha256 = "0yqg73ns97jwjh1iyv0jr5qxb8k5sqq5ywfkx11lzfn5yj8k0126";
};
buildInputs = [ pkgconfig libsepol pcre ]
++ optionals enablePython [ swig python ];
2015-07-31 20:02:41 +00:00
NIX_CFLAGS_COMPILE = "-fstack-protector-all -std=gnu89";
postPatch = optionalString enablePython ''
sed -i -e 's|\$(LIBDIR)/libsepol.a|${libsepol}/lib/libsepol.a|' src/Makefile
'';
2015-07-31 19:40:17 +00:00
preBuild = ''
# Build fails without this precreated
mkdir -p $out/include
2015-07-31 19:40:17 +00:00
makeFlagsArray+=("PREFIX=$out")
makeFlagsArray+=("DESTDIR=$out")
'';
2015-07-31 19:40:17 +00:00
installTargets = [ "install" ] ++ optional enablePython "install-pywrap";
meta = libsepol.meta // {
description = "SELinux core library";
};
}