From f8ec07e836dfd224c41216cbd82a8cfc3de50b8a Mon Sep 17 00:00:00 2001 From: John Ericson Date: Wed, 13 Jun 2018 13:44:16 -0400 Subject: haskell generic-builder: Always use separate pkg db for custom setup This decreases complexity and ensures setup dependencies are properly specified with `setup-depends` as they should be. Testing will say if this is a reasonable change. --- pkgs/development/haskell-modules/generic-builder.nix | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) (limited to 'pkgs/development/haskell-modules') diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 1cc385864585..7f3ddc48103b 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -166,14 +166,8 @@ let "--configure-option=--host=${hostPlatform.config}" ] ++ crossCabalFlags); - useSeparateSetupDb = setupHaskellDepends != [] || isCross || isGhcjs; - setupCompileFlags = [ - (optionalString (!coreSetup) "-${nativePackageDbFlag}=${ - if useSeparateSetupDb - then "$setupPackageConfDir" - else "$packageConfDir" - }") + (optionalString (!coreSetup) "-${nativePackageDbFlag}=$setupPackageConfDir") (optionalString (isGhcjs || isHaLVM || versionOlder "7.8" ghc.version) "-j$NIX_BUILD_CORES") # https://github.com/haskell/cabal/issues/2398 (optionalString (versionOlder "7.10" ghc.version && !isHaLVM) "-threaded") @@ -270,10 +264,8 @@ stdenv.mkDerivation ({ echo "Build with ${ghc}." ${optionalString (hasActiveLibrary && hyperlinkSource) "export PATH=${hscolour}/bin:$PATH"} - '' + (optionalString useSeparateSetupDb '' setupPackageConfDir="$TMPDIR/setup-package.conf.d" mkdir -p $setupPackageConfDir - '') + '' packageConfDir="$TMPDIR/package.conf.d" mkdir -p $packageConfDir @@ -284,14 +276,13 @@ stdenv.mkDerivation ({ # dependencies for the build machine. # # pkgs* arrays defined in stdenv/setup.hs - + (optionalString useSeparateSetupDb '' + + '' for p in "''${pkgsBuildBuild[@]}" "''${pkgsBuildHost[@]}" "''${pkgsBuildTarget[@]}"; do ${buildPkgDb nativeGhc.name "$setupPackageConfDir"} done ${nativeGhcCommand}-pkg --${nativePackageDbFlag}="$setupPackageConfDir" recache - '') - - # For normal components + '' + # For normal components + '' for p in "''${pkgsHostHost[@]}" "''${pkgsHostTarget[@]}"; do ${buildPkgDb ghc.name "$packageConfDir"} -- cgit 1.4.1