@@ -838,13 +838,18 @@ final: prev: {
838
838
shellFor' = crossPlatforms :
839
839
let
840
840
shellArgs = builtins . removeAttrs rawProject . args . shell [ "crossPlatforms" ] ;
841
- # Shells for cross compilation
842
- crossShells = builtins . map ( project : project . shellFor {
843
- # Prevent recursion
844
- crossPlatforms = final . lib . mkForce ( _p : [ ] ) ;
841
+ # These are the args we will pass to the shells for the corss compiler
842
+ argsCross =
843
+ # These things should match main shell
844
+ final . lib . filterAttrs ( n : _ : builtins . elem n [
845
+ "packages" "components" "additional" "exactDeps" "packageSetupDeps"
846
+ ] ) shellArgs // {
845
847
# The main shell's hoogle will probably be faster to build.
846
- withHoogle = final . lib . mkForce false ;
847
- } ) ( crossPlatforms projectCross ) ;
848
+ withHoogle = false ;
849
+ } ;
850
+ # Shells for cross compilation
851
+ crossShells = builtins . map ( project : project . shellFor' ( _p : [ ] ) argsCross )
852
+ ( crossPlatforms projectCross ) ;
848
853
in rawProject . hsPkgs . shellFor ( shellArgs // {
849
854
# Add inputs from the cross compilation shells
850
855
inputsFrom = shellArgs . inputsFrom or [ ] ++ crossShells ;
@@ -1153,7 +1158,7 @@ final: prev: {
1153
1158
let
1154
1159
ghc = final . buildPackages . haskell-nix . compiler . ${ compiler-nix-name } . override { hadrianEvalPackages = evalPackages ; } ;
1155
1160
in
1156
- final . recurseIntoAttrs ( {
1161
+ final . recurseIntoAttrs ( {
1157
1162
# Things that require no IFD to build
1158
1163
source-pin-hackage = hackageSrc ;
1159
1164
source-pin-stackage = stackageSrc ;
0 commit comments