@@ -86,7 +86,16 @@ let self =
8686# extra values we want to have available as passthru values.
8787, extra-passthru ? { }
8888
89- , hadrianEvalPackages ? buildPackages
89+ # For running IFDs (used to evaluate build plans of tools involved in building GHC).
90+ #
91+ # Currently used for:
92+ # * hadrian
93+ # * libffi-wasm
94+ # * cabal (if we start using `cabal` to build GHC)
95+ #
96+ # We use this instead of `buildPackages` so that plan evaluation
97+ # can work on platforms other than the `buildPlatform`.
98+ , toolEvalPackages ? buildPackages , toolEvalPackages ? buildPackages
9099} @args :
91100
92101assert ! ( enableIntegerSimple || enableNativeBignum ) -> gmp != null ;
104113 inherit ( haskell-nix . haskellLib ) isCrossTarget ;
105114
106115 ghc = if bootPkgs . ghc . isHaskellNixCompiler or false
107- then bootPkgs . ghc . override { inherit hadrianEvalPackages ; }
116+ then bootPkgs . ghc . override { inherit toolEvalPackages ; }
108117 else bootPkgs . ghc ;
109118
110119 ghcHasNativeBignum = builtins . compareVersions ghc-version "9.0" >= 0 ;
125134 nativeBuildInputs = [
126135 ( buildPackages . haskell-nix . tool "ghc912" "libffi-wasm" {
127136 src = buildPackages . haskell-nix . sources . libffi-wasm ;
128- evalPackages = hadrianEvalPackages ;
137+ evalPackages = toolEvalPackages ;
129138 } )
130139 targetPackages . buildPackages . llvmPackages . clang
131140 targetPackages . buildPackages . llvmPackages . llvm
316325 inherit compiler-nix-name ;
317326 name = "hadrian" ;
318327 compilerSelection = p : p . haskell . compiler ;
319- evalPackages = hadrianEvalPackages ;
328+ evalPackages = toolEvalPackages ;
320329 modules = [ {
321330 reinstallableLibGhc = false ;
322331 # Apply the patches in a way that does not require using something
@@ -887,7 +896,7 @@ haskell-nix.haskellLib.makeCompilerDeps (stdenv.mkDerivation (rec {
887896 disableLargeAddressSpace = true ;
888897 } ) ;
889898 } // extra-passthru // {
890- buildGHC = extra-passthru . buildGHC . override { inherit hadrianEvalPackages ; } ;
899+ buildGHC = extra-passthru . buildGHC . override { inherit toolEvalPackages ; } ;
891900 } ;
892901
893902 meta = {
0 commit comments