@@ -826,10 +826,10 @@ final: prev: {
826
826
# ];
827
827
# }
828
828
#
829
- shellFor = shellArgs :
829
+ shellFor = extraArgs : shellFor' ( rawProject . args . shell // extraArgs ) . crossPlatforms extraArgs ;
830
+ shellFor' = crossPlatforms : extraArgs :
830
831
let
831
- # These are the args we will pass to the main shell.
832
- args' = builtins . removeAttrs ( rawProject . args . shell // shellArgs ) [ "crossPlatforms" ] ;
832
+ shellArgs = builtins . removeAttrs ( rawProject . args . shell // extraArgs ) [ "crossPlatforms" ] ;
833
833
# These are the args we will pass to the shells for the corss compiler
834
834
argsCross =
835
835
# These things should match main shell
@@ -839,17 +839,12 @@ final: prev: {
839
839
# The main shell's hoogle will probably be faster to build.
840
840
withHoogle = false ;
841
841
} ;
842
- # These are the cross compilation versions of the project we will include.
843
- selectedCrossProjects =
844
- if shellArgs ? crossPlatforms
845
- then shellArgs . crossPlatforms projectCross
846
- else [ ] ;
847
842
# Shells for cross compilation
848
- crossShells = builtins . map ( project : project . shellFor argsCross )
849
- selectedCrossProjects ;
850
- in rawProject . hsPkgs . shellFor ( args' // {
843
+ crossShells = builtins . map ( project : project . shellFor' ( _p : [ ] ) argsCross )
844
+ ( crossPlatforms projectCross ) ;
845
+ in rawProject . hsPkgs . shellFor ( shellArgs // {
851
846
# Add inputs from the cross compilation shells
852
- inputsFrom = args' . inputsFrom or [ ] ++ crossShells ;
847
+ inputsFrom = shellArgs . inputsFrom or [ ] ++ crossShells ;
853
848
} ) ;
854
849
855
850
# Default shell
0 commit comments