From 529a0f74edc0b9a0e7f4cdb8932ac0b53f5179a0 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Wed, 13 Jun 2018 11:32:44 -0400 Subject: [PATCH] haskell generic-builder: Use separate setup db in more cases Use for cross and GHCJS whether or not there are setup depends. --- pkgs/development/haskell-modules/generic-builder.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 17bc8b479c7..1cc38586458 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -166,9 +166,11 @@ let "--configure-option=--host=${hostPlatform.config}" ] ++ crossCabalFlags); + useSeparateSetupDb = setupHaskellDepends != [] || isCross || isGhcjs; + setupCompileFlags = [ (optionalString (!coreSetup) "-${nativePackageDbFlag}=${ - if setupHaskellDepends != [] + if useSeparateSetupDb then "$setupPackageConfDir" else "$packageConfDir" }") @@ -268,7 +270,7 @@ stdenv.mkDerivation ({ echo "Build with ${ghc}." ${optionalString (hasActiveLibrary && hyperlinkSource) "export PATH=${hscolour}/bin:$PATH"} - '' + (optionalString (setupHaskellDepends != []) '' + '' + (optionalString useSeparateSetupDb '' setupPackageConfDir="$TMPDIR/setup-package.conf.d" mkdir -p $setupPackageConfDir '') + '' @@ -282,7 +284,7 @@ stdenv.mkDerivation ({ # dependencies for the build machine. # # pkgs* arrays defined in stdenv/setup.hs - + (optionalString (setupHaskellDepends != []) '' + + (optionalString useSeparateSetupDb '' for p in "''${pkgsBuildBuild[@]}" "''${pkgsBuildHost[@]}" "''${pkgsBuildTarget[@]}"; do ${buildPkgDb nativeGhc.name "$setupPackageConfDir"} done