about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorRicardo M. Correia <rcorreia@wizy.org>2013-09-26 19:44:56 +0200
committerEvgeny Egorochkin <phreedom@yandex.ru>2013-10-20 08:14:28 +0300
commitee6e45ad4bbaf82611fdbadae0da8981b2432c66 (patch)
tree8a7c10e581c593b27bfddb5b05df128b95ede635 /pkgs
parentd32636dac4d1025a8934f5f055eb09dee25f4da9 (diff)
downloadnixlib-ee6e45ad4bbaf82611fdbadae0da8981b2432c66.tar
nixlib-ee6e45ad4bbaf82611fdbadae0da8981b2432c66.tar.gz
nixlib-ee6e45ad4bbaf82611fdbadae0da8981b2432c66.tar.bz2
nixlib-ee6e45ad4bbaf82611fdbadae0da8981b2432c66.tar.lz
nixlib-ee6e45ad4bbaf82611fdbadae0da8981b2432c66.tar.xz
nixlib-ee6e45ad4bbaf82611fdbadae0da8981b2432c66.tar.zst
nixlib-ee6e45ad4bbaf82611fdbadae0da8981b2432c66.zip
grsecurity: Enable gcc plugins
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/top-level/all-packages.nix17
1 files changed, 16 insertions, 1 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2790b1796840..8633e9fe7400 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6579,7 +6579,22 @@ let
 
   linux_3_2_grsecurity = lowPrio (lib.overrideDerivation (linux_3_2.override (args: {
     kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_2_9_1_3_2_51 ];
-  })) (args: { makeFlags = "DISABLE_PAX_PLUGINS=y";}));
+  })) (args: {
+    # Install gcc plugins. These are needed for compiling dependant packages.
+    postInstall = ''
+      ${args.postInstall or ""}
+      cp tools/gcc/*.so $out/lib/modules/$version/build/tools/gcc/
+    '';
+    # Apparently as of gcc 4.6, gcc-plugin headers (which are needed by PaX plugins)
+    # include libgmp headers, so we need these extra tweaks
+    buildInputs = args.buildInputs ++ [ gmp ];
+    preConfigure = ''
+      ${args.preConfigure or ""}
+      sed -i 's|-I|-I${gmp}/include -I|' scripts/gcc-plugin.sh
+      sed -i 's|HOST_EXTRACFLAGS +=|HOST_EXTRACFLAGS += -I${gmp}/include|' tools/gcc/Makefile
+      sed -i 's|HOST_EXTRACXXFLAGS +=|HOST_EXTRACXXFLAGS += -I${gmp}/include|' tools/gcc/Makefile
+    '';
+  }));
 
   linux_3_2_apparmor = lowPrio (linux_3_2.override {
     kernelPatches = [ kernelPatches.apparmor_3_2 ];