From 97fd9058235d9067b8760efec07643d06eada514 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 14 Sep 2016 18:58:46 +0200 Subject: [PATCH] haskell: add support for 'hardeningDisable' to the generic builder We also have a new helper function 'disableHardening' to use in overrides. Fixes https://github.com/NixOS/nixpkgs/issues/14820. --- pkgs/development/haskell-modules/generic-builder.nix | 2 ++ pkgs/development/haskell-modules/lib.nix | 2 ++ 2 files changed, 4 insertions(+) diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 5eb4e1fac83..2b597532b44 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -47,6 +47,7 @@ , shellHook ? "" , coreSetup ? false # Use only core packages to build Setup.hs. , useCpphs ? false +, hardeningDisable ? [] } @ args: assert editedCabalFile != null -> revision != null; @@ -329,5 +330,6 @@ stdenv.mkDerivation ({ // optionalAttrs (preFixup != "") { inherit preFixup; } // optionalAttrs (postFixup != "") { inherit postFixup; } // optionalAttrs (dontStrip) { inherit dontStrip; } +// optionalAttrs (hardeningDisable != []) { inherit hardeningDisable; } // optionalAttrs (stdenv.isLinux) { LOCALE_ARCHIVE = "${glibcLocales}/lib/locale/locale-archive"; } ) diff --git a/pkgs/development/haskell-modules/lib.nix b/pkgs/development/haskell-modules/lib.nix index e96200578de..246a9f305db 100644 --- a/pkgs/development/haskell-modules/lib.nix +++ b/pkgs/development/haskell-modules/lib.nix @@ -62,6 +62,8 @@ rec { doHyperlinkSource = drv: overrideCabal drv (drv: { hyperlinkSource = true; }); dontHyperlinkSource = drv: overrideCabal drv (drv: { hyperlinkSource = false; }); + disableHardening = drv: flags: overrideCabal drv (drv: { hardeningDisable = flags; }); + sdistTarball = pkg: pkgs.lib.overrideDerivation pkg (drv: { name = "${drv.pname}-source-${drv.version}"; buildPhase = "./Setup sdist";