contrib/shaderc/Pkgfile

45 lines
1.4 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: Danny Rawlins, crux at romster dot me
# Depends on: glslang spirv-tools
# Optional: asciidoctor
2019-04-20 03:48:32 +02:00
name=shaderc
2023-06-04 00:21:09 +02:00
version=2023.4
2023-01-21 12:56:12 +01:00
release=1
source=(https://github.com/google/shaderc/archive/v$version/$name-v$version.tar.gz
glslc.1)
2019-04-20 03:48:32 +02:00
build() {
# de-vendor libs and disable git versioning
2020-11-07 17:59:13 +01:00
sed '/examples/d;/third_party/d' -i $name-$version/CMakeLists.txt
sed '/build-version/d' -i $name-$version/glslc/CMakeLists.txt
cat <<- EOF > $name-$version/glslc/src/build-version.inc
"${version}\\n"
2019-04-20 03:48:32 +02:00
"$(prt-get info spirv-tools | awk '/^Version:/ {print $2}')\\n"
"$(prt-get info glslang | awk '/^Version:/ {print $2}')\\n"
EOF
2023-06-04 00:21:09 +02:00
sed -i -e "s|\$<TARGET_FILE:spirv-dis>|spirv-dis|" \
$name-$version/glslc/test/CMakeLists.txt
2019-04-20 03:48:32 +02:00
2022-11-01 15:12:28 +01:00
cmake -S $name-$version -B build -G Ninja $PKGMK_SHADERC \
2020-11-08 13:43:52 +01:00
-D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_INSTALL_LIBDIR=lib \
-D CMAKE_BUILD_TYPE=Release \
2022-05-22 13:06:42 +02:00
-D CMAKE_CXX_FLAGS_RELEASE="${CXXFLAGS} -ffat-lto-objects" \
2020-11-08 13:43:52 +01:00
-D SHADERC_SKIP_TESTS=ON \
2022-05-22 13:06:42 +02:00
-D glslang_SOURCE_DIR:PATH='/usr/include/glslang'
2019-04-20 03:48:32 +02:00
2020-11-07 17:59:13 +01:00
cmake --build build -j ${JOBS:-1}
DESTDIR=$PKG cmake --install build
2019-04-20 03:48:32 +02:00
if [ -e '/usr/bin/asciidoctor' ]; then
cd $name-$version/glslc
asciidoctor -b manpage README.asciidoc -o glslc.1
install -D -m 0644 -t $PKG/usr/share/man/man1 glslc.1
cd -
else
install -D -m 0644 -t $PKG/usr/share/man/man1 $SRC/glslc.1
fi
2019-04-20 03:48:32 +02:00
}