[arch-commits] Commit in glslang/repos (staging-x86_64 staging-x86_64/PKGBUILD)
Sven-Hendrik Haase
svenstaro at gemini.archlinux.org
Sun Feb 20 04:09:35 UTC 2022
Date: Sunday, February 20, 2022 @ 04:09:35
Author: svenstaro
Revision: 437789
archrelease: copy trunk to staging-x86_64
Added:
glslang/repos/staging-x86_64/
glslang/repos/staging-x86_64/PKGBUILD
(from rev 437788, glslang/trunk/PKGBUILD)
----------+
PKGBUILD | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 68 insertions(+)
Copied: glslang/repos/staging-x86_64/PKGBUILD (from rev 437788, glslang/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD (rev 0)
+++ staging-x86_64/PKGBUILD 2022-02-20 04:09:35 UTC (rev 437789)
@@ -0,0 +1,68 @@
+# Maintainer: Sven-Hendrik Haase <svenstaro at archlinux.org>
+
+# Careful when upgrading this package! It usually breaks ABI without bumping soname.
+pkgname=glslang
+pkgver=11.8.0
+pkgrel=1
+pkgdesc='OpenGL and OpenGL ES shader front end and validator'
+arch=('x86_64')
+url='https://github.com/KhronosGroup/glslang'
+license=('BSD')
+depends=('gcc-libs')
+makedepends=('cmake' 'ninja' 'git' 'python')
+options=('staticlibs')
+# Get the commits from known_good.json for every release
+source=(${pkgname}-${pkgver}.tar.gz::https://github.com/KhronosGroup/glslang/archive/${pkgver}.tar.gz
+ git+https://github.com/KhronosGroup/SPIRV-Tools#commit=73735db943d7165d725883a1da0ad9eac79c1e34
+ git+https://github.com/KhronosGroup/SPIRV-Headers#commit=b42ba6d92faf6b4938e6f22ddd186dbdacc98d78)
+sha256sums=('9e5fbe5b844d203da5e61bcd84eda76326e0ff5dc696cb862147bbe01d2febb0'
+ 'SKIP'
+ 'SKIP')
+
+prepare() {
+ # Sadly, glslang requires super specific versions of SPIRV headers and
+ # spirv-tools and so I'm afraid that for the time being we'll have to use
+ # their vendored version until we figure out a good way to use system
+ # libraries.
+ cp -r SPIRV-Tools ${pkgname}-${pkgver}/External/spirv-tools
+ cp -r SPIRV-Headers ${pkgname}-${pkgver}/External/spirv-tools/external/spirv-headers
+}
+
+build() {
+ cd ${pkgname}-${pkgver}
+ export CXXFLAGS+=" -ffat-lto-objects"
+ cmake \
+ -Bbuild-shared \
+ -GNinja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DBUILD_SHARED_LIBS=ON
+ ninja -Cbuild-shared
+ cmake \
+ -Bbuild-static \
+ -GNinja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DBUILD_SHARED_LIBS=OFF
+ ninja -Cbuild-static
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ DESTDIR="${pkgdir}" ninja -C build-shared install
+ DESTDIR="${pkgdir}" ninja -C build-static install
+
+ install -Dm644 LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+
+ cd "${pkgdir}"/usr/lib
+ for lib in *.so; do
+ ln -sf "${lib}" "${lib}.0"
+ done
+
+ # Delete the stuff that's been vendored in. It's not ideal but that's we'll deal with for now.
+ mv "${pkgdir}"/usr/bin/spirv-remap .
+ rm -r "${pkgdir}"/usr/{bin/spirv*,include/spirv-tools,lib/cmake/SPIRV-Tools*,lib/libSPIRV-*,lib/pkgconfig}
+ mv spirv-remap "${pkgdir}"/usr/bin/spirv-remap
+}
+
+# vim: ts=2 sw=2 et:
More information about the arch-commits
mailing list