glslang: Update to 16.0.0 (will be needed by mesa)

* Still 0% tests passing, but hey newer is better
This commit is contained in:
Alexander von Gluck
2025-09-26 15:12:03 -05:00
parent f577e137c2
commit dacabf1077

View File

@@ -0,0 +1,114 @@
SUMMARY="OpenGL and OpenGL ES shader front end and validator"
DESCRIPTION="Khronos reference front-end for GLSL and ESSL, and sample SPIR-V generator
There are several components:
* Reference Validator and GLSL/ESSL -> AST Front End
An OpenGL GLSL and OpenGL|ES GLSL (ESSL) front-end for reference validation and translation of \
GLSL/ESSL into an internal abstract syntax tree (AST).
Status: Virtually complete, with results carrying similar weight as the specifications.
* HLSL -> AST Front End
An HLSL front-end for translation of an approximation of HLSL to glslang's AST form.
Status: Partially complete. Semantics are not reference quality and input is not validated.
This is in contrast to the DXC project, which receives a much larger investment and attempts to \
have definitive/reference-level semantics.
See issue 362 and issue 701 for current status.
* AST -> SPIR-V Back End
Translates glslang's AST to the Khronos-specified SPIR-V intermediate language.
Status: Virtually complete.
* Reflector
An API for getting reflection information from the AST, reflection types/variables/etc. from the \
HLL source (not the SPIR-V).
Status: There is a large amount of functionality present, but no specification/goal to measure \
completeness against. It is accurate for the input HLL and AST, but only approximate for what would later be emitted for SPIR-V.
* Standalone Wrapper
glslangValidator is command-line tool for accessing the functionality above.
Status: Complete.
Tasks waiting to be done are documented as GitHub issues."
HOMEPAGE="https://github.com/KhronosGroup/glslang"
COPYRIGHT="2014-2024 The Khronos Group Inc"
LICENSE="Apache v2
BSD (2-clause)
BSD (3-clause)
MIT"
REVISION="1"
SOURCE_URI="https://github.com/KhronosGroup/glslang/archive/refs/tags/$portVersion.tar.gz"
CHECKSUM_SHA256="172385478520335147d3b03a1587424af0935398184095f24beab128a254ecc7"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="$portVersion"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
glslang$secondaryArchSuffix = $portVersion
cmd:glslang$secondaryArchSuffix = $portVersion
cmd:glslangValidator$secondaryArchSuffix = $portVersion
cmd:spirv_remap$secondaryArchSuffix = $portVersion
lib:libglslang_default_resource_limits$secondaryArchSuffix = $libVersionCompat
lib:libglslang$secondaryArchSuffix = $libVersionCompat
lib:libSPIRV$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
"
PROVIDES_devel="
glslang${secondaryArchSuffix}_devel = $portVersion
devel:libglslang_default_resource_limits$secondaryArchSuffix = $libVersionCompat
devel:libglslang$secondaryArchSuffix = $libVersionCompat
devel:libSPIRV$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
glslang$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:python3
"
TEST_REQUIRES="
cmd:diff
"
BUILD()
{
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \
$cmakeDirArgs \
-DBUILD_SHARED_LIBS=ON \
-DENABLE_OPT=OFF \
-DGLSLANG_TESTS=ON
make -C build $jobArgs
}
INSTALL()
{
# 0% tests passed, 1 tests failed out of 1 (4 crashes)
make -C build install
prepareInstalledDevelLibs \
libglslang-default-resource-limits \
libglslang \
libSPIRV
packageEntries devel \
$developDir \
$libDir/cmake
}
TEST()
{
ctest --test-dir build --output-on-failure
}