about summary refs log tree commit diff
path: root/pkgs/development/haskell-modules
diff options
context:
space:
mode:
authorJohn Ericson <Ericson2314@yahoo.com>2018-06-13 11:28:54 -0400
committerGitHub <noreply@github.com>2018-06-13 11:28:54 -0400
commit089297ad29b0421b6d9ddd3f689472cb07784355 (patch)
treeca1208e6f3bbd243c2020c29df59f1a5a36d8b43 /pkgs/development/haskell-modules
parent41f3dee1767e88e497a2dbe139f5e1ffdfee04c5 (diff)
parenteeeaab8d5e0eb262555313cbb6aaecd772cdc296 (diff)
downloadnixlib-089297ad29b0421b6d9ddd3f689472cb07784355.tar
nixlib-089297ad29b0421b6d9ddd3f689472cb07784355.tar.gz
nixlib-089297ad29b0421b6d9ddd3f689472cb07784355.tar.bz2
nixlib-089297ad29b0421b6d9ddd3f689472cb07784355.tar.lz
nixlib-089297ad29b0421b6d9ddd3f689472cb07784355.tar.xz
nixlib-089297ad29b0421b6d9ddd3f689472cb07784355.tar.zst
nixlib-089297ad29b0421b6d9ddd3f689472cb07784355.zip
Merge pull request #41896 from obsidiansystems/fix-setup-depends
haskell generic-builder: Fix setup depends
Diffstat (limited to 'pkgs/development/haskell-modules')
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix20
1 files changed, 10 insertions, 10 deletions
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index 629910fd62e1..17bc8b479c76 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -167,7 +167,11 @@ let
   ] ++ crossCabalFlags);
 
   setupCompileFlags = [
-    (optionalString (!coreSetup) "-${nativePackageDbFlag}=$packageConfDir")
+    (optionalString (!coreSetup) "-${nativePackageDbFlag}=${
+      if setupHaskellDepends != []
+      then "$setupPackageConfDir"
+      else "$packageConfDir"
+    }")
     (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")
@@ -205,9 +209,9 @@ let
 
   nativeGhcCommand = "${nativeGhc.targetPrefix}ghc";
 
-  buildPkgDb = ghcName: ''
+  buildPkgDb = ghcName: packageConfDir: ''
     if [ -d "$p/lib/${ghcName}/package.conf.d" ]; then
-      cp -f "$p/lib/${ghcName}/package.conf.d/"*.conf $packageConfDir/
+      cp -f "$p/lib/${ghcName}/package.conf.d/"*.conf ${packageConfDir}/
       continue
     fi
     if [ -d "$p/include" ]; then
@@ -280,7 +284,7 @@ stdenv.mkDerivation ({
   # pkgs* arrays defined in stdenv/setup.hs
   + (optionalString (setupHaskellDepends != []) ''
     for p in "''${pkgsBuildBuild[@]}" "''${pkgsBuildHost[@]}" "''${pkgsBuildTarget[@]}"; do
-      ${buildPkgDb nativeGhc.name}
+      ${buildPkgDb nativeGhc.name "$setupPackageConfDir"}
     done
     ${nativeGhcCommand}-pkg --${nativePackageDbFlag}="$setupPackageConfDir" recache
   '')
@@ -288,7 +292,7 @@ stdenv.mkDerivation ({
     # For normal components
   + ''
     for p in "''${pkgsHostHost[@]}" "''${pkgsHostTarget[@]}"; do
-      ${buildPkgDb ghc.name}
+      ${buildPkgDb ghc.name "$packageConfDir"}
     done
   ''
   # only use the links hack if we're actually building dylibs. otherwise, the
@@ -323,11 +327,7 @@ stdenv.mkDerivation ({
     done
 
     echo setupCompileFlags: $setupCompileFlags
-    ${optionalString (setupHaskellDepends != [])
-       ''
-       echo GHC_PACKAGE_PATH="$setupPackageConfDir:"
-       GHC_PACKAGE_PATH="$setupPackageConfDir:" ''
-    }${nativeGhcCommand} $setupCompileFlags --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i
+    ${nativeGhcCommand} $setupCompileFlags --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i
 
     runHook postCompileBuildDriver
   '';