diff options
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/spirv-llvm-translator/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/compilers/spirv-llvm-translator/default.nix | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/nixpkgs/pkgs/development/compilers/spirv-llvm-translator/default.nix b/nixpkgs/pkgs/development/compilers/spirv-llvm-translator/default.nix index f19501a6d7d8..4db3b93217d7 100644 --- a/nixpkgs/pkgs/development/compilers/spirv-llvm-translator/default.nix +++ b/nixpkgs/pkgs/development/compilers/spirv-llvm-translator/default.nix @@ -7,6 +7,7 @@ , llvm , spirv-headers , spirv-tools +, disable-warnings-if-gcc13 }: let @@ -28,16 +29,16 @@ let rev = "v${version}"; hash = "sha256-OsDohXRxovtEXaWiRGp8gJ0dXmoALyO+ZimeSO8aPVI="; } else if llvmMajor == "14" then rec{ - version = "14.0.0"; - rev = "v${version}"; - hash = "sha256-BhNAApgZ/w/92XjpoDY6ZEIhSTwgJ4D3/EfNvPmNM2o="; + version = "14.0.0+unstable-2023-06-22"; + rev = "23f398bf369093b1fd67459db8071ffcc6b92658"; + hash = "sha256-o7cVj5/ZMER2CvfxL4pRb2qCIxC/HFUPiitf2fKtCyk="; } else if llvmMajor == "11" then { - version = "unstable-2022-05-04"; + version = "11.0.0+unstable-2022-05-04"; rev = "4ef524240833abfeee1c5b9fff6b1bd53f4806b3"; # 267 commits ahead of v11.0.0 hash = "sha256-NoIoa20+2sH41rEnr8lsMhtfesrtdPINiXtUnxYVm8s="; } else throw "Incompatible LLVM version."; in -stdenv.mkDerivation { +disable-warnings-if-gcc13 (stdenv.mkDerivation { pname = "SPIRV-LLVM-Translator"; inherit (branch) version; @@ -47,12 +48,19 @@ stdenv.mkDerivation { inherit (branch) rev hash; }; - patches = lib.optionals (llvmMajor == "16")[ + patches = lib.optionals (llvmMajor == "16") [ # Fixes builds that link against external LLVM dynamic library (fetchpatch { url = "https://github.com/KhronosGroup/SPIRV-LLVM-Translator/commit/f3b9b604d7eda18d0d1029d94a6eebd33aa3a3fe.patch"; hash = "sha256-opDjyZcy7O4wcSfm/A51NCIiDyIvbcmbv9ns1njdJbc="; }) + ] ++ lib.optionals (llvmMajor == "14") [ + (fetchpatch { + # tries to install llvm-spirv into llvm nix store path + url = "https://github.com/KhronosGroup/SPIRV-LLVM-Translator/commit/cce9a2f130070d799000cac42fe24789d2b777ab.patch"; + revert = true; + hash = "sha256-GbFacttZRDCgA0jkUoFA4/B3EDn3etweKvM09OwICJ8="; + }) ]; nativeBuildInputs = [ pkg-config cmake ] @@ -70,7 +78,7 @@ stdenv.mkDerivation { "-DLLVM_SPIRV_BUILD_EXTERNAL=YES" # RPATH of binary /nix/store/.../bin/llvm-spirv contains a forbidden reference to /build/ "-DCMAKE_SKIP_BUILD_RPATH=ON" - ] ++ lib.optionals (llvmMajor != "11") [ "-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=${spirv-headers.src}" ]; + ] ++ lib.optional (llvmMajor != "11") "-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=${spirv-headers.src}"; # FIXME: CMake tries to run "/llvm-lit" which of course doesn't exist doCheck = false; @@ -91,4 +99,4 @@ stdenv.mkDerivation { platforms = platforms.unix; maintainers = with maintainers; [ gloaming ]; }; -} +}) |