[arch-commits] Commit in mesa/trunk (PKGBUILD glesv2.pc glvnd.patch)

Laurent Carlier lcarlier at archlinux.org
Thu Sep 26 10:06:52 UTC 2019


    Date: Thursday, September 26, 2019 @ 10:06:51
  Author: lcarlier
Revision: 363444

upgpkg: mesa 19.2.0-1

upstream update 1.2.0

Added:
  mesa/trunk/glvnd.patch
Modified:
  mesa/trunk/PKGBUILD
Deleted:
  mesa/trunk/glesv2.pc

-------------+
 PKGBUILD    |   17 +++---
 glesv2.pc   |   10 ---
 glvnd.patch |  148 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 158 insertions(+), 17 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2019-09-26 09:57:35 UTC (rev 363443)
+++ PKGBUILD	2019-09-26 10:06:51 UTC (rev 363444)
@@ -4,7 +4,7 @@
 pkgbase=mesa
 pkgname=('vulkan-mesa-layer' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'libva-mesa-driver' 'mesa-vdpau' 'mesa')
 pkgdesc="An open-source implementation of the OpenGL specification"
-pkgver=19.1.7
+pkgver=19.2.0
 pkgrel=1
 arch=('x86_64')
 makedepends=('python-mako' 'libxml2' 'libx11' 'glproto' 'libdrm' 'dri2proto' 'dri3proto' 'presentproto' 
@@ -15,11 +15,11 @@
 license=('custom')
 source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
         LICENSE
-        glesv2.pc)
-sha512sums=('0865b5f91e5daa00e1da2b3d8b65fe5d2ff6332372bf8fec7d671d05d8d64ec5a7abea1858cdfc506c76b7226d2bea0af3426565f156b796d8e0f949ea33dc15'
+        glvnd.patch)
+sha512sums=('7278bbfba9c29fe91d1959ff1a48422e917db85287460523d12ae8c6d7f49f76e9636bf4c0d8d7d89e5569b3c67135f1b23b8f6c9d52d39413d8ec22e3bb40f0'
             'SKIP'
             'f9f0d0ccf166fe6cb684478b6f1e1ab1f2850431c06aa041738563eb1808a004e52cdec823c103c9e180f03ffc083e95974d291353f0220fe52ae6d4897fecc7'
-            'd3adb2081c945df701d2e0ad0ecd19f96ebffaba9878da31bf670b1b591a7d9d5895f4b10cda1f9dbf51e551baa8dda5d061e61256225b464eeec34f29141dff')
+            '3e5746dcd493bff3f04b26de6168b15d0f161de62c1c6657106b61cbb1ad4925cbf3a691d5055491e759f88dbe0362dc909e7d726f87528980662f26ceb6dcbc')
 validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D'  # Emil Velikov <emil.l.velikov at gmail.com>
               '946D09B5E4C9845E63075FF1D961C596A7203456'  # Andres Gomez <tanty at igalia.com>
               'E3E8F480C52ADD73B278EE78E1ECBE07D7D70895'  # Juan Antonio Suárez Romero (Igalia, S.L.) <jasuarez at igalia.com>
@@ -26,6 +26,12 @@
               'A5CC9FEC93F2F837CB044912336909B6B25FADFA'  # Juan A. Suarez Romero <jasuarez at igalia.com>
               '71C4B75620BC75708B4BDB254C95FAAB3EB073EC') # Dylan Baker <dylan at pnwbakers.com>
 
+prepare() {
+  cd mesa-$pkgver
+
+  patch -Np1 -i ${srcdir}/glvnd.patch
+}
+
 build() {
   arch-meson mesa-$pkgver build \
     -D b_lto=false \
@@ -182,8 +188,5 @@
   # make sure there are no files left to install
   find fakeinstall -depth -print0 | xargs -0 rmdir
 
-  # bring back missing glesv2.pc
-  install -m644 -Dt "${pkgdir}"/usr/lib/pkgconfig "${srcdir}"/glesv2.pc
-
   install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE
 }

Deleted: glesv2.pc
===================================================================
--- glesv2.pc	2019-09-26 09:57:35 UTC (rev 363443)
+++ glesv2.pc	2019-09-26 10:06:51 UTC (rev 363444)
@@ -1,10 +0,0 @@
-prefix=/usr
-libdir=${prefix}/lib
-includedir=${prefix}/include
-
-Name: glesv2
-Description: Mesa OpenGL ES 2.0 library
-Version: 19.1.0
-Libs: -L${libdir} -lGLESv2
-Libs.private: -lpthread -pthread -lm -ldl
-Cflags: -I${includedir}

Added: glvnd.patch
===================================================================
--- glvnd.patch	                        (rev 0)
+++ glvnd.patch	2019-09-26 10:06:51 UTC (rev 363444)
@@ -0,0 +1,148 @@
+From fafd20f67dec9f5891838435ecde1dedb77ab742 Mon Sep 17 00:00:00 2001
+From: Dylan Baker <dylan at pnwbakers.com>
+Date: Wed, 25 Sep 2019 23:25:27 +0000
+Subject: [PATCH] meson: fix logic for generating .pc files with old glvnd
+
+We want to generate PC files for non-glvnd builds and for builds with
+old glvnd, but the current logic doesn't do that, it builds them
+unconditionally, and for GLES it builds the shared libraries, which is
+also not what we want. This does not generate .pc files for gles1 or
+gles2. Which it we weren't doing before either, making this not a
+regression but a return to status-quo.o
+
+Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1838
+Fixes: 93df862b6affb6b8507e40601212a58012bfa873
+       ("meson: re-add incorrect pkg-config files with GLVND for backward compatibility")
+Reviewed-by: Matt Turner <mattst88 at gmail.com>
+---
+ meson.build          |  9 +++++----
+ src/egl/meson.build  | 30 ++++++++++++++++--------------
+ src/mapi/meson.build |  2 +-
+ src/meson.build      |  4 ++--
+ 4 files changed, 24 insertions(+), 21 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 0e46fde5edc..da4a07538df 100644
+--- a/meson.build
++++ b/meson.build
+@@ -100,7 +100,7 @@ endif
+ 
+ # shared-glapi is required if at least two OpenGL APIs are being built
+ if not with_shared_glapi
+-  if ((with_gles1 == 'true' and with_gles2 == 'true') or 
++  if ((with_gles1 == 'true' and with_gles2 == 'true') or
+       (with_gles1 == 'true' and with_opengl) or
+       (with_gles2 == 'true' and with_opengl))
+     error('shared-glapi required for building two or more of OpenGL, OpenGL ES 1.x, OpenGL ES 2.x')
+@@ -397,7 +397,7 @@ endif
+ if with_glx != 'disabled'
+   if not (with_platform_x11 and with_any_opengl)
+     error('Cannot build GLX support without X11 platform support and at least one OpenGL API')
+-  elif with_glx == 'gallium-xlib' 
++  elif with_glx == 'gallium-xlib'
+     if not with_gallium
+       error('Gallium-xlib based GLX requires at least one gallium driver')
+     elif not with_gallium_softpipe
+@@ -405,7 +405,7 @@ if with_glx != 'disabled'
+     elif with_dri
+       error('gallium-xlib conflicts with any dri driver')
+     endif
+-  elif with_glx == 'xlib' 
++  elif with_glx == 'xlib'
+     if with_dri
+       error('xlib conflicts with any dri driver')
+     endif
+@@ -1326,6 +1326,7 @@ else
+ endif
+ 
+ dep_glvnd = null_dep
++glvnd_missing_pc_files = false
+ if with_glvnd
+   dep_glvnd = dependency('libglvnd', version : '>= 0.2.0')
+   # GLVND until commit 0dfaea2bcb7cdcc785f9 ("Add pkg-config files for EGL, GL,
+@@ -1462,7 +1463,7 @@ if with_platform_x11
+   if with_glx == 'dri' or with_glx == 'gallium-xlib'
+     dep_glproto = dependency('glproto', version : '>= 1.4.14')
+   endif
+-  if with_glx == 'dri' 
++  if with_glx == 'dri'
+     if with_dri_platform == 'drm'
+       dep_dri2proto = dependency('dri2proto', version : '>= 2.8')
+       dep_xxf86vm = dependency('xxf86vm')
+diff --git a/src/egl/meson.build b/src/egl/meson.build
+index 7038a68e955..7d738e2ebd1 100644
+--- a/src/egl/meson.build
++++ b/src/egl/meson.build
+@@ -176,21 +176,23 @@ libegl = shared_library(
+ # If using glvnd the pkg-config header should not point to EGL_mesa, it should
+ # point to EGL. glvnd is only available on unix like platforms so adding -l
+ # should be safe here
+-if with_glvnd and glvnd_missing_pc_files
+-  _egl = '-L${libdir} -lEGL'
+-else
+-  _egl = libegl
+-endif
++if not with_glvnd or glvnd_missing_pc_files
++  if glvnd_missing_pc_files
++    _egl = '-L${libdir} -lEGL'
++  else
++    _egl = libegl
++  endif
+ 
+-pkg.generate(
+-  name : 'egl',
+-  description : 'Mesa EGL Library',
+-  version : meson.project_version(),
+-  libraries : _egl,
+-  libraries_private: gl_priv_libs,
+-  requires_private : gl_priv_reqs,
+-  extra_cflags : gl_pkgconfig_c_flags,
+-)
++  pkg.generate(
++    name : 'egl',
++    description : 'Mesa EGL Library',
++    version : meson.project_version(),
++    libraries : _egl,
++    libraries_private: gl_priv_libs,
++    requires_private : gl_priv_reqs,
++    extra_cflags : gl_pkgconfig_c_flags,
++  )
++endif
+ 
+ if with_tests and prog_nm.found()
+   if with_glvnd
+diff --git a/src/mapi/meson.build b/src/mapi/meson.build
+index 39c1dba7ce0..2c79a04f1df 100644
+--- a/src/mapi/meson.build
++++ b/src/mapi/meson.build
+@@ -35,7 +35,7 @@ if with_shared_glapi
+ else
+   libglapi = []
+ endif
+-if not with_glvnd or glvnd_missing_pc_files
++if not with_glvnd
+   if with_gles1
+     subdir('es1api')
+   endif
+diff --git a/src/meson.build b/src/meson.build
+index ddbcd7f3ae4..d01f84c0d46 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -111,12 +111,12 @@ endif
+ 
+ # This must be after at least mesa, glx, and gallium, since libgl will be
+ # defined in one of those subdirs depending on the glx provider.
+-if with_glx != 'disabled'
++if with_glx != 'disabled' and (not with_glvnd or glvnd_missing_pc_files)
+   # If using glvnd the pkg-config header should not point to GL_mesa, it should
+   # point to GL. glvnd is only available on unix like platforms so adding -l
+   # should be safe here
+   # TODO: in the glvnd case glvnd itself should really be providing this.
+-  if with_glvnd and glvnd_missing_pc_files
++  if glvnd_missing_pc_files
+     _gl = '-L${libdir} -lGL'
+   else
+     _gl = libgl
+-- 
+2.22.0
+


More information about the arch-commits mailing list