[arch-commits] Commit in lib32-vulkan-loader-layers/trunk (2 files)

Laurent Carlier lcarlier at archlinux.org
Fri Jul 21 10:39:38 UTC 2017


    Date: Friday, July 21, 2017 @ 10:39:38
  Author: lcarlier
Revision: 245920

upgpkg: lib32-vulkan-loader-layers 1.0.54.0-1

upstream update 1.0.54.0

Added:
  lib32-vulkan-loader-layers/trunk/0001-loader-Remove-executable-stack-from-libvulkan.so.patch
Modified:
  lib32-vulkan-loader-layers/trunk/PKGBUILD

-------------------------------------------------------------+
 0001-loader-Remove-executable-stack-from-libvulkan.so.patch |   28 +++++
 PKGBUILD                                                    |   50 ++++++----
 2 files changed, 62 insertions(+), 16 deletions(-)

Added: 0001-loader-Remove-executable-stack-from-libvulkan.so.patch
===================================================================
--- 0001-loader-Remove-executable-stack-from-libvulkan.so.patch	                        (rev 0)
+++ 0001-loader-Remove-executable-stack-from-libvulkan.so.patch	2017-07-21 10:39:38 UTC (rev 245920)
@@ -0,0 +1,28 @@
+From 3152f2a5056077d3e1061ac61e3ef7888ff96dc7 Mon Sep 17 00:00:00 2001
+From: Lenny Komow <lenny at lunarg.com>
+Date: Thu, 20 Jul 2017 16:07:14 -0600
+Subject: [PATCH] loader: Remove executable stack from libvulkan.so
+
+Change-Id: Id77d5560479cbbc6f5453a6362c5a20dd721fdd0
+---
+ loader/unknown_ext_chain_gas.asm | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/loader/unknown_ext_chain_gas.asm b/loader/unknown_ext_chain_gas.asm
+index e463f45b..798760bd 100644
+--- a/loader/unknown_ext_chain_gas.asm
++++ b/loader/unknown_ext_chain_gas.asm
+@@ -108,6 +108,10 @@ vkdev_ext\num:
+ 
+ .endif
+ 
++#if defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
++
+ .data
+ 
+ termin_error_string:
+-- 
+2.13.2
+

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2017-07-21 10:37:03 UTC (rev 245919)
+++ PKGBUILD	2017-07-21 10:39:38 UTC (rev 245920)
@@ -4,7 +4,7 @@
 pkgbase=lib32-vulkan-loader-layers
 pkgname=(lib32-vulkan-icd-loader lib32-vulkan-validation-layers)
 _pkgname=Vulkan-LoaderAndValidationLayers
-pkgver=1.0.51.0
+pkgver=1.0.54.0
 pkgrel=1
 arch=(x86_64)
 url="https://www.khronos.org/vulkan/"
@@ -11,10 +11,20 @@
 license=('custom')
 depends=()
 makedepends=(git cmake python-lxml lib32-libx11 lib32-libxrandr lib32-wayland)
-source=("https://github.com/KhronosGroup/${_pkgname}/archive/sdk-${pkgver}.tar.gz")
-sha256sums=('20c07764e3f69d0d2158070a24faa6b8c5242af0bf8088ac538281c42c2ca119')
+source=("https://github.com/KhronosGroup/${_pkgname}/archive/sdk-${pkgver}.tar.gz"
+        0001-loader-Remove-executable-stack-from-libvulkan.so.patch)
+sha256sums=('f2556963f27309485c4d6bd9acece58d51df6a1b13699cc3a2c8d2579e6a3831'
+            '01c1e96916a9fc0ef6f62703cd968c14031ad75f64f61409f108bc9e427977a1')
 
+prepare() {
+  cd "${srcdir}/${_pkgname}-sdk-${pkgver}"
+
+  # https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/1956
+  patch -Np1 -i ../0001-loader-Remove-executable-stack-from-libvulkan.so.patch
+}
+
 build() {
+  export ASFLAGS=--32
   export CC="gcc -m32"
   export CXX="g++ -m32"                                                                                                                                                                                                            
   export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" 
@@ -26,6 +36,7 @@
   rm -rf build ; mkdir build ; cd build
   cmake -DCMAKE_INSTALL_PREFIX=/usr \
     -DCMAKE_INSTALL_SYSCONFDIR=/etc \
+    -DCMAKE_INSTALL_LIBDIR=lib32 \
     -DCMAKE_INSTALL_DATADIR=/share \
     -DCMAKE_SKIP_RPATH=True \
     -DBUILD_TESTS=Off \
@@ -36,32 +47,39 @@
     -DCMAKE_BUILD_TYPE=Release \
     ..
   make
-  make DESTDIR=install install
 }
 
 package_lib32-vulkan-icd-loader() {
-  pkgdesc="Vulkan Installable Client Driver (ICD) Loader"
+  pkgdesc="Vulkan Installable Client Driver (ICD) Loader (32-bit)"
   depends=(lib32-glibc)
   optdepends=(lib32-vulkan-driver: packaged vulkan driver)
-  cd "${srcdir}/${_pkgname}-sdk-${pkgver}"
+  cd "${srcdir}/${_pkgname}-sdk-${pkgver}/build"
   
-  install -dm755 ${pkgdir}/usr/lib32
+  make DESTDIR="${pkgdir}" install
+
+  rm -r ${pkgdir}/etc
+  rm -r ${pkgdir}/usr/bin
+  rm -r ${pkgdir}/usr/include
+  rm ${pkgdir}/usr/lib32/libVkLayer*.so
+
   install -dm755 ${pkgdir}/usr/share/licenses/${pkgname}
-  
-  cp -rv  build/loader/libvulkan.so* ${pkgdir}/usr/lib32
-  install -m644 LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/
+  install -m644 ../LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/
 }
 
 package_lib32-vulkan-validation-layers() {
-  pkgdesc="Vulkan Software Development Kit"
+  pkgdesc="Vulkan Software Development Kit (32-bit)"
   depends=(lib32-gcc-libs lib32-vulkan-icd-loader vulkan-headers)
-  cd "${srcdir}/${_pkgname}-sdk-${pkgver}"
+  cd "${srcdir}/${_pkgname}-sdk-${pkgver}/build"
   
-  install -dm755 ${pkgdir}/usr/lib32
-  install -dm755 ${pkgdir}/usr/share/licenses/${pkgname}
+  make DESTDIR="${pkgdir}" install
 
-  install -m644 build/layers/*.so ${pkgdir}/usr/lib32
+  rm -r ${pkgdir}/etc
+  rm -r ${pkgdir}/usr/bin
+  rm -r ${pkgdir}/usr/include
+  rm -r ${pkgdir}/usr/lib32/pkgconfig
+  rm ${pkgdir}/usr/lib32/libvulkan.so*
 
-  install -m644 LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/
+  install -dm755 ${pkgdir}/usr/share/licenses/${pkgname}
+  install -m644 ../LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/
 }
 



More information about the arch-commits mailing list