[oe] [PATCH] mutter: add patch from upstream to fix build with mesa >= 20.0.x

Andreas Müller schnitzeltony at gmail.com
Sun Mar 8 21:06:30 UTC 2020


Fixes:
| FAILED: cogl/cogl/d9c41d2@@mutter-cogl-5 at sha/winsys_cogl-winsys-egl.c.o
| arm-mortsgna-linux-gnueabi-gcc -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot -Icogl/cogl/d9c41d2@@mutter-cogl-5 at sha -Icogl/cogl -I../mutter-3.34.4/cogl/cogl -Icogl -I../mutter-3.34.4/cogl -I/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot/usr/include/glib-2.0 -I/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot/usr/lib/glib-2.0/include -I/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot/usr/include/libdrm -I/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot/usr/include/cairo -I/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot/usr/include/pixman-1 -I/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot/usr/include/uuid -I/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot/usr/include/freetype2 -I/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot/usr/include/libpng16 -I/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot/usr/include/gdk-pixbuf-2.0 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -O2 -g -feliminate-unused-debug-types -fmacro-prefix-map=/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0=/usr/src/debug/mutter/3.34.4-r0 -fdebug-prefix-map=/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0=/usr/src/debug/mutter/3.34.4-r0 -fdebug-prefix-map=/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot= -fdebug-prefix-map=/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot-native= -fPIC -pthread '-DCOGL_LOCALEDIR="/usr/share/locale"' -DCOGL_COMPILATION '-DCOGL_GL_LIBNAME="libGL.so.1"' '-DCOGL_GLES2_LIBNAME="libGLESv2.so"' -MD -MQ 'cogl/cogl/d9c41d2@@mutter-cogl-5 at sha/winsys_cogl-winsys-egl.c.o' -MF 'cogl/cogl/d9c41d2@@mutter-cogl-5 at sha/winsys_cogl-winsys-egl.c.o.d' -o 'cogl/cogl/d9c41d2@@mutter-cogl-5 at sha/winsys_cogl-winsys-egl.c.o' -c ../mutter-3.34.4/cogl/cogl/winsys/cogl-winsys-egl.c
| ../mutter-3.34.4/cogl/cogl/winsys/cogl-winsys-egl.c: In function '_cogl_winsys_display_setup':
| ../mutter-3.34.4/cogl/cogl/winsys/cogl-winsys-egl.c:467:23: error: 'CoglRendererEGL' {aka 'struct _CoglRendererEGL'} has no member named 'pf_eglBindWaylandDisplay'
|   467 |       if (egl_renderer->pf_eglBindWaylandDisplay)
|       |                       ^~
| ../mutter-3.34.4/cogl/cogl/winsys/cogl-winsys-egl.c:468:14: error: 'CoglRendererEGL' {aka 'struct _CoglRendererEGL'} has no member named 'pf_eglBindWaylandDisplay'
|   468 |  egl_renderer->pf_eglBindWaylandDisplay (egl_renderer->edpy,
|       |              ^~
| ../mutter-3.34.4/cogl/cogl/winsys/cogl-winsys-egl.c: In function '_cogl_egl_create_image':
| ../mutter-3.34.4/cogl/cogl/winsys/cogl-winsys-egl.c:902:17: error: 'EGL_WAYLAND_BUFFER_WL' undeclared (first use in this function)
|   902 |   if (target == EGL_WAYLAND_BUFFER_WL)
|       |                 ^~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Andreas Müller <schnitzeltony at gmail.com>
---
 .../0001-EGL-Include-EGL-eglmesaext.h.patch   | 72 +++++++++++++++++++
 .../recipes-gnome/mutter/mutter_3.34.4.bb     |  1 +
 2 files changed, 73 insertions(+)
 create mode 100644 meta-gnome/recipes-gnome/mutter/mutter/0001-EGL-Include-EGL-eglmesaext.h.patch

diff --git a/meta-gnome/recipes-gnome/mutter/mutter/0001-EGL-Include-EGL-eglmesaext.h.patch b/meta-gnome/recipes-gnome/mutter/mutter/0001-EGL-Include-EGL-eglmesaext.h.patch
new file mode 100644
index 000000000..b4fd03983
--- /dev/null
+++ b/meta-gnome/recipes-gnome/mutter/mutter/0001-EGL-Include-EGL-eglmesaext.h.patch
@@ -0,0 +1,72 @@
+From a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
+Date: Sun, 20 Oct 2019 12:04:31 +0200
+Subject: [PATCH] EGL: Include EGL/eglmesaext.h
+
+The eglext.h shipped by libglvnd does not include the Mesa extensions,
+unlike the header shipped in Mesa.
+
+Fixes https://gitlab.gnome.org/GNOME/mutter/issues/876
+
+Upstream-Status: Applied [1]
+
+[1] https://gitlab.gnome.org/GNOME/mutter/-/commit/a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90
+---
+ cogl/cogl/meson.build       | 2 +-
+ src/backends/meta-egl-ext.h | 1 +
+ src/backends/meta-egl.c     | 1 +
+ src/backends/meta-egl.h     | 1 +
+ 4 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/cogl/cogl/meson.build b/cogl/cogl/meson.build
+index 261955796..b0e66bff3 100644
+--- a/cogl/cogl/meson.build
++++ b/cogl/cogl/meson.build
+@@ -48,7 +48,7 @@ cogl_gl_header_h = configure_file(
+ built_headers += [cogl_gl_header_h]
+ 
+ if have_egl
+-  cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>'
++  cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>\n#include <EGL/eglmesaext.h>'
+ else
+   cogl_egl_includes_string = ''
+ endif
+diff --git a/src/backends/meta-egl-ext.h b/src/backends/meta-egl-ext.h
+index 8705e7d5b..db0b74f76 100644
+--- a/src/backends/meta-egl-ext.h
++++ b/src/backends/meta-egl-ext.h
+@@ -29,6 +29,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ 
+ /*
+  * This is a little different to the tests shipped with EGL implementations,
+diff --git a/src/backends/meta-egl.c b/src/backends/meta-egl.c
+index 6554be935..fdeff4f77 100644
+--- a/src/backends/meta-egl.c
++++ b/src/backends/meta-egl.c
+@@ -27,6 +27,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <gio/gio.h>
+ #include <glib.h>
+ #include <glib-object.h>
+diff --git a/src/backends/meta-egl.h b/src/backends/meta-egl.h
+index f2a816445..4591e7d85 100644
+--- a/src/backends/meta-egl.h
++++ b/src/backends/meta-egl.h
+@@ -28,6 +28,7 @@
+ 
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
++#include <EGL/eglmesaext.h>
+ #include <glib-object.h>
+ 
+ #define META_EGL_ERROR meta_egl_error_quark ()
+-- 
+2.21.1
+
diff --git a/meta-gnome/recipes-gnome/mutter/mutter_3.34.4.bb b/meta-gnome/recipes-gnome/mutter/mutter_3.34.4.bb
index b4ddc5dad..7979802d2 100644
--- a/meta-gnome/recipes-gnome/mutter/mutter_3.34.4.bb
+++ b/meta-gnome/recipes-gnome/mutter/mutter_3.34.4.bb
@@ -24,6 +24,7 @@ inherit gnomebase gsettings gobject-introspection gettext upstream-version-is-ev
 
 SRC_URI[archive.md5sum] = "de19a6de98a2250dd7efdfca14359e39"
 SRC_URI[archive.sha256sum] = "0134513515f605dd0858154d0b54d2e23c5779d52590533e266d407251e20ba2"
+SRC_URI += "file://0001-EGL-Include-EGL-eglmesaext.h.patch"
 
 # x11 is still manadatory - see meson.build
 REQUIRED_DISTRO_FEATURES = "x11"
-- 
2.21.1



More information about the Openembedded-devel mailing list