diff --git a/internal/rosa/all.go b/internal/rosa/all.go index 747ddaa6..96cf8428 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -137,6 +137,7 @@ const ( Sed Setuptools SPIRVHeaders + SPIRVTools SquashfsTools Strace TamaGo diff --git a/internal/rosa/glslang.go b/internal/rosa/glslang.go index c5aa2f49..176b5ae8 100644 --- a/internal/rosa/glslang.go +++ b/internal/rosa/glslang.go @@ -53,3 +53,40 @@ func init() { }, } } + +func (t Toolchain) newSPIRVTools() (pkg.Artifact, string) { + const ( + version = "2026.1" + checksum = "ZSQPQx8NltCDzQLk4qlaVxyWRWeI_JtsjEpeFt3kezTanl9DTHfLixSUCezMFBjv" + ) + return t.NewPackage("spirv-tools", version, pkg.NewHTTPGetTar( + nil, "https://github.com/KhronosGroup/SPIRV-Tools/archive/"+ + "refs/tags/v"+version+".tar.gz", + mustDecode(checksum), + pkg.TarGzip, + ), nil, &CMakeHelper{ + Cache: []KV{ + {"CMAKE_BUILD_TYPE", "Release"}, + {"SPIRV-Headers_SOURCE_DIR", "/system"}, + }, + }, + Python, + + SPIRVHeaders, + ), version +} +func init() { + artifactsM[SPIRVTools] = Metadata{ + f: Toolchain.newSPIRVTools, + + Name: "spirv-tools", + Description: "an API and commands for processing SPIR-V modules", + Website: "https://github.com/KhronosGroup/SPIRV-Tools", + + Dependencies: P{ + SPIRVHeaders, + }, + + ID: 14894, + } +}