@@ -206,13 +206,15 @@ in {
206206 # if the host system provides ucrt (e.g. wine with ucrtbase.dll), we may end up linking against symbols from ucrtbase, instead of msvcrt,
207207 # thus leading to broken code. E.g. the handles we create and hand to wine will all be busted, because they come from one and are processed
208208 # by another crt.
209- ++ final . lib . optionals ( final . stdenv . targetPlatform . isWindows ) ( fromUntil "8.10" "9.8" ./patches/ghc/win-linker-no-ucrt.patch )
210- # Nixos/nixpkgs is mscvrt for now, thus we must disable ucrt in ghc, otherwise we end up with broken linking.
211- ++ final . lib . optionals ( final . stdenv . targetPlatform . isWindows ) ( fromUntil "9.4.1" "9.6" ./patches/ghc/no-ucrt-9.4.patch )
212- ++ final . lib . optionals ( final . stdenv . targetPlatform . isWindows ) ( fromUntil "9.6.1" "9.6.3" ./patches/ghc/no-ucrt-9.6.patch )
213- ++ final . lib . optionals ( final . stdenv . targetPlatform . isWindows ) ( fromUntil "9.6.3" "9.8" ./patches/ghc/no-ucrt-9.6.3.patch )
214- ++ final . lib . optionals ( final . stdenv . targetPlatform . isWindows ) ( fromUntil "9.8" "9.9" ./patches/ghc/no-ucrt-9.8.patch )
215- ++ final . lib . optionals ( final . stdenv . targetPlatform . isWindows ) ( fromUntil "9.9" "9.10" ./patches/ghc/no-ucrt-9.9.patch )
209+ ++ final . lib . optionals ( final . stdenv . targetPlatform . libc != "ucrt" ) (
210+ final . lib . optionals ( final . stdenv . targetPlatform . isWindows ) ( fromUntil "8.10" "9.8" ./patches/ghc/win-linker-no-ucrt.patch )
211+ # Nixos/nixpkgs is mscvrt for now, thus we must disable ucrt in ghc, otherwise we end up with broken linking.
212+ ++ final . lib . optionals ( final . stdenv . targetPlatform . isWindows ) ( fromUntil "9.4.1" "9.6" ./patches/ghc/no-ucrt-9.4.patch )
213+ ++ final . lib . optionals ( final . stdenv . targetPlatform . isWindows ) ( fromUntil "9.6.1" "9.6.3" ./patches/ghc/no-ucrt-9.6.patch )
214+ ++ final . lib . optionals ( final . stdenv . targetPlatform . isWindows ) ( fromUntil "9.6.3" "9.8" ./patches/ghc/no-ucrt-9.6.3.patch )
215+ ++ final . lib . optionals ( final . stdenv . targetPlatform . isWindows ) ( fromUntil "9.8" "9.9" ./patches/ghc/no-ucrt-9.8.patch )
216+ ++ final . lib . optionals ( final . stdenv . targetPlatform . isWindows ) ( fromUntil "9.9" "9.10" ./patches/ghc/no-ucrt-9.9.patch )
217+ )
216218 ++ final . lib . optionals ( final . stdenv . targetPlatform . isWindows ) ( fromUntil "9.4.7" "9.5" ./patches/ghc/revert-289547580b6f2808ee123f106c3118b716486d5b.patch )
217219 ++ final . lib . optionals ( final . stdenv . targetPlatform . isWindows ) ( fromUntil "9.6.3" "9.10" ./patches/ghc/revert-289547580b6f2808ee123f106c3118b716486d5b.patch )
218220 # the following is needed for cardano-prelude as it uses closure_sizeW :-/
@@ -1020,8 +1022,9 @@ in {
10201022
10211023 bootPkgs = bootPkgsGhc94 // {
10221024 ghc = if final . stdenv . buildPlatform != final . stdenv . targetPlatform
1023- then final . buildPackages . buildPackages . haskell-nix . compiler . ghc962
1024- else final . buildPackages . buildPackages . haskell . compiler . ghc962
1025+ then final . buildPackages . buildPackages . haskell-nix . compiler . ghc963
1026+ else final . buildPackages . buildPackages . haskell . compiler . ghc963
1027+ or final . buildPackages . buildPackages . haskell . compiler . ghc962
10251028 or final . buildPackages . buildPackages . haskell . compiler . ghc945
10261029 or final . buildPackages . buildPackages . haskell . compiler . ghc944
10271030 or final . buildPackages . buildPackages . haskell . compiler . ghc943 ;
0 commit comments