diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2018-06-13 13:44:16 -0400 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2018-06-18 14:07:37 -0400 |
commit | f8ec07e836dfd224c41216cbd82a8cfc3de50b8a (patch) | |
tree | d2cb1c9850f0f1d1a562d0b1855f6b4055fe0923 /pkgs | |
parent | 5e5bdfa6ad23259d68ac6571ccd51406dfdbf5d9 (diff) | |
download | nixlib-f8ec07e836dfd224c41216cbd82a8cfc3de50b8a.tar nixlib-f8ec07e836dfd224c41216cbd82a8cfc3de50b8a.tar.gz nixlib-f8ec07e836dfd224c41216cbd82a8cfc3de50b8a.tar.bz2 nixlib-f8ec07e836dfd224c41216cbd82a8cfc3de50b8a.tar.lz nixlib-f8ec07e836dfd224c41216cbd82a8cfc3de50b8a.tar.xz nixlib-f8ec07e836dfd224c41216cbd82a8cfc3de50b8a.tar.zst nixlib-f8ec07e836dfd224c41216cbd82a8cfc3de50b8a.zip |
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.
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/development/haskell-modules/generic-builder.nix | 17 |
1 files changed, 4 insertions, 13 deletions
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"} |