blob: d7178abc52bfcda104e4bc2c73d9a0a0dd49feb0 (
plain)
1 # Description: Collection of tools, libraries and tests for shader compilation.
2 # URL: https://github.com/google/shaderc
3 # Maintainer: Danny Rawlins, crux at romster dot me
4 # Depends on: glslang
5 # Optional: asciidoctor
6
7 name=shaderc
8 version=2019.0
9 commit=34c412f21f945f4ef6ed4453f8b5dc4bb9d739e4
10 release=3
11 source=(
12 https://github.com/google/shaderc/archive/$commit.tar.gz#/$name-$commit.tar.gz
13 #https://github.com/google/$name/archive/v$version/$name-v$version.tar.gz
14 glslc.1 spvc.1 glslc-asciidoc.patch spvc-asciidoc.patch
15 fix-glslang-link-order.patch
16 0001-Drop-third-party-code-in-CMakeLists.txt.patch
17 shaderc-2019.0-fix-build-against-new-glslang.patch)
18
19 build() {
20 cd $name-$commit
21 #cd $name-$version
22
23 patch -d glslc -p0 -i $SRC/glslc-asciidoc.patch
24 patch -d spvc -p0 -i $SRC/spvc-asciidoc.patch
25
26 patch -p1 -i $SRC/fix-glslang-link-order.patch
27 patch -p1 -i $SRC/0001-Drop-third-party-code-in-CMakeLists.txt.patch
28 patch -p1 -i $SRC/shaderc-2019.0-fix-build-against-new-glslang.patch
29
30 # de-vendor libs and disable git versioning
31 sed '/examples/d;/third_party/d' -i CMakeLists.txt
32 sed '/build-version/d' -i glslc/CMakeLists.txt
33 cat <<- EOF > glslc/src/build-version.inc
34 "${version}\\n"
35 "$(prt-get info spirv-tools | awk '/^Version:/ {print $2}')\\n"
36 "$(prt-get info glslang | awk '/^Version:/ {print $2}')\\n"
37 EOF
38
39 mkdir build
40 cd build
41
42 cmake .. \
43 -DCMAKE_BUILD_TYPE=Release \
44 -DCMAKE_INSTALL_PREFIX=/usr \
45 -DCMAKE_INSTALL_LIBDIR=lib \
46 -DSHADERC_SKIP_TESTS=ON \
47 -GNinja \
48 -DSHADERC_ENABLE_NV_EXTENSIONS=OFF # Currently requires glslang-git
49
50 ninja -j ${JOBS:-1}
51
52 DESTDIR=$PKG ninja install
53
54 if [ -e '/usr/bin/asciidoctor' ]; then
55 cd ../glslc
56 asciidoctor -b manpage README.asciidoc -o glslc.1
57 install -D -m 0644 -t $PKG/usr/share/man/man1 glslc.1
58
59 cd ../spvc
60 asciidoctor -b manpage README.asciidoc -o spvc.1
61 install -D -m 0644 -t $PKG/usr/share/man/man1 spvc.1
62 else
63 install -D -m 0644 -t $PKG/usr/share/man/man1 $SRC/glslc.1
64 install -D -m 0644 -t $PKG/usr/share/man/man1 $SRC/spvc.1
65 fi
66 }
|