Merge pull request #224542 from wavewave/ghcWithPackages-ghc96-fix
This commit is contained in:
commit
6eb5c1b5ba
1 changed files with 14 additions and 2 deletions
|
@ -55,6 +55,12 @@ let
|
|||
libDir = if isHaLVM then "$out/lib/HaLVM-${ghc.version}"
|
||||
else "$out/lib/${ghc.targetPrefix}${ghc.haskellCompilerName}"
|
||||
+ lib.optionalString (ghc ? hadrian) "/lib";
|
||||
# Boot libraries for GHC are present in a separate directory.
|
||||
bootLibDir = let arch = if stdenv.targetPlatform.isAarch64
|
||||
then "aarch64"
|
||||
else "x86_64";
|
||||
platform = if stdenv.targetPlatform.isDarwin then "osx" else "linux";
|
||||
in "${ghc}/lib/${ghc.haskellCompilerName}/lib/${arch}-${platform}-${ghc.haskellCompilerName}";
|
||||
docDir = "$out/share/doc/ghc/html";
|
||||
packageCfgDir = "${libDir}/package.conf.d";
|
||||
paths = lib.concatLists (
|
||||
|
@ -131,11 +137,17 @@ symlinkJoin {
|
|||
'' + (lib.optionalString (stdenv.targetPlatform.isDarwin && !isGhcjs && !stdenv.targetPlatform.isiOS) ''
|
||||
# Work around a linker limit in macOS Sierra (see generic-builder.nix):
|
||||
local packageConfDir="${packageCfgDir}";
|
||||
local dynamicLinksDir="$out/lib/links"
|
||||
local dynamicLinksDir="$out/lib/links";
|
||||
mkdir -p $dynamicLinksDir
|
||||
# Clean up the old links that may have been (transitively) included by
|
||||
# symlinkJoin:
|
||||
rm -f $dynamicLinksDir/*
|
||||
|
||||
# Boot libraries are located differently than other libraries since GHC 9.6, so handle them separately.
|
||||
if [[ -x "${bootLibDir}" ]]; then
|
||||
ln -s "${bootLibDir}"/*.dylib $dynamicLinksDir
|
||||
fi
|
||||
|
||||
for d in $(grep -Poz "dynamic-library-dirs:\s*\K .+\n" $packageConfDir/*|awk '{print $2}'|sort -u); do
|
||||
ln -s $d/*.dylib $dynamicLinksDir
|
||||
done
|
||||
|
@ -146,7 +158,7 @@ symlinkJoin {
|
|||
# $dynamicLinksDir
|
||||
cp $f $f-tmp
|
||||
rm $f
|
||||
sed "N;s,dynamic-library-dirs:\s*.*,dynamic-library-dirs: $dynamicLinksDir," $f-tmp > $f
|
||||
sed "N;s,dynamic-library-dirs:\s*.*\n,dynamic-library-dirs: $dynamicLinksDir\n," $f-tmp > $f
|
||||
rm $f-tmp
|
||||
done
|
||||
'') + ''
|
||||
|
|
Loading…
Reference in a new issue