···8586 cmakeDir = "../drivers/xgl";
8788+ cmakeFlags = [
89+ # There is some incredibly cursed issue with
90+ # `directx-shader-compiler` flagging up compiler errors only on
91+ # `i686-linux` and only when it has been compiled with a recent
92+ # GCC. Since few 32‐bit games are going to use ray tracing anyway,
93+ # we just disable it for now. Arch has done this since 2022.
94+ #
95+ # See:
96+ # * <https://github.com/NixOS/nixpkgs/issues/216294>
97+ # * <https://github.com/GPUOpen-Drivers/gpurt/issues/5>
98+ # * <https://gitlab.archlinux.org/archlinux/packaging/packages/lib32-amdvlk/-/commit/905d9bc2cf4a003b3d367537b5e120d9771cce16>
99+ (lib.cmakeBool "VKI_RAY_TRACING" (!(stdenv.hostPlatform.isx86 && stdenv.hostPlatform.is32bit)))
100+ ];
101+102 installPhase = ''
103 runHook preInstall
104
···5 buildPackages,
6 targetPackages,
7 stdenv,
8- gcc12Stdenv,
9 pkgs,
10 recurseIntoAttrs,
11 # This is the default binutils, but with *this* version of LLD rather
···81 ;
82 }
83 // packageSetArgs # Allow overrides.
84- // {
85- stdenv =
86- if (lib.versions.major release_version == "13" && stdenv.cc.cc.isGNU or false) then
87- gcc12Stdenv
88- else
89- stdenv; # does not build with gcc13
90- }
91 )
92 )
93 );
···5 buildPackages,
6 targetPackages,
7 stdenv,
08 pkgs,
9 recurseIntoAttrs,
10 # This is the default binutils, but with *this* version of LLD rather
···80 ;
81 }
82 // packageSetArgs # Allow overrides.
000000083 )
84 )
85 );