2013-06-24 07:37:33 +01:00
|
|
|
{ stdenv, fetchurl, pkgconfig, libsepol, pcre
|
|
|
|
, enablePython ? false, swig ? null, python ? null
|
|
|
|
}:
|
|
|
|
|
|
|
|
assert enablePython -> swig != null && python != null;
|
|
|
|
|
|
|
|
with stdenv.lib;
|
2006-08-27 19:05:18 +01:00
|
|
|
|
2011-03-27 05:45:38 +01:00
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
name = "libselinux-${version}";
|
2013-02-24 12:25:53 +00:00
|
|
|
version = "2.1.12";
|
|
|
|
inherit (libsepol) se_release se_url;
|
2011-03-27 05:45:38 +01:00
|
|
|
|
2006-08-27 19:05:18 +01:00
|
|
|
src = fetchurl {
|
2013-02-24 12:25:53 +00:00
|
|
|
url = "${se_url}/${se_release}/libselinux-${version}.tar.gz";
|
|
|
|
sha256 = "17navgvljgq35bljzcdwjdj3khajc27s15binr51xkp0h29qgbcd";
|
2006-08-27 19:05:18 +01:00
|
|
|
};
|
|
|
|
|
2013-02-24 12:25:53 +00:00
|
|
|
patch_src = fetchurl {
|
|
|
|
url = "http://dev.gentoo.org/~swift/patches/libselinux/patchbundle-${name}-r2.tar.gz";
|
|
|
|
sha256 = "08zaas8iwyf4w9ll1ylyv4gril1nfarckd5h1l53563sxzyf7dqh";
|
|
|
|
};
|
|
|
|
|
|
|
|
patches = [ ./fPIC.patch ]; # libsemanage seems to need -fPIC everywhere
|
|
|
|
|
2013-06-24 07:37:33 +01:00
|
|
|
buildInputs = [ pkgconfig libsepol pcre ]
|
|
|
|
++ optionals enablePython [ swig python ];
|
2011-03-27 05:45:38 +01:00
|
|
|
|
2013-02-24 12:25:53 +00:00
|
|
|
prePatch = ''
|
|
|
|
tar xvf ${patch_src}
|
|
|
|
for p in gentoo-patches/*.patch; do
|
|
|
|
patch -p1 < "$p"
|
|
|
|
done
|
|
|
|
'';
|
|
|
|
|
2013-06-24 07:37:33 +01:00
|
|
|
postPatch = optionalString enablePython ''
|
|
|
|
sed -i -e 's|\$(LIBDIR)/libsepol.a|${libsepol}/lib/libsepol.a|' src/Makefile
|
|
|
|
'';
|
|
|
|
|
|
|
|
installFlags = [ "PREFIX=$(out)" "DESTDIR=$(out)" "LIBSEPOLDIR=${libsepol}" ];
|
|
|
|
installTargets = [ "install" ] ++ optional enablePython "install-pywrap";
|
2013-02-24 12:25:53 +00:00
|
|
|
|
|
|
|
meta = {
|
|
|
|
inherit (libsepol.meta) homepage platforms maintainers;
|
|
|
|
};
|
2006-08-27 19:05:18 +01:00
|
|
|
}
|