All checks were successful
Test / Create distribution (push) Successful in 1m20s
Test / Sandbox (push) Successful in 3m16s
Test / ShareFS (push) Successful in 4m39s
Test / Sandbox (race detector) (push) Successful in 5m49s
Test / Hakurei (race detector) (push) Successful in 6m59s
Test / Hakurei (push) Successful in 3m13s
Test / Flake checks (push) Successful in 1m37s
This cleans up call site of NewPackage. Signed-off-by: Ophestra <cat@gensokyo.uk>
131 lines
2.7 KiB
Go
131 lines
2.7 KiB
Go
package rosa
|
|
|
|
import (
|
|
"slices"
|
|
"strings"
|
|
|
|
"hakurei.app/internal/pkg"
|
|
)
|
|
|
|
func (t Toolchain) newSPIRVHeaders() (pkg.Artifact, string) {
|
|
const (
|
|
version = "1.4.341.0"
|
|
checksum = "0PL43-19Iaw4k7_D8J8BvoJ-iLgCVSYZ2ThgDPGfAJwIJFtre7l0cnQtLjcY-JvD"
|
|
)
|
|
return t.NewPackage("spirv-headers", version, newFromGitHub(
|
|
"KhronosGroup/SPIRV-Headers",
|
|
"vulkan-sdk-"+version,
|
|
checksum,
|
|
), nil, &CMakeHelper{
|
|
Cache: []KV{
|
|
{"CMAKE_BUILD_TYPE", "Release"},
|
|
},
|
|
}), version
|
|
}
|
|
func init() {
|
|
artifactsM[SPIRVHeaders] = Metadata{
|
|
f: Toolchain.newSPIRVHeaders,
|
|
|
|
Name: "spirv-headers",
|
|
Description: "machine-readable files for the SPIR-V Registry",
|
|
Website: "https://github.com/KhronosGroup/SPIRV-Headers",
|
|
|
|
ID: 230542,
|
|
|
|
// upstream changed version scheme, anitya incapable of filtering them
|
|
latest: func(v *Versions) string {
|
|
for _, s := range v.Stable {
|
|
fields := strings.SplitN(s, ".", 4)
|
|
if len(fields) != 4 {
|
|
continue
|
|
}
|
|
if slices.ContainsFunc(fields, func(f string) bool {
|
|
return slices.ContainsFunc([]byte(f), func(d byte) bool {
|
|
return d < '0' || d > '9'
|
|
})
|
|
}) {
|
|
continue
|
|
}
|
|
return s
|
|
}
|
|
return v.Latest
|
|
},
|
|
}
|
|
}
|
|
|
|
func (t Toolchain) newSPIRVTools() (pkg.Artifact, string) {
|
|
const (
|
|
version = "2026.1"
|
|
checksum = "ZSQPQx8NltCDzQLk4qlaVxyWRWeI_JtsjEpeFt3kezTanl9DTHfLixSUCezMFBjv"
|
|
)
|
|
return t.NewPackage("spirv-tools", version, newFromGitHub(
|
|
"KhronosGroup/SPIRV-Tools",
|
|
"v"+version,
|
|
checksum,
|
|
), 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,
|
|
}
|
|
}
|
|
|
|
func (t Toolchain) newGlslang() (pkg.Artifact, string) {
|
|
const (
|
|
version = "16.2.0"
|
|
checksum = "6_UuF9reLRDaVkgO-9IfB3kMwme3lQZM8LL8YsJwPdUFkrjzxJtf2A9X3w9nFxj2"
|
|
)
|
|
return t.NewPackage("glslang", version, newFromGitHub(
|
|
"KhronosGroup/glslang",
|
|
version,
|
|
checksum,
|
|
), &PackageAttr{
|
|
// test suite writes to source
|
|
Writable: true,
|
|
Chmod: true,
|
|
}, &CMakeHelper{
|
|
Cache: []KV{
|
|
{"CMAKE_BUILD_TYPE", "Release"},
|
|
{"BUILD_SHARED_LIBS", "ON"},
|
|
{"ALLOW_EXTERNAL_SPIRV_TOOLS", "ON"},
|
|
},
|
|
Script: "ctest",
|
|
},
|
|
Python,
|
|
Bash,
|
|
Diffutils,
|
|
|
|
SPIRVTools,
|
|
), version
|
|
}
|
|
func init() {
|
|
artifactsM[Glslang] = Metadata{
|
|
f: Toolchain.newGlslang,
|
|
|
|
Name: "glslang",
|
|
Description: "reference front end for GLSL/ESSL",
|
|
Website: "https://github.com/KhronosGroup/glslang",
|
|
|
|
ID: 205796,
|
|
}
|
|
}
|