diff options
author | Peter Simons <simons@cryp.to> | 2015-06-05 23:55:01 +0200 |
---|---|---|
committer | Peter Simons <simons@cryp.to> | 2015-06-05 23:55:01 +0200 |
commit | 7e04b7319c54bf0a4c0b6b55caca80a3b7434a87 (patch) | |
tree | 48d83f718f61a7811e0e5c21851e433dd6b3d138 | |
parent | fbcdb662641395901f43f19f151f5654e9d345da (diff) | |
download | nixlib-7e04b7319c54bf0a4c0b6b55caca80a3b7434a87.tar nixlib-7e04b7319c54bf0a4c0b6b55caca80a3b7434a87.tar.gz nixlib-7e04b7319c54bf0a4c0b6b55caca80a3b7434a87.tar.bz2 nixlib-7e04b7319c54bf0a4c0b6b55caca80a3b7434a87.tar.lz nixlib-7e04b7319c54bf0a4c0b6b55caca80a3b7434a87.tar.xz nixlib-7e04b7319c54bf0a4c0b6b55caca80a3b7434a87.tar.zst nixlib-7e04b7319c54bf0a4c0b6b55caca80a3b7434a87.zip |
haskell: disable parallel compilation for libraries to mitigate the effects of GHC's non-deterministic library ID bug
Further details can be found at <https://github.com/peti/ghc-library-id-bug> and <https://ghc.haskell.org/trac/ghc/ticket/4012>.
-rw-r--r-- | pkgs/development/haskell-modules/generic-builder.nix | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index edff84a0403c..c0505d6e3c63 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -72,7 +72,10 @@ let hasActiveLibrary = isLibrary && (enableStaticLibraries || enableSharedLibraries || enableLibraryProfiling); - enableParallelBuilding = versionOlder "7.10" ghc.version || (versionOlder "7.8" ghc.version && !hasActiveLibrary); + # We cannot enable -j<n> parallelism for libraries because GHC is far more + # likely to generate a non-determistic library ID in that case. Further + # details are at <https://github.com/peti/ghc-library-id-bug>. + enableParallelBuilding = versionOlder "7.8" ghc.version && !hasActiveLibrary; defaultConfigureFlags = [ "--verbose" "--prefix=$out" "--libdir=\\$prefix/lib/\\$compiler" "--libsubdir=\\$pkgid" |