summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD80
1 files changed, 35 insertions, 45 deletions
diff --git a/PKGBUILD b/PKGBUILD
index f81c6927b7a6..11eac968dd78 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,19 +1,19 @@
-# Maintainer: Daniel Bermond < gmail-com: danielbermond >
-
-_glslang_commit='25a508cc735109cc4e382c3a1cc293a9452a41f3'
-_spirv_tools_commit='55adf4cf707bb12c29fc12f784ebeaa29a819e9b'
-_spirv_headers_commit='29c11140baaf9f7fdaa39a583672c556bf1795a1'
+# Maintainer: Daniel Bermond <dbermond@archlinux.org>
pkgname=spirv-cross
-pkgver=2019.09.06
+pkgver=2023.10.16
pkgrel=1
+_tag=vulkan-sdk-1.3.268.0
+_glslang_commit=06a7078ce74ab5c7801a165b8145859678831fb8
+_spirv_tools_commit=f62e121b0df5374d1f043d1fbda98467406af0b1
+_spirv_headers_commit=d13b52222c39a7e9a401b44646f0ca3a640fbd47
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' 'python-nose')
-source=("git+https://github.com/KhronosGroup/SPIRV-Cross.git#tag=${pkgver//./-}"
+makedepends=('git' 'cmake' 'python')
+source=("git+https://github.com/KhronosGroup/SPIRV-Cross.git#tag=${_tag}"
"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}")
@@ -23,60 +23,50 @@ sha256sums=('SKIP'
'SKIP')
prepare() {
- cd SPIRV-Cross
-
- mkdir -p build external/{glslang,spirv-tools}-build
+ mkdir -p SPIRV-Cross/external/{glslang,spirv-tools}
- ln -sf "${srcdir}/glslang" external/glslang
- ln -sf "${srcdir}/SPIRV-Tools" external/spirv-tools
- ln -sf "${srcdir}/SPIRV-Headers" "${srcdir}/SPIRV-Tools/external/spirv-headers"
+ ln -sf "${srcdir}/glslang" SPIRV-Cross/external/glslang
+ ln -sf "${srcdir}/SPIRV-Tools" SPIRV-Cross/external/spirv-tools
+ ln -sf "${srcdir}/SPIRV-Headers" SPIRV-Tools/external/spirv-headers
+}
+
+pkgver() {
+ git -C SPIRV-Cross log -1 --date='short' --pretty='format:%ci' "$_tag" | awk '{ gsub("-", ".", $1); print $1 }'
}
build() {
# NOTE: test suite fails when using 'None' build type
+ local -a _common_opts=('-G Unix Makefiles' '-DCMAKE_BUILD_TYPE:STRING=Release' '-Wno-dev')
+
+ export CFLAGS+=' -ffat-lto-objects'
+ export CXXFLAGS+=' -ffat-lto-objects'
# glslang (required for tests)
- printf '%s\n' ' -> Building glslang...'
- cd SPIRV-Cross/external/glslang-build
- cmake \
- -DCMAKE_BUILD_TYPE:STRING='Release' \
- -DCMAKE_INSTALL_PREFIX:PATH='output' \
- -Wno-dev \
- ../glslang
- cmake --build . --config Release --target install
+ cmake -B SPIRV-Cross/external/glslang-build -S glslang \
+ "${_common_opts[@]}" \
+ -DCMAKE_INSTALL_PREFIX:PATH='output'
+ cmake --build SPIRV-Cross/external/glslang-build --target install
# spirv-tools (required for tests)
- printf '%s\n' ' -> Building SPIRV-Tools...'
- cd "${srcdir}/SPIRV-Cross/external/spirv-tools-build"
- cmake \
- -DCMAKE_BUILD_TYPE:STRING='Release' \
- -DSPIRV_WERROR:BOOL='OFF' \
+ cmake -B SPIRV-Cross/external/spirv-tools-build -S SPIRV-Tools \
+ "${_common_opts[@]}" \
-DCMAKE_INSTALL_PREFIX:PATH='output' \
- -Wno-dev \
- ../spirv-tools
- cmake --build . --config Release --target install
+ -DSPIRV_WERROR:BOOL='OFF'
+ cmake --build SPIRV-Cross/external/spirv-tools-build --target install
# spirv-cross
- printf '%s\n' ' -> Building SPIRV-Cross...'
- cd "${srcdir}/SPIRV-Cross/build"
- cmake \
- -DCMAKE_BUILD_TYPE:STRING='Release' \
+ cmake -B build-SPIRV-Cross -S SPIRV-Cross \
+ "${_common_opts[@]}" \
-DCMAKE_INSTALL_PREFIX:PATH='/usr' \
- -DSPIRV_CROSS_SHARED:BOOL='ON' \
- -Wno-dev \
- ..
-
- make
+ -DSPIRV_CROSS_FORCE_PIC:BOOL='ON' \
+ -DSPIRV_CROSS_SHARED:BOOL='ON'
+ cmake --build build-SPIRV-Cross
}
check() {
- cd SPIRV-Cross/build
-
- make test
+ ctest --test-dir build-SPIRV-Cross --output-on-failure
}
package() {
- cd SPIRV-Cross/build
-
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build-SPIRV-Cross
}