summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO22
-rw-r--r--PKGBUILD80
2 files changed, 102 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..4d598c621b43
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,22 @@
+pkgbase = spirv-cross
+ pkgdesc = A tool and library for parsing and converting SPIR-V to other shader languages
+ pkgver = 2019.05.20
+ pkgrel = 1
+ url = https://github.com/KhronosGroup/SPIRV-Cross/
+ arch = x86_64
+ license = Apache
+ makedepends = git
+ makedepends = cmake
+ makedepends = python
+ depends = gcc-libs
+ source = spirv-cross-2019.05.20.tar.gz::https://github.com/KhronosGroup/SPIRV-Cross/archive/2019-05-20.tar.gz
+ source = git+https://github.com/KhronosGroup/glslang.git#commit=e291f7a09f6733f6634fe077a228056fabee881e
+ source = git+https://github.com/KhronosGroup/SPIRV-Tools.git#commit=89fe836fe22c3e5c2a062ebeade012e2c2f0839b
+ source = git+https://github.com/KhronosGroup/SPIRV-Headers.git#commit=c4f8f65792d4bf2657ca751904c511bbcf2ac77b
+ sha256sums = bc01afeacd77ff786a10755117a7aeb219c8d50e3db3931e59bf8f50f4cad55d
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = SKIP
+
+pkgname = spirv-cross
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..0c959847a194
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,80 @@
+# Maintainer: Daniel Bermond < gmail-com: danielbermond >
+
+_glslang_commit='e291f7a09f6733f6634fe077a228056fabee881e'
+_spirv_tools_commit='89fe836fe22c3e5c2a062ebeade012e2c2f0839b'
+_spirv_headers_commit='c4f8f65792d4bf2657ca751904c511bbcf2ac77b'
+
+pkgname=spirv-cross
+pkgver=2019.05.20
+_srcver="${pkgver//./-}"
+pkgrel=1
+pkgdesc='A tool and library for parsing and converting SPIR-V to other shader languages'
+arch=('x86_64')
+url='https://github.com/KhronosGroup/SPIRV-Cross/'
+license=('Apache')
+depends=('gcc-libs')
+makedepends=('git' 'cmake' 'python')
+source=("${pkgname}-${pkgver}.tar.gz"::"https://github.com/KhronosGroup/SPIRV-Cross/archive/${_srcver}.tar.gz"
+ "git+https://github.com/KhronosGroup/glslang.git#commit=${_glslang_commit}"
+ "git+https://github.com/KhronosGroup/SPIRV-Tools.git#commit=${_spirv_tools_commit}"
+ "git+https://github.com/KhronosGroup/SPIRV-Headers.git#commit=${_spirv_headers_commit}")
+sha256sums=('bc01afeacd77ff786a10755117a7aeb219c8d50e3db3931e59bf8f50f4cad55d'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP')
+
+prepare() {
+ cd "SPIRV-Cross-${_srcver}"
+
+ mkdir -p build external/{glslang,spirv-tools}-build
+
+ ln -s "${srcdir}/glslang" external/glslang
+ ln -s "${srcdir}/SPIRV-Tools" external/spirv-tools
+ ln -s "${srcdir}/SPIRV-Headers" "${srcdir}/SPIRV-Tools/external/spirv-headers"
+}
+
+build() {
+ # glslang (required for tests)
+ printf '%s\n' ' -> Building glslang...'
+ cd "SPIRV-Cross-${_srcver}/external/glslang-build"
+ cmake \
+ -DCMAKE_BUILD_TYPE:STRING='None' \
+ -DCMAKE_INSTALL_PREFIX:PATH='output' \
+ -Wno-dev \
+ ../glslang
+ cmake --build . --config None --target install
+
+ # spirv-tools (required for tests)
+ printf '%s\n' ' -> Building SPIRV-Tools...'
+ cd "${srcdir}/SPIRV-Cross-${_srcver}/external/spirv-tools-build"
+ cmake \
+ -DCMAKE_BUILD_TYPE:STRING='None' \
+ -DSPIRV_WERROR:BOOL='OFF' \
+ -DCMAKE_INSTALL_PREFIX:PATH='output' \
+ -Wno-dev \
+ ../spirv-tools
+ cmake --build . --config None --target install
+
+ # spirv-cross
+ printf '%s\n' ' -> Building SPIRV-Cross...'
+ cd "${srcdir}/SPIRV-Cross-${_srcver}/build"
+ cmake \
+ -DCMAKE_BUILD_TYPE:STRING='None' \
+ -DCMAKE_INSTALL_PREFIX:PATH='/usr' \
+ -DSPIRV_CROSS_SHARED:BOOL='ON' \
+ -Wno-dev \
+ ..
+ make
+}
+
+check() {
+ cd "SPIRV-Cross-${_srcver}/build"
+
+ make test
+}
+
+package() {
+ cd "SPIRV-Cross-${_srcver}/build"
+
+ make DESTDIR="$pkgdir" install
+}