@@ -196,13 +196,13 @@ let
196196 "--prefix=$out"
197197 "--libdir=\\$prefix/lib/\\$compiler"
198198 "--libsubdir=\\$abi/\\$libname"
199− (optionalString enableSeparateDataOutput "--datadir=$data/share/${ghc.name}")
199+ (optionalString enableSeparateDataOutput "--datadir=$data/share/${ghcNameWithPrefix}")
200200 (optionalString enableSeparateDocOutput "--docdir=${docdir "$doc"}")
201201 ] ++ optionals stdenv.hasCC [
202202 "--with-gcc=$CC" # Clang won't work without that extra information.
203203 ] ++ [
204204 "--package-db=$packageConfDir"
205− (optionalString (enableSharedExecutables && stdenv.isLinux) "--ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.name}/${pname}-${version}")
205+ (optionalString (enableSharedExecutables && stdenv.isLinux) "--ghc-option=-optl=-Wl,-rpath=$out/lib/${ghcNameWithPrefix}/${pname}-${version}")
206206 (optionalString (enableSharedExecutables && stdenv.isDarwin) "--ghc-option=-optl=-Wl,-headerpad_max_install_names")
207207 (optionalString enableParallelBuilding "--ghc-options=${parallelBuildingFlags}")
208208 (optionalString useCpphs "--with-cpphs=${cpphs}/bin/cpphs --ghc-options=-cpp --ghc-options=-pgmP${cpphs}/bin/cpphs --ghc-options=-optP--cpp")
@@ -275,6 +275,8 @@ let
275275 ghcCommand' = if isGhcjs then "ghcjs" else "ghc";
276276 ghcCommand = "${ghc.targetPrefix}${ghcCommand'}";
277277
278+ ghcNameWithPrefix = "${ghc.targetPrefix}${ghc.haskellCompilerName}";
279+
278280 nativeGhcCommand = "${nativeGhc.targetPrefix}ghc";
279281
280282 buildPkgDb = ghcName: packageConfDir: ''
@@ -350,14 +352,14 @@ stdenv.mkDerivation ({
350352 # pkgs* arrays defined in stdenv/setup.hs
351353 + ''
352354 for p in "''${pkgsBuildBuild[@]}" "''${pkgsBuildHost[@]}" "''${pkgsBuildTarget[@]}"; do
353− ${buildPkgDb nativeGhc.name "$setupPackageConfDir"}
355+ ${buildPkgDb "${nativeGhcCommand}-${nativeGhc.version}" "$setupPackageConfDir"}
354356 done
355357 ${nativeGhcCommand}-pkg --${nativePackageDbFlag}="$setupPackageConfDir" recache
356358 ''
357359 # For normal components
358360 + ''
359361 for p in "''${pkgsHostHost[@]}" "''${pkgsHostTarget[@]}"; do
360− ${buildPkgDb ghc.name "$packageConfDir"}
362+ ${buildPkgDb ghcNameWithPrefix "$packageConfDir"}
361363 if [ -d "$p/include" ]; then
362364 configureFlags+=" --extra-include-dirs=$p/include"
363365 fi
@@ -494,7 +496,7 @@ stdenv.mkDerivation ({
494496 # just the target specified; "install" will error here, since not all targets have been built.
495497 else ''
496498 ${setupCommand} copy ${buildTarget}
497− local packageConfDir="$out/lib/${ghc.name}/package.conf.d"
499+ local packageConfDir="$out/lib/${ghcNameWithPrefix}/package.conf.d"
498500 local packageConfFile="$packageConfDir/${pname}-${version}.conf"
499501 mkdir -p "$packageConfDir"
500502 ${setupCommand} register --gen-pkg-config=$packageConfFile