summaryrefslogtreecommitdiff
path: root/shaderc/Pkgfile
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 }

Generated by cgit