package spirv-headers { description = "machine-readable files for the SPIR-V Registry"; website = "https://github.com/KhronosGroup/SPIRV-Headers"; anitya = 230542; // upstream changed version scheme, anitya incapable of filtering them latest = anityaFilterSPIRV; version* = "1.4.341.0"; source = remoteGitHub { suffix = "KhronosGroup/SPIRV-Headers"; tag = "vulkan-sdk-"+version; checksum = "0PL43-19Iaw4k7_D8J8BvoJ-iLgCVSYZ2ThgDPGfAJwIJFtre7l0cnQtLjcY-JvD"; }; exec = cmake { // upstream has no tests skipTest = true; }; } package spirv-tools { description = "an API and commands for processing SPIR-V modules"; website = "https://github.com/KhronosGroup/SPIRV-Tools"; anitya = 14894; latest = anityaFallback; version* = "2026.1"; source = remoteGitHub { suffix = "KhronosGroup/SPIRV-Tools"; tag = "v"+version; checksum = "ZSQPQx8NltCDzQLk4qlaVxyWRWeI_JtsjEpeFt3kezTanl9DTHfLixSUCezMFBjv"; }; exec = cmake { cache = { "SPIRV-Headers_SOURCE_DIR": "/system"; }; }; inputs = [ python, spirv-headers, ]; runtime = [ spirv-headers ]; } package spirv-llvm-translator { description = "bi-directional translation between SPIR-V and LLVM IR"; website = "https://github.com/KhronosGroup/SPIRV-LLVM-Translator"; anitya = 227273; version* = "22.1.2"; source = remoteGitHub { suffix = "KhronosGroup/SPIRV-LLVM-Translator"; tag = "v"+version; checksum = "JZAaV5ewYcm-35YA_U2BM2IcsQouZtX1BLZR0zh2vSlfEXMsT5OCtY4Gh5RJkcGy"; }; patches = [ "remove-early-prefix.patch" ]; // litArgs emits shell syntax early = "\nexport LIT_OPTS=" + litArgs { verbose = true; skipChecks = arch { default = [ // error: line 13: OpTypeCooperativeMatrixKHR Scope is limited to Workgroup and Subgroup "cooperative_matrix_constant_null.spvasm", ]; arm64 = [ // error: line 13: OpTypeCooperativeMatrixKHR Scope is limited to Workgroup and Subgroup "cooperative_matrix_constant_null.spvasm", // LLVM ERROR: unsupported calling convention "DebugInfo/COFF/no-cus.ll", "DebugInfo/Generic/2009-11-05-DeadGlobalVariable.ll", "DebugInfo/Generic/2009-11-10-CurrentFn.ll", "DebugInfo/Generic/2010-01-05-DbgScope.ll", "DebugInfo/Generic/2010-03-12-llc-crash.ll", "DebugInfo/Generic/2010-03-24-MemberFn.ll", "DebugInfo/Generic/2010-04-19-FramePtr.ll", "DebugInfo/Generic/2010-06-29-InlinedFnLocalVar.ll", "DebugInfo/Generic/2010-10-01-crash.ll", "DebugInfo/Generic/PR20038.ll", "DebugInfo/Generic/constant-pointers.ll", "DebugInfo/Generic/dead-argument-order.ll", "DebugInfo/Generic/debug-info-eis-option.ll", "DebugInfo/Generic/def-line.ll", "DebugInfo/Generic/discriminator.ll", "DebugInfo/Generic/dwarf-public-names.ll", "DebugInfo/Generic/enum.ll", "DebugInfo/Generic/func-using-decl.ll", "DebugInfo/Generic/global.ll", "DebugInfo/Generic/imported-name-inlined.ll", "DebugInfo/Generic/incorrect-variable-debugloc1.ll", "DebugInfo/Generic/inline-scopes.ll", "DebugInfo/Generic/inlined-arguments.ll", "DebugInfo/Generic/inlined-vars.ll", "DebugInfo/Generic/linear-dbg-value.ll", "DebugInfo/Generic/linkage-name-abstract.ll", "DebugInfo/Generic/member-order.ll", "DebugInfo/Generic/missing-abstract-variable.ll", "DebugInfo/Generic/multiline.ll", "DebugInfo/Generic/namespace_function_definition.ll", "DebugInfo/Generic/namespace_inline_function_definition.ll", "DebugInfo/Generic/noscopes.ll", "DebugInfo/Generic/ptrsize.ll", "DebugInfo/Generic/restrict.ll", "DebugInfo/Generic/two-cus-from-same-file.ll", "DebugInfo/Generic/version.ll", "DebugInfo/LocalAddressSpace.ll", "DebugInfo/UnknownBaseType.ll", "DebugInfo/expr-opcode.ll", ]; }; } + "\n"; exec = cmake { cache = { "CMAKE_SKIP_BUILD_RPATH": "ON"; "BUILD_SHARED_LIBS": "ON"; "LLVM_SPIRV_ENABLE_LIBSPIRV_DIS": "ON"; "LLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR": "/system"; "LLVM_EXTERNAL_LIT": "/system/bin/lit"; "LLVM_INCLUDE_TESTS": "ON"; }; }; inputs = [ bash, lit, spirv-tools, ]; runtime = [ spirv-tools ]; }