[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