# Description: Collection of tools, libraries and tests for shader compilation. # URL: https://github.com/google/shaderc # Maintainer: Danny Rawlins, crux at romster dot me # Depends on: glslang # Optional: asciidoctor name=shaderc version=2019.0 commit=34c412f21f945f4ef6ed4453f8b5dc4bb9d739e4 release=3 source=( https://github.com/google/shaderc/archive/$commit.tar.gz#/$name-$commit.tar.gz #https://github.com/google/$name/archive/v$version/$name-v$version.tar.gz glslc.1 spvc.1 glslc-asciidoc.patch spvc-asciidoc.patch fix-glslang-link-order.patch 0001-Drop-third-party-code-in-CMakeLists.txt.patch shaderc-2019.0-fix-build-against-new-glslang.patch) build() { cd $name-$commit #cd $name-$version patch -d glslc -p0 -i $SRC/glslc-asciidoc.patch patch -d spvc -p0 -i $SRC/spvc-asciidoc.patch patch -p1 -i $SRC/fix-glslang-link-order.patch patch -p1 -i $SRC/0001-Drop-third-party-code-in-CMakeLists.txt.patch patch -p1 -i $SRC/shaderc-2019.0-fix-build-against-new-glslang.patch # de-vendor libs and disable git versioning 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" "$(prt-get info spirv-tools | awk '/^Version:/ {print $2}')\\n" "$(prt-get info glslang | awk '/^Version:/ {print $2}')\\n" EOF mkdir build cd build cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LIBDIR=lib \ -DSHADERC_SKIP_TESTS=ON \ -GNinja \ -DSHADERC_ENABLE_NV_EXTENSIONS=OFF # Currently requires glslang-git ninja -j ${JOBS:-1} DESTDIR=$PKG ninja install if [ -e '/usr/bin/asciidoctor' ]; then cd ../glslc asciidoctor -b manpage README.asciidoc -o glslc.1 install -D -m 0644 -t $PKG/usr/share/man/man1 glslc.1 cd ../spvc asciidoctor -b manpage README.asciidoc -o spvc.1 install -D -m 0644 -t $PKG/usr/share/man/man1 spvc.1 else install -D -m 0644 -t $PKG/usr/share/man/man1 $SRC/glslc.1 install -D -m 0644 -t $PKG/usr/share/man/man1 $SRC/spvc.1 fi }