From eeeaab8d5e0eb262555313cbb6aaecd772cdc296 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Tue, 12 Jun 2018 13:54:26 -0400 Subject: haskell generic-builder: Fix setup depends I was referring to the wrong package db in a few places. Thanks @ElvishJerricco for catching. --- pkgs/development/haskell-modules/generic-builder.nix | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 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 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 ''; -- cgit 1.4.1