mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 12:10:06 +02:00
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:
114
dev-util/glslang/glslang-16.0.0.recipe
Normal file
114
dev-util/glslang/glslang-16.0.0.recipe
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user