diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..8527d3326d5b --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,72 @@ +# Maintainer: Eric Engestrom <aur [at] engestrom [dot] ch> + +_realname=glslc +pkgname=$_realname-git +pkgver=r323.4fa3150 +pkgrel=1 +epoch=1 +pkgdesc="Command-line GLSL/HLSL to SPIR-V compiler with Clang-compatible arguments" +arch=('i686' 'x86_64') +url='https://github.com/google/shaderc/tree/master/glslc' +license=('Apache') +makedepends=('git' 'cmake' 'ninja' 'python') +provides=("${_realname}=${pkgver}") +conflicts=("$_realname") +source=('git+https://github.com/google/shaderc') +md5sums=('SKIP') + +pkgver() { + cd "$srcdir"/shaderc + printf 'r%d.%s' \ + $(git rev-list --count HEAD) \ + $(git log --pretty=format:'%h' -n 1) +} + +prepare() { + # Fetch source dependencies + cd "$srcdir"/shaderc/third_party/ + + if [ ! -d googletest ]; then + git clone https://github.com/google/googletest.git + fi + + if [ ! -d glslang ]; then + git clone https://github.com/google/glslang.git + fi + + if [ ! -d spirv-tools ]; then + git clone https://github.com/KhronosGroup/SPIRV-Tools.git spirv-tools + fi + + if [ ! -d spirv-tools/external/spirv-headers ]; then + git clone https://github.com/KhronosGroup/SPIRV-Headers.git spirv-tools/external/spirv-headers + fi +} + +build() { + cd "$srcdir" + + mkdir -p build + cd build + + cmake "$srcdir"/shaderc \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -GNinja \ + -Dshaderc_SOURCE_DIR="$srcdir"/shaderc \ + -DPYTHON_EXE=/usr/bin/python2 + ninja glslc +} + +check(){ + cd "$srcdir"/build + ninja test +} + +package() { + cd "$srcdir"/build + + install -d "$pkgdir"/usr/{bin,share/doc/"$_realname"} + install -m755 glslc/glslc "$pkgdir"/usr/bin/ + install -m644 ../shaderc/glslc/README.asciidoc "$pkgdir"/usr/share/doc/"$_realname"/ +} |