llvm-spirv-translator: add llvm 16 variant

This commit is contained in:
Randy Eckenrode 2023-09-02 21:09:31 -04:00
parent dba6d77ad2
commit b8e4cb4044
No known key found for this signature in database
GPG Key ID: 64C1CD4EC2A600D9

View File

@ -1,5 +1,6 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, cmake
, pkg-config
, lit
@ -14,7 +15,11 @@ let
# ROCm will always be at the latest version
branch =
if llvmMajor == "15" || isROCm then rec {
if llvmMajor == "16" then rec {
version = "16.0.0";
rev = "v${version}";
hash = "sha256-EUabcYqSjXshbPmcs1DRLvCSL1nd9rEdpqELBrItCW8=";
} else if llvmMajor == "15" || isROCm then rec {
version = "15.0.0";
rev = "v${version}";
hash = "sha256-OsDohXRxovtEXaWiRGp8gJ0dXmoALyO+ZimeSO8aPVI=";
@ -38,6 +43,14 @@ stdenv.mkDerivation {
inherit (branch) rev hash;
};
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=";
})
];
nativeBuildInputs = [ pkg-config cmake spirv-tools ]
++ (if isROCm then [ llvm ] else [ llvm.dev ]);