summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandre Demers2019-08-15 12:25:46 -0400
committerAlexandre Demers2019-08-15 12:25:46 -0400
commit36866d361a41e423e98f082483d0e880997f2477 (patch)
tree22d6ee5e3574d5b7acae1ca4b3a748d93638ce32
downloadaur-36866d361a41e423e98f082483d0e880997f2477.tar.gz
Initial commit
Signed-off-by: Alexandre Demers <alexandre.f.demers@gmail.com>
-rw-r--r--.SRCINFO23
-rw-r--r--PKGBUILD75
2 files changed, 98 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..7975b98ec2c2
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,23 @@
+pkgbase = lib32-shaderc
+ pkgdesc = Collection of tools, libraries and tests for shader compilation (32bit)
+ pkgver = 2019.0
+ pkgrel = 1
+ url = https://github.com/google/shaderc
+ arch = x86_64
+ license = Apache
+ makedepends = cmake
+ makedepends = ninja
+ makedepends = python
+ depends = shaderc
+ depends = lib32-glibc
+ depends = lib32-gcc-libs
+ depends = lib32-glslang
+ depends = lib32-spirv-tools>=2019.3
+ provides = libshaderc_shared.so
+ source = shaderc-2019.0.tar.gz::https://github.com/google/shaderc/archive/v2019.0.tar.gz
+ source = fix-glslang-link-order.patch::https://github.com/google/shaderc/pull/463/commits/21c8be385b3fab5edcb934a6d99f69fd389c4e67.patch
+ sha512sums = c76887ad0a96145211b6550b0dfe63091df9e1463f9a3140aba2d1982c33e98ad14fb4bcf9ce2281433fc77626fc892c268d0636b9f348a159dd06e3f41b461a
+ sha512sums = 995297afe2f70086fb5a68e19c8b2e958812dca77e400c7697adaa8b8dbaee62a2f6784794c5a838a1bae96ab71fd3b72d2a50424512f52ee7f324f629e7b390
+
+pkgname = lib32-shaderc
+
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"
+}