mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-21 19:44:09 +00:00
Merge pull request #253026 from reckenrode/llvm-spirv-16
llvm-spirv-translator: add llvm 16 variant
This commit is contained in:
commit
9543950110
@ -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 ]);
|
||||
|
||||
@ -62,6 +75,9 @@ stdenv.mkDerivation {
|
||||
|
||||
postInstall = ''
|
||||
install -D tools/llvm-spirv/llvm-spirv $out/bin/llvm-spirv
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
install_name_tool $out/bin/llvm-spirv \
|
||||
-change @rpath/libLLVMSPIRVLib.dylib $out/lib/libLLVMSPIRVLib.dylib
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
Loading…
Reference in New Issue
Block a user