about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/haskell-modules/lib
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/haskell-modules/lib')
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/lib/compose.nix7
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/lib/default.nix5
2 files changed, 11 insertions, 1 deletions
diff --git a/nixpkgs/pkgs/development/haskell-modules/lib/compose.nix b/nixpkgs/pkgs/development/haskell-modules/lib/compose.nix
index fe1a8ef7a014..09cee08b91c1 100644
--- a/nixpkgs/pkgs/development/haskell-modules/lib/compose.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/lib/compose.nix
@@ -108,6 +108,11 @@ rec {
      of test suites listed in the package description file.
    */
   dontCheck = overrideCabal (drv: { doCheck = false; });
+  /* The dontCheckIf variant sets doCheck = false if the condition
+     applies. In any other case the previously set/default value is used.
+     This prevents accidentally re-enabling tests in a later override.
+     */
+  dontCheckIf = condition: if condition then dontCheck else lib.id;
 
   /* doBenchmark enables dependency checking and compilation
      for benchmarks listed in the package description file.
@@ -398,7 +403,7 @@ rec {
 
   # Some information about which phases should be run.
   controlPhases = ghc: let inherit (ghcInfo ghc) isCross; in
-                  { doCheck ? !isCross && (lib.versionOlder "7.4" ghc.version)
+                  { doCheck ? !isCross
                   , doBenchmark ? false
                   , ...
                   }: { inherit doCheck doBenchmark; };
diff --git a/nixpkgs/pkgs/development/haskell-modules/lib/default.nix b/nixpkgs/pkgs/development/haskell-modules/lib/default.nix
index ffd9ac057890..2bcd8f25d114 100644
--- a/nixpkgs/pkgs/development/haskell-modules/lib/default.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/lib/default.nix
@@ -105,6 +105,11 @@ rec {
      of test suites listed in the package description file.
    */
   dontCheck = compose.dontCheck;
+  /* The dontCheckIf variant sets doCheck = false if the condition
+     applies. In any other case the previously set/default value is used.
+     This prevents accidentally re-enabling tests in a later override.
+   */
+  dontCheckIf = drv: condition: compose.dontCheckIf condition drv;
 
   /* doBenchmark enables dependency checking, compilation and execution
      for benchmarks listed in the package description file.