diff options
Diffstat (limited to 'community/shaderc/APKBUILD')
-rw-r--r-- | community/shaderc/APKBUILD | 68 |
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 +" |