[arch-commits] Commit in mesa/trunk (PKGBUILD fix-install.diff fix-versions.diff)

Jan Steffens heftig at archlinux.org
Wed Mar 28 09:42:44 UTC 2018


    Date: Wednesday, March 28, 2018 @ 09:42:44
  Author: heftig
Revision: 320543

meson fixes

Added:
  mesa/trunk/fix-install.diff
  mesa/trunk/fix-versions.diff
Modified:
  mesa/trunk/PKGBUILD

-------------------+
 PKGBUILD          |  127 ++++++++++++++++++++++++++++++----------------------
 fix-install.diff  |   29 +++++++++++
 fix-versions.diff |   74 ++++++++++++++++++++++++++++++
 3 files changed, 178 insertions(+), 52 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2018-03-28 09:21:30 UTC (rev 320542)
+++ PKGBUILD	2018-03-28 09:42:44 UTC (rev 320543)
@@ -4,6 +4,7 @@
 
 pkgbase=mesa
 pkgname=('opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'libva-mesa-driver' 'mesa-vdpau' 'mesa')
+pkgdesc="an open-source implementation of the OpenGL specification"
 pkgver=18.0.0
 pkgrel=2
 arch=('x86_64')
@@ -14,11 +15,15 @@
 license=('custom')
 source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
         LICENSE
-        0001-glvnd-fix-gl-dot-pc.patch)
+        0001-glvnd-fix-gl-dot-pc.patch
+        fix-install.diff
+        fix-versions.diff)
 sha512sums=('1494bb09357896a2505b3dcfec772268e28c765804f21e144948a314f1d79d99ff9f21062ef5860eb5a5a568b305a9c954585924a7ac8890fe1ebd8df3bcc396'
             'SKIP'
             '25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2'
-            '75849eca72ca9d01c648d5ea4f6371f1b8737ca35b14be179e14c73cc51dca0739c333343cdc228a6d464135f4791bcdc21734e2debecd29d57023c8c088b028')
+            '75849eca72ca9d01c648d5ea4f6371f1b8737ca35b14be179e14c73cc51dca0739c333343cdc228a6d464135f4791bcdc21734e2debecd29d57023c8c088b028'
+            'da32ac3b025282c584bfc962723151b6e11887e59e35086c616a987cb3a471051d60f2b303a91f37106ebb75621cbd9b3f560036f5beb88518cfe9d75c45ee03'
+            '7ab28153780c5fa0f443873a627201e7d434991e5ce18ef2a05f678aa4561e172b2ad9a56fb01b72a8482bba650e26a08df10b4d4d6bb696c523f73196a47e39')
 validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D') # Emil Velikov <emil.l.velikov at gmail.com>
 validpgpkeys+=('946D09B5E4C9845E63075FF1D961C596A7203456') # Andres Gomez <tanty at igalia.com>
 validpgpkeys+=('E3E8F480C52ADD73B278EE78E1ECBE07D7D70895') # Juan Antonio Suárez Romero (Igalia, S.L.) <jasuarez at igalia.com>"
@@ -29,6 +34,14 @@
   # glvnd support patches - from Fedora
   # non-upstreamed ones
   patch -Np1 -i ../0001-glvnd-fix-gl-dot-pc.patch
+
+  # fix symlinks created for vdpau drivers to be relative
+  # this is upstreamable
+  patch -Np1 -i ../fix-install.diff
+
+  # fix library versioning
+  # this is upstreamable
+  patch -Np1 -i ../fix-versions.diff
   
 #  autoreconf -fiv
 }
@@ -70,29 +83,34 @@
  # make
 
   arch-meson mesa-$pkgver build \
-    -Dgallium-drivers=r300,r600,radeonsi,nouveau,svga,swrast,virgl,swr \
-    -Ddri-drivers=i915,i965,r200,radeon,nouveau \
-    -Dplatforms=x11,drm,wayland \
-    -Dvulkan-drivers=intel,radeon \
-    -Dgallium-xvmc=false \
-    -Dllvm=true \
-    -Dshared-glapi=true \
-    -Dglvnd=true \
-    -Dlibunwind=true \
-    -Dlmsensors=true \
-    -Degl=true \
-    -Dglx=auto \
-    -Dgles1=true \
-    -Dgles2=true \
-    -Dgbm=true \
-    -Dosmesa=gallium \
-    -Dgallium-extra-hud=true \
-    -Dtexture-float=true \
-    -Dgallium-xa=true \
-    -Dgallium-vdpau=true \
-    -Dgallium-omx=true \
-    -Dgallium-nine=true \
-    -Dgallium-opencl=icd
+    -D b_lto=false \
+    -D platforms=x11,wayland,drm,surfaceless \
+    -D dri-drivers=i915,i965,r100,r200,nouveau \
+    -D gallium-drivers=r300,r600,radeonsi,nouveau,virgl,svga,swrast,swr \
+    -D vulkan-drivers=amd,intel \
+    -D swr-arches=avx,avx2 \
+    -D dri3=true \
+    -D egl=true \
+    -D gallium-extra-hud=true \
+    -D gallium-nine=true \
+    -D gallium-omx=true \
+    -D gallium-opencl=icd \
+    -D gallium-va=true \
+    -D gallium-vdpau=true \
+    -D gallium-xa=true \
+    -D gallium-xvmc=false \
+    -D gbm=true \
+    -D gles1=true \
+    -D gles2=true \
+    -D glvnd=true \
+    -D glx=dri \
+    -D libunwind=true \
+    -D llvm=true \
+    -D lmsensors=true \
+    -D osmesa=gallium \
+    -D shared-glapi=true \
+    -D texture-float=true \
+    -D valgrind=false
 
   ninja -C build
 
@@ -104,16 +122,16 @@
 
 package_opencl-mesa() {
   pkgdesc="OpenCL support for AMD/ATI Radeon mesa drivers"
-  depends=('expat' 'libdrm' 'libelf' 'lm_sensors' 'libunwind' 'libclc' 'clang')
+  depends=('expat' 'libdrm' 'libelf' 'libclc' 'clang')
   optdepends=('opencl-headers: headers necessary for OpenCL development')
   provides=('opencl-driver')
 
   install -m755 -d ${pkgdir}/etc
-  cp -rv ${srcdir}/fakeinstall/etc/OpenCL ${pkgdir}/etc/
+  mv -v ${srcdir}/fakeinstall/etc/OpenCL ${pkgdir}/etc/
   
-  install -m755 -d ${pkgdir}/usr/lib/gallium-pipe
-  cp -rv ${srcdir}/fakeinstall/usr/lib/lib*OpenCL* ${pkgdir}/usr/lib/
-  cp -rv ${srcdir}/fakeinstall/usr/lib/gallium-pipe/pipe_{r600,radeonsi}.so ${pkgdir}/usr/lib/gallium-pipe/
+  install -m755 -d ${pkgdir}/usr/lib
+  mv -v ${srcdir}/fakeinstall/usr/lib/lib*OpenCL* ${pkgdir}/usr/lib/
+  mv -v ${srcdir}/fakeinstall/usr/lib/gallium-pipe ${pkgdir}/usr/lib/
 
   install -m755 -d "${pkgdir}/usr/share/licenses/opencl-mesa"
   install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/opencl-mesa/"
@@ -121,7 +139,7 @@
 
 package_vulkan-intel() {
   pkgdesc="Intel's Vulkan mesa driver"
-  depends=('wayland' 'libx11' 'libxshmfence')
+  depends=('wayland' 'libx11' 'libxshmfence' 'libdrm')
   provides=('vulkan-driver')
 
   install -m755 -d ${pkgdir}/usr/share/vulkan/icd.d
@@ -152,10 +170,10 @@
 
 package_libva-mesa-driver() {
   pkgdesc="VA-API implementation for gallium"
-  depends=('libdrm' 'libx11' 'llvm-libs' 'expat' 'libelf' 'libxshmfence' 'lm_sensors' 'libunwind')
+  depends=('libdrm' 'libx11' 'llvm-libs' 'expat' 'libelf' 'libxshmfence')
 
   install -m755 -d ${pkgdir}/usr/lib/dri
-  cp -av ${srcdir}/fakeinstall/usr/lib/dri/*_drv_video.so ${pkgdir}/usr/lib/dri
+  mv -v ${srcdir}/fakeinstall/usr/lib/dri/*_drv_video.so ${pkgdir}/usr/lib/dri
    
   install -m755 -d "${pkgdir}/usr/share/licenses/libva-mesa-driver"
   install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libva-mesa-driver/"
@@ -163,10 +181,10 @@
 
 package_mesa-vdpau() {
   pkgdesc="Mesa VDPAU drivers"
-  depends=('libdrm' 'libx11' 'llvm-libs' 'expat' 'libelf' 'libxshmfence' 'lm_sensors' 'libunwind')
+  depends=('libdrm' 'libx11' 'llvm-libs' 'expat' 'libelf' 'libxshmfence')
 
-  install -m755 -d ${pkgdir}/usr/lib/vdpau
-  cp -av ${srcdir}/fakeinstall/usr/lib/vdpau/* ${pkgdir}/usr/lib/vdpau
+  install -m755 -d ${pkgdir}/usr/lib
+  mv -v ${srcdir}/fakeinstall/usr/lib/vdpau ${pkgdir}/usr/lib
    
   install -m755 -d "${pkgdir}/usr/share/licenses/mesa-vdpau"
   install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa-vdpau/"
@@ -173,7 +191,6 @@
 }
 
 package_mesa() {
-  pkgdesc="an open-source implementation of the OpenGL specification"
   depends=('libdrm' 'wayland' 'libxxf86vm' 'libxdamage' 'libxshmfence' 'libelf' 
            'libomxil-bellagio' 'libunwind' 'llvm-libs' 'lm_sensors' 'libglvnd')
   optdepends=('opengl-man-pages: for the OpenGL API man pages'
@@ -185,35 +202,41 @@
   backup=('etc/drirc')
 
   install -m755 -d ${pkgdir}/etc
-  cp -rv ${srcdir}/fakeinstall/etc/drirc ${pkgdir}/etc
+  mv -v ${srcdir}/fakeinstall/etc/drirc ${pkgdir}/etc
   
   install -m755 -d ${pkgdir}/usr/share/glvnd/egl_vendor.d
-  cp -rv ${srcdir}/fakeinstall/usr/share/glvnd/egl_vendor.d/50_mesa.json ${pkgdir}/usr/share/glvnd/egl_vendor.d/
+  mv -v ${srcdir}/fakeinstall/usr/share/glvnd/egl_vendor.d/50_mesa.json ${pkgdir}/usr/share/glvnd/egl_vendor.d/
 
   install -m755 -d ${pkgdir}/usr/lib/dri
   # ati-dri, nouveau-dri, intel-dri, svga-dri, swrast
-  cp -av ${srcdir}/fakeinstall/usr/lib/dri/*_dri.so ${pkgdir}/usr/lib/dri
+  mv -v ${srcdir}/fakeinstall/usr/lib/dri/*_dri.so ${pkgdir}/usr/lib/dri
    
-  cp -rv ${srcdir}/fakeinstall/usr/lib/bellagio  ${pkgdir}/usr/lib
-  cp -rv ${srcdir}/fakeinstall/usr/lib/d3d  ${pkgdir}/usr/lib
-  cp -rv ${srcdir}/fakeinstall/usr/lib/lib{gbm,glapi}.so* ${pkgdir}/usr/lib/
-  cp -rv ${srcdir}/fakeinstall/usr/lib/libOSMesa.so* ${pkgdir}/usr/lib/
-  cp -rv ${srcdir}/fakeinstall/usr/lib/libwayland*.so* ${pkgdir}/usr/lib/
-  cp -rv ${srcdir}/fakeinstall/usr/lib/libxatracker.so* ${pkgdir}/usr/lib/
-  cp -rv ${srcdir}/fakeinstall/usr/lib/libswrAVX*.so* ${pkgdir}/usr/lib/
+  mv -v ${srcdir}/fakeinstall/usr/lib/bellagio  ${pkgdir}/usr/lib
+  mv -v ${srcdir}/fakeinstall/usr/lib/d3d  ${pkgdir}/usr/lib
+  mv -v ${srcdir}/fakeinstall/usr/lib/lib{gbm,glapi}.so* ${pkgdir}/usr/lib/
+  mv -v ${srcdir}/fakeinstall/usr/lib/libOSMesa.so* ${pkgdir}/usr/lib/
+  mv -v ${srcdir}/fakeinstall/usr/lib/libwayland*.so* ${pkgdir}/usr/lib/
+  mv -v ${srcdir}/fakeinstall/usr/lib/libxatracker.so* ${pkgdir}/usr/lib/
+  mv -v ${srcdir}/fakeinstall/usr/lib/libswrAVX*.so* ${pkgdir}/usr/lib/
 
-  cp -rv ${srcdir}/fakeinstall/usr/include ${pkgdir}/usr
-  cp -rv ${srcdir}/fakeinstall/usr/lib/pkgconfig ${pkgdir}/usr/lib/
+  # in libglvnd
+  rm -v ${srcdir}/fakeinstall/usr/lib/libGLESv{1_CM,2}.so*
+
+  mv -v ${srcdir}/fakeinstall/usr/include ${pkgdir}/usr
+  mv -v ${srcdir}/fakeinstall/usr/lib/pkgconfig ${pkgdir}/usr/lib/
   
   # remove vulkan headers
-  rm -rf ${pkgdir}/usr/include/vulkan
+  rm -r ${pkgdir}/usr/include/vulkan
 
   # libglvnd support
-  cp -rv ${srcdir}/fakeinstall/usr/lib/libGLX_mesa.so* ${pkgdir}/usr/lib/
-  cp -rv ${srcdir}/fakeinstall/usr/lib/libEGL_mesa.so* ${pkgdir}/usr/lib/
+  mv -v ${srcdir}/fakeinstall/usr/lib/libGLX_mesa.so* ${pkgdir}/usr/lib/
+  mv -v ${srcdir}/fakeinstall/usr/lib/libEGL_mesa.so* ${pkgdir}/usr/lib/
   # indirect rendering
   ln -s /usr/lib/libGLX_mesa.so.0 ${pkgdir}/usr/lib/libGLX_indirect.so.0
 
+  # no files should be left: safety check
+  find "${srcdir}/fakeinstall" -depth -print0 | xargs -0 rmdir
+
   install -m755 -d "${pkgdir}/usr/share/licenses/mesa"
   install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa/"
 }

Added: fix-install.diff
===================================================================
--- fix-install.diff	                        (rev 0)
+++ fix-install.diff	2018-03-28 09:42:44 UTC (rev 320543)
@@ -0,0 +1,29 @@
+diff -u -r mesa/bin/install_megadrivers.py mesa-patched/bin/install_megadrivers.py
+--- mesa/bin/install_megadrivers.py	2018-03-27 19:35:14.000000000 +0200
++++ mesa-patched/bin/install_megadrivers.py	2018-03-28 10:27:15.898280592 +0200
+@@ -50,18 +50,13 @@
+         print('installing {} to {}'.format(args.megadriver, driver))
+         os.link(master, driver)
+ 
+-        try:
+-            ret = os.getcwd()
+-            os.chdir(to)
+-
+-            name, ext = os.path.splitext(each)
+-            while ext != '.so':
+-                if os.path.exists(name):
+-                    os.unlink(name)
+-                os.symlink(driver, name)
+-                name, ext = os.path.splitext(name)
+-        finally:
+-            os.chdir(ret)
++        name, ext = os.path.splitext(each)
++        while ext != '.so':
++            symlink = os.path.join(to, name)
++            if os.path.exists(symlink):
++                os.unlink(symlink)
++            os.symlink(each, symlink)
++            name, ext = os.path.splitext(name)
+     os.unlink(master)
+ 
+ 

Added: fix-versions.diff
===================================================================
--- fix-versions.diff	                        (rev 0)
+++ fix-versions.diff	2018-03-28 09:42:44 UTC (rev 320543)
@@ -0,0 +1,74 @@
+diff -u -r mesa/src/gallium/drivers/swr/meson.build mesa-patched/src/gallium/drivers/swr/meson.build
+--- mesa/src/gallium/drivers/swr/meson.build	2018-03-27 19:35:15.000000000 +0200
++++ mesa-patched/src/gallium/drivers/swr/meson.build	2018-03-28 11:27:05.025710444 +0200
+@@ -198,6 +198,7 @@
+     link_args : [ld_args_gc_sections],
+     include_directories : [swr_incs],
+     dependencies : [dep_thread, dep_llvm],
++    version : '0.0.0',
+     install : true,
+   )
+ endif
+@@ -230,6 +231,7 @@
+     link_args : [ld_args_gc_sections],
+     include_directories : [swr_incs],
+     dependencies : [dep_thread, dep_llvm],
++    version : '0.0.0',
+     install : true,
+   )
+ endif
+@@ -257,6 +259,7 @@
+     link_args : [ld_args_gc_sections],
+     include_directories : [swr_incs],
+     dependencies : [dep_thread, dep_llvm],
++    version : '0.0.0',
+     install : true,
+   )
+ endif
+@@ -281,6 +284,7 @@
+     link_args : [ld_args_gc_sections],
+     include_directories : [swr_incs],
+     dependencies : [dep_thread, dep_llvm],
++    version : '0.0.0',
+     install : true,
+   )
+ endif
+diff -u -r mesa/src/gallium/targets/opencl/meson.build mesa-patched/src/gallium/targets/opencl/meson.build
+--- mesa/src/gallium/targets/opencl/meson.build	2018-03-27 19:35:15.000000000 +0200
++++ mesa-patched/src/gallium/targets/opencl/meson.build	2018-03-28 11:28:56.345996522 +0200
+@@ -20,7 +20,6 @@
+ 
+ opencl_link_args = []
+ opencl_link_deps = []
+-opencl_version = '1.0'
+ 
+ if with_ld_version_script
+   opencl_link_args += [
+@@ -55,14 +54,14 @@
+     cpp.find_library('clangLex', dirs : llvm_libdir),
+     cpp.find_library('clangBasic', dirs : llvm_libdir),
+   ],
+-  version : opencl_version,
++  version : '1.0.0',
+   install : true,
+ )
+ 
+ if with_opencl_icd
+   _config = configuration_data()
+   _config.set('OPENCL_LIBNAME', 'MesaOpenCL')
+-  _config.set('OPENCL_VERSION', opencl_version)
++  _config.set('OPENCL_VERSION', '1.0')
+   configure_file(
+     configuration : _config,
+     input : 'mesa.icd.in',
+diff -u -r mesa/src/gallium/targets/xa/meson.build mesa-patched/src/gallium/targets/xa/meson.build
+--- mesa/src/gallium/targets/xa/meson.build	2018-03-27 19:35:15.000000000 +0200
++++ mesa-patched/src/gallium/targets/xa/meson.build	2018-03-28 11:10:32.110287167 +0200
+@@ -49,6 +49,7 @@
+   dependencies : [
+     dep_thread, driver_nouveau, driver_i915, driver_svga, driver_freedreno,
+   ],
++  version : '2.3.0',
+   install : true,
+ )
+ 



More information about the arch-commits mailing list