Merge pull request #257494 from SuperSandro2000/spriv-llvm-translator

spirv-llvm-translator: 14.0.0 -> 14.0.0+unstable-2023-06-22
This commit is contained in:
Guillaume Girol 2023-12-20 21:46:59 +01:00 committed by GitHub
commit d014d27fd6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -29,11 +29,11 @@ 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.";
@ -48,12 +48,19 @@ disable-warnings-if-gcc13 (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 ]
@ -71,7 +78,7 @@ disable-warnings-if-gcc13 (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;