summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD75
1 files changed, 75 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..775268456ed5
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,75 @@
+# Maintainer: Alexandre Demers <alexandre.f.demers@gmail.com>
+
+_setPrefix="/usr"
+_setLibdir="lib32"
+_setFullLibdir="${_setPrefix}/${_setLibdir}"
+_pkgbasename=shaderc
+
+pkgname=lib32-$_pkgbasename
+pkgver=2019.0
+pkgrel=1
+pkgdesc='Collection of tools, libraries and tests for shader compilation (32bit)'
+url='https://github.com/google/shaderc'
+arch=('x86_64')
+license=('Apache')
+depends=("$_pkgbasename"
+ 'lib32-glibc'
+ 'lib32-gcc-libs'
+ 'lib32-glslang'
+ 'lib32-spirv-tools>=2019.3'
+ )
+makedepends=(
+ 'cmake'
+ 'ninja'
+ 'python'
+ )
+provides=('libshaderc_shared.so')
+source=("${_pkgbasename}-${pkgver}.tar.gz::https://github.com/google/shaderc/archive/v${pkgver}.tar.gz"
+ 'fix-glslang-link-order.patch::https://github.com/google/shaderc/pull/463/commits/21c8be385b3fab5edcb934a6d99f69fd389c4e67.patch')
+sha512sums=('c76887ad0a96145211b6550b0dfe63091df9e1463f9a3140aba2d1982c33e98ad14fb4bcf9ce2281433fc77626fc892c268d0636b9f348a159dd06e3f41b461a'
+ '995297afe2f70086fb5a68e19c8b2e958812dca77e400c7697adaa8b8dbaee62a2f6784794c5a838a1bae96ab71fd3b72d2a50424512f52ee7f324f629e7b390')
+
+# https://github.com/gentoo/gentoo/blob/c31d001aeedaf97917fa29fa859e16090cc50282/media-libs/shaderc/shaderc-2017.2.ebuild#L35-L65
+prepare() {
+ mkdir -p ${_pkgbasename}-${pkgver}/build
+
+ cd ${_pkgbasename}-${pkgver}
+ patch -Np1 < ../fix-glslang-link-order.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
+"${pkgver}\\n"
+"$(pacman -Q spirv-tools|cut -d \ -f 2|sed 's/-.*//')\\n"
+"$(pacman -Q glslang|cut -d \ -f 2|sed 's/-.*//')\\n"
+EOF
+}
+
+build() {
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+
+ cd ${_pkgbasename}-${pkgver}/build
+ cmake .. \
+ -G Ninja \
+ -DCMAKE_LIBRARY_PATH="/usr/lib32" \
+ -DCMAKE_INSTALL_PREFIX="/usr" \
+ -DBUILD_DOC=OFF \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBDIR="lib32" \
+ -DSHADERC_SKIP_TESTS=ON \
+ -DSHADERC_ENABLE_NV_EXTENSIONS=OFF # Currently requires glslang-git
+ ninja
+
+# cd ../glslc
+# asciidoctor -b manpage README.asciidoc -o glslc.1
+}
+
+package() {
+ cd ${_pkgbasename}-${pkgver}
+ DESTDIR="${pkgdir}" ninja -C build install
+ rm -rf "$pkgdir"/usr/{include,share,bin}
+# install -Dm 644 glslc/glslc.1 -t "${pkgdir}/usr/share/man/man1"
+}