[arch-commits] Commit in glslang/repos (staging-x86_64 staging-x86_64/PKGBUILD)

Sven-Hendrik Haase svenstaro at archlinux.org
Sun Jul 4 20:23:13 UTC 2021


    Date: Sunday, July 4, 2021 @ 20:23:13
  Author: svenstaro
Revision: 418929

archrelease: copy trunk to staging-x86_64

Added:
  glslang/repos/staging-x86_64/
  glslang/repos/staging-x86_64/PKGBUILD
    (from rev 418928, glslang/trunk/PKGBUILD)

----------+
 PKGBUILD |   67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)

Copied: glslang/repos/staging-x86_64/PKGBUILD (from rev 418928, glslang/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD	                        (rev 0)
+++ staging-x86_64/PKGBUILD	2021-07-04 20:23:13 UTC (rev 418929)
@@ -0,0 +1,67 @@
+# Maintainer: Sven-Hendrik Haase <svenstaro at gmail.com>
+
+# Careful when upgrading this package! It usually breaks ABI without bumping soname.
+pkgname=glslang
+pkgver=11.5.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' 'python')
+makedepends=('cmake' 'ninja' 'git')
+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=dc72924cb31cd9f3dbc3eb47e9d926cf641e3a07
+        git+https://github.com/KhronosGroup/SPIRV-Headers#commit=dafead1765f6c1a5f9f8a76387dcb2abe4e54acd)
+sha256sums=('fd0b5e3bda591bb08bd3049655a99a0a55f0de4059b9c8f7b397e4b19cf5d51f'
+            '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}
+  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