From ee6e45ad4bbaf82611fdbadae0da8981b2432c66 Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Thu, 26 Sep 2013 19:44:56 +0200 Subject: [PATCH] grsecurity: Enable gcc plugins --- pkgs/top-level/all-packages.nix | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2790b179684..8633e9fe740 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 ];