From adbb84c3dd72468fe86c96f6dc9cfabaee8b83d0 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sun, 12 Apr 2026 22:27:49 +0900 Subject: [PATCH] internal/rosa/glslang: spirv-tools artifact Required by glslang. Signed-off-by: Ophestra --- internal/rosa/all.go | 1 + internal/rosa/glslang.go | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) 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, + } +}