aboutsummaryrefslogtreecommitdiffstats
path: root/community/shaderc/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/shaderc/APKBUILD')
-rw-r--r--community/shaderc/APKBUILD68
1 files changed, 43 insertions, 25 deletions
diff --git a/community/shaderc/APKBUILD b/community/shaderc/APKBUILD
index f1d41c378cb..89a9327342c 100644
--- a/community/shaderc/APKBUILD
+++ b/community/shaderc/APKBUILD
@@ -1,31 +1,43 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer:
+# Maintainer: Simon Zeni <simon@bl4ckb0ne.ca>
pkgname=shaderc
-pkgver=2020.0
-pkgrel=1
-pkgdesc="A collection of tools, libraries, and tests for Vulkan shader compilation"
-options="!check" # Fails to configure when tests are enabled
+pkgver=2024.0
+pkgrel=0
+pkgdesc="Collection of tools, libraries, and tests for Vulkan shader compilation"
+options="!check" # Requires test setup from third party
url="https://github.com/google/shaderc"
arch="all"
license="Apache-2.0"
-makedepends="cmake glslang-static glslang-dev spirv-tools-dev python3"
-subpackages="$pkgname-static $pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/google/shaderc/archive/v$pkgver.tar.gz
- fix-link-order.patch
- third-party.patch
+makedepends="
+ cmake
+ glslang-dev
+ glslang-static
+ python3
+ samurai
+ spirv-tools-dev
"
+subpackages="$pkgname-static $pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/google/shaderc/archive/v$pkgver.tar.gz"
prepare() {
default_prepare
- rm -rf third_party
+ # Disable third party dependencies
+ sed -i -e '/add_subdirectory(third_party)/d' CMakeLists.txt
- _glslang_ver="$( . $startdir/../../*/glslang/APKBUILD; echo $pkgver)"
- _spirv_ver="$( . $startdir/../../*/spirv-tools/APKBUILD; echo $pkgver)"
+ # Fix glslc test generation depending on third-party SPIRV-tools
+ sed -i -e "s|\$<TARGET_FILE:spirv-dis>|spirv-dis|" \
+ glslc/test/CMakeLists.txt
+
+ # Disable git versioning
+ sed -i -e '/build-version/d' glslc/CMakeLists.txt
# Create our own build-version.inc since we disabled git versioning
# need to keep this in sync with glslang and SPIRV-Tools versions
# this is displayed with 'glslc --version'
+ _glslang_ver="$( . $startdir/../../*/glslang/APKBUILD; echo $pkgver)"
+ _spirv_ver="$( . $startdir/../../*/spirv-tools/APKBUILD; echo $pkgver)"
+
cat <<- EOF > glslc/src/build-version.inc
"shaderc $pkgver\n"
"SPIRV-Tools $_spirv_ver\n"
@@ -34,26 +46,32 @@ prepare() {
}
build() {
- export CXXFLAGS="$CXXFLAGS -I/usr/include/glslang"
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- cmake -B build . \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
- -DCMAKE_C_FLAGS="$CFLAGS" \
- -DSHADERC_SKIP_TESTS=ON \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DBUILD_SHARED_LIBS=ON \
+ -DSHADERC_SKIP_TESTS="$(want_check && echo OFF || echo ON)" \
+ -DSHADERC_ENABLE_TESTS="$(want_check && echo ON || echo OFF)" \
+ -DSHADERC_ENABLE_EXAMPLES=OFF \
+ -Dglslang_SOURCE_DIR=/usr/include/glslang \
+ -DSPIRV-Headers_SOURCE_DIR=/usr \
+ -Dspirv-tools_SOURCE_DIR=/usr \
$CMAKE_CROSSOPTS
- make -C build
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
}
package() {
- make -C build DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
-sha512sums="1971673d7a5fe77ef827c29db14112d4935c573c7c4f3b00fff3729334284d11640ee40c9e97ebcb2a14c6d5c6db0cf5e2ef6b2dfb59c759d1322c6d38624eb4 shaderc-2020.0.tar.gz
-bd24c90b93bf8bd7e56682e02543ff8a5c988549e76502144c2f4904e96b67ca0bc9d1e94b811bcdad1e765625256d3feabeb20ca299f2abb220e6e398d5a590 fix-link-order.patch
-5c5171ef2561070fece6b4cfa087f5baace7e5f828443719570494d9adc39ad724a414da7570f38629dbc9e7b563c8ad8226143c907ce7139a87615098006585 third-party.patch"
+sha512sums="
+ca80b22a80bf1a222e6deecbe63f99c6eed980c6c31b4f7981b6c8dc5637b7271c861543566e01aaf945df40da095b63a69f2e22f061a41faad2ecca5dc187ae shaderc-2024.0.tar.gz
+"