Possible fix for nix 2.4 issue (#1461)

This commit is contained in:
Hamish Mackenzie 2022-05-03 21:06:26 +12:00 committed by GitHub
parent 93ab6221f2
commit 60919c5cc1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -108,16 +108,19 @@ in rec {
(ghcName: ghc: builtins.mapAttrs
(pkgName: subDir: rec {
src =
# TODO remove once nix >=2.4 is widely adopted (will trigger rebuilds of everything).
# See https://github.com/input-output-hk/haskell.nix/issues/1459
let nix24srcFix = src: src // { filterPath = { path, ... }: path; };
# Add in the generated files needed by ghc-boot
if subDir == "libraries/ghc-boot"
then final.evalPackages.runCommand "ghc-boot-src" { nativeBuildInputs = [final.evalPackages.xorg.lndir]; } ''
in if subDir == "libraries/ghc-boot"
then nix24srcFix (final.evalPackages.runCommand "ghc-boot-src" { nativeBuildInputs = [final.evalPackages.xorg.lndir]; } ''
mkdir $out
lndir -silent ${ghc.passthru.configured-src}/${subDir} $out
lndir -silent ${ghc.generated}/libraries/ghc-boot/dist-install/build/GHC $out/GHC
''
'')
else if subDir == "compiler"
then final.haskell-nix.haskellLib.cleanSourceWith {
src = final.evalPackages.runCommand "ghc-src" { nativeBuildInputs = [final.evalPackages.xorg.lndir]; } ''
src = nix24srcFix (final.evalPackages.runCommand "ghc-src" { nativeBuildInputs = [final.evalPackages.xorg.lndir]; } ''
mkdir $out
lndir -silent ${ghc.passthru.configured-src} $out
if [[ -f ${ghc.generated}/libraries/ghc-boot/dist-install/build/GHC/Version.hs ]]; then
@ -137,7 +140,7 @@ in rec {
fi
ln -s ${ghc.generated}/includes/dist-derivedconstants/header/* $out/compiler
ln -s ${ghc.generated}/compiler/stage2/build/*.hs-incl $out/compiler
'';
'');
inherit subDir;
includeSiblings = true;
}