contrib/shaderc/Pkgfile

49 lines
1.5 KiB
Plaintext
Raw Normal View History

2023-06-04 00:21:09 +02:00
# Description: A collection of tools, libraries and tests for shader compilation
2019-04-20 03:48:32 +02:00
# URL: https://github.com/google/shaderc
# Maintainer: John McQuah, jmcquah at disroot dot org
2023-08-10 17:13:44 +02:00
# Depends on: glslang
# Optional: asciidoctor
2019-04-20 03:48:32 +02:00
name=shaderc
2024-01-21 18:02:53 +01:00
version=2023.8
release=1
source=(https://github.com/google/$name/archive/v$version/$name-v$version.tar.gz glslc.1)
2019-04-20 03:48:32 +02:00
build() {
2023-12-23 14:00:12 +01:00
cd $name-$version
# fix build with glslang 14
2024-01-21 18:02:53 +01:00
# patch -Np1 -i ../40bced4e1e205ecf44630d2dfa357655b6dabd04.patch
2023-12-23 14:00:12 +01:00
2023-10-15 13:40:17 +02:00
# de-vendor libs and disable git versioning
2023-12-23 14:00:12 +01:00
sed '/examples/d;/third_party/d' -i CMakeLists.txt
sed '/build-version/d' -i glslc/CMakeLists.txt
cat <<- EOF > glslc/src/build-version.inc
"${version}\\n"
2023-07-23 17:00:50 +02:00
"$(prt-get printf '%v\n' --filter=spirv-tools)"
"$(prt-get printf '%v\n' --filter=glslang)"
2019-04-20 03:48:32 +02:00
EOF
2023-12-23 14:00:12 +01:00
sed -e "s|\$<TARGET_FILE:spirv-dis>|spirv-dis|" \
-i glslc/test/CMakeLists.txt
2019-04-20 03:48:32 +02:00
2023-12-23 14:00:12 +01:00
cmake -S . -B build -G Ninja -Wno-dev \
2023-10-15 13:40:17 +02:00
-D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_INSTALL_LIBDIR=lib \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_CXX_FLAGS_RELEASE="${CXXFLAGS} -ffat-lto-objects" \
-D SHADERC_SKIP_TESTS=ON \
2024-01-21 18:02:53 +01:00
-D SHADERC_SKIP_COPYRIGHT_CHECK=ON \
2023-10-15 13:40:17 +02:00
-D glslang_SOURCE_DIR:PATH='/usr/include/glslang'
2019-04-20 03:48:32 +02:00
2023-10-15 13:40:17 +02:00
cmake --build build -j ${JOBS:-1}
DESTDIR=$PKG cmake --install build
2019-04-20 03:48:32 +02:00
2023-10-15 13:40:17 +02:00
if prt-get isinst asciidoctor 2>/dev/null; then
2023-12-23 14:00:12 +01:00
sed 's/^`glslc`/glslc/' glslc/README.asciidoc \
2023-10-15 13:40:17 +02:00
| asciidoctor -q -b manpage -o glslc.1 -
install -D -m 0644 -t $PKG/usr/share/man/man1 glslc.1
else
install -D -m 0644 -t $PKG/usr/share/man/man1 $SRC/glslc.1
fi
2019-04-20 03:48:32 +02:00
}