summary refs log tree commit diff
path: root/pkgs/build-support/cabal
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2014-08-16 17:42:11 +0200
committerPeter Simons <simons@cryp.to>2014-11-07 23:22:27 +0100
commit44273088ad7980092ee18df2b116fcdea8911777 (patch)
treee1efe15c285306dfbb38072f1d80b5e0f1931773 /pkgs/build-support/cabal
parent1a8b7b6a12b066537a0cd8eeb5933fab2b8bc6f5 (diff)
downloadnixpkgs-44273088ad7980092ee18df2b116fcdea8911777.tar
nixpkgs-44273088ad7980092ee18df2b116fcdea8911777.tar.gz
nixpkgs-44273088ad7980092ee18df2b116fcdea8911777.tar.bz2
nixpkgs-44273088ad7980092ee18df2b116fcdea8911777.tar.lz
nixpkgs-44273088ad7980092ee18df2b116fcdea8911777.tar.xz
nixpkgs-44273088ad7980092ee18df2b116fcdea8911777.tar.zst
nixpkgs-44273088ad7980092ee18df2b116fcdea8911777.zip
cabal: enable multi-threaded builds with GHC 7.8.x or later for executables
Multi-threaded builds exacerbate the non-determinism in ghc package ids, which
is a serious problem for libraries. Packages that define only executables,
however, should be safe to  build with parallelism enabled.
Diffstat (limited to 'pkgs/build-support/cabal')
-rw-r--r--pkgs/build-support/cabal/default.nix3
1 files changed, 3 insertions, 0 deletions
diff --git a/pkgs/build-support/cabal/default.nix b/pkgs/build-support/cabal/default.nix
index e9a8a50774c..467b0d155e7 100644
--- a/pkgs/build-support/cabal/default.nix
+++ b/pkgs/build-support/cabal/default.nix
@@ -217,6 +217,9 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
               ${optionalString (self.enableSharedExecutables && self.stdenv.isDarwin) ''
                 configureFlags+=" --ghc-option=-optl=-Wl,-headerpad_max_install_names"
               ''}
+              ${optionalString (versionOlder "7.8" ghc.version && !self.isLibrary) ''
+                configureFlags+=" --ghc-option=-j$NIX_BUILD_CORES"
+              ''}
 
               echo "configure flags: $extraConfigureFlags $configureFlags"
               ./Setup configure --verbose --prefix="$out" --libdir='$prefix/lib/$compiler' \