summary refs log tree commit diff
path: root/pkgs/tools/misc/coreutils/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/misc/coreutils/default.nix')
-rw-r--r--pkgs/tools/misc/coreutils/default.nix17
1 files changed, 13 insertions, 4 deletions
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index 65d5cb6c8f9b..4db9df467219 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -1,8 +1,11 @@
-{ stdenv, fetchurl, aclSupport ? false, acl ? null, perl, gmp ? null}:
+{ stdenv, fetchurl, perl, gmp ? null
+, aclSupport ? false, acl ? null
+, selinuxSupport? false, libselinux ? null, libsepol ? null }:
 
 assert aclSupport -> acl != null;
+assert selinuxSupport -> ( (libselinux != null) && (libsepol != null) );
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (rec {
   name = "coreutils-8.10";
 
   src = fetchurl {
@@ -11,11 +14,16 @@ stdenv.mkDerivation rec {
   };
 
   buildNativeInputs = [ perl ];
-  buildInputs = [ gmp ] ++ stdenv.lib.optional aclSupport acl;
+  buildInputs = [ gmp ]
+    ++ stdenv.lib.optional aclSupport acl
+    ++ stdenv.lib.optional selinuxSupport libselinux
+    ++ stdenv.lib.optional selinuxSupport libsepol;
 
   crossAttrs = {
     buildInputs = [ gmp ]
       ++ stdenv.lib.optional aclSupport acl.hostDrv
+      ++ stdenv.lib.optional selinuxSupport libselinux.hostDrv
+      ++ stdenv.lib.optional selinuxSupport libsepol.hostDrv
       ++ stdenv.lib.optional (stdenv.gccCross.libc ? libiconv)
         stdenv.gccCross.libc.libiconv.hostDrv;
 
@@ -48,4 +56,5 @@ stdenv.mkDerivation rec {
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
-}
+} // (if selinuxSupport then { NIX_LDFLAGS = "-lsepol"; } else { } ) )
+