public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
* [kirkstone] Upgrade gtk+3 3.24.34 -> 3.24.51
@ 2025-11-03  8:21 Jörg Sommer
  2025-11-03  8:21 ` [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35 Jörg Sommer
  2025-11-03 14:40 ` [OE-core] [kirkstone] Upgrade gtk+3 3.24.34 " Steve Sakoman
  0 siblings, 2 replies; 25+ messages in thread
From: Jörg Sommer @ 2025-11-03  8:21 UTC (permalink / raw)
  To: openembedded-core

The current version 3.24.34 fails to build gtk+3-native with Debian 13:

../../gtk+-3.24.34/gtk/gtklabel.c: In function ‘gtk_label_style_updated’:
../../gtk+-3.24.34/gtk/gtklabel.c:4235:32: error: passing argument 1 of ‘gtk_widget_queue_resize’ from incompatible pointer type [-Wincompatible-pointer-types]
 4235 |       gtk_widget_queue_resize (label);
      |                                ^~~~~
      |                                |
      |                                GtkLabel * {aka struct _GtkLabel *}
In file included from ../../gtk+-3.24.34/gtk/deprecated/gtkmisc.h:33,
                 from ../../gtk+-3.24.34/gtk/gtklabel.h:32,
                 from ../../gtk+-3.24.34/gtk/gtklabel.c:30:
../../gtk+-3.24.34/gtk/gtkwidget.h:663:65: note: expected ‘GtkWidget *’ {aka ‘struct _GtkWidget *’} but argument is of type ‘GtkLabel *’ {aka ‘struct _GtkLabel *’}
  663 | void       gtk_widget_queue_resize        (GtkWidget           *widget);
      |                                            ~~~~~~~~~~~~~~~~~~~~~^~~~~~

This was fixed somewhere between 3.24.34 and 3.24.51. Therefore, upgrade the
recipe with the commits from master.

 ...Do-not-try-to-initialize-GL-without-libGL.patch |  57 --
 .../0003-Add-disable-opengl-configure-option.patch | 872 ---------------------
 meta/recipes-gnome/gtk+/gtk+3/CVE-2024-6655.patch  |  39 -
 meta/recipes-gnome/gtk+/gtk+3/link_fribidi.patch   |  19 -
 meta/recipes-gnome/gtk+/gtk+3/opengl.patch         | 747 ++++++++++++++++++
 meta/recipes-gnome/gtk+/gtk+3_3.24.34.bb           |  18 -
 .../gtk+/{gtk+3.inc => gtk+3_3.24.51.bb}           |  66 +-
 7 files changed, 782 insertions(+), 1036 deletions(-)



^ permalink raw reply	[flat|nested] 25+ messages in thread

* [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35
  2025-11-03  8:21 [kirkstone] Upgrade gtk+3 3.24.34 -> 3.24.51 Jörg Sommer
@ 2025-11-03  8:21 ` Jörg Sommer
  2025-11-03  8:21   ` [kirkstone][PATCH 02/19] gtk+3: port to Meson Jörg Sommer
                     ` (17 more replies)
  2025-11-03 14:40 ` [OE-core] [kirkstone] Upgrade gtk+3 3.24.34 " Steve Sakoman
  1 sibling, 18 replies; 25+ messages in thread
From: Jörg Sommer @ 2025-11-03  8:21 UTC (permalink / raw)
  To: openembedded-core, ross.burton, alexandre.belloni, richard.purdie,
	joerg.sommer
  Cc: Ross Burton, Alexandre Belloni, Richard Purdie, Jörg Sommer

From: Ross Burton <ross.burton@arm.com>

The gtktypefuncs.c removal is obsolete as that file isn't in the tarball
anymore, so remove it.

However the wayland-scanner files are still in the tarball despite
efforts to stop this, so generalise the removal to ensure it covers all
files which may be affected.  Further investigation will be needed to
see if this is still an issue.

Rebase 0003-Add-disable-opengl-configure-option.patch.

(From OE-Core rev: cf5c5b4b83642ea44b21d29e7c59342666fbda6d)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cherry-pick-of: 6aa9011ab446b83496b4e682869bd000e69d45e4
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
---
 meta/recipes-gnome/gtk+/gtk+3.inc             |  7 +-
 ...-Add-disable-opengl-configure-option.patch | 86 ++++++++++---------
 .../{gtk+3_3.24.34.bb => gtk+3_3.24.35.bb}    |  2 +-
 3 files changed, 46 insertions(+), 49 deletions(-)
 rename meta/recipes-gnome/gtk+/{gtk+3_3.24.34.bb => gtk+3_3.24.35.bb} (89%)

diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc b/meta/recipes-gnome/gtk+/gtk+3.inc
index 7d50d7bd2e..5b7b73ac8d 100644
--- a/meta/recipes-gnome/gtk+/gtk+3.inc
+++ b/meta/recipes-gnome/gtk+/gtk+3.inc
@@ -27,15 +27,10 @@ ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 export PKG_CONFIG_FOR_BUILD = "${STAGING_BINDIR_NATIVE}/pkg-config-native"
 
 do_configure:prepend() {
-    #delete a file that will get confused with generated one in ${B}
-    rm -f ${S}/gtk/gtktypefuncs.c
-
     # These files are generated by wayland-scanner but will race over modification
     # time between the copies in the sysroot from wayland-protocols and the copy
     # in the source tree. Solve the race by deleting so they need to be regenerated.
-    # 3.24.22 will not be shipping these files so this can be deleted then:
-    # https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2183
-    rm -f ${S}/modules/input/text-input-unstable-v3*.[ch]
+    rm -f ${S}/modules/input/*-text-input-*.[ch]
 }
 
 EXTRA_OECONF += " \
diff --git a/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch b/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch
index 35cbab8761..fe67144536 100644
--- a/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch
+++ b/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch
@@ -1,4 +1,4 @@
-From eef50c94587fc30cd624adb5eb213eb9fa663dc1 Mon Sep 17 00:00:00 2001
+From e59cb71740ff70022bb2d9bd3685a1d77b43cac0 Mon Sep 17 00:00:00 2001
 From: Jussi Kukkonen <jussi.kukkonen@intel.com>
 Date: Tue, 21 Jun 2016 15:11:39 +0300
 Subject: [PATCH] Add --disable-opengl configure option
@@ -19,13 +19,12 @@ as it actually will depend on OpenGL.
 
 Upstream-Status: Inappropriate [Evil eye expected from upstream]
 Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-
 ---
  configure.ac                               | 13 ++++-
  demos/gtk-demo/glarea.c                    | 14 ++++++
  docs/tools/Makefile.am                     |  9 +++-
  docs/tools/widgets.c                       |  4 +-
- gdk/Makefile.am                            |  8 ++-
+ gdk/gdk-sources.inc                        |  8 ++-
  gdk/gdkdisplay.c                           |  4 +-
  gdk/gdkgl.c                                | 10 ++++
  gdk/gdkglcontext.c                         |  6 +++
@@ -47,7 +46,7 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
  create mode 100644 gdk/x11/gdkx-without-gl-context.h
 
 diff --git a/configure.ac b/configure.ac
-index 851bcbf..6cbf6a2 100644
+index 9ed65e5f8a..70c68364ff 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -346,6 +346,15 @@ AC_ARG_ENABLE(cloudproviders,
@@ -66,7 +65,7 @@ index 851bcbf..6cbf6a2 100644
  AC_ARG_ENABLE(glx,
                [AS_HELP_STRING([--enable-glx],
                                [When enabled Gdk will try to initialize GLX])])
-@@ -1345,7 +1354,7 @@ CFLAGS="$saved_cflags"
+@@ -1367,7 +1376,7 @@ CFLAGS="$saved_cflags"
  LDFLAGS="$saved_ldflags"
  
  GDK_PACKAGES="$PANGO_PACKAGES gdk-pixbuf-2.0 >= gdk_pixbuf_required_version cairo >= cairo_required_version cairo-gobject >= cairo_required_version"
@@ -75,7 +74,7 @@ index 851bcbf..6cbf6a2 100644
  
  PKG_CHECK_MODULES(GDK_DEP, $GDK_PACKAGES $GDK_PRIVATE_PACKAGES)
  GDK_DEP_LIBS="$GDK_EXTRA_LIBS $GDK_DEP_LIBS $MATH_LIB"
-@@ -1379,7 +1388,7 @@ fi
+@@ -1401,7 +1410,7 @@ fi
  PKG_CHECK_MODULES(ATK, $ATK_PACKAGES)
  
  GTK_PACKAGES="atk >= atk_required_version cairo >= cairo_required_version cairo-gobject >= cairo_required_version gdk-pixbuf-2.0 >= gdk_pixbuf_required_version gio-2.0 >= glib_required_version"
@@ -85,7 +84,7 @@ index 851bcbf..6cbf6a2 100644
    GTK_PRIVATE_PACKAGES="$GTK_PRIVATE_PACKAGES pangoft2"
  fi
 diff --git a/demos/gtk-demo/glarea.c b/demos/gtk-demo/glarea.c
-index b51e4ae..82409c7 100644
+index b51e4ae1fe..82409c7358 100644
 --- a/demos/gtk-demo/glarea.c
 +++ b/demos/gtk-demo/glarea.c
 @@ -3,9 +3,12 @@
@@ -168,7 +167,7 @@ index b51e4ae..82409c7 100644
    return TRUE;
  }
 diff --git a/docs/tools/Makefile.am b/docs/tools/Makefile.am
-index bec43e3..189e8fc 100644
+index bec43e3a55..189e8fc926 100644
 --- a/docs/tools/Makefile.am
 +++ b/docs/tools/Makefile.am
 @@ -9,13 +9,18 @@ AM_CPPFLAGS = \
@@ -193,7 +192,7 @@ index bec43e3..189e8fc 100644
  	$(GDK_DEP_LIBS)			\
  	-lm
 diff --git a/docs/tools/widgets.c b/docs/tools/widgets.c
-index 932daf1..54239d6 100644
+index 932daf1746..54239d6129 100644
 --- a/docs/tools/widgets.c
 +++ b/docs/tools/widgets.c
 @@ -1526,9 +1526,11 @@ create_gl_area (void)
@@ -209,11 +208,11 @@ index 932daf1..54239d6 100644
    info = new_widget_info ("glarea", widget, MEDIUM);
  
    return info;
-diff --git a/gdk/Makefile.am b/gdk/Makefile.am
-index 710a548..b45f631 100644
---- a/gdk/Makefile.am
-+++ b/gdk/Makefile.am
-@@ -274,7 +274,6 @@ x11_introspection_files = 		\
+diff --git a/gdk/gdk-sources.inc b/gdk/gdk-sources.inc
+index 9235edb6cf..349acb8f4c 100644
+--- a/gdk/gdk-sources.inc
++++ b/gdk/gdk-sources.inc
+@@ -146,7 +146,6 @@ x11_introspection_files = 		\
  	x11/gdkeventsource.c		\
  	x11/gdkeventtranslator.c	\
  	x11/gdkgeometry-x11.c		\
@@ -221,7 +220,7 @@ index 710a548..b45f631 100644
  	x11/gdkkeys-x11.c		\
  	x11/gdkmain-x11.c		\
  	x11/gdkmonitor-x11.c		\
-@@ -300,7 +299,6 @@ x11_introspection_files = 		\
+@@ -172,7 +171,6 @@ x11_introspection_files = 		\
  	x11/gdkx11display.h		\
  	x11/gdkx11displaymanager.h	\
  	x11/gdkx11dnd.h			\
@@ -229,7 +228,7 @@ index 710a548..b45f631 100644
  	x11/gdkx11keys.h		\
  	x11/gdkx11monitor.h		\
  	x11/gdkx11property.h		\
-@@ -310,6 +308,12 @@ x11_introspection_files = 		\
+@@ -182,6 +180,12 @@ x11_introspection_files = 		\
  	x11/gdkx11visual.h		\
  	x11/gdkx11window.h
  
@@ -239,11 +238,11 @@ index 710a548..b45f631 100644
 +	x11/gdkx11glcontext.h
 +endif
 +
- GdkX11-3.0.gir: libgdk-3.la Gdk-3.0.gir Makefile
- GdkX11_3_0_gir_SCANNERFLAGS = 		\
- 	--identifier-prefix=Gdk		\
+ w32_introspection_files =		\
+ 	win32/gdkcursor-win32.c		\
+ 	win32/gdkdevicemanager-win32.c	\
 diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c
-index 748f548..911ab2a 100644
+index 748f54860c..911ab2a65f 100644
 --- a/gdk/gdkdisplay.c
 +++ b/gdk/gdkdisplay.c
 @@ -2420,7 +2420,9 @@ gboolean
@@ -258,7 +257,7 @@ index 748f548..911ab2a 100644
  
  GdkRenderingMode
 diff --git a/gdk/gdkgl.c b/gdk/gdkgl.c
-index 9690077..55f85ef 100644
+index 9690077cc2..55f85ef605 100644
 --- a/gdk/gdkgl.c
 +++ b/gdk/gdkgl.c
 @@ -26,7 +26,9 @@
@@ -334,7 +333,7 @@ index 9690077..55f85ef 100644
 +#endif
  }
 diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c
-index 3b23639..1f04f8e 100644
+index 3b23639e1c..1f04f8e0b2 100644
 --- a/gdk/gdkglcontext.c
 +++ b/gdk/gdkglcontext.c
 @@ -85,7 +85,9 @@
@@ -380,7 +379,7 @@ index 3b23639..1f04f8e 100644
  
  /**
 diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
-index 2de8ba4..1883a79 100644
+index 727b0cf1f4..d4d91b0d16 100644
 --- a/gdk/gdkwindow.c
 +++ b/gdk/gdkwindow.c
 @@ -45,7 +45,9 @@
@@ -440,7 +439,7 @@ index 2de8ba4..1883a79 100644
            cairo_region_destroy (opaque_region);
  
 diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am
-index 32b1f24..6352313 100644
+index 32b1f24434..63523130ce 100644
 --- a/gdk/x11/Makefile.am
 +++ b/gdk/x11/Makefile.am
 @@ -40,8 +40,6 @@ libgdk_x11_la_SOURCES = 	\
@@ -513,7 +512,7 @@ index 32b1f24..6352313 100644
 +
  -include $(top_srcdir)/git.mk
 diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
-index 7e08f47..30fd7b6 100644
+index 7e08f472cc..30fd7b6089 100644
 --- a/gdk/x11/gdkdisplay-x11.c
 +++ b/gdk/x11/gdkdisplay-x11.c
 @@ -37,7 +37,9 @@
@@ -538,10 +537,10 @@ index 7e08f47..30fd7b6 100644
    display_class->get_default_seat = gdk_x11_display_get_default_seat;
  
 diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c
-index bb4df05..46f5349 100644
+index c2b7480c48..114fd4c67a 100644
 --- a/gdk/x11/gdkscreen-x11.c
 +++ b/gdk/x11/gdkscreen-x11.c
-@@ -1827,3 +1827,8 @@ gdk_x11_screen_get_current_desktop (GdkScreen *screen)
+@@ -1842,3 +1842,8 @@ gdk_x11_screen_get_current_desktop (GdkScreen *screen)
  {
    return get_netwm_cardinal_property (screen, "_NET_CURRENT_DESKTOP");
  }
@@ -551,7 +550,7 @@ index bb4df05..46f5349 100644
 +void _gdk_x11_screen_update_visuals_for_gl (GdkScreen *screen) {}
 +#endif
 diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
-index 721d9bb..8e87acc 100644
+index 194bc82e29..0302bb68d4 100644
 --- a/gdk/x11/gdkwindow-x11.c
 +++ b/gdk/x11/gdkwindow-x11.c
 @@ -36,7 +36,9 @@
@@ -564,7 +563,7 @@ index 721d9bb..8e87acc 100644
  #include "gdkprivate-x11.h"
  #include "gdk-private.h"
  
-@@ -5881,7 +5883,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
+@@ -5888,7 +5890,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
    impl_class->set_opaque_region = gdk_x11_window_set_opaque_region;
    impl_class->set_shadow_width = gdk_x11_window_set_shadow_width;
    impl_class->show_window_menu = gdk_x11_window_show_window_menu;
@@ -575,7 +574,7 @@ index 721d9bb..8e87acc 100644
    impl_class->get_unscaled_size = gdk_x11_window_get_unscaled_size;
  }
 diff --git a/gdk/x11/gdkx-autocleanups.h b/gdk/x11/gdkx-autocleanups.h
-index edb0ea7..a317d61 100644
+index edb0ea7dbf..a317d61cca 100644
 --- a/gdk/x11/gdkx-autocleanups.h
 +++ b/gdk/x11/gdkx-autocleanups.h
 @@ -30,7 +30,9 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceXI2, g_object_unref)
@@ -592,7 +591,7 @@ diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx-with-gl-context.h
 similarity index 98%
 rename from gdk/x11/gdkx.h
 rename to gdk/x11/gdkx-with-gl-context.h
-index 1f64bcc..ae05fa6 100644
+index 1f64bccb6d..ae05fa6b1f 100644
 --- a/gdk/x11/gdkx.h
 +++ b/gdk/x11/gdkx-with-gl-context.h
 @@ -45,7 +45,6 @@
@@ -605,7 +604,7 @@ index 1f64bcc..ae05fa6 100644
  #include <gdk/x11/gdkx11selection.h>
 diff --git a/gdk/x11/gdkx-without-gl-context.h b/gdk/x11/gdkx-without-gl-context.h
 new file mode 100644
-index 0000000..c9e2617
+index 0000000000..c9e261720f
 --- /dev/null
 +++ b/gdk/x11/gdkx-without-gl-context.h
 @@ -0,0 +1,58 @@
@@ -668,10 +667,10 @@ index 0000000..c9e2617
 +
 +#endif /* __GDK_X_H__ */
 diff --git a/gtk/Makefile.am b/gtk/Makefile.am
-index 074fb35..4fa9eb6 100644
+index 946e72febc..b01da7f128 100644
 --- a/gtk/Makefile.am
 +++ b/gtk/Makefile.am
-@@ -1457,7 +1457,7 @@ gtktypefuncs.inc: stamp-gtktypebuiltins.h stamp-gtkprivatetypebuiltins.h $(top_s
+@@ -467,7 +467,7 @@ gtktypefuncs.inc: stamp-gtktypebuiltins.h stamp-gtkprivatetypebuiltins.h $(top_s
  	  ${CPP} $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-gtfsrc.c | \
  	  $(GREP) -o '\bg[td]k_[a-zA-Z0-9_]*_get_type\b' | \
  	  sort | uniq | \
@@ -681,7 +680,7 @@ index 074fb35..4fa9eb6 100644
  $(srcdir)/gtktestutils.c: gtktypefuncs.inc
  
 diff --git a/gtk/gtkglarea.c b/gtk/gtkglarea.c
-index 802303e..33001cf 100644
+index 802303ea9f..33001cfb61 100644
 --- a/gtk/gtkglarea.c
 +++ b/gtk/gtkglarea.c
 @@ -29,7 +29,9 @@
@@ -777,7 +776,7 @@ index 802303e..33001cf 100644
  
  static gboolean
 diff --git a/gtk/inspector/general.c b/gtk/inspector/general.c
-index 48237d1..1f9b9be 100644
+index 4fd0c3039c..a8e59ed077 100644
 --- a/gtk/inspector/general.c
 +++ b/gtk/inspector/general.c
 @@ -33,8 +33,10 @@
@@ -791,7 +790,7 @@ index 48237d1..1f9b9be 100644
  
  #ifdef GDK_WINDOWING_WIN32
  #include "win32/gdkwin32.h"
-@@ -196,6 +198,7 @@ add_label_row (GtkInspectorGeneral *gen,
+@@ -217,6 +219,7 @@ add_label_row (GtkInspectorGeneral *gen,
    gtk_size_group_add_widget (GTK_SIZE_GROUP (gen->priv->labels), label);
  }
  
@@ -799,7 +798,7 @@ index 48237d1..1f9b9be 100644
  #ifdef GDK_WINDOWING_X11
  static void
  append_glx_extension_row (GtkInspectorGeneral *gen,
-@@ -205,6 +208,7 @@ append_glx_extension_row (GtkInspectorGeneral *gen,
+@@ -226,6 +229,7 @@ append_glx_extension_row (GtkInspectorGeneral *gen,
    add_check_row (gen, GTK_LIST_BOX (gen->priv->gl_box), ext, epoxy_has_glx_extension (dpy, 0, ext), 0);
  }
  #endif
@@ -807,7 +806,7 @@ index 48237d1..1f9b9be 100644
  
  #ifdef GDK_WINDOWING_WAYLAND
  static void
-@@ -254,6 +258,7 @@ wayland_get_display (struct wl_display *wl_display)
+@@ -275,6 +279,7 @@ wayland_get_display (struct wl_display *wl_display)
  static void
  init_gl (GtkInspectorGeneral *gen)
  {
@@ -815,7 +814,7 @@ index 48237d1..1f9b9be 100644
  #ifdef GDK_WINDOWING_X11
    if (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))
      {
-@@ -280,6 +285,7 @@ init_gl (GtkInspectorGeneral *gen)
+@@ -301,6 +306,7 @@ init_gl (GtkInspectorGeneral *gen)
      }
    else
  #endif
@@ -824,7 +823,7 @@ index 48237d1..1f9b9be 100644
    if (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ()))
      {
 diff --git a/tests/Makefile.am b/tests/Makefile.am
-index f283e89..5e7180e 100644
+index f283e89831..5e7180e923 100644
 --- a/tests/Makefile.am
 +++ b/tests/Makefile.am
 @@ -80,8 +80,6 @@ noinst_PROGRAMS =  $(TEST_PROGS)	\
@@ -857,7 +856,7 @@ index f283e89..5e7180e 100644
  noinst_PROGRAMS += testforeign
  endif
 diff --git a/testsuite/gtk/objects-finalize.c b/testsuite/gtk/objects-finalize.c
-index 24540e3..e0f863a 100644
+index 24540e313f..e0f863ab6a 100644
 --- a/testsuite/gtk/objects-finalize.c
 +++ b/testsuite/gtk/objects-finalize.c
 @@ -116,7 +116,9 @@ main (int argc, char **argv)
@@ -870,3 +869,6 @@ index 24540e3..e0f863a 100644
  #endif
  	  /* Not allowed to finalize a GdkPixbufLoader without calling gdk_pixbuf_loader_close() */
  	  all_types[i] != GDK_TYPE_PIXBUF_LOADER &&
+-- 
+2.34.1
+
diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.24.34.bb b/meta/recipes-gnome/gtk+/gtk+3_3.24.35.bb
similarity index 89%
rename from meta/recipes-gnome/gtk+/gtk+3_3.24.34.bb
rename to meta/recipes-gnome/gtk+/gtk+3_3.24.35.bb
index 3e974c91e5..0b27e5c178 100644
--- a/meta/recipes-gnome/gtk+/gtk+3_3.24.34.bb
+++ b/meta/recipes-gnome/gtk+/gtk+3_3.24.35.bb
@@ -8,7 +8,7 @@ SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar
            file://link_fribidi.patch \
            file://CVE-2024-6655.patch \
            "
-SRC_URI[sha256sum] = "dbc69f90ddc821b8d1441f00374dc1da4323a2eafa9078e61edbe5eeefa852ec"
+SRC_URI[sha256sum] = "ec10fe6d712ef0b3c63b5f932639c9d1ae99fce94f500f6f06965629fef60bd1"
 
 S = "${WORKDIR}/gtk+-${PV}"
 
-- 
2.51.0



^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [kirkstone][PATCH 02/19] gtk+3: port to Meson
  2025-11-03  8:21 ` [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35 Jörg Sommer
@ 2025-11-03  8:21   ` Jörg Sommer
  2025-11-03  8:21   ` [kirkstone][PATCH 03/19] gtk+3: fix reproducible builds Jörg Sommer
                     ` (16 subsequent siblings)
  17 siblings, 0 replies; 25+ messages in thread
From: Jörg Sommer @ 2025-11-03  8:21 UTC (permalink / raw)
  To: openembedded-core, ross.burton, richard.purdie, joerg.sommer
  Cc: Ross Burton, Richard Purdie, Jörg Sommer

From: Ross Burton <ross.burton@arm.com>

GTK+ 3.24.36 will drop the autotools build, so get ahead of the curve
and switch to Meson.

The tarball is missing one meson.build file so add that explictly for
now.

(From OE-Core rev: f9b0930eab6cf89bbf80c565676c89997b610206)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cherry-pick-of: 9eb2b0bb7ab4b047acc11c3ce0034aa4def49432
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
---
 meta/recipes-gnome/gtk+/gtk+3.inc             |  34 +-
 ...t-try-to-initialize-GL-without-libGL.patch |  57 --
 ...-Add-disable-opengl-configure-option.patch | 874 ------------------
 .../recipes-gnome/gtk+/gtk+3/buildpaths.patch |  57 ++
 .../gtk+/gtk+3/link_fribidi.patch             |  19 -
 meta/recipes-gnome/gtk+/gtk+3/meson.build     |  14 +
 meta/recipes-gnome/gtk+/gtk+3/opengl.patch    | 765 +++++++++++++++
 meta/recipes-gnome/gtk+/gtk+3_3.24.35.bb      |   6 +-
 8 files changed, 851 insertions(+), 975 deletions(-)
 delete mode 100644 meta/recipes-gnome/gtk+/gtk+3/0002-Do-not-try-to-initialize-GL-without-libGL.patch
 delete mode 100644 meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch
 create mode 100644 meta/recipes-gnome/gtk+/gtk+3/buildpaths.patch
 delete mode 100644 meta/recipes-gnome/gtk+/gtk+3/link_fribidi.patch
 create mode 100644 meta/recipes-gnome/gtk+/gtk+3/meson.build
 create mode 100644 meta/recipes-gnome/gtk+/gtk+3/opengl.patch

diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc b/meta/recipes-gnome/gtk+/gtk+3.inc
index 5b7b73ac8d..1d726b5696 100644
--- a/meta/recipes-gnome/gtk+/gtk+3.inc
+++ b/meta/recipes-gnome/gtk+/gtk+3.inc
@@ -6,12 +6,11 @@ HOMEPAGE = "http://www.gtk.org"
 BUGTRACKER = "https://bugzilla.gnome.org/"
 SECTION = "libs"
 
-DEPENDS = "glib-2.0 cairo pango atk jpeg libpng gdk-pixbuf \
-           gdk-pixbuf-native"
+DEPENDS = "glib-2.0 cairo pango atk jpeg libpng gdk-pixbuf gdk-pixbuf-native"
 
 LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later & LGPL-2.1-or-later"
 
-inherit autotools gettext pkgconfig gtk-doc update-alternatives gtk-immodules-cache gsettings features_check gobject-introspection
+inherit meson gettext pkgconfig gtk-doc update-alternatives gtk-immodules-cache gsettings features_check gobject-introspection
 
 BBCLASSEXTEND = "native nativesdk"
 
@@ -22,10 +21,6 @@ UPSTREAM_CHECK_REGEX = "[^\d\.](?P<pver>3\.([1-8]?[02468])+(\.\d+)+)\.tar"
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
-# This should be in autotools.bbclass, but until something elses uses it putting
-# it here avoids rebuilding everything.
-export PKG_CONFIG_FOR_BUILD = "${STAGING_BINDIR_NATIVE}/pkg-config-native"
-
 do_configure:prepend() {
     # These files are generated by wayland-scanner but will race over modification
     # time between the copies in the sysroot from wayland-protocols and the copy
@@ -33,27 +28,21 @@ do_configure:prepend() {
     rm -f ${S}/modules/input/*-text-input-*.[ch]
 }
 
-EXTRA_OECONF += " \
-                 --disable-glibtest \
-                 --disable-xinerama \
-                 --enable-modules \
-                 ${@bb.utils.contains("DISTRO_FEATURES", "x11", "", "--disable-gtk-doc", d)} \
-                 "
+GTKDOC_MESON_OPTION = 'gtk_doc'
 
-do_compile:prepend() {
-        export GIR_EXTRA_LIBS_PATH="${B}/gdk/.libs"
-}
+EXTRA_OEMESON = "-Dxinerama=no -Dtests=false"
+EXTRA_OEMESON:append:class-native = " -Ddemos=false -Dexamples=false"
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl wayland x11', d)}"
 PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
 PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
 
-PACKAGECONFIG[x11] = "--enable-x11-backend,--disable-x11-backend,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes"
+PACKAGECONFIG[x11] = "-Dx11_backend=true,-Dx11_backend=false,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes"
 # this is provided by oe-core patch that removes epoxy/gl dependency from a X11 build
-PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,libepoxy"
-PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,wayland wayland-protocols libxkbcommon virtual/egl virtual/libgles2 wayland-native"
-PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups"
-PACKAGECONFIG[colord] = "--enable-colord,--disable-colord,colord"
+PACKAGECONFIG[opengl] = "-Dopengl=true,-Dopengl=false,libepoxy"
+PACKAGECONFIG[wayland] = "-Dwayland_backend=true,-Dwayland_backend=false,wayland wayland-protocols libxkbcommon virtual/egl virtual/libgles2 wayland-native"
+PACKAGECONFIG[cups] = "-Dprint_backends=cups,-Dprint_backends=file,cups"
+PACKAGECONFIG[colord] = "-Dcolord=yes,-Dcolord=no,colord"
 
 prepare_gtk_scripts() {
     mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0
@@ -96,7 +85,8 @@ FILES:${PN}-demo = "${bindir}/gtk3-demo \
 FILES:${PN}:append = " ${bindir}/gtk-update-icon-cache-3.0 \
                ${bindir}/gtk-query-immodules-3.0 \
                ${bindir}/gtk-launch \
-               ${datadir}/themes ${sysconfdir} ${datadir}/glib-2.0/schemas/ \
+               ${datadir}/themes ${datadir}/gtk-3.0/emoji \
+               ${sysconfdir} ${datadir}/glib-2.0/schemas/ \
                ${libdir}/gtk-3.0/${LIBV}/engines/libpixmap.so \
                ${libdir}/gtk-3.0/modules/*.so"
 
diff --git a/meta/recipes-gnome/gtk+/gtk+3/0002-Do-not-try-to-initialize-GL-without-libGL.patch b/meta/recipes-gnome/gtk+/gtk+3/0002-Do-not-try-to-initialize-GL-without-libGL.patch
deleted file mode 100644
index 80dc2d7a05..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+3/0002-Do-not-try-to-initialize-GL-without-libGL.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 6575ab0f0e8c1bba033ad1616511e37a2ec995ff Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Fri, 16 Oct 2015 16:35:16 +0300
-Subject: [PATCH] Do not try to initialize GL without libGL
-
-_gdk_x11_screen_update_visuals_for_gl() will end up calling epoxys
-GLX api which will exit() if libGL.so.1 is not present. We do not
-want that to happen and we don't want every app to have to set
-"GDK_GL=disabled" environment variable: so use #ifdef set based on
-opengl distro feature.
-
-Upstream is not interested in the fix as it is: Either epoxy should be
-fixed (to not exit) or GTK+ possibly could do some additional probing
-before calling epoxy APIs.
-
-Upstream-Status: Denied
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-
----
- configure.ac            | 6 ++++++
- gdk/x11/gdkvisual-x11.c | 5 +++++
- 2 files changed, 11 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index e9f5583..bd651bb 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -346,6 +346,12 @@ AC_ARG_ENABLE(cloudproviders,
-               [AS_HELP_STRING([--enable-cloudproviders],
-                               [enable libcloudproviders integration])],
-                               [cloudproviders_set=yes])
-+AC_ARG_ENABLE(glx,
-+              [AS_HELP_STRING([--enable-glx],
-+                              [When enabled Gdk will try to initialize GLX])])
-+AS_IF([test "x$enable_glx" != "xno"], [
-+  AC_DEFINE([HAVE_GLX], [], [GLX will be available at runtime])
-+])
- 
- AC_ARG_ENABLE(profiler,
-               [AS_HELP_STRING([--enable-profiler],
-diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c
-index 81479d8..3c8c5c0 100644
---- a/gdk/x11/gdkvisual-x11.c
-+++ b/gdk/x11/gdkvisual-x11.c
-@@ -306,7 +306,12 @@ _gdk_x11_screen_init_visuals (GdkScreen *screen)
-   /* If GL is available we want to pick better default/rgba visuals,
-      as we care about glx details such as alpha/depth/stencil depth,
-      stereo and double buffering */
-+  /* update_visuals_for_gl() will end up calling epoxy GLX api which
-+     will exit if libgl is not there: so only do this if we know GL
-+     is available */
-+#ifdef HAVE_GLX
-   _gdk_x11_screen_update_visuals_for_gl (screen);
-+#endif
- }
- 
- gint
diff --git a/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch b/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch
deleted file mode 100644
index fe67144536..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch
+++ /dev/null
@@ -1,874 +0,0 @@
-From e59cb71740ff70022bb2d9bd3685a1d77b43cac0 Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Tue, 21 Jun 2016 15:11:39 +0300
-Subject: [PATCH] Add --disable-opengl configure option
-
---disable-opengl will remove the dependency on libepoxy and on the
-OpenGL APIs. This is useful for those who want to keep using gtk+3
-without the "opengl" distro feature.
-
-GtkGLArea is still part of the API (it just doesn't work) even when
-OpenGL is disabled. GdkX11GLContext was removed from the Gtk API
-completely: that object exposes GL API elements so it had to be at
-the very least modified.
-
-The patch is _not_ great from a maintenance point of view and
-modifying the library API is also a fairly nasty thing to do.
-Next long term release (4.0) will require alternative solutions
-as it actually will depend on OpenGL.
-
-Upstream-Status: Inappropriate [Evil eye expected from upstream]
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
----
- configure.ac                               | 13 ++++-
- demos/gtk-demo/glarea.c                    | 14 ++++++
- docs/tools/Makefile.am                     |  9 +++-
- docs/tools/widgets.c                       |  4 +-
- gdk/gdk-sources.inc                        |  8 ++-
- gdk/gdkdisplay.c                           |  4 +-
- gdk/gdkgl.c                                | 10 ++++
- gdk/gdkglcontext.c                         |  6 +++
- gdk/gdkwindow.c                            | 13 +++++
- gdk/x11/Makefile.am                        | 30 +++++++++--
- gdk/x11/gdkdisplay-x11.c                   |  6 ++-
- gdk/x11/gdkscreen-x11.c                    |  5 ++
- gdk/x11/gdkwindow-x11.c                    |  4 ++
- gdk/x11/gdkx-autocleanups.h                |  2 +
- gdk/x11/{gdkx.h => gdkx-with-gl-context.h} |  1 -
- gdk/x11/gdkx-without-gl-context.h          | 58 ++++++++++++++++++++++
- gtk/Makefile.am                            |  2 +-
- gtk/gtkglarea.c                            | 20 +++++++-
- gtk/inspector/general.c                    |  6 +++
- tests/Makefile.am                          | 10 ++--
- testsuite/gtk/objects-finalize.c           |  2 +
- 21 files changed, 208 insertions(+), 19 deletions(-)
- rename gdk/x11/{gdkx.h => gdkx-with-gl-context.h} (98%)
- create mode 100644 gdk/x11/gdkx-without-gl-context.h
-
-diff --git a/configure.ac b/configure.ac
-index 9ed65e5f8a..70c68364ff 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -346,6 +346,15 @@ AC_ARG_ENABLE(cloudproviders,
-               [AS_HELP_STRING([--enable-cloudproviders],
-                               [enable libcloudproviders integration])],
-                               [cloudproviders_set=yes])
-+AC_ARG_ENABLE(opengl,
-+              [AS_HELP_STRING([--enable-opengl],
-+                              [When enabled, Gtk+ will use libepoxy and exposes GtkGLArea widget ])])
-+AS_IF([test "x$enable_opengl" != "xno"], [
-+  AC_DEFINE([HAVE_OPENGL], [1], [libepoxy and opengl APIs are available at buildtime])
-+  EPOXY_PACKAGES="epoxy >= epoxy_required_version"
-+])
-+AM_CONDITIONAL([HAVE_OPENGL],[test "x$enable_opengl" != "xno"])
-+
- AC_ARG_ENABLE(glx,
-               [AS_HELP_STRING([--enable-glx],
-                               [When enabled Gdk will try to initialize GLX])])
-@@ -1367,7 +1376,7 @@ CFLAGS="$saved_cflags"
- LDFLAGS="$saved_ldflags"
- 
- GDK_PACKAGES="$PANGO_PACKAGES gdk-pixbuf-2.0 >= gdk_pixbuf_required_version cairo >= cairo_required_version cairo-gobject >= cairo_required_version"
--GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $cairo_backends epoxy >= epoxy_required_version $CLOUDPROVIDER_PACKAGES $PROFILER_PACKAGES fribidi >= fribidi_required_version"
-+GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $cairo_backends $EPOXY_PACKAGES $CLOUDPROVIDER_PACKAGES $PROFILER_PACKAGES fribidi >= fribidi_required_version"
- 
- PKG_CHECK_MODULES(GDK_DEP, $GDK_PACKAGES $GDK_PRIVATE_PACKAGES)
- GDK_DEP_LIBS="$GDK_EXTRA_LIBS $GDK_DEP_LIBS $MATH_LIB"
-@@ -1401,7 +1410,7 @@ fi
- PKG_CHECK_MODULES(ATK, $ATK_PACKAGES)
- 
- GTK_PACKAGES="atk >= atk_required_version cairo >= cairo_required_version cairo-gobject >= cairo_required_version gdk-pixbuf-2.0 >= gdk_pixbuf_required_version gio-2.0 >= glib_required_version"
--GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES epoxy >= epoxy_required_version fribidi >= fribidi_required_version"
-+GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES $EPOXY_PACKAGES fribidi >= fribidi_required_version"
- if test "x$enable_x11_backend" = xyes -o "x$enable_wayland_backend" = xyes; then
-   GTK_PRIVATE_PACKAGES="$GTK_PRIVATE_PACKAGES pangoft2"
- fi
-diff --git a/demos/gtk-demo/glarea.c b/demos/gtk-demo/glarea.c
-index b51e4ae1fe..82409c7358 100644
---- a/demos/gtk-demo/glarea.c
-+++ b/demos/gtk-demo/glarea.c
-@@ -3,9 +3,12 @@
-  * GtkGLArea is a widget that allows custom drawing using OpenGL calls.
-  */
- 
-+#include "config.h"
- #include <math.h>
- #include <gtk/gtk.h>
-+#if HAVE_OPENGL
- #include <epoxy/gl.h>
-+#endif
- 
- static GtkWidget *demo_window = NULL;
- 
-@@ -23,6 +26,8 @@ enum {
- /* Rotation angles on each axis */
- static float rotation_angles[N_AXIS] = { 0.0 };
- 
-+#ifdef HAVE_OPENGL
-+
- /* The object we are drawing */
- static const GLfloat vertex_data[] = {
-   0.f,   0.5f,   0.f, 1.f,
-@@ -215,6 +220,7 @@ compute_mvp (float *res,
- static GLuint position_buffer;
- static GLuint program;
- static GLuint mvp_location;
-+#endif
- 
- /* We need to set up our state when we realize the GtkGLArea widget */
- static void
-@@ -241,8 +247,10 @@ realize (GtkWidget *widget)
-       fragment_path = "/glarea/glarea-gl.fs.glsl";
-     }
- 
-+#ifdef HAVE_OPENGL
-   init_buffers (&position_buffer, NULL);
-   init_shaders (vertex_path, fragment_path, &program, &mvp_location);
-+#endif
- }
- 
- /* We should tear down the state when unrealizing */
-@@ -254,10 +262,13 @@ unrealize (GtkWidget *widget)
-   if (gtk_gl_area_get_error (GTK_GL_AREA (widget)) != NULL)
-     return;
- 
-+#ifdef HAVE_OPENGL
-   glDeleteBuffers (1, &position_buffer);
-   glDeleteProgram (program);
-+#endif
- }
- 
-+#ifdef HAVE_OPENGL
- static void
- draw_triangle (void)
- {
-@@ -290,6 +301,7 @@ draw_triangle (void)
-   glBindBuffer (GL_ARRAY_BUFFER, 0);
-   glUseProgram (0);
- }
-+#endif
- 
- static gboolean
- render (GtkGLArea    *area,
-@@ -298,6 +310,7 @@ render (GtkGLArea    *area,
-   if (gtk_gl_area_get_error (area) != NULL)
-     return FALSE;
- 
-+#ifdef HAVE_OPENGL
-   /* Clear the viewport */
-   glClearColor (0.5, 0.5, 0.5, 1.0);
-   glClear (GL_COLOR_BUFFER_BIT);
-@@ -307,6 +320,7 @@ render (GtkGLArea    *area,
- 
-   /* Flush the contents of the pipeline */
-   glFlush ();
-+#endif
- 
-   return TRUE;
- }
-diff --git a/docs/tools/Makefile.am b/docs/tools/Makefile.am
-index bec43e3a55..189e8fc926 100644
---- a/docs/tools/Makefile.am
-+++ b/docs/tools/Makefile.am
-@@ -9,13 +9,18 @@ AM_CPPFLAGS = \
- 	$(GTK_DEBUG_FLAGS)		\
- 	$(GTK_DEP_CFLAGS)
- 
-+if HAVE_OPENGL
-+GEARS_LDADD = $(top_builddir)/tests/gtkgears.o
-+endif
-+
- DEPS = \
--	$(top_builddir)/gtk/libgtk-3.la
-+	$(top_builddir)/gtk/libgtk-3.la	\
-+	$(GEARS_LDADD)
- 
- LDADDS = \
- 	$(top_builddir)/gtk/libgtk-3.la	\
- 	$(top_builddir)/gdk/libgdk-3.la	\
--	$(top_builddir)/tests/gtkgears.o \
-+	$(GEARS_LDADD)			\
- 	$(GTK_DEP_LIBS)			\
- 	$(GDK_DEP_LIBS)			\
- 	-lm
-diff --git a/docs/tools/widgets.c b/docs/tools/widgets.c
-index 932daf1746..54239d6129 100644
---- a/docs/tools/widgets.c
-+++ b/docs/tools/widgets.c
-@@ -1526,9 +1526,11 @@ create_gl_area (void)
-   widget = gtk_frame_new (NULL);
-   gtk_frame_set_shadow_type (GTK_FRAME (widget), GTK_SHADOW_IN);
- 
-+#ifdef HAVE_OPENGL
-   gears = gtk_gears_new ();
-   gtk_container_add (GTK_CONTAINER (widget), gears);
-- 
-+#endif
-+
-   info = new_widget_info ("glarea", widget, MEDIUM);
- 
-   return info;
-diff --git a/gdk/gdk-sources.inc b/gdk/gdk-sources.inc
-index 9235edb6cf..349acb8f4c 100644
---- a/gdk/gdk-sources.inc
-+++ b/gdk/gdk-sources.inc
-@@ -146,7 +146,6 @@ x11_introspection_files = 		\
- 	x11/gdkeventsource.c		\
- 	x11/gdkeventtranslator.c	\
- 	x11/gdkgeometry-x11.c		\
--	x11/gdkglcontext-x11.c		\
- 	x11/gdkkeys-x11.c		\
- 	x11/gdkmain-x11.c		\
- 	x11/gdkmonitor-x11.c		\
-@@ -172,7 +171,6 @@ x11_introspection_files = 		\
- 	x11/gdkx11display.h		\
- 	x11/gdkx11displaymanager.h	\
- 	x11/gdkx11dnd.h			\
--	x11/gdkx11glcontext.h		\
- 	x11/gdkx11keys.h		\
- 	x11/gdkx11monitor.h		\
- 	x11/gdkx11property.h		\
-@@ -182,6 +180,12 @@ x11_introspection_files = 		\
- 	x11/gdkx11visual.h		\
- 	x11/gdkx11window.h
- 
-+if HAVE_OPENGL
-+x11_introspection_files += 		\
-+	x11/gdkglcontext-x11.c		\
-+	x11/gdkx11glcontext.h
-+endif
-+
- w32_introspection_files =		\
- 	win32/gdkcursor-win32.c		\
- 	win32/gdkdevicemanager-win32.c	\
-diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c
-index 748f54860c..911ab2a65f 100644
---- a/gdk/gdkdisplay.c
-+++ b/gdk/gdkdisplay.c
-@@ -2420,7 +2420,9 @@ gboolean
- gdk_display_make_gl_context_current (GdkDisplay   *display,
-                                      GdkGLContext *context)
- {
--  return GDK_DISPLAY_GET_CLASS (display)->make_gl_context_current (display, context);
-+  if (GDK_DISPLAY_GET_CLASS (display)->make_gl_context_current)
-+    return GDK_DISPLAY_GET_CLASS (display)->make_gl_context_current (display, context);
-+  return FALSE;
- }
- 
- GdkRenderingMode
-diff --git a/gdk/gdkgl.c b/gdk/gdkgl.c
-index 9690077cc2..55f85ef605 100644
---- a/gdk/gdkgl.c
-+++ b/gdk/gdkgl.c
-@@ -26,7 +26,9 @@
- # include "win32/gdkwin32.h"
- #endif
- 
-+#ifdef HAVE_OPENGL
- #include <epoxy/gl.h>
-+#endif
- #include <math.h>
- #include <string.h>
- 
-@@ -40,6 +42,7 @@ gdk_cairo_surface_mark_as_direct (cairo_surface_t *surface,
-                                g_object_ref (window),  g_object_unref);
- }
- 
-+#ifdef HAVE_OPENGL
- static const char *
- get_vertex_type_name (int type)
- {
-@@ -212,6 +215,7 @@ use_texture_rect_program (GdkGLContextPaintData *paint_data)
-       glUseProgram (paint_data->current_program->program);
-     }
- }
-+#endif
- 
- void
- gdk_gl_texture_quads (GdkGLContext *paint_context,
-@@ -220,6 +224,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
-                       GdkTexturedQuad *quads,
-                       gboolean flip_colors)
- {
-+#ifdef HAVE_OPENGL
-   GdkGLContextPaintData *paint_data  = gdk_gl_context_get_paint_data (paint_context);
-   GdkGLContextProgram *program;
-   GdkWindow *window = gdk_gl_context_get_window (paint_context);
-@@ -293,6 +298,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
- 
-   glDisableVertexAttribArray (program->position_location);
-   glDisableVertexAttribArray (program->uv_location);
-+#endif
- }
- 
- /* x,y,width,height describes a rectangle in the gl render buffer
-@@ -341,6 +347,7 @@ gdk_cairo_draw_from_gl (cairo_t              *cr,
-                         int                   width,
-                         int                   height)
- {
-+#ifdef HAVE_OPENGL
-   GdkGLContext *paint_context;
-   cairo_surface_t *image;
-   cairo_matrix_t matrix;
-@@ -718,6 +725,7 @@ out:
-   if (clip_region)
-     cairo_region_destroy (clip_region);
- 
-+#endif
- }
- 
- /* This is always called with the paint context current */
-@@ -725,6 +733,7 @@ void
- gdk_gl_texture_from_surface (cairo_surface_t *surface,
- 			     cairo_region_t  *region)
- {
-+#ifdef HAVE_OPENGL
-   GdkGLContext *paint_context;
-   cairo_surface_t *image;
-   double device_x_offset, device_y_offset;
-@@ -825,4 +834,5 @@ gdk_gl_texture_from_surface (cairo_surface_t *surface,
- 
-   glDisable (GL_SCISSOR_TEST);
-   glDeleteTextures (1, &texture_id);
-+#endif
- }
-diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c
-index 3b23639e1c..1f04f8e0b2 100644
---- a/gdk/gdkglcontext.c
-+++ b/gdk/gdkglcontext.c
-@@ -85,7 +85,9 @@
- #include "gdkintl.h"
- #include "gdk-private.h"
- 
-+#ifdef HAVE_OPENGL
- #include <epoxy/gl.h>
-+#endif
- 
- typedef struct {
-   GdkDisplay *display;
-@@ -243,6 +245,7 @@ gdk_gl_context_upload_texture (GdkGLContext    *context,
-                                int              height,
-                                guint            texture_target)
- {
-+#ifdef HAVE_OPENGL
-   GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (context);
- 
-   g_return_if_fail (GDK_IS_GL_CONTEXT (context));
-@@ -286,6 +289,7 @@ gdk_gl_context_upload_texture (GdkGLContext    *context,
-             glTexSubImage2D (texture_target, 0, 0, i, width, 1, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, (unsigned char*) data + (i * stride));
-         }
-     }
-+#endif
- }
- 
- static gboolean
-@@ -774,6 +778,7 @@ gdk_gl_context_realize (GdkGLContext  *context,
- static void
- gdk_gl_context_check_extensions (GdkGLContext *context)
- {
-+#ifdef HAVE_OPENGL
-   GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (context);
-   gboolean has_npot, has_texture_rectangle;
- 
-@@ -853,6 +858,7 @@ gdk_gl_context_check_extensions (GdkGLContext *context)
-                        priv->use_texture_rectangle ? "yes" : "no"));
- 
-   priv->extensions_checked = TRUE;
-+#endif
- }
- 
- /**
-diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
-index 727b0cf1f4..d4d91b0d16 100644
---- a/gdk/gdkwindow.c
-+++ b/gdk/gdkwindow.c
-@@ -45,7 +45,9 @@
- 
- #include <math.h>
- 
-+#ifdef HAVE_OPENGL
- #include <epoxy/gl.h>
-+#endif
- 
- /* for the use of round() */
- #include "fallback-c89.c"
-@@ -2844,6 +2846,13 @@ gdk_window_get_paint_gl_context (GdkWindow  *window,
- {
-   GError *internal_error = NULL;
- 
-+#ifndef HAVE_OPENGL
-+  g_set_error_literal (error, GDK_GL_ERROR,
-+                       GDK_GL_ERROR_NOT_AVAILABLE,
-+                       _("GL support disabled with --disable-opengl"));
-+  return NULL;
-+#endif
-+
-   if (_gdk_gl_flags & GDK_GL_DISABLE)
-     {
-       g_set_error_literal (error, GDK_GL_ERROR,
-@@ -2979,6 +2988,7 @@ gdk_window_begin_paint_internal (GdkWindow            *window,
-         }
-       else
-         {
-+#ifdef HAVE_OPENGL
- 	  gdk_gl_context_make_current (context);
-           /* With gl we always need a surface to combine the gl
-              drawing with the native drawing. */
-@@ -2993,6 +3003,7 @@ gdk_window_begin_paint_internal (GdkWindow            *window,
-           glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
- 
-           glViewport (0, 0, ww, wh);
-+#endif
-         }
-     }
- 
-@@ -3056,6 +3067,7 @@ gdk_window_end_paint_internal (GdkWindow *window)
- 
-           gdk_gl_context_make_current (window->gl_paint_context);
- 
-+#ifdef HAVE_OPENGL
-           if (!cairo_region_is_empty (opaque_region))
-             gdk_gl_texture_from_surface (window->current_paint.surface,
-                                          opaque_region);
-@@ -3066,6 +3078,7 @@ gdk_window_end_paint_internal (GdkWindow *window)
-                                            window->current_paint.need_blend_region);
-               glDisable(GL_BLEND);
-             }
-+#endif
- 
-           cairo_region_destroy (opaque_region);
- 
-diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am
-index 32b1f24434..63523130ce 100644
---- a/gdk/x11/Makefile.am
-+++ b/gdk/x11/Makefile.am
-@@ -40,8 +40,6 @@ libgdk_x11_la_SOURCES = 	\
- 	gdkeventtranslator.c	\
- 	gdkeventtranslator.h	\
- 	gdkgeometry-x11.c  	\
--	gdkglcontext-x11.c	\
--	gdkglcontext-x11.h	\
- 	gdkkeys-x11.c		\
- 	gdkmain-x11.c		\
- 	gdkmonitor-x11.c	\
-@@ -56,14 +54,32 @@ libgdk_x11_la_SOURCES = 	\
- 	gdkwindow-x11.h		\
- 	gdkxftdefaults.c	\
- 	gdkxid.c		\
--	gdkx.h			\
- 	gdkprivate-x11.h	\
- 	xsettings-client.h	\
- 	xsettings-client.c
- 
-+if HAVE_OPENGL
-+libgdk_x11_la_SOURCES +=        \
-+	gdkglcontext-x11.c	\
-+	gdkglcontext-x11.h
-+endif
-+
- libgdkinclude_HEADERS = 	\
- 	gdkx.h
- 
-+if HAVE_OPENGL
-+GDKX_HEADER = gdkx-with-gl-context.h
-+else
-+GDKX_HEADER = gdkx-without-gl-context.h
-+endif
-+
-+BUILT_SOURCES = gdkx.h
-+
-+.PHONY: gdkx.h
-+gdkx.h:
-+	$(AM_V_GEN) cd $(srcdir) \
-+	&& (cmp -s $(GDKX_HEADER) gdkx.h || cp $(GDKX_HEADER) gdkx.h )
-+
- libgdkx11include_HEADERS = 	\
- 	gdkx-autocleanups.h	\
- 	gdkx11applaunchcontext.h \
-@@ -77,7 +93,6 @@ libgdkx11include_HEADERS = 	\
- 	gdkx11display.h		\
- 	gdkx11displaymanager.h	\
- 	gdkx11dnd.h		\
--	gdkx11glcontext.h	\
- 	gdkx11keys.h		\
- 	gdkx11monitor.h		\
- 	gdkx11property.h	\
-@@ -87,10 +102,17 @@ libgdkx11include_HEADERS = 	\
- 	gdkx11visual.h		\
- 	gdkx11window.h
- 
-+if HAVE_OPENGL
-+libgdkx11include_HEADERS += gdkx11glcontext.h
-+endif
-+
- # We need to include all these C files here since the conditionals
- # don't seem to be correctly expanded for the dist files.
- EXTRA_DIST += 			\
-+	gdkx.h			\
- 	gdksettings.c	\
- 	meson.build
- 
-+MAINTAINERCLEANFILES = gdkx.h
-+
- -include $(top_srcdir)/git.mk
-diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
-index 7e08f472cc..30fd7b6089 100644
---- a/gdk/x11/gdkdisplay-x11.c
-+++ b/gdk/x11/gdkdisplay-x11.c
-@@ -37,7 +37,9 @@
- #include "gdkdisplay-x11.h"
- #include "gdkprivate-x11.h"
- #include "gdkscreen-x11.h"
-+#ifdef HAVE_OPENGL
- #include "gdkglcontext-x11.h"
-+#endif
- #include "gdk-private.h"
- #include "gdkprofilerprivate.h"
- 
-@@ -3191,7 +3193,9 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class)
-   display_class->text_property_to_utf8_list = _gdk_x11_display_text_property_to_utf8_list;
-   display_class->utf8_to_string_target = _gdk_x11_display_utf8_to_string_target;
- 
--  display_class->make_gl_context_current = gdk_x11_display_make_gl_context_current;
-+#ifdef HAVE_OPENGL
-+   display_class->make_gl_context_current = gdk_x11_display_make_gl_context_current;
-+#endif
- 
-   display_class->get_default_seat = gdk_x11_display_get_default_seat;
- 
-diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c
-index c2b7480c48..114fd4c67a 100644
---- a/gdk/x11/gdkscreen-x11.c
-+++ b/gdk/x11/gdkscreen-x11.c
-@@ -1842,3 +1842,8 @@ gdk_x11_screen_get_current_desktop (GdkScreen *screen)
- {
-   return get_netwm_cardinal_property (screen, "_NET_CURRENT_DESKTOP");
- }
-+
-+#ifndef HAVE_OPENGL
-+/* Function from in gdk/x11/gdkglcontext-x11.c */
-+void _gdk_x11_screen_update_visuals_for_gl (GdkScreen *screen) {}
-+#endif
-diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
-index 194bc82e29..0302bb68d4 100644
---- a/gdk/x11/gdkwindow-x11.c
-+++ b/gdk/x11/gdkwindow-x11.c
-@@ -36,7 +36,9 @@
- #include "gdkasync.h"
- #include "gdkeventsource.h"
- #include "gdkdisplay-x11.h"
-+#ifdef HAVE_OPENGL
- #include "gdkglcontext-x11.h"
-+#endif
- #include "gdkprivate-x11.h"
- #include "gdk-private.h"
- 
-@@ -5888,7 +5890,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
-   impl_class->set_opaque_region = gdk_x11_window_set_opaque_region;
-   impl_class->set_shadow_width = gdk_x11_window_set_shadow_width;
-   impl_class->show_window_menu = gdk_x11_window_show_window_menu;
-+#ifdef HAVE_OPENGL
-   impl_class->create_gl_context = gdk_x11_window_create_gl_context;
-   impl_class->invalidate_for_new_frame = gdk_x11_window_invalidate_for_new_frame;
-+#endif
-   impl_class->get_unscaled_size = gdk_x11_window_get_unscaled_size;
- }
-diff --git a/gdk/x11/gdkx-autocleanups.h b/gdk/x11/gdkx-autocleanups.h
-index edb0ea7dbf..a317d61cca 100644
---- a/gdk/x11/gdkx-autocleanups.h
-+++ b/gdk/x11/gdkx-autocleanups.h
-@@ -30,7 +30,9 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceXI2, g_object_unref)
- G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Display, g_object_unref)
- G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DisplayManager, g_object_unref)
- G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DragContext, g_object_unref)
-+#ifdef HAVE_OPENGL
- G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11GLContext, g_object_unref)
-+#endif
- G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Keymap, g_object_unref)
- G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Screen, g_object_unref)
- G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Visual, g_object_unref)
-diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx-with-gl-context.h
-similarity index 98%
-rename from gdk/x11/gdkx.h
-rename to gdk/x11/gdkx-with-gl-context.h
-index 1f64bccb6d..ae05fa6b1f 100644
---- a/gdk/x11/gdkx.h
-+++ b/gdk/x11/gdkx-with-gl-context.h
-@@ -45,7 +45,6 @@
- #include <gdk/x11/gdkx11dnd.h>
- #include <gdk/x11/gdkx11glcontext.h>
- #include <gdk/x11/gdkx11keys.h>
--#include <gdk/x11/gdkx11monitor.h>
- #include <gdk/x11/gdkx11property.h>
- #include <gdk/x11/gdkx11screen.h>
- #include <gdk/x11/gdkx11selection.h>
-diff --git a/gdk/x11/gdkx-without-gl-context.h b/gdk/x11/gdkx-without-gl-context.h
-new file mode 100644
-index 0000000000..c9e261720f
---- /dev/null
-+++ b/gdk/x11/gdkx-without-gl-context.h
-@@ -0,0 +1,58 @@
-+/* GDK - The GIMP Drawing Kit
-+ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+/*
-+ * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
-+ * file for a list of people on the GTK+ Team.  See the ChangeLog
-+ * files for a list of changes.  These files are distributed with
-+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
-+ */
-+
-+#ifndef __GDK_X_H__
-+#define __GDK_X_H__
-+
-+#include <gdk/gdk.h>
-+
-+#include <X11/Xlib.h>
-+#include <X11/Xutil.h>
-+
-+#define __GDKX_H_INSIDE__
-+
-+#include <gdk/x11/gdkx11applaunchcontext.h>
-+#include <gdk/x11/gdkx11cursor.h>
-+#include <gdk/x11/gdkx11device.h>
-+#include <gdk/x11/gdkx11device-core.h>
-+#include <gdk/x11/gdkx11device-xi2.h>
-+#include <gdk/x11/gdkx11devicemanager.h>
-+#include <gdk/x11/gdkx11devicemanager-core.h>
-+#include <gdk/x11/gdkx11devicemanager-xi2.h>
-+#include <gdk/x11/gdkx11display.h>
-+#include <gdk/x11/gdkx11displaymanager.h>
-+#include <gdk/x11/gdkx11dnd.h>
-+#include <gdk/x11/gdkx11keys.h>
-+#include <gdk/x11/gdkx11property.h>
-+#include <gdk/x11/gdkx11screen.h>
-+#include <gdk/x11/gdkx11selection.h>
-+#include <gdk/x11/gdkx11utils.h>
-+#include <gdk/x11/gdkx11visual.h>
-+#include <gdk/x11/gdkx11window.h>
-+
-+#include <gdk/x11/gdkx-autocleanups.h>
-+
-+#undef __GDKX_H_INSIDE__
-+
-+#endif /* __GDK_X_H__ */
-diff --git a/gtk/Makefile.am b/gtk/Makefile.am
-index 946e72febc..b01da7f128 100644
---- a/gtk/Makefile.am
-+++ b/gtk/Makefile.am
-@@ -467,7 +467,7 @@ gtktypefuncs.inc: stamp-gtktypebuiltins.h stamp-gtkprivatetypebuiltins.h $(top_s
- 	  ${CPP} $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-gtfsrc.c | \
- 	  $(GREP) -o '\bg[td]k_[a-zA-Z0-9_]*_get_type\b' | \
- 	  sort | uniq | \
--	  $(SED) '{ s/^/*tp++ = /; s/$$/();/; s/^.*\(gdk_x11\|gtk_plug_\|gtk_socket_\).*$$/#ifdef GDK_WINDOWING_X11\n&\n#endif/; }' >> xgen-gtf \
-+	  $(SED) '{ s/^/*tp++ = /; s/$$/();/; s/^.*\(gdk_x11\|gtk_plug_\|gtk_socket_\).*$$/#ifdef GDK_WINDOWING_X11\n&\n#endif/; s/^.*gdk_x11_gl.*$$/#ifdef HAVE_OPENGL\n&\n#endif/; }' >> xgen-gtf \
- 	&& cp xgen-gtf $@ && rm -f xgen-gtf
- $(srcdir)/gtktestutils.c: gtktypefuncs.inc
- 
-diff --git a/gtk/gtkglarea.c b/gtk/gtkglarea.c
-index 802303ea9f..33001cfb61 100644
---- a/gtk/gtkglarea.c
-+++ b/gtk/gtkglarea.c
-@@ -29,7 +29,9 @@
- #include "gtkprivate.h"
- #include "gtkrender.h"
- 
-+#ifdef HAVE_OPENGL
- #include <epoxy/gl.h>
-+#endif
- 
- /**
-  * SECTION:gtkglarea
-@@ -369,9 +371,12 @@ gtk_gl_area_real_create_context (GtkGLArea *area)
- static void
- gtk_gl_area_resize (GtkGLArea *area, int width, int height)
- {
-+#ifdef HAVE_OPENGL
-   glViewport (0, 0, width, height);
-+#endif
- }
- 
-+#ifdef HAVE_OPENGL
- /*
-  * Creates all the buffer objects needed for rendering the scene
-  */
-@@ -483,6 +488,7 @@ gtk_gl_area_allocate_buffers (GtkGLArea *area)
- 
-   priv->needs_render = TRUE;
- }
-+#endif
- 
- /**
-  * gtk_gl_area_attach_buffers:
-@@ -501,6 +507,7 @@ gtk_gl_area_allocate_buffers (GtkGLArea *area)
- void
- gtk_gl_area_attach_buffers (GtkGLArea *area)
- {
-+#ifdef HAVE_OPENGL
-   GtkGLAreaPrivate *priv = gtk_gl_area_get_instance_private (area);
- 
-   g_return_if_fail (GTK_IS_GL_AREA (area));
-@@ -533,11 +540,13 @@ gtk_gl_area_attach_buffers (GtkGLArea *area)
-         glFramebufferRenderbuffer (GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT,
-                                    GL_RENDERBUFFER, priv->depth_stencil_buffer);
-     }
-+#endif
- }
- 
- static void
- gtk_gl_area_delete_buffers (GtkGLArea *area)
- {
-+#ifdef HAVE_OPENGL
-   GtkGLAreaPrivate *priv = gtk_gl_area_get_instance_private (area);
- 
-   if (priv->context == NULL)
-@@ -569,6 +578,7 @@ gtk_gl_area_delete_buffers (GtkGLArea *area)
-       glDeleteFramebuffers (1, &priv->frame_buffer);
-       priv->frame_buffer = 0;
-     }
-+#endif
- }
- 
- static void
-@@ -679,6 +689,7 @@ gtk_gl_area_draw (GtkWidget *widget,
-   GtkGLArea *area = GTK_GL_AREA (widget);
-   GtkGLAreaPrivate *priv = gtk_gl_area_get_instance_private (area);
-   gboolean unused;
-+#ifdef HAVE_OPENGL
-   int w, h, scale;
-   GLenum status;
- 
-@@ -690,7 +701,6 @@ gtk_gl_area_draw (GtkWidget *widget,
-                                      gtk_widget_get_allocated_height (widget));
-       return FALSE;
-     }
--
-   if (priv->context == NULL)
-     return FALSE;
- 
-@@ -736,6 +746,14 @@ gtk_gl_area_draw (GtkWidget *widget,
-     }
- 
-   return TRUE;
-+#else
-+  if (priv->error != NULL)
-+      gtk_gl_area_draw_error_screen (area,
-+                                     cr,
-+                                     gtk_widget_get_allocated_width (widget),
-+                                     gtk_widget_get_allocated_height (widget));
-+  return FALSE;
-+#endif
- }
- 
- static gboolean
-diff --git a/gtk/inspector/general.c b/gtk/inspector/general.c
-index 4fd0c3039c..a8e59ed077 100644
---- a/gtk/inspector/general.c
-+++ b/gtk/inspector/general.c
-@@ -33,8 +33,10 @@
- 
- #ifdef GDK_WINDOWING_X11
- #include "x11/gdkx.h"
-+#ifdef HAVE_OPENGL
- #include <epoxy/glx.h>
- #endif
-+#endif
- 
- #ifdef GDK_WINDOWING_WIN32
- #include "win32/gdkwin32.h"
-@@ -217,6 +219,7 @@ add_label_row (GtkInspectorGeneral *gen,
-   gtk_size_group_add_widget (GTK_SIZE_GROUP (gen->priv->labels), label);
- }
- 
-+#ifdef HAVE_OPENGL
- #ifdef GDK_WINDOWING_X11
- static void
- append_glx_extension_row (GtkInspectorGeneral *gen,
-@@ -226,6 +229,7 @@ append_glx_extension_row (GtkInspectorGeneral *gen,
-   add_check_row (gen, GTK_LIST_BOX (gen->priv->gl_box), ext, epoxy_has_glx_extension (dpy, 0, ext), 0);
- }
- #endif
-+#endif
- 
- #ifdef GDK_WINDOWING_WAYLAND
- static void
-@@ -275,6 +279,7 @@ wayland_get_display (struct wl_display *wl_display)
- static void
- init_gl (GtkInspectorGeneral *gen)
- {
-+#ifdef HAVE_OPENGL
- #ifdef GDK_WINDOWING_X11
-   if (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))
-     {
-@@ -301,6 +306,7 @@ init_gl (GtkInspectorGeneral *gen)
-     }
-   else
- #endif
-+#endif
- #ifdef GDK_WINDOWING_WAYLAND
-   if (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ()))
-     {
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index f283e89831..5e7180e923 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -80,8 +80,6 @@ noinst_PROGRAMS =  $(TEST_PROGS)	\
- 	testfullscreen			\
- 	testgeometry			\
- 	testgiconpixbuf			\
--	testglarea			\
--	testglblending			\
- 	testgrid			\
- 	testgtk				\
- 	testheaderbar			\
-@@ -172,12 +170,18 @@ noinst_PROGRAMS =  $(TEST_PROGS)	\
- 	testactionbar			\
- 	testwindowsize			\
- 	testpopover			\
--	gdkgears			\
- 	listmodel			\
- 	testpopup			\
- 	testpopupat			\
- 	$(NULL)
- 
-+if HAVE_OPENGL
-+noinst_PROGRAMS +=
-+	testglarea			\
-+	testglblending			\
-+	gdkgears
-+endif
-+
- if USE_WAYLAND
- noinst_PROGRAMS += testforeign
- endif
-diff --git a/testsuite/gtk/objects-finalize.c b/testsuite/gtk/objects-finalize.c
-index 24540e313f..e0f863ab6a 100644
---- a/testsuite/gtk/objects-finalize.c
-+++ b/testsuite/gtk/objects-finalize.c
-@@ -116,7 +116,9 @@ main (int argc, char **argv)
- 	  all_types[i] != GDK_TYPE_X11_DEVICE_MANAGER_CORE &&
- 	  all_types[i] != GDK_TYPE_X11_DEVICE_MANAGER_XI2 &&
- 	  all_types[i] != GDK_TYPE_X11_DISPLAY_MANAGER &&
-+#ifdef HAVE_OPENGL
- 	  all_types[i] != GDK_TYPE_X11_GL_CONTEXT &&
-+#endif
- #endif
- 	  /* Not allowed to finalize a GdkPixbufLoader without calling gdk_pixbuf_loader_close() */
- 	  all_types[i] != GDK_TYPE_PIXBUF_LOADER &&
--- 
-2.34.1
-
diff --git a/meta/recipes-gnome/gtk+/gtk+3/buildpaths.patch b/meta/recipes-gnome/gtk+/gtk+3/buildpaths.patch
new file mode 100644
index 0000000000..627d1d4b7e
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+3/buildpaths.patch
@@ -0,0 +1,57 @@
+Use basename not full filename to remove buildpaths from the packages.
+
+Upstream-Status: Backport [8eb4e59613a0979757332eb833231b947d61f13d]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/gdk/gdkenumtypes.c.template b/gdk/gdkenumtypes.c.template
+index df9edfefa1..c5104e0e0d 100644
+--- a/gdk/gdkenumtypes.c.template
++++ b/gdk/gdkenumtypes.c.template
+@@ -5,7 +5,7 @@
+ /*** END file-header ***/
+ 
+ /*** BEGIN file-production ***/
+-/* enumerations from "@filename@" */
++/* enumerations from "@basename@" */
+ /*** END file-production ***/
+ 
+ /*** BEGIN value-header ***/
+diff --git a/gtk/gtkprivatetypebuiltins.c.template b/gtk/gtkprivatetypebuiltins.c.template
+index 2565208bfc..d7961be8ef 100644
+--- a/gtk/gtkprivatetypebuiltins.c.template
++++ b/gtk/gtkprivatetypebuiltins.c.template
+@@ -7,7 +7,7 @@
+ /*** END file-header ***/
+ 
+ /*** BEGIN file-production ***/
+-/* enumerations from "@filename@" */
++/* enumerations from "@basename@" */
+ /*** END file-production ***/
+ 
+ /*** BEGIN value-header ***/
+diff --git a/gtk/gtkprivatetypebuiltins.h.template b/gtk/gtkprivatetypebuiltins.h.template
+index a21e9aac05..5ecd4d392f 100644
+--- a/gtk/gtkprivatetypebuiltins.h.template
++++ b/gtk/gtkprivatetypebuiltins.h.template
+@@ -14,7 +14,7 @@ G_BEGIN_DECLS
+ 
+ /*** BEGIN file-production ***/
+ 
+-/* enumerations from "@filename@" */
++/* enumerations from "@basename@" */
+ /*** END file-production ***/
+ 
+ /*** BEGIN value-header ***/
+diff --git a/gtk/gtktypebuiltins.c.template b/gtk/gtktypebuiltins.c.template
+index f4d748b7b9..9a5a360f09 100644
+--- a/gtk/gtktypebuiltins.c.template
++++ b/gtk/gtktypebuiltins.c.template
+@@ -6,7 +6,7 @@
+ /*** END file-header ***/
+ 
+ /*** BEGIN file-production ***/
+-/* enumerations from "@filename@" */
++/* enumerations from "@basename@" */
+ /*** END file-production ***/
+ 
+ /*** BEGIN value-header ***/
diff --git a/meta/recipes-gnome/gtk+/gtk+3/link_fribidi.patch b/meta/recipes-gnome/gtk+/gtk+3/link_fribidi.patch
deleted file mode 100644
index e4bbd799f1..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+3/link_fribidi.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Link with libfribidi, this is to avoid under linking where these functions are
-used but the library is not linked in, and they are marked undefined by BFD linker
-but gold linker refuses to link
-
-| ./.libs/libgdk-3.so: error: undefined reference to 'fribidi_get_bidi_type'
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
---- a/gdk/Makefile.am
-+++ b/gdk/Makefile.am
-@@ -55,6 +55,7 @@ LDADD = 					\
- 	-version-info $(LT_VERSION_INFO)	\
- 	-export-dynamic 			\
- 	-rpath $(libdir) 			\
-+	-lfribidi	 			\
- 	$(no_undefined)
- 
- #
diff --git a/meta/recipes-gnome/gtk+/gtk+3/meson.build b/meta/recipes-gnome/gtk+/gtk+3/meson.build
new file mode 100644
index 0000000000..94cf47a37f
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+3/meson.build
@@ -0,0 +1,14 @@
+# This file is missing from the 3.24.35 tarball
+
+wayland_cursor_sources = files([
+  'wayland-cursor.c',
+  'xcursor.c',
+  'os-compatibility.c'
+])
+
+libwayland_cursor = static_library('wayland+cursor',
+  sources: wayland_cursor_sources,
+  include_directories: [ confinc, ],
+  dependencies: [ glib_dep, wlclientdep, ],
+  c_args: common_cflags,
+)
diff --git a/meta/recipes-gnome/gtk+/gtk+3/opengl.patch b/meta/recipes-gnome/gtk+/gtk+3/opengl.patch
new file mode 100644
index 0000000000..ddec2c72d7
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+3/opengl.patch
@@ -0,0 +1,765 @@
+From a6fb8ee9cfd5e0f8c4450d48b582614e2de8201c Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Fri, 16 Oct 2015 16:35:16 +0300
+Subject: [PATCH] Do not try to initialize GL without libGL
+
+_gdk_x11_screen_update_visuals_for_gl() will end up calling epoxys
+GLX api which will exit() if libGL.so.1 is not present. We do not
+want that to happen and we don't want every app to have to set
+"GDK_GL=disabled" environment variable: so use #ifdef set based on
+opengl distro feature.
+
+Upstream is not interested in the fix as it is: Either epoxy should be
+fixed (to not exit) or GTK+ possibly could do some additional probing
+before calling epoxy APIs.
+
+Upstream-Status: Denied
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+---
+ config.h.meson                   |  2 ++
+ demos/gtk-demo/meson.build       |  5 ++++-
+ docs/tools/meson.build           |  7 +++++--
+ docs/tools/widgets.c             |  6 +++++-
+ gdk/gdkconfig.h.meson            |  1 +
+ gdk/gdkdisplay.c                 |  4 ++++
+ gdk/gdkgl.c                      | 10 ++++++++++
+ gdk/gdkglcontext.c               |  6 ++++++
+ gdk/gdkwindow.c                  | 13 +++++++++++++
+ gdk/meson.build                  |  8 +++++++-
+ gdk/x11/Makefile.am              |  2 --
+ gdk/x11/gdkdisplay-x11.c         |  6 +++++-
+ gdk/x11/gdkvisual-x11.c          |  5 +++++
+ gdk/x11/gdkwindow-x11.c          |  4 ++++
+ gdk/x11/gdkx-autocleanups.h      |  2 ++
+ gdk/x11/gdkx.h                   |  2 ++
+ gdk/x11/meson.build              |  7 +++++--
+ gtk/gtkglarea.c                  | 19 +++++++++++++++++++
+ gtk/inspector/general.c          |  6 ++++++
+ meson.build                      | 17 ++++++++++++++---
+ meson_options.txt                |  2 ++
+ tests/meson.build                |  9 +++++++--
+ testsuite/gtk/objects-finalize.c |  2 ++
+ 23 files changed, 130 insertions(+), 15 deletions(-)
+
+diff --git a/config.h.meson b/config.h.meson
+index b502611cb7..0bf6678d5e 100644
+--- a/config.h.meson
++++ b/config.h.meson
+@@ -20,6 +20,8 @@
+ /* define if we have colord */
+ #mesondefine HAVE_COLORD
+ 
++#mesondefine HAVE_OPENGL
++
+ /* Define if the GNU dcgettext() function is already present or preinstalled.
+    */
+ #mesondefine HAVE_DCGETTEXT
+diff --git a/demos/gtk-demo/meson.build b/demos/gtk-demo/meson.build
+index 252da16d05..4b57cff6ac 100644
+--- a/demos/gtk-demo/meson.build
++++ b/demos/gtk-demo/meson.build
+@@ -28,7 +28,6 @@ demos = files([
+   'fishbowl.c',
+   'foreigndrawing.c',
+   'gestures.c',
+-  'glarea.c',
+   'headerbar.c',
+   'hypertext.c',
+   'iconview.c',
+@@ -87,6 +86,10 @@ elif harfbuzz_dep.found() and pangoft_dep.found()
+   gtkdemo_deps += [harfbuzz_dep, pangoft_dep]
+ endif
+ 
++if opengl_enabled
++  demos += files('glarea.c')
++endif
++
+ if os_unix
+   demos += files('pagesetup.c')
+ endif
+diff --git a/docs/tools/meson.build b/docs/tools/meson.build
+index 05621ee7ed..3d0a333b32 100644
+--- a/docs/tools/meson.build
++++ b/docs/tools/meson.build
+@@ -2,10 +2,13 @@ if x11_enabled
+   doc_shooter_sources = [
+     'shadow.c',
+     'shooter.c',
+-    'widgets.c',
+-    '../../tests/gtkgears.c',
++    'widgets.c'
+   ]
+ 
++  if opengl_enabled
++  doc_shooter_sources += ['../../tests/gtkgears.c']
++  endif
++
+   doc_shooter = executable('doc-shooter', doc_shooter_sources,
+                            include_directories: [ confinc, gdkinc, gtkinc, testinc, ],
+                            dependencies: libgtk_dep)
+diff --git a/docs/tools/widgets.c b/docs/tools/widgets.c
+index 932daf1746..348807e133 100644
+--- a/docs/tools/widgets.c
++++ b/docs/tools/widgets.c
+@@ -8,7 +8,9 @@
+ #include <X11/Xatom.h>
+ #include <gdkx.h>
+ #include "widgets.h"
++#ifdef HAVE_OPENGL
+ #include "gtkgears.h"
++#endif
+ 
+ #define SMALL_WIDTH  240
+ #define SMALL_HEIGHT 75
+@@ -1526,9 +1528,11 @@ create_gl_area (void)
+   widget = gtk_frame_new (NULL);
+   gtk_frame_set_shadow_type (GTK_FRAME (widget), GTK_SHADOW_IN);
+ 
++#ifdef HAVE_OPENGL
+   gears = gtk_gears_new ();
+   gtk_container_add (GTK_CONTAINER (widget), gears);
+- 
++#endif
++
+   info = new_widget_info ("glarea", widget, MEDIUM);
+ 
+   return info;
+diff --git a/gdk/gdkconfig.h.meson b/gdk/gdkconfig.h.meson
+index 7db19e0470..088651bafa 100644
+--- a/gdk/gdkconfig.h.meson
++++ b/gdk/gdkconfig.h.meson
+@@ -15,6 +15,7 @@ G_BEGIN_DECLS
+ #mesondefine GDK_WINDOWING_WAYLAND
+ #mesondefine GDK_WINDOWING_WIN32
+ #mesondefine GDK_WINDOWING_QUARTZ
++#mesondefine GDK_WITH_OPENGL
+ 
+ G_END_DECLS
+ 
+diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c
+index 748f54860c..04ef2c09d4 100644
+--- a/gdk/gdkdisplay.c
++++ b/gdk/gdkdisplay.c
+@@ -2420,7 +2420,11 @@ gboolean
+ gdk_display_make_gl_context_current (GdkDisplay   *display,
+                                      GdkGLContext *context)
+ {
++#ifdef HAVE_OPENGL
+   return GDK_DISPLAY_GET_CLASS (display)->make_gl_context_current (display, context);
++#else
++  return FALSE;
++#endif
+ }
+ 
+ GdkRenderingMode
+diff --git a/gdk/gdkgl.c b/gdk/gdkgl.c
+index 9690077cc2..55f85ef605 100644
+--- a/gdk/gdkgl.c
++++ b/gdk/gdkgl.c
+@@ -26,7 +26,9 @@
+ # include "win32/gdkwin32.h"
+ #endif
+ 
++#ifdef HAVE_OPENGL
+ #include <epoxy/gl.h>
++#endif
+ #include <math.h>
+ #include <string.h>
+ 
+@@ -40,6 +42,7 @@ gdk_cairo_surface_mark_as_direct (cairo_surface_t *surface,
+                                g_object_ref (window),  g_object_unref);
+ }
+ 
++#ifdef HAVE_OPENGL
+ static const char *
+ get_vertex_type_name (int type)
+ {
+@@ -212,6 +215,7 @@ use_texture_rect_program (GdkGLContextPaintData *paint_data)
+       glUseProgram (paint_data->current_program->program);
+     }
+ }
++#endif
+ 
+ void
+ gdk_gl_texture_quads (GdkGLContext *paint_context,
+@@ -220,6 +224,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
+                       GdkTexturedQuad *quads,
+                       gboolean flip_colors)
+ {
++#ifdef HAVE_OPENGL
+   GdkGLContextPaintData *paint_data  = gdk_gl_context_get_paint_data (paint_context);
+   GdkGLContextProgram *program;
+   GdkWindow *window = gdk_gl_context_get_window (paint_context);
+@@ -293,6 +298,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
+ 
+   glDisableVertexAttribArray (program->position_location);
+   glDisableVertexAttribArray (program->uv_location);
++#endif
+ }
+ 
+ /* x,y,width,height describes a rectangle in the gl render buffer
+@@ -341,6 +347,7 @@ gdk_cairo_draw_from_gl (cairo_t              *cr,
+                         int                   width,
+                         int                   height)
+ {
++#ifdef HAVE_OPENGL
+   GdkGLContext *paint_context;
+   cairo_surface_t *image;
+   cairo_matrix_t matrix;
+@@ -718,6 +725,7 @@ out:
+   if (clip_region)
+     cairo_region_destroy (clip_region);
+ 
++#endif
+ }
+ 
+ /* This is always called with the paint context current */
+@@ -725,6 +733,7 @@ void
+ gdk_gl_texture_from_surface (cairo_surface_t *surface,
+ 			     cairo_region_t  *region)
+ {
++#ifdef HAVE_OPENGL
+   GdkGLContext *paint_context;
+   cairo_surface_t *image;
+   double device_x_offset, device_y_offset;
+@@ -825,4 +834,5 @@ gdk_gl_texture_from_surface (cairo_surface_t *surface,
+ 
+   glDisable (GL_SCISSOR_TEST);
+   glDeleteTextures (1, &texture_id);
++#endif
+ }
+diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c
+index 3b23639e1c..1f04f8e0b2 100644
+--- a/gdk/gdkglcontext.c
++++ b/gdk/gdkglcontext.c
+@@ -85,7 +85,9 @@
+ #include "gdkintl.h"
+ #include "gdk-private.h"
+ 
++#ifdef HAVE_OPENGL
+ #include <epoxy/gl.h>
++#endif
+ 
+ typedef struct {
+   GdkDisplay *display;
+@@ -243,6 +245,7 @@ gdk_gl_context_upload_texture (GdkGLContext    *context,
+                                int              height,
+                                guint            texture_target)
+ {
++#ifdef HAVE_OPENGL
+   GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (context);
+ 
+   g_return_if_fail (GDK_IS_GL_CONTEXT (context));
+@@ -286,6 +289,7 @@ gdk_gl_context_upload_texture (GdkGLContext    *context,
+             glTexSubImage2D (texture_target, 0, 0, i, width, 1, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, (unsigned char*) data + (i * stride));
+         }
+     }
++#endif
+ }
+ 
+ static gboolean
+@@ -774,6 +778,7 @@ gdk_gl_context_realize (GdkGLContext  *context,
+ static void
+ gdk_gl_context_check_extensions (GdkGLContext *context)
+ {
++#ifdef HAVE_OPENGL
+   GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (context);
+   gboolean has_npot, has_texture_rectangle;
+ 
+@@ -853,6 +858,7 @@ gdk_gl_context_check_extensions (GdkGLContext *context)
+                        priv->use_texture_rectangle ? "yes" : "no"));
+ 
+   priv->extensions_checked = TRUE;
++#endif
+ }
+ 
+ /**
+diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
+index 727b0cf1f4..d4d91b0d16 100644
+--- a/gdk/gdkwindow.c
++++ b/gdk/gdkwindow.c
+@@ -45,7 +45,9 @@
+ 
+ #include <math.h>
+ 
++#ifdef HAVE_OPENGL
+ #include <epoxy/gl.h>
++#endif
+ 
+ /* for the use of round() */
+ #include "fallback-c89.c"
+@@ -2844,6 +2846,13 @@ gdk_window_get_paint_gl_context (GdkWindow  *window,
+ {
+   GError *internal_error = NULL;
+ 
++#ifndef HAVE_OPENGL
++  g_set_error_literal (error, GDK_GL_ERROR,
++                       GDK_GL_ERROR_NOT_AVAILABLE,
++                       _("GL support disabled with --disable-opengl"));
++  return NULL;
++#endif
++
+   if (_gdk_gl_flags & GDK_GL_DISABLE)
+     {
+       g_set_error_literal (error, GDK_GL_ERROR,
+@@ -2979,6 +2988,7 @@ gdk_window_begin_paint_internal (GdkWindow            *window,
+         }
+       else
+         {
++#ifdef HAVE_OPENGL
+ 	  gdk_gl_context_make_current (context);
+           /* With gl we always need a surface to combine the gl
+              drawing with the native drawing. */
+@@ -2993,6 +3003,7 @@ gdk_window_begin_paint_internal (GdkWindow            *window,
+           glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
+ 
+           glViewport (0, 0, ww, wh);
++#endif
+         }
+     }
+ 
+@@ -3056,6 +3067,7 @@ gdk_window_end_paint_internal (GdkWindow *window)
+ 
+           gdk_gl_context_make_current (window->gl_paint_context);
+ 
++#ifdef HAVE_OPENGL
+           if (!cairo_region_is_empty (opaque_region))
+             gdk_gl_texture_from_surface (window->current_paint.surface,
+                                          opaque_region);
+@@ -3066,6 +3078,7 @@ gdk_window_end_paint_internal (GdkWindow *window)
+                                            window->current_paint.need_blend_region);
+               glDisable(GL_BLEND);
+             }
++#endif
+ 
+           cairo_region_destroy (opaque_region);
+ 
+diff --git a/gdk/meson.build b/gdk/meson.build
+index 4bb1bf2b6c..64172b8d3e 100644
+--- a/gdk/meson.build
++++ b/gdk/meson.build
+@@ -56,7 +56,6 @@ gdk_gir_public_headers = files(
+   'gdkdrawingcontext.h',
+   'gdkevents.h',
+   'gdkframetimings.h',
+-  'gdkglcontext.h',
+   'gdkkeys.h',
+   'gdkkeysyms.h',
+   'gdkmain.h',
+@@ -78,6 +77,12 @@ gdk_gir_public_headers = files(
+   'gdkwindow.h',
+ )
+ gdk_nogir_public_headers = [files('gdkkeysyms-compat.h')]
++if opengl_enabled
++gdk_gir_public_headers += files('gdkglcontext.h')
++else
++gdk_nogir_public_headers += files('gdkglcontext.h')
++endif
++
+ gdk_public_headers = gdk_gir_public_headers + gdk_nogir_public_headers
+ install_headers(gdk_public_headers, subdir : 'gtk-3.0/gdk')
+ 
+@@ -166,6 +171,7 @@ gdkconfig_cdata.set('GDK_WINDOWING_WAYLAND', wayland_enabled)
+ gdkconfig_cdata.set('GDK_WINDOWING_WIN32', win32_enabled)
+ gdkconfig_cdata.set('GDK_WINDOWING_BROADWAY', broadway_enabled)
+ gdkconfig_cdata.set('GDK_WINDOWING_QUARTZ', quartz_enabled)
++gdkconfig_cdata.set('GDK_WITH_OPENGL', opengl_enabled)
+ 
+ gdkconfig = configure_file(
+   input  : 'gdkconfig.h.meson',
+diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am
+index 32b1f24434..d73eee604a 100644
+--- a/gdk/x11/Makefile.am
++++ b/gdk/x11/Makefile.am
+@@ -40,8 +40,6 @@ libgdk_x11_la_SOURCES = 	\
+ 	gdkeventtranslator.c	\
+ 	gdkeventtranslator.h	\
+ 	gdkgeometry-x11.c  	\
+-	gdkglcontext-x11.c	\
+-	gdkglcontext-x11.h	\
+ 	gdkkeys-x11.c		\
+ 	gdkmain-x11.c		\
+ 	gdkmonitor-x11.c	\
+diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
+index 7e08f472cc..30fd7b6089 100644
+--- a/gdk/x11/gdkdisplay-x11.c
++++ b/gdk/x11/gdkdisplay-x11.c
+@@ -37,7 +37,9 @@
+ #include "gdkdisplay-x11.h"
+ #include "gdkprivate-x11.h"
+ #include "gdkscreen-x11.h"
++#ifdef HAVE_OPENGL
+ #include "gdkglcontext-x11.h"
++#endif
+ #include "gdk-private.h"
+ #include "gdkprofilerprivate.h"
+ 
+@@ -3191,7 +3193,9 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class)
+   display_class->text_property_to_utf8_list = _gdk_x11_display_text_property_to_utf8_list;
+   display_class->utf8_to_string_target = _gdk_x11_display_utf8_to_string_target;
+ 
+-  display_class->make_gl_context_current = gdk_x11_display_make_gl_context_current;
++#ifdef HAVE_OPENGL
++   display_class->make_gl_context_current = gdk_x11_display_make_gl_context_current;
++#endif
+ 
+   display_class->get_default_seat = gdk_x11_display_get_default_seat;
+ 
+diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c
+index 81479d81f4..3c8c5c02ff 100644
+--- a/gdk/x11/gdkvisual-x11.c
++++ b/gdk/x11/gdkvisual-x11.c
+@@ -306,7 +306,12 @@ _gdk_x11_screen_init_visuals (GdkScreen *screen)
+   /* If GL is available we want to pick better default/rgba visuals,
+      as we care about glx details such as alpha/depth/stencil depth,
+      stereo and double buffering */
++  /* update_visuals_for_gl() will end up calling epoxy GLX api which
++     will exit if libgl is not there: so only do this if we know GL
++     is available */
++#ifdef HAVE_GLX
+   _gdk_x11_screen_update_visuals_for_gl (screen);
++#endif
+ }
+ 
+ gint
+diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
+index 194bc82e29..0302bb68d4 100644
+--- a/gdk/x11/gdkwindow-x11.c
++++ b/gdk/x11/gdkwindow-x11.c
+@@ -36,7 +36,9 @@
+ #include "gdkasync.h"
+ #include "gdkeventsource.h"
+ #include "gdkdisplay-x11.h"
++#ifdef HAVE_OPENGL
+ #include "gdkglcontext-x11.h"
++#endif
+ #include "gdkprivate-x11.h"
+ #include "gdk-private.h"
+ 
+@@ -5888,7 +5890,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
+   impl_class->set_opaque_region = gdk_x11_window_set_opaque_region;
+   impl_class->set_shadow_width = gdk_x11_window_set_shadow_width;
+   impl_class->show_window_menu = gdk_x11_window_show_window_menu;
++#ifdef HAVE_OPENGL
+   impl_class->create_gl_context = gdk_x11_window_create_gl_context;
+   impl_class->invalidate_for_new_frame = gdk_x11_window_invalidate_for_new_frame;
++#endif
+   impl_class->get_unscaled_size = gdk_x11_window_get_unscaled_size;
+ }
+diff --git a/gdk/x11/gdkx-autocleanups.h b/gdk/x11/gdkx-autocleanups.h
+index edb0ea7dbf..a317d61cca 100644
+--- a/gdk/x11/gdkx-autocleanups.h
++++ b/gdk/x11/gdkx-autocleanups.h
+@@ -30,7 +30,9 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceXI2, g_object_unref)
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Display, g_object_unref)
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DisplayManager, g_object_unref)
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DragContext, g_object_unref)
++#ifdef HAVE_OPENGL
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11GLContext, g_object_unref)
++#endif
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Keymap, g_object_unref)
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Screen, g_object_unref)
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Visual, g_object_unref)
+diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h
+index 1f64bccb6d..4db6c18351 100644
+--- a/gdk/x11/gdkx.h
++++ b/gdk/x11/gdkx.h
+@@ -43,7 +43,9 @@
+ #include <gdk/x11/gdkx11display.h>
+ #include <gdk/x11/gdkx11displaymanager.h>
+ #include <gdk/x11/gdkx11dnd.h>
++#ifdef GDK_WITH_OPENGL
+ #include <gdk/x11/gdkx11glcontext.h>
++#endif
+ #include <gdk/x11/gdkx11keys.h>
+ #include <gdk/x11/gdkx11monitor.h>
+ #include <gdk/x11/gdkx11property.h>
+diff --git a/gdk/x11/meson.build b/gdk/x11/meson.build
+index 754ae0a615..0318c83877 100644
+--- a/gdk/x11/meson.build
++++ b/gdk/x11/meson.build
+@@ -14,7 +14,6 @@ gdk_x11_sources = files(
+   'gdkeventsource.c',
+   'gdkeventtranslator.c',
+   'gdkgeometry-x11.c',
+-  'gdkglcontext-x11.c',
+   'gdkkeys-x11.c',
+   'gdkmain-x11.c',
+   'gdkproperty-x11.c',
+@@ -42,7 +41,6 @@ gdk_x11_public_headers = files(
+   'gdkx11display.h',
+   'gdkx11displaymanager.h',
+   'gdkx11dnd.h',
+-  'gdkx11glcontext.h',
+   'gdkx11keys.h',
+   'gdkx11monitor.h',
+   'gdkx11property.h',
+@@ -53,6 +51,11 @@ gdk_x11_public_headers = files(
+   'gdkx11window.h',
+ )
+ 
++if opengl_enabled
++  gdk_x11_sources += files('gdkglcontext-x11.c')
++  gdk_x11_public_headers += files('gdkx11glcontext.h')
++endif
++
+ install_headers(gdk_x11_public_headers, subdir: 'gtk-3.0/gdk/x11/')
+ install_headers('gdkx.h', subdir: 'gtk-3.0/gdk/')
+ 
+diff --git a/gtk/gtkglarea.c b/gtk/gtkglarea.c
+index 802303ea9f..6439d7745d 100644
+--- a/gtk/gtkglarea.c
++++ b/gtk/gtkglarea.c
+@@ -29,7 +29,9 @@
+ #include "gtkprivate.h"
+ #include "gtkrender.h"
+ 
++#ifdef HAVE_OPENGL
+ #include <epoxy/gl.h>
++#endif
+ 
+ /**
+  * SECTION:gtkglarea
+@@ -369,9 +371,12 @@ gtk_gl_area_real_create_context (GtkGLArea *area)
+ static void
+ gtk_gl_area_resize (GtkGLArea *area, int width, int height)
+ {
++#ifdef HAVE_OPENGL
+   glViewport (0, 0, width, height);
++#endif
+ }
+ 
++#ifdef HAVE_OPENGL
+ /*
+  * Creates all the buffer objects needed for rendering the scene
+  */
+@@ -483,6 +488,7 @@ gtk_gl_area_allocate_buffers (GtkGLArea *area)
+ 
+   priv->needs_render = TRUE;
+ }
++#endif
+ 
+ /**
+  * gtk_gl_area_attach_buffers:
+@@ -501,6 +507,7 @@ gtk_gl_area_allocate_buffers (GtkGLArea *area)
+ void
+ gtk_gl_area_attach_buffers (GtkGLArea *area)
+ {
++#ifdef HAVE_OPENGL
+   GtkGLAreaPrivate *priv = gtk_gl_area_get_instance_private (area);
+ 
+   g_return_if_fail (GTK_IS_GL_AREA (area));
+@@ -533,11 +540,13 @@ gtk_gl_area_attach_buffers (GtkGLArea *area)
+         glFramebufferRenderbuffer (GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT,
+                                    GL_RENDERBUFFER, priv->depth_stencil_buffer);
+     }
++#endif
+ }
+ 
+ static void
+ gtk_gl_area_delete_buffers (GtkGLArea *area)
+ {
++#ifdef HAVE_OPENGL
+   GtkGLAreaPrivate *priv = gtk_gl_area_get_instance_private (area);
+ 
+   if (priv->context == NULL)
+@@ -569,6 +578,7 @@ gtk_gl_area_delete_buffers (GtkGLArea *area)
+       glDeleteFramebuffers (1, &priv->frame_buffer);
+       priv->frame_buffer = 0;
+     }
++#endif
+ }
+ 
+ static void
+@@ -679,6 +689,7 @@ gtk_gl_area_draw (GtkWidget *widget,
+   GtkGLArea *area = GTK_GL_AREA (widget);
+   GtkGLAreaPrivate *priv = gtk_gl_area_get_instance_private (area);
+   gboolean unused;
++#ifdef HAVE_OPENGL
+   int w, h, scale;
+   GLenum status;
+ 
+@@ -736,6 +747,14 @@ gtk_gl_area_draw (GtkWidget *widget,
+     }
+ 
+   return TRUE;
++#else
++  if (priv->error != NULL)
++      gtk_gl_area_draw_error_screen (area,
++                                     cr,
++                                     gtk_widget_get_allocated_width (widget),
++                                     gtk_widget_get_allocated_height (widget));
++  return FALSE;
++#endif
+ }
+ 
+ static gboolean
+diff --git a/gtk/inspector/general.c b/gtk/inspector/general.c
+index 4fd0c3039c..a8e59ed077 100644
+--- a/gtk/inspector/general.c
++++ b/gtk/inspector/general.c
+@@ -33,8 +33,10 @@
+ 
+ #ifdef GDK_WINDOWING_X11
+ #include "x11/gdkx.h"
++#ifdef HAVE_OPENGL
+ #include <epoxy/glx.h>
+ #endif
++#endif
+ 
+ #ifdef GDK_WINDOWING_WIN32
+ #include "win32/gdkwin32.h"
+@@ -217,6 +219,7 @@ add_label_row (GtkInspectorGeneral *gen,
+   gtk_size_group_add_widget (GTK_SIZE_GROUP (gen->priv->labels), label);
+ }
+ 
++#ifdef HAVE_OPENGL
+ #ifdef GDK_WINDOWING_X11
+ static void
+ append_glx_extension_row (GtkInspectorGeneral *gen,
+@@ -226,6 +229,7 @@ append_glx_extension_row (GtkInspectorGeneral *gen,
+   add_check_row (gen, GTK_LIST_BOX (gen->priv->gl_box), ext, epoxy_has_glx_extension (dpy, 0, ext), 0);
+ }
+ #endif
++#endif
+ 
+ #ifdef GDK_WINDOWING_WAYLAND
+ static void
+@@ -275,6 +279,7 @@ wayland_get_display (struct wl_display *wl_display)
+ static void
+ init_gl (GtkInspectorGeneral *gen)
+ {
++#ifdef HAVE_OPENGL
+ #ifdef GDK_WINDOWING_X11
+   if (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))
+     {
+@@ -301,6 +306,7 @@ init_gl (GtkInspectorGeneral *gen)
+     }
+   else
+ #endif
++#endif
+ #ifdef GDK_WINDOWING_WAYLAND
+   if (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ()))
+     {
+diff --git a/meson.build b/meson.build
+index f2e63a8655..eea5347930 100644
+--- a/meson.build
++++ b/meson.build
+@@ -136,6 +136,7 @@ wayland_enabled        = get_option('wayland_backend')
+ broadway_enabled       = get_option('broadway_backend')
+ quartz_enabled         = get_option('quartz_backend')
+ win32_enabled          = get_option('win32_backend')
++opengl_enabled         = get_option('opengl')
+ 
+ os_unix   = false
+ os_linux  = false
+@@ -450,7 +451,7 @@ pangocairo_dep = dependency('pangocairo', version: cairo_req,
+                             fallback : ['pango', 'libpangocairo_dep'])
+ pixbuf_dep     = dependency('gdk-pixbuf-2.0', version: gdk_pixbuf_req,
+                             fallback : ['gdk-pixbuf', 'gdkpixbuf_dep'])
+-epoxy_dep      = dependency('epoxy', version: epoxy_req,
++epoxy_dep      = dependency('epoxy', version: epoxy_req, required: opengl_enabled,
+                             fallback: ['libepoxy', 'libepoxy_dep'])
+ atk_dep        = dependency('atk', version: atk_req,
+                             fallback : ['atk', 'libatk_dep'])
+@@ -496,6 +497,10 @@ if tracker3_enabled
+   endif
+ endif
+ 
++if opengl_enabled
++  cdata.set('HAVE_OPENGL', 1)
++endif
++
+ if iso_codes_dep.found()
+   cdata.set_quoted('ISO_CODES_PREFIX', iso_codes_dep.get_pkgconfig_variable('prefix'))
+ else
+@@ -926,9 +931,15 @@ else
+   gio_packages = ['gio-2.0', glib_req]
+ endif
+ 
++if opengl_enabled
++  epoxy_packages = ['epoxy', epoxy_req]
++else
++  epoxy_packages = []
++endif
++
+ pkgconf.set('GDK_PRIVATE_PACKAGES',
+             ' '.join(gio_packages + x11_pkgs + wayland_pkgs + cairo_backends +
+-                     ['epoxy', epoxy_req] + cloudproviders_packages +
++                     epoxy_packages + cloudproviders_packages +
+                      ['fribidi', fribidi_req]))
+ 
+ gtk_packages = ' '.join([
+@@ -942,7 +953,7 @@ pkgconf.set('GTK_PACKAGES', gtk_packages)
+ # Requires.private
+ pc_gdk_extra_libs += cairo_libs
+ 
+-gtk_private_packages = atk_pkgs + wayland_pkgs + ['epoxy', epoxy_req, 'fribidi', fribidi_req]
++gtk_private_packages = atk_pkgs + wayland_pkgs + epoxy_packages + ['fribidi', fribidi_req]
+ if wayland_enabled or x11_enabled
+   gtk_private_packages += ['pangoft2']
+ endif
+diff --git a/meson_options.txt b/meson_options.txt
+index 94099aa01e..8bd096896d 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -19,6 +19,8 @@ option('profiler', type: 'boolean', value: false,
+   description : 'Enable profiler support')
+ option('tracker3', type: 'boolean', value: false,
+   description : 'Enable Tracker3 filechooser search')
++option('opengl', type: 'boolean', value: true,
++  description : 'Enable use of GL')
+ 
+ # Print backends
+ option('print_backends', type : 'string', value : 'auto',
+diff --git a/tests/meson.build b/tests/meson.build
+index 586fe2f45e..6ecf317dde 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -5,7 +5,6 @@ gtk_tests = [
+   ['scrolling-performance', ['frame-stats.c', 'variable.c']],
+   ['blur-performance', ['../gtk/gtkcairoblur.c']],
+   ['flicker'],
+-  ['gdkgears', ['gtkgears.c']],
+   ['listmodel'],
+   ['motion-compression'],
+   ['styleexamples'],
+@@ -54,7 +53,6 @@ gtk_tests = [
+   ['testfullscreen'],
+   ['testgeometry'],
+   ['testgiconpixbuf'],
+-  ['testglblending', ['gtkgears.c']],
+   ['testgmenu'],
+   ['testgrid'],
+   ['testgrouping'],
+@@ -137,6 +135,13 @@ if x11_enabled
+   ]
+ endif
+ 
++if opengl_enabled
++  gtk_tests += [
++    ['gdkgears', ['gtkgears.c']],
++    ['testglblending', ['gtkgears.c']],
++  ]
++endif
++
+ if os_linux
+   gtk_tests += [['testfontchooserdialog']]
+ endif
+diff --git a/testsuite/gtk/objects-finalize.c b/testsuite/gtk/objects-finalize.c
+index 24540e313f..e0f863ab6a 100644
+--- a/testsuite/gtk/objects-finalize.c
++++ b/testsuite/gtk/objects-finalize.c
+@@ -116,7 +116,9 @@ main (int argc, char **argv)
+ 	  all_types[i] != GDK_TYPE_X11_DEVICE_MANAGER_CORE &&
+ 	  all_types[i] != GDK_TYPE_X11_DEVICE_MANAGER_XI2 &&
+ 	  all_types[i] != GDK_TYPE_X11_DISPLAY_MANAGER &&
++#ifdef HAVE_OPENGL
+ 	  all_types[i] != GDK_TYPE_X11_GL_CONTEXT &&
++#endif
+ #endif
+ 	  /* Not allowed to finalize a GdkPixbufLoader without calling gdk_pixbuf_loader_close() */
+ 	  all_types[i] != GDK_TYPE_PIXBUF_LOADER &&
+-- 
+2.34.1
+
diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.24.35.bb b/meta/recipes-gnome/gtk+/gtk+3_3.24.35.bb
index 0b27e5c178..dae0d029df 100644
--- a/meta/recipes-gnome/gtk+/gtk+3_3.24.35.bb
+++ b/meta/recipes-gnome/gtk+/gtk+3_3.24.35.bb
@@ -3,9 +3,9 @@ require gtk+3.inc
 MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
 
 SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
-           file://0002-Do-not-try-to-initialize-GL-without-libGL.patch \
-           file://0003-Add-disable-opengl-configure-option.patch \
-           file://link_fribidi.patch \
+           file://meson.build;subdir=${S}/gdk/wayland/cursor \
+           file://buildpaths.patch \
+           file://opengl.patch \
            file://CVE-2024-6655.patch \
            "
 SRC_URI[sha256sum] = "ec10fe6d712ef0b3c63b5f932639c9d1ae99fce94f500f6f06965629fef60bd1"
-- 
2.51.0



^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [kirkstone][PATCH 03/19] gtk+3: fix reproducible builds
  2025-11-03  8:21 ` [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35 Jörg Sommer
  2025-11-03  8:21   ` [kirkstone][PATCH 02/19] gtk+3: port to Meson Jörg Sommer
@ 2025-11-03  8:21   ` Jörg Sommer
  2025-11-03  8:21   ` [kirkstone][PATCH 04/19] gtk+3: update 3.24.35 -> 3.24.36 Jörg Sommer
                     ` (15 subsequent siblings)
  17 siblings, 0 replies; 25+ messages in thread
From: Jörg Sommer @ 2025-11-03  8:21 UTC (permalink / raw)
  To: openembedded-core, ross.burton, alexandre.belloni, richard.purdie,
	joerg.sommer
  Cc: Ross Burton, Alexandre Belloni, Richard Purdie, Jörg Sommer

From: Ross Burton <ross.burton@arm.com>

We can't drop the missing meson.build file into the build tree via SRC_URI
as then the timestamp of that file becomes the timestamp of the build,
which results in repeated builds having different timestamps.

Instead patch the file into the build, which doesn't change the SDE
every build.

(From OE-Core rev: b525fab08cb4f6d7b9a71bf82378a8396a20aba8)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cherry-pick-of: 1628054eca82f3441cc119a8f741d00360171e77
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
---
 .../gtk+/gtk+3/add-missing-meson.build.patch  | 38 +++++++++++++++++++
 meta/recipes-gnome/gtk+/gtk+3/meson.build     | 14 -------
 meta/recipes-gnome/gtk+/gtk+3_3.24.35.bb      |  2 +-
 3 files changed, 39 insertions(+), 15 deletions(-)
 create mode 100644 meta/recipes-gnome/gtk+/gtk+3/add-missing-meson.build.patch
 delete mode 100644 meta/recipes-gnome/gtk+/gtk+3/meson.build

diff --git a/meta/recipes-gnome/gtk+/gtk+3/add-missing-meson.build.patch b/meta/recipes-gnome/gtk+/gtk+3/add-missing-meson.build.patch
new file mode 100644
index 0000000000..ef971ccff4
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+3/add-missing-meson.build.patch
@@ -0,0 +1,38 @@
+From 8a00d0269d547799b598adda364ad6c6ee328e6b Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Tue, 20 Dec 2022 12:09:07 +0000
+Subject: [PATCH] Add missing meson.build
+
+This file was missing from the tarball, but will be in the .36 release.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+---
+ gdk/wayland/cursor/meson.build | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+ create mode 100644 gdk/wayland/cursor/meson.build
+
+diff --git a/gdk/wayland/cursor/meson.build b/gdk/wayland/cursor/meson.build
+new file mode 100644
+index 0000000..94cf47a
+--- /dev/null
++++ b/gdk/wayland/cursor/meson.build
+@@ -0,0 +1,14 @@
++# This file is missing from the 3.24.35 tarball
++
++wayland_cursor_sources = files([
++  'wayland-cursor.c',
++  'xcursor.c',
++  'os-compatibility.c'
++])
++
++libwayland_cursor = static_library('wayland+cursor',
++  sources: wayland_cursor_sources,
++  include_directories: [ confinc, ],
++  dependencies: [ glib_dep, wlclientdep, ],
++  c_args: common_cflags,
++)
+-- 
+2.34.1
+
diff --git a/meta/recipes-gnome/gtk+/gtk+3/meson.build b/meta/recipes-gnome/gtk+/gtk+3/meson.build
deleted file mode 100644
index 94cf47a37f..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+3/meson.build
+++ /dev/null
@@ -1,14 +0,0 @@
-# This file is missing from the 3.24.35 tarball
-
-wayland_cursor_sources = files([
-  'wayland-cursor.c',
-  'xcursor.c',
-  'os-compatibility.c'
-])
-
-libwayland_cursor = static_library('wayland+cursor',
-  sources: wayland_cursor_sources,
-  include_directories: [ confinc, ],
-  dependencies: [ glib_dep, wlclientdep, ],
-  c_args: common_cflags,
-)
diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.24.35.bb b/meta/recipes-gnome/gtk+/gtk+3_3.24.35.bb
index dae0d029df..52e3a59ad6 100644
--- a/meta/recipes-gnome/gtk+/gtk+3_3.24.35.bb
+++ b/meta/recipes-gnome/gtk+/gtk+3_3.24.35.bb
@@ -3,7 +3,7 @@ require gtk+3.inc
 MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
 
 SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
-           file://meson.build;subdir=${S}/gdk/wayland/cursor \
+           file://add-missing-meson.build.patch \
            file://buildpaths.patch \
            file://opengl.patch \
            file://CVE-2024-6655.patch \
-- 
2.51.0



^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [kirkstone][PATCH 04/19] gtk+3: update 3.24.35 -> 3.24.36
  2025-11-03  8:21 ` [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35 Jörg Sommer
  2025-11-03  8:21   ` [kirkstone][PATCH 02/19] gtk+3: port to Meson Jörg Sommer
  2025-11-03  8:21   ` [kirkstone][PATCH 03/19] gtk+3: fix reproducible builds Jörg Sommer
@ 2025-11-03  8:21   ` Jörg Sommer
  2025-11-03  8:21   ` [kirkstone][PATCH 05/19] gtk+3: add PACKAGECONFIG for libcloudservice and tracker; fix cups backend Jörg Sommer
                     ` (14 subsequent siblings)
  17 siblings, 0 replies; 25+ messages in thread
From: Jörg Sommer @ 2025-11-03  8:21 UTC (permalink / raw)
  To: openembedded-core, alex.kanavin, alex, alexandre.belloni,
	richard.purdie, joerg.sommer
  Cc: Alexander Kanavin, Alexander Kanavin, Alexandre Belloni,
	Richard Purdie, Jörg Sommer

From: Alexander Kanavin <alex.kanavin@gmail.com>

Drop autotools-specific chunks in opengl.patch.

Drop add-missing-meson.build.patch (.35 tarball issue)
Drop buildpaths.patch (backport)

(From OE-Core rev: cd3cc911ea565a740b377fcc53cab1b754971d8b)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cherry-pick-of: 82ed25ab1af6272d0dab419964c69d56ee7f2d00
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
---
 ...d-introspection-according-to-option-.patch | 34 +++++++++++
 .../gtk+/gtk+3/add-missing-meson.build.patch  | 38 -------------
 .../recipes-gnome/gtk+/gtk+3/buildpaths.patch | 57 -------------------
 meta/recipes-gnome/gtk+/gtk+3/opengl.patch    | 48 ++++------------
 .../{gtk+3_3.24.35.bb => gtk+3_3.24.36.bb}    |  5 +-
 5 files changed, 46 insertions(+), 136 deletions(-)
 create mode 100644 meta/recipes-gnome/gtk+/gtk+3/0001-meson.build-build-introspection-according-to-option-.patch
 delete mode 100644 meta/recipes-gnome/gtk+/gtk+3/add-missing-meson.build.patch
 delete mode 100644 meta/recipes-gnome/gtk+/gtk+3/buildpaths.patch
 rename meta/recipes-gnome/gtk+/{gtk+3_3.24.35.bb => gtk+3_3.24.36.bb} (77%)

diff --git a/meta/recipes-gnome/gtk+/gtk+3/0001-meson.build-build-introspection-according-to-option-.patch b/meta/recipes-gnome/gtk+/gtk+3/0001-meson.build-build-introspection-according-to-option-.patch
new file mode 100644
index 0000000000..11effd421f
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+3/0001-meson.build-build-introspection-according-to-option-.patch
@@ -0,0 +1,34 @@
+From 6e533d5598ef875f30b84d931aae11b768465869 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Mon, 2 Jan 2023 15:00:02 +0100
+Subject: [PATCH] meson.build: build introspection according to option only
+
+The way the check is written, if the build is native, then the
+introspection option has no effect.
+
+Particularly yocto project does want to disable introspection in
+native builds and enable it in cross builds (both via the option),
+and without this patch the former is not possible.
+
+Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5382]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index bfc33af0f6..94ffaa7769 100644
+--- a/meson.build
++++ b/meson.build
+@@ -854,7 +854,7 @@ endif
+ 
+ # Introspection
+ gir = find_program('g-ir-scanner', required : get_option('introspection'))
+-build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection'))
++build_gir = gir.found() and get_option('introspection')
+ 
+ subdir('gdk')
+ subdir('gtk')
+-- 
+2.30.2
+
diff --git a/meta/recipes-gnome/gtk+/gtk+3/add-missing-meson.build.patch b/meta/recipes-gnome/gtk+/gtk+3/add-missing-meson.build.patch
deleted file mode 100644
index ef971ccff4..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+3/add-missing-meson.build.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 8a00d0269d547799b598adda364ad6c6ee328e6b Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@arm.com>
-Date: Tue, 20 Dec 2022 12:09:07 +0000
-Subject: [PATCH] Add missing meson.build
-
-This file was missing from the tarball, but will be in the .36 release.
-
-Upstream-Status: Inappropriate
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
----
- gdk/wayland/cursor/meson.build | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
- create mode 100644 gdk/wayland/cursor/meson.build
-
-diff --git a/gdk/wayland/cursor/meson.build b/gdk/wayland/cursor/meson.build
-new file mode 100644
-index 0000000..94cf47a
---- /dev/null
-+++ b/gdk/wayland/cursor/meson.build
-@@ -0,0 +1,14 @@
-+# This file is missing from the 3.24.35 tarball
-+
-+wayland_cursor_sources = files([
-+  'wayland-cursor.c',
-+  'xcursor.c',
-+  'os-compatibility.c'
-+])
-+
-+libwayland_cursor = static_library('wayland+cursor',
-+  sources: wayland_cursor_sources,
-+  include_directories: [ confinc, ],
-+  dependencies: [ glib_dep, wlclientdep, ],
-+  c_args: common_cflags,
-+)
--- 
-2.34.1
-
diff --git a/meta/recipes-gnome/gtk+/gtk+3/buildpaths.patch b/meta/recipes-gnome/gtk+/gtk+3/buildpaths.patch
deleted file mode 100644
index 627d1d4b7e..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+3/buildpaths.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-Use basename not full filename to remove buildpaths from the packages.
-
-Upstream-Status: Backport [8eb4e59613a0979757332eb833231b947d61f13d]
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-diff --git a/gdk/gdkenumtypes.c.template b/gdk/gdkenumtypes.c.template
-index df9edfefa1..c5104e0e0d 100644
---- a/gdk/gdkenumtypes.c.template
-+++ b/gdk/gdkenumtypes.c.template
-@@ -5,7 +5,7 @@
- /*** END file-header ***/
- 
- /*** BEGIN file-production ***/
--/* enumerations from "@filename@" */
-+/* enumerations from "@basename@" */
- /*** END file-production ***/
- 
- /*** BEGIN value-header ***/
-diff --git a/gtk/gtkprivatetypebuiltins.c.template b/gtk/gtkprivatetypebuiltins.c.template
-index 2565208bfc..d7961be8ef 100644
---- a/gtk/gtkprivatetypebuiltins.c.template
-+++ b/gtk/gtkprivatetypebuiltins.c.template
-@@ -7,7 +7,7 @@
- /*** END file-header ***/
- 
- /*** BEGIN file-production ***/
--/* enumerations from "@filename@" */
-+/* enumerations from "@basename@" */
- /*** END file-production ***/
- 
- /*** BEGIN value-header ***/
-diff --git a/gtk/gtkprivatetypebuiltins.h.template b/gtk/gtkprivatetypebuiltins.h.template
-index a21e9aac05..5ecd4d392f 100644
---- a/gtk/gtkprivatetypebuiltins.h.template
-+++ b/gtk/gtkprivatetypebuiltins.h.template
-@@ -14,7 +14,7 @@ G_BEGIN_DECLS
- 
- /*** BEGIN file-production ***/
- 
--/* enumerations from "@filename@" */
-+/* enumerations from "@basename@" */
- /*** END file-production ***/
- 
- /*** BEGIN value-header ***/
-diff --git a/gtk/gtktypebuiltins.c.template b/gtk/gtktypebuiltins.c.template
-index f4d748b7b9..9a5a360f09 100644
---- a/gtk/gtktypebuiltins.c.template
-+++ b/gtk/gtktypebuiltins.c.template
-@@ -6,7 +6,7 @@
- /*** END file-header ***/
- 
- /*** BEGIN file-production ***/
--/* enumerations from "@filename@" */
-+/* enumerations from "@basename@" */
- /*** END file-production ***/
- 
- /*** BEGIN value-header ***/
diff --git a/meta/recipes-gnome/gtk+/gtk+3/opengl.patch b/meta/recipes-gnome/gtk+/gtk+3/opengl.patch
index ddec2c72d7..7354265e10 100644
--- a/meta/recipes-gnome/gtk+/gtk+3/opengl.patch
+++ b/meta/recipes-gnome/gtk+/gtk+3/opengl.patch
@@ -1,4 +1,4 @@
-From a6fb8ee9cfd5e0f8c4450d48b582614e2de8201c Mon Sep 17 00:00:00 2001
+From 4a0716f04fb25b51b08e994bd5a900b2e7f7fed5 Mon Sep 17 00:00:00 2001
 From: Jussi Kukkonen <jussi.kukkonen@intel.com>
 Date: Fri, 16 Oct 2015 16:35:16 +0300
 Subject: [PATCH] Do not try to initialize GL without libGL
@@ -16,7 +16,6 @@ before calling epoxy APIs.
 Upstream-Status: Denied
 Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
 ---
- config.h.meson                   |  2 ++
  demos/gtk-demo/meson.build       |  5 ++++-
  docs/tools/meson.build           |  7 +++++--
  docs/tools/widgets.c             |  6 +++++-
@@ -26,7 +25,6 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
  gdk/gdkglcontext.c               |  6 ++++++
  gdk/gdkwindow.c                  | 13 +++++++++++++
  gdk/meson.build                  |  8 +++++++-
- gdk/x11/Makefile.am              |  2 --
  gdk/x11/gdkdisplay-x11.c         |  6 +++++-
  gdk/x11/gdkvisual-x11.c          |  5 +++++
  gdk/x11/gdkwindow-x11.c          |  4 ++++
@@ -39,21 +37,8 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
  meson_options.txt                |  2 ++
  tests/meson.build                |  9 +++++++--
  testsuite/gtk/objects-finalize.c |  2 ++
- 23 files changed, 130 insertions(+), 15 deletions(-)
+ 21 files changed, 128 insertions(+), 13 deletions(-)
 
-diff --git a/config.h.meson b/config.h.meson
-index b502611cb7..0bf6678d5e 100644
---- a/config.h.meson
-+++ b/config.h.meson
-@@ -20,6 +20,8 @@
- /* define if we have colord */
- #mesondefine HAVE_COLORD
- 
-+#mesondefine HAVE_OPENGL
-+
- /* Define if the GNU dcgettext() function is already present or preinstalled.
-    */
- #mesondefine HAVE_DCGETTEXT
 diff --git a/demos/gtk-demo/meson.build b/demos/gtk-demo/meson.build
 index 252da16d05..4b57cff6ac 100644
 --- a/demos/gtk-demo/meson.build
@@ -367,19 +352,6 @@ index 4bb1bf2b6c..64172b8d3e 100644
  
  gdkconfig = configure_file(
    input  : 'gdkconfig.h.meson',
-diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am
-index 32b1f24434..d73eee604a 100644
---- a/gdk/x11/Makefile.am
-+++ b/gdk/x11/Makefile.am
-@@ -40,8 +40,6 @@ libgdk_x11_la_SOURCES = 	\
- 	gdkeventtranslator.c	\
- 	gdkeventtranslator.h	\
- 	gdkgeometry-x11.c  	\
--	gdkglcontext-x11.c	\
--	gdkglcontext-x11.h	\
- 	gdkkeys-x11.c		\
- 	gdkmain-x11.c		\
- 	gdkmonitor-x11.c	\
 diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
 index 7e08f472cc..30fd7b6089 100644
 --- a/gdk/x11/gdkdisplay-x11.c
@@ -642,10 +614,10 @@ index 4fd0c3039c..a8e59ed077 100644
    if (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ()))
      {
 diff --git a/meson.build b/meson.build
-index f2e63a8655..eea5347930 100644
+index aed48fc3f6..bfc33af0f6 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -136,6 +136,7 @@ wayland_enabled        = get_option('wayland_backend')
+@@ -137,6 +137,7 @@ wayland_enabled        = get_option('wayland_backend')
  broadway_enabled       = get_option('broadway_backend')
  quartz_enabled         = get_option('quartz_backend')
  win32_enabled          = get_option('win32_backend')
@@ -653,7 +625,7 @@ index f2e63a8655..eea5347930 100644
  
  os_unix   = false
  os_linux  = false
-@@ -450,7 +451,7 @@ pangocairo_dep = dependency('pangocairo', version: cairo_req,
+@@ -430,7 +431,7 @@ pangocairo_dep = dependency('pangocairo', version: cairo_req,
                              fallback : ['pango', 'libpangocairo_dep'])
  pixbuf_dep     = dependency('gdk-pixbuf-2.0', version: gdk_pixbuf_req,
                              fallback : ['gdk-pixbuf', 'gdkpixbuf_dep'])
@@ -662,7 +634,7 @@ index f2e63a8655..eea5347930 100644
                              fallback: ['libepoxy', 'libepoxy_dep'])
  atk_dep        = dependency('atk', version: atk_req,
                              fallback : ['atk', 'libatk_dep'])
-@@ -496,6 +497,10 @@ if tracker3_enabled
+@@ -476,6 +477,10 @@ if tracker3_enabled
    endif
  endif
  
@@ -671,9 +643,9 @@ index f2e63a8655..eea5347930 100644
 +endif
 +
  if iso_codes_dep.found()
-   cdata.set_quoted('ISO_CODES_PREFIX', iso_codes_dep.get_pkgconfig_variable('prefix'))
+   cdata.set_quoted('ISO_CODES_PREFIX', iso_codes_dep.get_variable(pkgconfig: 'prefix'))
  else
-@@ -926,9 +931,15 @@ else
+@@ -912,9 +917,15 @@ else
    gio_packages = ['gio-2.0', glib_req]
  endif
  
@@ -690,7 +662,7 @@ index f2e63a8655..eea5347930 100644
                       ['fribidi', fribidi_req]))
  
  gtk_packages = ' '.join([
-@@ -942,7 +953,7 @@ pkgconf.set('GTK_PACKAGES', gtk_packages)
+@@ -928,7 +939,7 @@ pkgconf.set('GTK_PACKAGES', gtk_packages)
  # Requires.private
  pc_gdk_extra_libs += cairo_libs
  
@@ -761,5 +733,5 @@ index 24540e313f..e0f863ab6a 100644
  	  /* Not allowed to finalize a GdkPixbufLoader without calling gdk_pixbuf_loader_close() */
  	  all_types[i] != GDK_TYPE_PIXBUF_LOADER &&
 -- 
-2.34.1
+2.30.2
 
diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.24.35.bb b/meta/recipes-gnome/gtk+/gtk+3_3.24.36.bb
similarity index 77%
rename from meta/recipes-gnome/gtk+/gtk+3_3.24.35.bb
rename to meta/recipes-gnome/gtk+/gtk+3_3.24.36.bb
index 52e3a59ad6..3df4e6164c 100644
--- a/meta/recipes-gnome/gtk+/gtk+3_3.24.35.bb
+++ b/meta/recipes-gnome/gtk+/gtk+3_3.24.36.bb
@@ -3,12 +3,11 @@ require gtk+3.inc
 MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
 
 SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
-           file://add-missing-meson.build.patch \
-           file://buildpaths.patch \
            file://opengl.patch \
+           file://0001-meson.build-build-introspection-according-to-option-.patch \
            file://CVE-2024-6655.patch \
            "
-SRC_URI[sha256sum] = "ec10fe6d712ef0b3c63b5f932639c9d1ae99fce94f500f6f06965629fef60bd1"
+SRC_URI[sha256sum] = "27a6ef157743350c807ffea59baa1d70226dbede82a5e953ffd58ea6059fe691"
 
 S = "${WORKDIR}/gtk+-${PV}"
 
-- 
2.51.0



^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [kirkstone][PATCH 05/19] gtk+3: add PACKAGECONFIG for libcloudservice and tracker; fix cups backend
  2025-11-03  8:21 ` [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35 Jörg Sommer
                     ` (2 preceding siblings ...)
  2025-11-03  8:21   ` [kirkstone][PATCH 04/19] gtk+3: update 3.24.35 -> 3.24.36 Jörg Sommer
@ 2025-11-03  8:21   ` Jörg Sommer
  2025-11-03 10:29     ` [OE-core] " Gyorgy Sarvari
  2025-11-03  8:21   ` [kirkstone][PATCH 06/19] gtk+3: upgrade 3.24.36 -> 3.24.37 Jörg Sommer
                     ` (13 subsequent siblings)
  17 siblings, 1 reply; 25+ messages in thread
From: Jörg Sommer @ 2025-11-03  8:21 UTC (permalink / raw)
  To: openembedded-core, f_l_k, alexandre.belloni, richard.purdie,
	joerg.sommer
  Cc: Markus Volk, Alexandre Belloni, Richard Purdie, Jörg Sommer

From: Markus Volk <f_l_k@t-online.de>

Add options to enable support for libcloudprovider and tracker

If the cups backend is enabled, the mandatory file backend gets disabled and
thus configure fails. Fix it by not defining the print-backend and just include cups
as a dependency. Additionally add it as a runtime dependency.

Now, if cups gets enabled, it should include the following print-backends
by default: cups,lpr,file

(From OE-Core rev: 5ac88d032968f4d005a61fc34f7e3e6e55426ccd)

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cherry-pick-of: 2725d99b79b4caa9b301d206a2b1a7851d2b74cc
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
---
 meta/recipes-gnome/gtk+/gtk+3.inc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc b/meta/recipes-gnome/gtk+/gtk+3.inc
index 1d726b5696..8d01e6077f 100644
--- a/meta/recipes-gnome/gtk+/gtk+3.inc
+++ b/meta/recipes-gnome/gtk+/gtk+3.inc
@@ -41,8 +41,10 @@ PACKAGECONFIG[x11] = "-Dx11_backend=true,-Dx11_backend=false,at-spi2-atk fontcon
 # this is provided by oe-core patch that removes epoxy/gl dependency from a X11 build
 PACKAGECONFIG[opengl] = "-Dopengl=true,-Dopengl=false,libepoxy"
 PACKAGECONFIG[wayland] = "-Dwayland_backend=true,-Dwayland_backend=false,wayland wayland-protocols libxkbcommon virtual/egl virtual/libgles2 wayland-native"
-PACKAGECONFIG[cups] = "-Dprint_backends=cups,-Dprint_backends=file,cups"
+PACKAGECONFIG[cups] = ",,cups,cups"
 PACKAGECONFIG[colord] = "-Dcolord=yes,-Dcolord=no,colord"
+PACKAGECONFIG[cloudproviders] = "-Dcloudproviders=true,-Dcloudproviders=false,libcloudproviders"
+PACKAGECONFIG[tracker3] = "-Dtracker3=true,-Dtracker3=false,tracker,tracker-miners"
 
 prepare_gtk_scripts() {
     mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0
-- 
2.51.0



^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [kirkstone][PATCH 06/19] gtk+3: upgrade 3.24.36 -> 3.24.37
  2025-11-03  8:21 ` [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35 Jörg Sommer
                     ` (3 preceding siblings ...)
  2025-11-03  8:21   ` [kirkstone][PATCH 05/19] gtk+3: add PACKAGECONFIG for libcloudservice and tracker; fix cups backend Jörg Sommer
@ 2025-11-03  8:21   ` Jörg Sommer
  2025-11-03  8:21   ` [kirkstone][PATCH 07/19] gtk+3: upgrade 3.24.37 -> 3.24.38 Jörg Sommer
                     ` (12 subsequent siblings)
  17 siblings, 0 replies; 25+ messages in thread
From: Jörg Sommer @ 2025-11-03  8:21 UTC (permalink / raw)
  To: openembedded-core, ross.burton, richard.purdie, joerg.sommer
  Cc: Ross Burton, Richard Purdie, Jörg Sommer

From: Ross Burton <ross.burton@arm.com>

Drop merged introspection patch.

(From OE-Core rev: 8ac81784ce414057039bc16417a8b2dd8f58497d)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cherry-pick-of: 801538a3495cfc8d7d3264e470336ee5df5f1048
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
---
 ...d-introspection-according-to-option-.patch | 34 -------------------
 .../{gtk+3_3.24.36.bb => gtk+3_3.24.37.bb}    |  3 +-
 2 files changed, 1 insertion(+), 36 deletions(-)
 delete mode 100644 meta/recipes-gnome/gtk+/gtk+3/0001-meson.build-build-introspection-according-to-option-.patch
 rename meta/recipes-gnome/gtk+/{gtk+3_3.24.36.bb => gtk+3_3.24.37.bb} (78%)

diff --git a/meta/recipes-gnome/gtk+/gtk+3/0001-meson.build-build-introspection-according-to-option-.patch b/meta/recipes-gnome/gtk+/gtk+3/0001-meson.build-build-introspection-according-to-option-.patch
deleted file mode 100644
index 11effd421f..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+3/0001-meson.build-build-introspection-according-to-option-.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 6e533d5598ef875f30b84d931aae11b768465869 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Mon, 2 Jan 2023 15:00:02 +0100
-Subject: [PATCH] meson.build: build introspection according to option only
-
-The way the check is written, if the build is native, then the
-introspection option has no effect.
-
-Particularly yocto project does want to disable introspection in
-native builds and enable it in cross builds (both via the option),
-and without this patch the former is not possible.
-
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5382]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index bfc33af0f6..94ffaa7769 100644
---- a/meson.build
-+++ b/meson.build
-@@ -854,7 +854,7 @@ endif
- 
- # Introspection
- gir = find_program('g-ir-scanner', required : get_option('introspection'))
--build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection'))
-+build_gir = gir.found() and get_option('introspection')
- 
- subdir('gdk')
- subdir('gtk')
--- 
-2.30.2
-
diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.24.36.bb b/meta/recipes-gnome/gtk+/gtk+3_3.24.37.bb
similarity index 78%
rename from meta/recipes-gnome/gtk+/gtk+3_3.24.36.bb
rename to meta/recipes-gnome/gtk+/gtk+3_3.24.37.bb
index 3df4e6164c..382fceecc1 100644
--- a/meta/recipes-gnome/gtk+/gtk+3_3.24.36.bb
+++ b/meta/recipes-gnome/gtk+/gtk+3_3.24.37.bb
@@ -4,10 +4,9 @@ MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
 
 SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
            file://opengl.patch \
-           file://0001-meson.build-build-introspection-according-to-option-.patch \
            file://CVE-2024-6655.patch \
            "
-SRC_URI[sha256sum] = "27a6ef157743350c807ffea59baa1d70226dbede82a5e953ffd58ea6059fe691"
+SRC_URI[sha256sum] = "6745f0b4c053794151fd0f0e2474b077cccff5f83e9dd1bf3d39fe9fe5fb7f57"
 
 S = "${WORKDIR}/gtk+-${PV}"
 
-- 
2.51.0



^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [kirkstone][PATCH 07/19] gtk+3: upgrade 3.24.37 -> 3.24.38
  2025-11-03  8:21 ` [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35 Jörg Sommer
                     ` (4 preceding siblings ...)
  2025-11-03  8:21   ` [kirkstone][PATCH 06/19] gtk+3: upgrade 3.24.36 -> 3.24.37 Jörg Sommer
@ 2025-11-03  8:21   ` Jörg Sommer
  2025-11-03  8:21   ` [kirkstone][PATCH 08/19] gtk: Add rdepend on printbackend for cups Jörg Sommer
                     ` (11 subsequent siblings)
  17 siblings, 0 replies; 25+ messages in thread
From: Jörg Sommer @ 2025-11-03  8:21 UTC (permalink / raw)
  To: openembedded-core, ross.burton, richard.purdie, joerg.sommer
  Cc: Ross Burton, Richard Purdie, Jörg Sommer

From: Ross Burton <ross.burton@arm.com>

(From OE-Core rev: 7056611ae3bd356908b17201d35879024f2628c2)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cherry-pick-of: 1e049e4e7af7846f58652aed110f0a688a5809c1
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
---
 meta/recipes-gnome/gtk+/{gtk+3_3.24.37.bb => gtk+3_3.24.38.bb} | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename meta/recipes-gnome/gtk+/{gtk+3_3.24.37.bb => gtk+3_3.24.38.bb} (87%)

diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.24.37.bb b/meta/recipes-gnome/gtk+/gtk+3_3.24.38.bb
similarity index 87%
rename from meta/recipes-gnome/gtk+/gtk+3_3.24.37.bb
rename to meta/recipes-gnome/gtk+/gtk+3_3.24.38.bb
index 382fceecc1..7337591fa5 100644
--- a/meta/recipes-gnome/gtk+/gtk+3_3.24.37.bb
+++ b/meta/recipes-gnome/gtk+/gtk+3_3.24.38.bb
@@ -6,7 +6,7 @@ SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar
            file://opengl.patch \
            file://CVE-2024-6655.patch \
            "
-SRC_URI[sha256sum] = "6745f0b4c053794151fd0f0e2474b077cccff5f83e9dd1bf3d39fe9fe5fb7f57"
+SRC_URI[sha256sum] = "ce11decf018b25bdd8505544a4f87242854ec88be054d9ade5f3a20444dd8ee7"
 
 S = "${WORKDIR}/gtk+-${PV}"
 
-- 
2.51.0



^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [kirkstone][PATCH 08/19] gtk: Add rdepend on printbackend for cups
  2025-11-03  8:21 ` [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35 Jörg Sommer
                     ` (5 preceding siblings ...)
  2025-11-03  8:21   ` [kirkstone][PATCH 07/19] gtk+3: upgrade 3.24.37 -> 3.24.38 Jörg Sommer
@ 2025-11-03  8:21   ` Jörg Sommer
  2025-11-03  8:21   ` [kirkstone][PATCH 09/19] gtk: Set CVE_PRODUCT Jörg Sommer
                     ` (10 subsequent siblings)
  17 siblings, 0 replies; 25+ messages in thread
From: Jörg Sommer @ 2025-11-03  8:21 UTC (permalink / raw)
  To: openembedded-core, f_l_k, alexandre.belloni, richard.purdie,
	joerg.sommer
  Cc: Markus Volk, Alexandre Belloni, Richard Purdie, Jörg Sommer

From: Markus Volk <f_l_k@t-online.de>

install the required printbackends

(From OE-Core rev: 0a97892920db46043102d54ef1623669241e9780)

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cherry-pick-of: 7e847cb969a399f825f468bdfd567dd6c1bdfce8
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
---
 meta/recipes-gnome/gtk+/gtk+3.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc b/meta/recipes-gnome/gtk+/gtk+3.inc
index 8d01e6077f..4a04c06432 100644
--- a/meta/recipes-gnome/gtk+/gtk+3.inc
+++ b/meta/recipes-gnome/gtk+/gtk+3.inc
@@ -41,7 +41,7 @@ PACKAGECONFIG[x11] = "-Dx11_backend=true,-Dx11_backend=false,at-spi2-atk fontcon
 # this is provided by oe-core patch that removes epoxy/gl dependency from a X11 build
 PACKAGECONFIG[opengl] = "-Dopengl=true,-Dopengl=false,libepoxy"
 PACKAGECONFIG[wayland] = "-Dwayland_backend=true,-Dwayland_backend=false,wayland wayland-protocols libxkbcommon virtual/egl virtual/libgles2 wayland-native"
-PACKAGECONFIG[cups] = ",,cups,cups"
+PACKAGECONFIG[cups] = ",,cups,cups gtk3-printbackend-cups"
 PACKAGECONFIG[colord] = "-Dcolord=yes,-Dcolord=no,colord"
 PACKAGECONFIG[cloudproviders] = "-Dcloudproviders=true,-Dcloudproviders=false,libcloudproviders"
 PACKAGECONFIG[tracker3] = "-Dtracker3=true,-Dtracker3=false,tracker,tracker-miners"
-- 
2.51.0



^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [kirkstone][PATCH 09/19] gtk: Set CVE_PRODUCT
  2025-11-03  8:21 ` [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35 Jörg Sommer
                     ` (6 preceding siblings ...)
  2025-11-03  8:21   ` [kirkstone][PATCH 08/19] gtk: Add rdepend on printbackend for cups Jörg Sommer
@ 2025-11-03  8:21   ` Jörg Sommer
  2025-11-03  8:21   ` [kirkstone][PATCH 10/19] gtk+3: update 3.24.38 -> 3.24.41 Jörg Sommer
                     ` (9 subsequent siblings)
  17 siblings, 0 replies; 25+ messages in thread
From: Jörg Sommer @ 2025-11-03  8:21 UTC (permalink / raw)
  To: openembedded-core, robert.joslyn, richard.purdie, joerg.sommer
  Cc: Robert Joslyn, Richard Purdie, Jörg Sommer

From: Robert Joslyn <robert.joslyn@redrectangle.org>

The CPE vendor is "gnome" and the CPE product is "gtk" for both gtk+3
and gtk4 recipes. Set CVE_PRODUCT so we properly match the NVD database.

(From OE-Core rev: 253f5f745d66acefcc739f1c9ad2dd46be630e47)

Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cherry-pick-of: 17a2c6e38d306de3367478e3e24fe2d5c1f4c13b
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
---
 meta/recipes-gnome/gtk+/gtk+3_3.24.38.bb | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.24.38.bb b/meta/recipes-gnome/gtk+/gtk+3_3.24.38.bb
index 7337591fa5..3bcb9793ba 100644
--- a/meta/recipes-gnome/gtk+/gtk+3_3.24.38.bb
+++ b/meta/recipes-gnome/gtk+/gtk+3_3.24.38.bb
@@ -14,3 +14,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
                     file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
                     file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \
                     file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1"
+
+CVE_PRODUCT = "gnome:gtk"
-- 
2.51.0



^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [kirkstone][PATCH 10/19] gtk+3: update 3.24.38 -> 3.24.41
  2025-11-03  8:21 ` [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35 Jörg Sommer
                     ` (7 preceding siblings ...)
  2025-11-03  8:21   ` [kirkstone][PATCH 09/19] gtk: Set CVE_PRODUCT Jörg Sommer
@ 2025-11-03  8:21   ` Jörg Sommer
  2025-11-03  8:22   ` [kirkstone][PATCH 11/19] gtk+3: disable wayland without opengl Jörg Sommer
                     ` (8 subsequent siblings)
  17 siblings, 0 replies; 25+ messages in thread
From: Jörg Sommer @ 2025-11-03  8:21 UTC (permalink / raw)
  To: openembedded-core, f_l_k, richard.purdie, joerg.sommer
  Cc: Markus Volk, Richard Purdie, Jörg Sommer

From: Markus Volk <f_l_k@t-online.de>

- update opengl.patch

Overview of Changes in GTK+ 3.24.41, 23-01-2024
===============================================

* Fix a crash introduced in the X11 changes in 3.24.40

* Build fixes

* Wayland: Fix interpretation of gtk-shell protocol

Overview of Changes in GTK+ 3.24.40, 17-01-2024
===============================================

* GtkEmojiChooser:
 - Update to CLDR v44
 - Add more translations

* GtkGestures:
 - Preserve accuracy when translating events

* X11
 - Support 'virtual' XRANDR monitors

* MacOs:
 - Use consistent event coordinates

* Translation updates:
 Georgian
 Hebrew
 Swedish

Overview of Changes in GTK+ 3.24.39, 19-12-2023
===============================================

* GtkMountOperation:
 - Avoid a segfault

* GtkTooltip:
 - Fix some positioning problems

* GtkFileChooser:
 - Handle webdav in the pathbar

* GtkFileChooserNative:
 - Fix closing portal file choosers

* GDK:
 - Handle offscreen windows better in some places

* Wayland:
 - Create pad devices on enter
 - Ensure device-added/removed are emitted
 - Make stylus button mappings compatible with X11
 - Try harder to preserve cursor size with scaling
 - Avoid oob access to cursor images
 - Support tiling in xdg-shell
 - Avoid using legacy cursor names
 - Fix buffer size for scaled custom cursors

* X11:
 - Remove slow path in gdk_cairo_draw_from_gl
 - Trap more XRANDR errors

* MacOs:
 - Make gdkquartz-cocoa-access.h usable again
 - Silence secure-restore message

* Translation updates
 Belarusian
 British English
 Catalan
 Chinese (China)
 Czech
 Danish
 Esperanto
 Farsi
 Georgian
 Greek
 Hebrew
 Icelandic
 Kazakh
 Korean
 Polish
 Punjabi
 Romanian
 Slovak
 Slovenian
 Spanish
 Turkish

(From OE-Core rev: 2378f50d32aa955a269fc747de3af2cb28767741)

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cherry-pick-of: d3b384e899556c4bac8cef1fc43fb054602e3183
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
---
 meta/recipes-gnome/gtk+/gtk+3/opengl.patch    | 25 ++++++++++---------
 .../{gtk+3_3.24.38.bb => gtk+3_3.24.41.bb}    |  2 +-
 2 files changed, 14 insertions(+), 13 deletions(-)
 rename meta/recipes-gnome/gtk+/{gtk+3_3.24.38.bb => gtk+3_3.24.41.bb} (87%)

diff --git a/meta/recipes-gnome/gtk+/gtk+3/opengl.patch b/meta/recipes-gnome/gtk+/gtk+3/opengl.patch
index 7354265e10..8f2feb0ee7 100644
--- a/meta/recipes-gnome/gtk+/gtk+3/opengl.patch
+++ b/meta/recipes-gnome/gtk+/gtk+3/opengl.patch
@@ -141,17 +141,18 @@ diff --git a/gdk/gdkgl.c b/gdk/gdkgl.c
 index 9690077cc2..55f85ef605 100644
 --- a/gdk/gdkgl.c
 +++ b/gdk/gdkgl.c
-@@ -26,7 +26,9 @@
- # include "win32/gdkwin32.h"
- #endif
+@@ -21,8 +21,9 @@
+ #include "gdkglcontextprivate.h"
  
+ #include "gdkinternals.h"
+-
 +#ifdef HAVE_OPENGL
  #include <epoxy/gl.h>
 +#endif
  #include <math.h>
  #include <string.h>
  
-@@ -40,6 +42,7 @@ gdk_cairo_surface_mark_as_direct (cairo_surface_t *surface,
+@@ -36,6 +37,7 @@
                                 g_object_ref (window),  g_object_unref);
  }
  
@@ -159,7 +160,7 @@ index 9690077cc2..55f85ef605 100644
  static const char *
  get_vertex_type_name (int type)
  {
-@@ -212,6 +215,7 @@ use_texture_rect_program (GdkGLContextPaintData *paint_data)
+@@ -208,6 +210,7 @@
        glUseProgram (paint_data->current_program->program);
      }
  }
@@ -167,7 +168,7 @@ index 9690077cc2..55f85ef605 100644
  
  void
  gdk_gl_texture_quads (GdkGLContext *paint_context,
-@@ -220,6 +224,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
+@@ -216,6 +219,7 @@
                        GdkTexturedQuad *quads,
                        gboolean flip_colors)
  {
@@ -175,7 +176,7 @@ index 9690077cc2..55f85ef605 100644
    GdkGLContextPaintData *paint_data  = gdk_gl_context_get_paint_data (paint_context);
    GdkGLContextProgram *program;
    GdkWindow *window = gdk_gl_context_get_window (paint_context);
-@@ -293,6 +298,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
+@@ -289,6 +293,7 @@
  
    glDisableVertexAttribArray (program->position_location);
    glDisableVertexAttribArray (program->uv_location);
@@ -183,15 +184,15 @@ index 9690077cc2..55f85ef605 100644
  }
  
  /* x,y,width,height describes a rectangle in the gl render buffer
-@@ -341,6 +347,7 @@ gdk_cairo_draw_from_gl (cairo_t              *cr,
+@@ -337,6 +342,7 @@
                          int                   width,
                          int                   height)
  {
 +#ifdef HAVE_OPENGL
-   GdkGLContext *paint_context;
+   GdkGLContext *paint_context, *current_context;
    cairo_surface_t *image;
    cairo_matrix_t matrix;
-@@ -718,6 +725,7 @@ out:
+@@ -703,6 +709,7 @@
    if (clip_region)
      cairo_region_destroy (clip_region);
  
@@ -199,7 +200,7 @@ index 9690077cc2..55f85ef605 100644
  }
  
  /* This is always called with the paint context current */
-@@ -725,6 +733,7 @@ void
+@@ -710,6 +717,7 @@
  gdk_gl_texture_from_surface (cairo_surface_t *surface,
  			     cairo_region_t  *region)
  {
@@ -207,7 +208,7 @@ index 9690077cc2..55f85ef605 100644
    GdkGLContext *paint_context;
    cairo_surface_t *image;
    double device_x_offset, device_y_offset;
-@@ -825,4 +834,5 @@ gdk_gl_texture_from_surface (cairo_surface_t *surface,
+@@ -810,4 +818,5 @@
  
    glDisable (GL_SCISSOR_TEST);
    glDeleteTextures (1, &texture_id);
diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.24.38.bb b/meta/recipes-gnome/gtk+/gtk+3_3.24.41.bb
similarity index 87%
rename from meta/recipes-gnome/gtk+/gtk+3_3.24.38.bb
rename to meta/recipes-gnome/gtk+/gtk+3_3.24.41.bb
index 3bcb9793ba..94a553584a 100644
--- a/meta/recipes-gnome/gtk+/gtk+3_3.24.38.bb
+++ b/meta/recipes-gnome/gtk+/gtk+3_3.24.41.bb
@@ -6,7 +6,7 @@ SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar
            file://opengl.patch \
            file://CVE-2024-6655.patch \
            "
-SRC_URI[sha256sum] = "ce11decf018b25bdd8505544a4f87242854ec88be054d9ade5f3a20444dd8ee7"
+SRC_URI[sha256sum] = "47da61487af3087a94bc49296fd025ca0bc02f96ef06c556e7c8988bd651b6fa"
 
 S = "${WORKDIR}/gtk+-${PV}"
 
-- 
2.51.0



^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [kirkstone][PATCH 11/19] gtk+3: disable wayland without opengl
  2025-11-03  8:21 ` [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35 Jörg Sommer
                     ` (8 preceding siblings ...)
  2025-11-03  8:21   ` [kirkstone][PATCH 10/19] gtk+3: update 3.24.38 -> 3.24.41 Jörg Sommer
@ 2025-11-03  8:22   ` Jörg Sommer
  2025-11-03  8:22   ` [kirkstone][PATCH 12/19] gtk+3: add gtk+ to CVE_PRODUCT Jörg Sommer
                     ` (7 subsequent siblings)
  17 siblings, 0 replies; 25+ messages in thread
From: Jörg Sommer @ 2025-11-03  8:22 UTC (permalink / raw)
  To: openembedded-core, f_l_k, richard.purdie, joerg.sommer
  Cc: Markus Volk, Richard Purdie, Jörg Sommer

From: Markus Volk <f_l_k@t-online.de>

Wayland backend requires epoxy so it will pull in a requirement for opengl
While doing some tests in building old stuff like matchbox-terminal with
vte 0.76, I encountered an issue with building matchbox-terminal without
opengl in DISTRO_FEATURES.

Explicitly stating that the Wayland backend requires opengl fixes this problem
and allows matchbox-terminal to be used without.

(From OE-Core rev: 35a7e970bfba02fa01ebcf03169d2ddad90ad419)

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cherry-pick-of: f9ed8b9fa1b348baed17b97110c2a2403b058dbc
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
---
 meta/recipes-gnome/gtk+/gtk+3.inc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc b/meta/recipes-gnome/gtk+/gtk+3.inc
index 4a04c06432..e1603b43fc 100644
--- a/meta/recipes-gnome/gtk+/gtk+3.inc
+++ b/meta/recipes-gnome/gtk+/gtk+3.inc
@@ -33,7 +33,10 @@ GTKDOC_MESON_OPTION = 'gtk_doc'
 EXTRA_OEMESON = "-Dxinerama=no -Dtests=false"
 EXTRA_OEMESON:append:class-native = " -Ddemos=false -Dexamples=false"
 
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl wayland x11', d)}"
+PACKAGECONFIG ??= " \
+	${@bb.utils.filter('DISTRO_FEATURES', 'opengl x11', d)} \
+	${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'wayland', '', d)} \
+"
 PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
 PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
 
-- 
2.51.0



^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [kirkstone][PATCH 12/19] gtk+3: add gtk+ to CVE_PRODUCT
  2025-11-03  8:21 ` [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35 Jörg Sommer
                     ` (9 preceding siblings ...)
  2025-11-03  8:22   ` [kirkstone][PATCH 11/19] gtk+3: disable wayland without opengl Jörg Sommer
@ 2025-11-03  8:22   ` Jörg Sommer
  2025-11-03  8:22   ` [kirkstone][PATCH 13/19] gtk+3: upgrade 3.24.41 -> 3.24.42 Jörg Sommer
                     ` (6 subsequent siblings)
  17 siblings, 0 replies; 25+ messages in thread
From: Jörg Sommer @ 2025-11-03  8:22 UTC (permalink / raw)
  To: openembedded-core, emil.kronborg, richard.purdie, joerg.sommer
  Cc: Emil Kronborg, Richard Purdie, Jörg Sommer

From: Emil Kronborg <emil.kronborg@protonmail.com>

While the plus in GTK+ was dropped in GTK4 and onwards [1], it is still
necessary for GTK3. This is also reflected upstream where two versions
exist: http://ftp.gnome.org/pub/gnome/sources/gtk+ and
http://ftp.gnome.org/pub/gnome/sources/gtk.

[1]: https://mail.gnome.org/archives/gtk-devel-list/2019-February/msg00000.html

(From OE-Core rev: 378e1f415855feabe88b168e14f8d367f388e4bc)

Signed-off-by: Emil Kronborg <emil.kronborg@protonmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cherry-pick-of: 2f3dafe8aafd4b52b152a1abab6b9412de621147
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
---
 meta/recipes-gnome/gtk+/gtk+3_3.24.41.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.24.41.bb b/meta/recipes-gnome/gtk+/gtk+3_3.24.41.bb
index 94a553584a..a9b2065683 100644
--- a/meta/recipes-gnome/gtk+/gtk+3_3.24.41.bb
+++ b/meta/recipes-gnome/gtk+/gtk+3_3.24.41.bb
@@ -15,4 +15,4 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
                     file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \
                     file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1"
 
-CVE_PRODUCT = "gnome:gtk"
+CVE_PRODUCT = "gnome:gtk gtk:gtk\+"
-- 
2.51.0



^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [kirkstone][PATCH 13/19] gtk+3: upgrade 3.24.41 -> 3.24.42
  2025-11-03  8:21 ` [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35 Jörg Sommer
                     ` (10 preceding siblings ...)
  2025-11-03  8:22   ` [kirkstone][PATCH 12/19] gtk+3: add gtk+ to CVE_PRODUCT Jörg Sommer
@ 2025-11-03  8:22   ` Jörg Sommer
  2025-11-03  8:22   ` [kirkstone][PATCH 14/19] gtk+3: upgrade 3.24.42 -> 3.24.43 Jörg Sommer
                     ` (5 subsequent siblings)
  17 siblings, 0 replies; 25+ messages in thread
From: Jörg Sommer @ 2025-11-03  8:22 UTC (permalink / raw)
  To: openembedded-core, wangmy, alexandre.belloni, richard.purdie,
	joerg.sommer
  Cc: Wang Mingyu, Alexandre Belloni, Richard Purdie, Jörg Sommer

From: Wang Mingyu <wangmy@fujitsu.com>

Changelog:
===========
* GtkFileChooser:
 - Avoid warnings about floating refs
 - Improve performance of recursive search
 - Populate search model in an idle

* GtkGLArea:
 - Fix a regression in transparency handling

* Printing:
 - Avoid accessing freed printers

* Accessibility:
 - Drop support for the deprecated atk_focus_tracker

* Wayland:
 - Fix monitor sizes
 - Fix a crash related to tablet removal
 - Infer resizable edges for tiled windows
 - Always commit soon after acking a configure

* Windows:
 - Avoid committing NULL strings to IME

* gdk:
 - Use css cursor names as far as possible
 - Sync DND cursor use with GTK4

* macOs:
 - Fix cocoa pasteboard constants

* build:
 - Allow building against sysprof-capture-4

* Translation updates:
 Georgian
 Hebrew
 Kabyle
 Persian

(From OE-Core rev: 2f4cdc1ef16f1b86f5632fded21792d71d58de16)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cherry-pick-of: 051e1bd593cb0f7c8d47cbb3953eeaf8fc0f8314
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
---
 meta/recipes-gnome/gtk+/{gtk+3_3.24.41.bb => gtk+3_3.24.42.bb} | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename meta/recipes-gnome/gtk+/{gtk+3_3.24.41.bb => gtk+3_3.24.42.bb} (88%)

diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.24.41.bb b/meta/recipes-gnome/gtk+/gtk+3_3.24.42.bb
similarity index 88%
rename from meta/recipes-gnome/gtk+/gtk+3_3.24.41.bb
rename to meta/recipes-gnome/gtk+/gtk+3_3.24.42.bb
index a9b2065683..5612e50e8b 100644
--- a/meta/recipes-gnome/gtk+/gtk+3_3.24.41.bb
+++ b/meta/recipes-gnome/gtk+/gtk+3_3.24.42.bb
@@ -6,7 +6,7 @@ SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar
            file://opengl.patch \
            file://CVE-2024-6655.patch \
            "
-SRC_URI[sha256sum] = "47da61487af3087a94bc49296fd025ca0bc02f96ef06c556e7c8988bd651b6fa"
+SRC_URI[sha256sum] = "50f89f615092d4dd01bbd759719f8bd380e5f149f6fd78a94725e2de112377e2"
 
 S = "${WORKDIR}/gtk+-${PV}"
 
-- 
2.51.0



^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [kirkstone][PATCH 14/19] gtk+3: upgrade 3.24.42 -> 3.24.43
  2025-11-03  8:21 ` [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35 Jörg Sommer
                     ` (11 preceding siblings ...)
  2025-11-03  8:22   ` [kirkstone][PATCH 13/19] gtk+3: upgrade 3.24.41 -> 3.24.42 Jörg Sommer
@ 2025-11-03  8:22   ` Jörg Sommer
  2025-11-03  8:22   ` [kirkstone][PATCH 15/19] gtk+3: rename tracker dependencies Jörg Sommer
                     ` (4 subsequent siblings)
  17 siblings, 0 replies; 25+ messages in thread
From: Jörg Sommer @ 2025-11-03  8:22 UTC (permalink / raw)
  To: openembedded-core, ross.burton, richard.purdie, joerg.sommer
  Cc: Ross Burton, Richard Purdie, Jörg Sommer

From: Ross Burton <ross.burton@arm.com>

* Stop looking for modules in cwd (CVE-2024-6655)

(From OE-Core rev: a0a1b4b8992cb3ef7acd72f0de69a0a4bafb9e20)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cherry-pick-of: f8a5d23dd6eea6b33bfdb2067007b7d441daa2d0
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
---
 .../gtk+/gtk+3/CVE-2024-6655.patch            | 39 --------
 meta/recipes-gnome/gtk+/gtk+3/opengl.patch    | 97 +++++++++----------
 .../{gtk+3_3.24.42.bb => gtk+3_3.24.43.bb}    |  3 +-
 3 files changed, 48 insertions(+), 91 deletions(-)
 delete mode 100644 meta/recipes-gnome/gtk+/gtk+3/CVE-2024-6655.patch
 rename meta/recipes-gnome/gtk+/{gtk+3_3.24.42.bb => gtk+3_3.24.43.bb} (82%)

diff --git a/meta/recipes-gnome/gtk+/gtk+3/CVE-2024-6655.patch b/meta/recipes-gnome/gtk+/gtk+3/CVE-2024-6655.patch
deleted file mode 100644
index 2460b97b6b..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+3/CVE-2024-6655.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 3bbf0b6176d42836d23c36a6ac410e807ec0a7a7 Mon Sep 17 00:00:00 2001
-From: Matthias Clasen <mclasen@redhat.com>
-Date: Sat, 15 Jun 2024 14:18:01 -0400
-Subject: [PATCH] Stop looking for modules in cwd
-
-This is just not a good idea. It is surprising, and can be misused.
-
-Fixes: #6786
-
-CVE: CVE-2024-6655
-Upstream-Status: Backport [https://launchpad.net/ubuntu/+source/gtk+3.0/3.24.33-1ubuntu2.2]
-Signed-off-by: Ashish Sharma <asharma@mvista.com>
-
- gtk/gtkmodules.c | 9 ++-------
- 1 file changed, 2 insertions(+), 7 deletions(-)
-
-diff --git a/gtk/gtkmodules.c b/gtk/gtkmodules.c
-index 704e412aeb5..f93101c272e 100644
---- a/gtk/gtkmodules.c
-+++ b/gtk/gtkmodules.c
-@@ -214,13 +214,8 @@ find_module (const gchar *name)
-   gchar *module_name;
- 
-   module_name = _gtk_find_module (name, "modules");
--  if (!module_name)
--    {
--      /* As last resort, try loading without an absolute path (using system
--       * library path)
--       */
--      module_name = g_module_build_path (NULL, name);
--    }
-+  if (module_name == NULL)
-+    return NULL;
- 
-   module = g_module_open (module_name, G_MODULE_BIND_LOCAL | G_MODULE_BIND_LAZY);
- 
--- 
-GitLab
-
diff --git a/meta/recipes-gnome/gtk+/gtk+3/opengl.patch b/meta/recipes-gnome/gtk+/gtk+3/opengl.patch
index 8f2feb0ee7..d846045c24 100644
--- a/meta/recipes-gnome/gtk+/gtk+3/opengl.patch
+++ b/meta/recipes-gnome/gtk+/gtk+3/opengl.patch
@@ -1,4 +1,4 @@
-From 4a0716f04fb25b51b08e994bd5a900b2e7f7fed5 Mon Sep 17 00:00:00 2001
+From 24a0d767251b81810767e03aa1db8cc497408db3 Mon Sep 17 00:00:00 2001
 From: Jussi Kukkonen <jussi.kukkonen@intel.com>
 Date: Fri, 16 Oct 2015 16:35:16 +0300
 Subject: [PATCH] Do not try to initialize GL without libGL
@@ -21,7 +21,7 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
  docs/tools/widgets.c             |  6 +++++-
  gdk/gdkconfig.h.meson            |  1 +
  gdk/gdkdisplay.c                 |  4 ++++
- gdk/gdkgl.c                      | 10 ++++++++++
+ gdk/gdkgl.c                      | 11 ++++++++++-
  gdk/gdkglcontext.c               |  6 ++++++
  gdk/gdkwindow.c                  | 13 +++++++++++++
  gdk/meson.build                  |  8 +++++++-
@@ -37,10 +37,10 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
  meson_options.txt                |  2 ++
  tests/meson.build                |  9 +++++++--
  testsuite/gtk/objects-finalize.c |  2 ++
- 21 files changed, 128 insertions(+), 13 deletions(-)
+ 21 files changed, 128 insertions(+), 14 deletions(-)
 
 diff --git a/demos/gtk-demo/meson.build b/demos/gtk-demo/meson.build
-index 252da16d05..4b57cff6ac 100644
+index 252da16..4b57cff 100644
 --- a/demos/gtk-demo/meson.build
 +++ b/demos/gtk-demo/meson.build
 @@ -28,7 +28,6 @@ demos = files([
@@ -63,7 +63,7 @@ index 252da16d05..4b57cff6ac 100644
    demos += files('pagesetup.c')
  endif
 diff --git a/docs/tools/meson.build b/docs/tools/meson.build
-index 05621ee7ed..3d0a333b32 100644
+index 05621ee..3d0a333 100644
 --- a/docs/tools/meson.build
 +++ b/docs/tools/meson.build
 @@ -2,10 +2,13 @@ if x11_enabled
@@ -83,7 +83,7 @@ index 05621ee7ed..3d0a333b32 100644
                             include_directories: [ confinc, gdkinc, gtkinc, testinc, ],
                             dependencies: libgtk_dep)
 diff --git a/docs/tools/widgets.c b/docs/tools/widgets.c
-index 932daf1746..348807e133 100644
+index 932daf1..348807e 100644
 --- a/docs/tools/widgets.c
 +++ b/docs/tools/widgets.c
 @@ -8,7 +8,9 @@
@@ -110,7 +110,7 @@ index 932daf1746..348807e133 100644
  
    return info;
 diff --git a/gdk/gdkconfig.h.meson b/gdk/gdkconfig.h.meson
-index 7db19e0470..088651bafa 100644
+index 7db19e0..088651b 100644
 --- a/gdk/gdkconfig.h.meson
 +++ b/gdk/gdkconfig.h.meson
 @@ -15,6 +15,7 @@ G_BEGIN_DECLS
@@ -122,7 +122,7 @@ index 7db19e0470..088651bafa 100644
  G_END_DECLS
  
 diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c
-index 748f54860c..04ef2c09d4 100644
+index fd5e9ea..87b45e7 100644
 --- a/gdk/gdkdisplay.c
 +++ b/gdk/gdkdisplay.c
 @@ -2420,7 +2420,11 @@ gboolean
@@ -138,7 +138,7 @@ index 748f54860c..04ef2c09d4 100644
  
  GdkRenderingMode
 diff --git a/gdk/gdkgl.c b/gdk/gdkgl.c
-index 9690077cc2..55f85ef605 100644
+index 0940c06..4b56614 100644
 --- a/gdk/gdkgl.c
 +++ b/gdk/gdkgl.c
 @@ -21,8 +21,9 @@
@@ -152,7 +152,7 @@ index 9690077cc2..55f85ef605 100644
  #include <math.h>
  #include <string.h>
  
-@@ -36,6 +37,7 @@
+@@ -36,6 +37,7 @@ gdk_cairo_surface_mark_as_direct (cairo_surface_t *surface,
                                 g_object_ref (window),  g_object_unref);
  }
  
@@ -160,7 +160,7 @@ index 9690077cc2..55f85ef605 100644
  static const char *
  get_vertex_type_name (int type)
  {
-@@ -208,6 +210,7 @@
+@@ -208,6 +210,7 @@ use_texture_rect_program (GdkGLContextPaintData *paint_data)
        glUseProgram (paint_data->current_program->program);
      }
  }
@@ -168,7 +168,7 @@ index 9690077cc2..55f85ef605 100644
  
  void
  gdk_gl_texture_quads (GdkGLContext *paint_context,
-@@ -216,6 +219,7 @@
+@@ -216,6 +219,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
                        GdkTexturedQuad *quads,
                        gboolean flip_colors)
  {
@@ -176,7 +176,7 @@ index 9690077cc2..55f85ef605 100644
    GdkGLContextPaintData *paint_data  = gdk_gl_context_get_paint_data (paint_context);
    GdkGLContextProgram *program;
    GdkWindow *window = gdk_gl_context_get_window (paint_context);
-@@ -289,6 +293,7 @@
+@@ -289,6 +293,7 @@ gdk_gl_texture_quads (GdkGLContext *paint_context,
  
    glDisableVertexAttribArray (program->position_location);
    glDisableVertexAttribArray (program->uv_location);
@@ -184,7 +184,7 @@ index 9690077cc2..55f85ef605 100644
  }
  
  /* x,y,width,height describes a rectangle in the gl render buffer
-@@ -337,6 +342,7 @@
+@@ -337,6 +342,7 @@ gdk_cairo_draw_from_gl (cairo_t              *cr,
                          int                   width,
                          int                   height)
  {
@@ -192,7 +192,7 @@ index 9690077cc2..55f85ef605 100644
    GdkGLContext *paint_context, *current_context;
    cairo_surface_t *image;
    cairo_matrix_t matrix;
-@@ -703,6 +709,7 @@
+@@ -727,6 +733,7 @@ out:
    if (clip_region)
      cairo_region_destroy (clip_region);
  
@@ -200,7 +200,7 @@ index 9690077cc2..55f85ef605 100644
  }
  
  /* This is always called with the paint context current */
-@@ -710,6 +717,7 @@
+@@ -734,6 +741,7 @@ void
  gdk_gl_texture_from_surface (cairo_surface_t *surface,
  			     cairo_region_t  *region)
  {
@@ -208,14 +208,14 @@ index 9690077cc2..55f85ef605 100644
    GdkGLContext *paint_context;
    cairo_surface_t *image;
    double device_x_offset, device_y_offset;
-@@ -810,4 +818,5 @@
+@@ -834,4 +842,5 @@ gdk_gl_texture_from_surface (cairo_surface_t *surface,
  
    glDisable (GL_SCISSOR_TEST);
    glDeleteTextures (1, &texture_id);
 +#endif
  }
 diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c
-index 3b23639e1c..1f04f8e0b2 100644
+index cb0ed90..7ed74f3 100644
 --- a/gdk/gdkglcontext.c
 +++ b/gdk/gdkglcontext.c
 @@ -85,7 +85,9 @@
@@ -228,7 +228,7 @@ index 3b23639e1c..1f04f8e0b2 100644
  
  typedef struct {
    GdkDisplay *display;
-@@ -243,6 +245,7 @@ gdk_gl_context_upload_texture (GdkGLContext    *context,
+@@ -246,6 +248,7 @@ gdk_gl_context_upload_texture (GdkGLContext    *context,
                                 int              height,
                                 guint            texture_target)
  {
@@ -236,7 +236,7 @@ index 3b23639e1c..1f04f8e0b2 100644
    GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (context);
  
    g_return_if_fail (GDK_IS_GL_CONTEXT (context));
-@@ -286,6 +289,7 @@ gdk_gl_context_upload_texture (GdkGLContext    *context,
+@@ -289,6 +292,7 @@ gdk_gl_context_upload_texture (GdkGLContext    *context,
              glTexSubImage2D (texture_target, 0, 0, i, width, 1, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, (unsigned char*) data + (i * stride));
          }
      }
@@ -244,7 +244,7 @@ index 3b23639e1c..1f04f8e0b2 100644
  }
  
  static gboolean
-@@ -774,6 +778,7 @@ gdk_gl_context_realize (GdkGLContext  *context,
+@@ -801,6 +805,7 @@ gdk_gl_context_realize (GdkGLContext  *context,
  static void
  gdk_gl_context_check_extensions (GdkGLContext *context)
  {
@@ -252,7 +252,7 @@ index 3b23639e1c..1f04f8e0b2 100644
    GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (context);
    gboolean has_npot, has_texture_rectangle;
  
-@@ -853,6 +858,7 @@ gdk_gl_context_check_extensions (GdkGLContext *context)
+@@ -888,6 +893,7 @@ gdk_gl_context_check_extensions (GdkGLContext *context)
                         priv->use_texture_rectangle ? "yes" : "no"));
  
    priv->extensions_checked = TRUE;
@@ -261,7 +261,7 @@ index 3b23639e1c..1f04f8e0b2 100644
  
  /**
 diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
-index 727b0cf1f4..d4d91b0d16 100644
+index 62e0cf8..b8bda71 100644
 --- a/gdk/gdkwindow.c
 +++ b/gdk/gdkwindow.c
 @@ -45,7 +45,9 @@
@@ -321,7 +321,7 @@ index 727b0cf1f4..d4d91b0d16 100644
            cairo_region_destroy (opaque_region);
  
 diff --git a/gdk/meson.build b/gdk/meson.build
-index 4bb1bf2b6c..64172b8d3e 100644
+index 297c38c..fc71f8f 100644
 --- a/gdk/meson.build
 +++ b/gdk/meson.build
 @@ -56,7 +56,6 @@ gdk_gir_public_headers = files(
@@ -354,7 +354,7 @@ index 4bb1bf2b6c..64172b8d3e 100644
  gdkconfig = configure_file(
    input  : 'gdkconfig.h.meson',
 diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
-index 7e08f472cc..30fd7b6089 100644
+index 7e08f47..30fd7b6 100644
 --- a/gdk/x11/gdkdisplay-x11.c
 +++ b/gdk/x11/gdkdisplay-x11.c
 @@ -37,7 +37,9 @@
@@ -379,7 +379,7 @@ index 7e08f472cc..30fd7b6089 100644
    display_class->get_default_seat = gdk_x11_display_get_default_seat;
  
 diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c
-index 81479d81f4..3c8c5c02ff 100644
+index 81479d8..3c8c5c0 100644
 --- a/gdk/x11/gdkvisual-x11.c
 +++ b/gdk/x11/gdkvisual-x11.c
 @@ -306,7 +306,12 @@ _gdk_x11_screen_init_visuals (GdkScreen *screen)
@@ -396,7 +396,7 @@ index 81479d81f4..3c8c5c02ff 100644
  
  gint
 diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
-index 194bc82e29..0302bb68d4 100644
+index 89f0666..d3e1440 100644
 --- a/gdk/x11/gdkwindow-x11.c
 +++ b/gdk/x11/gdkwindow-x11.c
 @@ -36,7 +36,9 @@
@@ -409,7 +409,7 @@ index 194bc82e29..0302bb68d4 100644
  #include "gdkprivate-x11.h"
  #include "gdk-private.h"
  
-@@ -5888,7 +5890,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
+@@ -5906,7 +5908,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
    impl_class->set_opaque_region = gdk_x11_window_set_opaque_region;
    impl_class->set_shadow_width = gdk_x11_window_set_shadow_width;
    impl_class->show_window_menu = gdk_x11_window_show_window_menu;
@@ -420,7 +420,7 @@ index 194bc82e29..0302bb68d4 100644
    impl_class->get_unscaled_size = gdk_x11_window_get_unscaled_size;
  }
 diff --git a/gdk/x11/gdkx-autocleanups.h b/gdk/x11/gdkx-autocleanups.h
-index edb0ea7dbf..a317d61cca 100644
+index edb0ea7..a317d61 100644
 --- a/gdk/x11/gdkx-autocleanups.h
 +++ b/gdk/x11/gdkx-autocleanups.h
 @@ -30,7 +30,9 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceXI2, g_object_unref)
@@ -434,7 +434,7 @@ index edb0ea7dbf..a317d61cca 100644
  G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Screen, g_object_unref)
  G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Visual, g_object_unref)
 diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h
-index 1f64bccb6d..4db6c18351 100644
+index 1f64bcc..4db6c18 100644
 --- a/gdk/x11/gdkx.h
 +++ b/gdk/x11/gdkx.h
 @@ -43,7 +43,9 @@
@@ -448,7 +448,7 @@ index 1f64bccb6d..4db6c18351 100644
  #include <gdk/x11/gdkx11monitor.h>
  #include <gdk/x11/gdkx11property.h>
 diff --git a/gdk/x11/meson.build b/gdk/x11/meson.build
-index 754ae0a615..0318c83877 100644
+index 754ae0a..0318c83 100644
 --- a/gdk/x11/meson.build
 +++ b/gdk/x11/meson.build
 @@ -14,7 +14,6 @@ gdk_x11_sources = files(
@@ -480,7 +480,7 @@ index 754ae0a615..0318c83877 100644
  install_headers('gdkx.h', subdir: 'gtk-3.0/gdk/')
  
 diff --git a/gtk/gtkglarea.c b/gtk/gtkglarea.c
-index 802303ea9f..6439d7745d 100644
+index 802303e..6439d77 100644
 --- a/gtk/gtkglarea.c
 +++ b/gtk/gtkglarea.c
 @@ -29,7 +29,9 @@
@@ -568,10 +568,10 @@ index 802303ea9f..6439d7745d 100644
  
  static gboolean
 diff --git a/gtk/inspector/general.c b/gtk/inspector/general.c
-index 4fd0c3039c..a8e59ed077 100644
+index a3a3419..274600e 100644
 --- a/gtk/inspector/general.c
 +++ b/gtk/inspector/general.c
-@@ -33,8 +33,10 @@
+@@ -35,8 +35,10 @@
  
  #ifdef GDK_WINDOWING_X11
  #include "x11/gdkx.h"
@@ -582,7 +582,7 @@ index 4fd0c3039c..a8e59ed077 100644
  
  #ifdef GDK_WINDOWING_WIN32
  #include "win32/gdkwin32.h"
-@@ -217,6 +219,7 @@ add_label_row (GtkInspectorGeneral *gen,
+@@ -221,6 +223,7 @@ add_label_row (GtkInspectorGeneral *gen,
    gtk_size_group_add_widget (GTK_SIZE_GROUP (gen->priv->labels), label);
  }
  
@@ -590,7 +590,7 @@ index 4fd0c3039c..a8e59ed077 100644
  #ifdef GDK_WINDOWING_X11
  static void
  append_glx_extension_row (GtkInspectorGeneral *gen,
-@@ -226,6 +229,7 @@ append_glx_extension_row (GtkInspectorGeneral *gen,
+@@ -230,6 +233,7 @@ append_glx_extension_row (GtkInspectorGeneral *gen,
    add_check_row (gen, GTK_LIST_BOX (gen->priv->gl_box), ext, epoxy_has_glx_extension (dpy, 0, ext), 0);
  }
  #endif
@@ -598,7 +598,7 @@ index 4fd0c3039c..a8e59ed077 100644
  
  #ifdef GDK_WINDOWING_WAYLAND
  static void
-@@ -275,6 +279,7 @@ wayland_get_display (struct wl_display *wl_display)
+@@ -279,6 +283,7 @@ wayland_get_display (struct wl_display *wl_display)
  static void
  init_gl (GtkInspectorGeneral *gen)
  {
@@ -606,7 +606,7 @@ index 4fd0c3039c..a8e59ed077 100644
  #ifdef GDK_WINDOWING_X11
    if (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))
      {
-@@ -301,6 +306,7 @@ init_gl (GtkInspectorGeneral *gen)
+@@ -305,6 +310,7 @@ init_gl (GtkInspectorGeneral *gen)
      }
    else
  #endif
@@ -615,7 +615,7 @@ index 4fd0c3039c..a8e59ed077 100644
    if (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ()))
      {
 diff --git a/meson.build b/meson.build
-index aed48fc3f6..bfc33af0f6 100644
+index 67b24e5..c1cc09a 100644
 --- a/meson.build
 +++ b/meson.build
 @@ -137,6 +137,7 @@ wayland_enabled        = get_option('wayland_backend')
@@ -646,7 +646,7 @@ index aed48fc3f6..bfc33af0f6 100644
  if iso_codes_dep.found()
    cdata.set_quoted('ISO_CODES_PREFIX', iso_codes_dep.get_variable(pkgconfig: 'prefix'))
  else
-@@ -912,9 +917,15 @@ else
+@@ -914,9 +919,15 @@ else
    gio_packages = ['gio-2.0', glib_req]
  endif
  
@@ -663,7 +663,7 @@ index aed48fc3f6..bfc33af0f6 100644
                       ['fribidi', fribidi_req]))
  
  gtk_packages = ' '.join([
-@@ -928,7 +939,7 @@ pkgconf.set('GTK_PACKAGES', gtk_packages)
+@@ -930,7 +941,7 @@ pkgconf.set('GTK_PACKAGES', gtk_packages)
  # Requires.private
  pc_gdk_extra_libs += cairo_libs
  
@@ -673,7 +673,7 @@ index aed48fc3f6..bfc33af0f6 100644
    gtk_private_packages += ['pangoft2']
  endif
 diff --git a/meson_options.txt b/meson_options.txt
-index 94099aa01e..8bd096896d 100644
+index 94099aa..8bd0968 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
 @@ -19,6 +19,8 @@ option('profiler', type: 'boolean', value: false,
@@ -686,7 +686,7 @@ index 94099aa01e..8bd096896d 100644
  # Print backends
  option('print_backends', type : 'string', value : 'auto',
 diff --git a/tests/meson.build b/tests/meson.build
-index 586fe2f45e..6ecf317dde 100644
+index 6ff249f..f2a9fba 100644
 --- a/tests/meson.build
 +++ b/tests/meson.build
 @@ -5,7 +5,6 @@ gtk_tests = [
@@ -697,7 +697,7 @@ index 586fe2f45e..6ecf317dde 100644
    ['listmodel'],
    ['motion-compression'],
    ['styleexamples'],
-@@ -54,7 +53,6 @@ gtk_tests = [
+@@ -55,7 +54,6 @@ gtk_tests = [
    ['testfullscreen'],
    ['testgeometry'],
    ['testgiconpixbuf'],
@@ -705,7 +705,7 @@ index 586fe2f45e..6ecf317dde 100644
    ['testgmenu'],
    ['testgrid'],
    ['testgrouping'],
-@@ -137,6 +135,13 @@ if x11_enabled
+@@ -138,6 +136,13 @@ if x11_enabled
    ]
  endif
  
@@ -720,10 +720,10 @@ index 586fe2f45e..6ecf317dde 100644
    gtk_tests += [['testfontchooserdialog']]
  endif
 diff --git a/testsuite/gtk/objects-finalize.c b/testsuite/gtk/objects-finalize.c
-index 24540e313f..e0f863ab6a 100644
+index 95b565c..7f340c3 100644
 --- a/testsuite/gtk/objects-finalize.c
 +++ b/testsuite/gtk/objects-finalize.c
-@@ -116,7 +116,9 @@ main (int argc, char **argv)
+@@ -109,7 +109,9 @@ main (int argc, char **argv)
  	  all_types[i] != GDK_TYPE_X11_DEVICE_MANAGER_CORE &&
  	  all_types[i] != GDK_TYPE_X11_DEVICE_MANAGER_XI2 &&
  	  all_types[i] != GDK_TYPE_X11_DISPLAY_MANAGER &&
@@ -733,6 +733,3 @@ index 24540e313f..e0f863ab6a 100644
  #endif
  	  /* Not allowed to finalize a GdkPixbufLoader without calling gdk_pixbuf_loader_close() */
  	  all_types[i] != GDK_TYPE_PIXBUF_LOADER &&
--- 
-2.30.2
-
diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.24.42.bb b/meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb
similarity index 82%
rename from meta/recipes-gnome/gtk+/gtk+3_3.24.42.bb
rename to meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb
index 5612e50e8b..a8cc1152c3 100644
--- a/meta/recipes-gnome/gtk+/gtk+3_3.24.42.bb
+++ b/meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb
@@ -4,9 +4,8 @@ MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
 
 SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
            file://opengl.patch \
-           file://CVE-2024-6655.patch \
            "
-SRC_URI[sha256sum] = "50f89f615092d4dd01bbd759719f8bd380e5f149f6fd78a94725e2de112377e2"
+SRC_URI[sha256sum] = "7e04f0648515034b806b74ae5d774d87cffb1a2a96c468cb5be476d51bf2f3c7"
 
 S = "${WORKDIR}/gtk+-${PV}"
 
-- 
2.51.0



^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [kirkstone][PATCH 15/19] gtk+3: rename tracker dependencies
  2025-11-03  8:21 ` [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35 Jörg Sommer
                     ` (12 preceding siblings ...)
  2025-11-03  8:22   ` [kirkstone][PATCH 14/19] gtk+3: upgrade 3.24.42 -> 3.24.43 Jörg Sommer
@ 2025-11-03  8:22   ` Jörg Sommer
  2025-11-03 10:15     ` [OE-core] " Gyorgy Sarvari
  2025-11-03  8:22   ` [kirkstone][PATCH 16/19] gtk+3: remove unneeded .inc file Jörg Sommer
                     ` (3 subsequent siblings)
  17 siblings, 1 reply; 25+ messages in thread
From: Jörg Sommer @ 2025-11-03  8:22 UTC (permalink / raw)
  To: openembedded-core, f_l_k, richard.purdie, joerg.sommer
  Cc: Markus Volk, Richard Purdie, Jörg Sommer

From: Markus Volk <f_l_k@t-online.de>

This is required for gnome 47 update in meta-openembedded

(From OE-Core rev: 51864b3494bd8fe456fffb2e0ccf70fee13cc013)

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cherry-pick-of: 07d2dc4c98f2fe1e2c8c0aae5ce863e7bc190b5f
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
---
 meta/recipes-gnome/gtk+/gtk+3.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc b/meta/recipes-gnome/gtk+/gtk+3.inc
index e1603b43fc..03913768b1 100644
--- a/meta/recipes-gnome/gtk+/gtk+3.inc
+++ b/meta/recipes-gnome/gtk+/gtk+3.inc
@@ -47,7 +47,7 @@ PACKAGECONFIG[wayland] = "-Dwayland_backend=true,-Dwayland_backend=false,wayland
 PACKAGECONFIG[cups] = ",,cups,cups gtk3-printbackend-cups"
 PACKAGECONFIG[colord] = "-Dcolord=yes,-Dcolord=no,colord"
 PACKAGECONFIG[cloudproviders] = "-Dcloudproviders=true,-Dcloudproviders=false,libcloudproviders"
-PACKAGECONFIG[tracker3] = "-Dtracker3=true,-Dtracker3=false,tracker,tracker-miners"
+PACKAGECONFIG[tracker3] = "-Dtracker3=true,-Dtracker3=false,tinysparql,localsearch"
 
 prepare_gtk_scripts() {
     mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0
-- 
2.51.0



^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [kirkstone][PATCH 16/19] gtk+3: remove unneeded .inc file
  2025-11-03  8:21 ` [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35 Jörg Sommer
                     ` (13 preceding siblings ...)
  2025-11-03  8:22   ` [kirkstone][PATCH 15/19] gtk+3: rename tracker dependencies Jörg Sommer
@ 2025-11-03  8:22   ` Jörg Sommer
  2025-11-03  8:22   ` [kirkstone][PATCH 17/19] gtk+3: depend on the librsvg pixbuf loader in gtk3-demo Jörg Sommer
                     ` (2 subsequent siblings)
  17 siblings, 0 replies; 25+ messages in thread
From: Jörg Sommer @ 2025-11-03  8:22 UTC (permalink / raw)
  To: openembedded-core, f_l_k, richard.purdie, joerg.sommer
  Cc: Markus Volk, Richard Purdie, Jörg Sommer

From: Markus Volk <f_l_k@t-online.de>

(From OE-Core rev: fa8d6a892c4cb8479602298997140e531dbb8230)

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cherry-pick-of: 5ccfc9f411bb19a5d47e1f42784d259160778741
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
---
 meta/recipes-gnome/gtk+/gtk+3.inc        | 154 ---------------------
 meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb | 164 ++++++++++++++++++++++-
 2 files changed, 157 insertions(+), 161 deletions(-)
 delete mode 100644 meta/recipes-gnome/gtk+/gtk+3.inc

diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc b/meta/recipes-gnome/gtk+/gtk+3.inc
deleted file mode 100644
index 03913768b1..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+3.inc
+++ /dev/null
@@ -1,154 +0,0 @@
-
-SUMMARY = "Multi-platform toolkit for creating GUIs"
-DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
-set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites."
-HOMEPAGE = "http://www.gtk.org"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-SECTION = "libs"
-
-DEPENDS = "glib-2.0 cairo pango atk jpeg libpng gdk-pixbuf gdk-pixbuf-native"
-
-LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later & LGPL-2.1-or-later"
-
-inherit meson gettext pkgconfig gtk-doc update-alternatives gtk-immodules-cache gsettings features_check gobject-introspection
-
-BBCLASSEXTEND = "native nativesdk"
-
-GSETTINGS_PACKAGE:class-native = ""
-
-# versions >= 3.90 are development versions, otherwise like upstream-version-is-even
-UPSTREAM_CHECK_REGEX = "[^\d\.](?P<pver>3\.([1-8]?[02468])+(\.\d+)+)\.tar"
-
-ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-
-do_configure:prepend() {
-    # These files are generated by wayland-scanner but will race over modification
-    # time between the copies in the sysroot from wayland-protocols and the copy
-    # in the source tree. Solve the race by deleting so they need to be regenerated.
-    rm -f ${S}/modules/input/*-text-input-*.[ch]
-}
-
-GTKDOC_MESON_OPTION = 'gtk_doc'
-
-EXTRA_OEMESON = "-Dxinerama=no -Dtests=false"
-EXTRA_OEMESON:append:class-native = " -Ddemos=false -Dexamples=false"
-
-PACKAGECONFIG ??= " \
-	${@bb.utils.filter('DISTRO_FEATURES', 'opengl x11', d)} \
-	${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'wayland', '', d)} \
-"
-PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-
-PACKAGECONFIG[x11] = "-Dx11_backend=true,-Dx11_backend=false,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes"
-# this is provided by oe-core patch that removes epoxy/gl dependency from a X11 build
-PACKAGECONFIG[opengl] = "-Dopengl=true,-Dopengl=false,libepoxy"
-PACKAGECONFIG[wayland] = "-Dwayland_backend=true,-Dwayland_backend=false,wayland wayland-protocols libxkbcommon virtual/egl virtual/libgles2 wayland-native"
-PACKAGECONFIG[cups] = ",,cups,cups gtk3-printbackend-cups"
-PACKAGECONFIG[colord] = "-Dcolord=yes,-Dcolord=no,colord"
-PACKAGECONFIG[cloudproviders] = "-Dcloudproviders=true,-Dcloudproviders=false,libcloudproviders"
-PACKAGECONFIG[tracker3] = "-Dtracker3=true,-Dtracker3=false,tinysparql,localsearch"
-
-prepare_gtk_scripts() {
-    mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0
-
-    # duplicate gtk-query-immodules for post install script update_gtk_immodules_cache
-    mkdir -p ${D}${libexecdir}
-    ln ${D}${bindir}/gtk-query-immodules-3.0 ${D}${libexecdir}/${MLPREFIX}gtk-query-immodules-3.0
-}
-
-do_install:append:class-target() {
-    prepare_gtk_scripts
-}
-
-do_install:append:class-nativesdk() {
-    prepare_gtk_scripts
-}
-
-do_install:append:class-native() {
-        create_wrapper ${D}/${bindir}/gtk-update-icon-cache \
-                GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
-        create_wrapper ${D}/${bindir}/gtk-encode-symbolic-svg \
-                GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
-}
-
-PROVIDES += "gtk-icon-utils"
-PACKAGES =+ "${PN}-demo"
-LIBV = "3.0.0"
-
-FILES:${PN}-demo = "${bindir}/gtk3-demo \
-                    ${bindir}/gtk3-demo-application \
-                    ${bindir}/gtk3-icon-browser \
-                    ${bindir}/gtk3-widget-factory \
-                    ${datadir}/gtk-3.0/demo \
-                    ${datadir}/applications/gtk3-demo.desktop \
-                    ${datadir}/applications/gtk3-icon-browser.desktop \
-                    ${datadir}/applications/gtk3-widget-factory.desktop \
-                    ${datadir}/icons/hicolor/*/apps/gtk3-demo*.png \
-                    ${datadir}/icons/hicolor/*/apps/gtk3-widget-factory*.png"
-
-FILES:${PN}:append = " ${bindir}/gtk-update-icon-cache-3.0 \
-               ${bindir}/gtk-query-immodules-3.0 \
-               ${bindir}/gtk-launch \
-               ${datadir}/themes ${datadir}/gtk-3.0/emoji \
-               ${sysconfdir} ${datadir}/glib-2.0/schemas/ \
-               ${libdir}/gtk-3.0/${LIBV}/engines/libpixmap.so \
-               ${libdir}/gtk-3.0/modules/*.so"
-
-FILES:${PN}-dev += " \
-                    ${datadir}/gtk-3.0/gtkbuilder.rng \
-                    ${datadir}/gtk-3.0/include \
-                    ${datadir}/gtk-3.0/valgrind \
-                    ${datadir}/gettext/its \
-                    ${libdir}/gtk-3.0/include \
-                    ${libdir}/gtk-3.0/${LIBV}/loaders/*.la \
-                    ${libdir}/gtk-3.0/${LIBV}/immodules/*.la \
-                    ${libdir}/gtk-3.0/3.0.0/printbackends/*.la \
-                    ${libdir}/gtk-3.0/${LIBV}/engines/*.la \
-                    ${libdir}/gtk-3.0/modules/*.la \
-                    ${bindir}/gtk-builder-convert \
-                    ${bindir}/gtk-encode-symbolic-svg \
-                    ${bindir}/gtk-builder-tool \
-                    ${bindir}/gtk-query-settings \
-                    "
-
-GTKBASE_RRECOMMENDS ?= "liberation-fonts \
-                        gdk-pixbuf-loader-png \
-                        gdk-pixbuf-loader-jpeg \
-                        gdk-pixbuf-loader-gif \
-                        gdk-pixbuf-loader-xpm \
-                        shared-mime-info \
-                        adwaita-icon-theme-symbolic \
-                        "
-
-GTKBASE_RRECOMMENDS:class-native ?= "\
-                        "
-
-GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1"
-
-RRECOMMENDS:${PN} = "${GTKBASE_RRECOMMENDS}"
-RRECOMMENDS:${PN}:libc-glibc = "${GTKGLIBC_RRECOMMENDS}"
-RDEPENDS:${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG", "wayland", "wayland-protocols", "", d)}"
-
-PACKAGES_DYNAMIC += "^gtk3-immodule-.* ^gtk3-printbackend-.*"
-
-ALTERNATIVE:${PN} = "gtk-update-icon-cache"
-ALTERNATIVE_TARGET[gtk-update-icon-cache] = "${bindir}/gtk-update-icon-cache-3.0"
-ALTERNATIVE_PRIORITY = "30"
-
-python populate_packages:prepend () {
-    import os.path
-
-    gtk_libdir = d.expand('${libdir}/gtk-3.0/${LIBV}')
-    immodules_root = os.path.join(gtk_libdir, 'immodules')
-    printmodules_root = os.path.join(gtk_libdir, 'printbackends');
-
-    immodules = do_split_packages(d, immodules_root, r'^im-(.*)\.so$', 'gtk3-immodule-%s', 'GTK input module for %s')
-    if immodules:
-        d.setVar("GTKIMMODULES_PACKAGES", " ".join(immodules))
-
-    do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk3-printbackend-%s', 'GTK printbackend module for %s')
-
-    if (d.getVar('DEBIAN_NAMES')):
-        d.setVar(d.expand('PKG:${PN}'), '${MLPREFIX}libgtk-3.0')
-}
diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb b/meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb
index a8cc1152c3..2171880c50 100644
--- a/meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb
+++ b/meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb
@@ -1,7 +1,23 @@
-require gtk+3.inc
+SUMMARY = "Multi-platform toolkit for creating GUIs"
+DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
+set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites."
+HOMEPAGE = "http://www.gtk.org"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+SECTION = "libs"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
+                    file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
+                    file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \
+                    file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1"
+
+CVE_PRODUCT = "gnome:gtk gtk:gtk\+"
+
+DEPENDS = "glib-2.0 cairo pango atk jpeg libpng gdk-pixbuf gdk-pixbuf-native"
+
+LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later & LGPL-2.1-or-later"
+
+inherit meson gettext pkgconfig gtk-doc update-alternatives gtk-immodules-cache gsettings features_check gobject-introspection
 
 MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-
 SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
            file://opengl.patch \
            "
@@ -9,9 +25,143 @@ SRC_URI[sha256sum] = "7e04f0648515034b806b74ae5d774d87cffb1a2a96c468cb5be476d51b
 
 S = "${WORKDIR}/gtk+-${PV}"
 
-LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
-                    file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
-                    file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \
-                    file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1"
+BBCLASSEXTEND = "native nativesdk"
 
-CVE_PRODUCT = "gnome:gtk gtk:gtk\+"
+GSETTINGS_PACKAGE:class-native = ""
+
+# versions >= 3.90 are development versions, otherwise like upstream-version-is-even
+UPSTREAM_CHECK_REGEX = "[^\d\.](?P<pver>3\.([1-8]?[02468])+(\.\d+)+)\.tar"
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+do_configure:prepend() {
+    # These files are generated by wayland-scanner but will race over modification
+    # time between the copies in the sysroot from wayland-protocols and the copy
+    # in the source tree. Solve the race by deleting so they need to be regenerated.
+    rm -f ${S}/modules/input/*-text-input-*.[ch]
+}
+
+GTKDOC_MESON_OPTION = 'gtk_doc'
+
+EXTRA_OEMESON = "-Dxinerama=no -Dtests=false"
+EXTRA_OEMESON:append:class-native = " -Ddemos=false -Dexamples=false"
+
+PACKAGECONFIG ??= " \
+	${@bb.utils.filter('DISTRO_FEATURES', 'opengl x11', d)} \
+	${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'wayland', '', d)} \
+"
+PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+
+PACKAGECONFIG[x11] = "-Dx11_backend=true,-Dx11_backend=false,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes"
+# this is provided by oe-core patch that removes epoxy/gl dependency from a X11 build
+PACKAGECONFIG[opengl] = "-Dopengl=true,-Dopengl=false,libepoxy"
+PACKAGECONFIG[wayland] = "-Dwayland_backend=true,-Dwayland_backend=false,wayland wayland-protocols libxkbcommon virtual/egl virtual/libgles2 wayland-native"
+PACKAGECONFIG[cups] = ",,cups,cups gtk3-printbackend-cups"
+PACKAGECONFIG[colord] = "-Dcolord=yes,-Dcolord=no,colord"
+PACKAGECONFIG[cloudproviders] = "-Dcloudproviders=true,-Dcloudproviders=false,libcloudproviders"
+PACKAGECONFIG[tracker3] = "-Dtracker3=true,-Dtracker3=false,tinysparql,localsearch"
+
+prepare_gtk_scripts() {
+    mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0
+
+    # duplicate gtk-query-immodules for post install script update_gtk_immodules_cache
+    mkdir -p ${D}${libexecdir}
+    ln ${D}${bindir}/gtk-query-immodules-3.0 ${D}${libexecdir}/${MLPREFIX}gtk-query-immodules-3.0
+}
+
+do_install:append:class-target() {
+    prepare_gtk_scripts
+}
+
+do_install:append:class-nativesdk() {
+    prepare_gtk_scripts
+}
+
+do_install:append:class-native() {
+        create_wrapper ${D}/${bindir}/gtk-update-icon-cache \
+                GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
+        create_wrapper ${D}/${bindir}/gtk-encode-symbolic-svg \
+                GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/2.10.0/loaders.cache
+}
+
+PROVIDES += "gtk-icon-utils"
+PACKAGES =+ "${PN}-demo"
+LIBV = "3.0.0"
+
+FILES:${PN}-demo = "${bindir}/gtk3-demo \
+                    ${bindir}/gtk3-demo-application \
+                    ${bindir}/gtk3-icon-browser \
+                    ${bindir}/gtk3-widget-factory \
+                    ${datadir}/gtk-3.0/demo \
+                    ${datadir}/applications/gtk3-demo.desktop \
+                    ${datadir}/applications/gtk3-icon-browser.desktop \
+                    ${datadir}/applications/gtk3-widget-factory.desktop \
+                    ${datadir}/icons/hicolor/*/apps/gtk3-demo*.png \
+                    ${datadir}/icons/hicolor/*/apps/gtk3-widget-factory*.png"
+
+FILES:${PN}:append = " ${bindir}/gtk-update-icon-cache-3.0 \
+               ${bindir}/gtk-query-immodules-3.0 \
+               ${bindir}/gtk-launch \
+               ${datadir}/themes ${datadir}/gtk-3.0/emoji \
+               ${sysconfdir} ${datadir}/glib-2.0/schemas/ \
+               ${libdir}/gtk-3.0/${LIBV}/engines/libpixmap.so \
+               ${libdir}/gtk-3.0/modules/*.so"
+
+FILES:${PN}-dev += " \
+                    ${datadir}/gtk-3.0/gtkbuilder.rng \
+                    ${datadir}/gtk-3.0/include \
+                    ${datadir}/gtk-3.0/valgrind \
+                    ${datadir}/gettext/its \
+                    ${libdir}/gtk-3.0/include \
+                    ${libdir}/gtk-3.0/${LIBV}/loaders/*.la \
+                    ${libdir}/gtk-3.0/${LIBV}/immodules/*.la \
+                    ${libdir}/gtk-3.0/3.0.0/printbackends/*.la \
+                    ${libdir}/gtk-3.0/${LIBV}/engines/*.la \
+                    ${libdir}/gtk-3.0/modules/*.la \
+                    ${bindir}/gtk-builder-convert \
+                    ${bindir}/gtk-encode-symbolic-svg \
+                    ${bindir}/gtk-builder-tool \
+                    ${bindir}/gtk-query-settings \
+                    "
+
+GTKBASE_RRECOMMENDS ?= "liberation-fonts \
+                        gdk-pixbuf-loader-png \
+                        gdk-pixbuf-loader-jpeg \
+                        gdk-pixbuf-loader-gif \
+                        gdk-pixbuf-loader-xpm \
+                        shared-mime-info \
+                        adwaita-icon-theme-symbolic \
+                        "
+
+GTKBASE_RRECOMMENDS:class-native ?= "\
+                        "
+
+GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1"
+
+RRECOMMENDS:${PN} = "${GTKBASE_RRECOMMENDS}"
+RRECOMMENDS:${PN}:libc-glibc = "${GTKGLIBC_RRECOMMENDS}"
+RDEPENDS:${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG", "wayland", "wayland-protocols", "", d)}"
+
+PACKAGES_DYNAMIC += "^gtk3-immodule-.* ^gtk3-printbackend-.*"
+
+ALTERNATIVE:${PN} = "gtk-update-icon-cache"
+ALTERNATIVE_TARGET[gtk-update-icon-cache] = "${bindir}/gtk-update-icon-cache-3.0"
+ALTERNATIVE_PRIORITY = "30"
+
+python populate_packages:prepend () {
+    import os.path
+
+    gtk_libdir = d.expand('${libdir}/gtk-3.0/${LIBV}')
+    immodules_root = os.path.join(gtk_libdir, 'immodules')
+    printmodules_root = os.path.join(gtk_libdir, 'printbackends');
+
+    immodules = do_split_packages(d, immodules_root, r'^im-(.*)\.so$', 'gtk3-immodule-%s', 'GTK input module for %s')
+    if immodules:
+        d.setVar("GTKIMMODULES_PACKAGES", " ".join(immodules))
+
+    do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk3-printbackend-%s', 'GTK printbackend module for %s')
+
+    if (d.getVar('DEBIAN_NAMES')):
+        d.setVar(d.expand('PKG:${PN}'), '${MLPREFIX}libgtk-3.0')
+}
-- 
2.51.0



^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [kirkstone][PATCH 17/19] gtk+3: depend on the librsvg pixbuf loader in gtk3-demo
  2025-11-03  8:21 ` [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35 Jörg Sommer
                     ` (14 preceding siblings ...)
  2025-11-03  8:22   ` [kirkstone][PATCH 16/19] gtk+3: remove unneeded .inc file Jörg Sommer
@ 2025-11-03  8:22   ` Jörg Sommer
  2025-11-03  8:22   ` [kirkstone][PATCH 18/19] gtk: set correct bug tracker Jörg Sommer
  2025-11-03  8:22   ` [kirkstone][PATCH 19/19] gtk+3: Update 3.24.43 -> 3.24.51 Jörg Sommer
  17 siblings, 0 replies; 25+ messages in thread
From: Jörg Sommer @ 2025-11-03  8:22 UTC (permalink / raw)
  To: openembedded-core, ross.burton, richard.purdie, joerg.sommer
  Cc: Ross Burton, Richard Purdie, Jörg Sommer

From: Ross Burton <ross.burton@arm.com>

The demo uses some SVG icons, so depend on the SVG pixbuf loader so that
they are visible.

(From OE-Core rev: 77e18e640c42ee3992464fddc1a16760cea9bc4f)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cherry-pick-of: 7517eed223cbe42efd022fdf759e846331847836
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
---
 meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb b/meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb
index 2171880c50..15870dcc08 100644
--- a/meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb
+++ b/meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb
@@ -142,6 +142,7 @@ GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1"
 RRECOMMENDS:${PN} = "${GTKBASE_RRECOMMENDS}"
 RRECOMMENDS:${PN}:libc-glibc = "${GTKGLIBC_RRECOMMENDS}"
 RDEPENDS:${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG", "wayland", "wayland-protocols", "", d)}"
+RDEPENDS:${PN}-demo += "librsvg-gtk"
 
 PACKAGES_DYNAMIC += "^gtk3-immodule-.* ^gtk3-printbackend-.*"
 
-- 
2.51.0



^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [kirkstone][PATCH 18/19] gtk: set correct bug tracker
  2025-11-03  8:21 ` [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35 Jörg Sommer
                     ` (15 preceding siblings ...)
  2025-11-03  8:22   ` [kirkstone][PATCH 17/19] gtk+3: depend on the librsvg pixbuf loader in gtk3-demo Jörg Sommer
@ 2025-11-03  8:22   ` Jörg Sommer
  2025-11-03  8:22   ` [kirkstone][PATCH 19/19] gtk+3: Update 3.24.43 -> 3.24.51 Jörg Sommer
  17 siblings, 0 replies; 25+ messages in thread
From: Jörg Sommer @ 2025-11-03  8:22 UTC (permalink / raw)
  To: openembedded-core, ross.burton, mathieu.dubois-briand,
	richard.purdie, joerg.sommer
  Cc: Ross Burton, Mathieu Dubois-Briand, Richard Purdie,
	Jörg Sommer

From: Ross Burton <ross.burton@arm.com>

GTK hasn't used bugzilla for many years, switch the bug tracker fields
to gitlab.gnome.org.

(From OE-Core rev: 87e42afb25b3faa8dfae1e37118bf18b9f8b6531)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cherry-pick-of: f42421f09ec2ab9c588a03d47d57e4ec1fb28ebc
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
---
 meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb b/meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb
index 15870dcc08..0ee2f18167 100644
--- a/meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb
+++ b/meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb
@@ -2,7 +2,7 @@ SUMMARY = "Multi-platform toolkit for creating GUIs"
 DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
 set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites."
 HOMEPAGE = "http://www.gtk.org"
-BUGTRACKER = "https://bugzilla.gnome.org/"
+BUGTRACKER = "https://gitlab.gnome.org/GNOME/gtk/-/issues/"
 SECTION = "libs"
 LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
                     file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
-- 
2.51.0



^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [kirkstone][PATCH 19/19] gtk+3: Update 3.24.43 -> 3.24.51
  2025-11-03  8:21 ` [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35 Jörg Sommer
                     ` (16 preceding siblings ...)
  2025-11-03  8:22   ` [kirkstone][PATCH 18/19] gtk: set correct bug tracker Jörg Sommer
@ 2025-11-03  8:22   ` Jörg Sommer
  17 siblings, 0 replies; 25+ messages in thread
From: Jörg Sommer @ 2025-11-03  8:22 UTC (permalink / raw)
  To: openembedded-core, joerg.sommer, mathieu.dubois-briand,
	ross.burton, richard.purdie
  Cc: Jörg Sommer, Mathieu Dubois-Briand, Ross Burton,
	Richard Purdie

From: Jörg Sommer <joerg.sommer@navimatix.de>

According to https://www.gtk.org/docs/installations/linux/#gtk-v3x the new
place for downloads is download.gnome.org aka $GNOME_MIRROR (ftp.g.o
redirects to this). And new versions are without `+`.

Update opengl.patch, handle new `is_gl_context_current`.

Overview of Changes in GTK+ 3.24.51, 29-09-2025
===============================================

* Wayland:
 - Force window titles to be valid utf8
 - Flush tablet events when neccessary

* X11:
 - Avoid a use-after-free with threads

* Windows:
 - Avoid min/max buttons for dialogs

* Images:
 - Replace a few calls to gdk_pixbuf_get_pixels
   with read_pixels to avoid thread-safety issues

* GL:
 - Try harder to keep the GL context current

* Input:
 - Make compose file parsing more robust

* Translation updates:
 Catalan
 Esperanto
 Persian

Overview of Changes in GTK+ 3.24.50, 07-08-2025
===============================================

* Themes:
 - Add a progress-working-symbolic icon
 - Support strokes in symbolic icons
 - Update theme CSS
 - Remove hardcoded Cantarell font

* GtkShortcutsWindow:
 - Differentiate all keypad symbols visually

* GtkApplication:
 - Register unsandboxed apps with the portals

* macOS:
 - Remove redundant NSView calls
 - Fix some memory leaks
 - Don't try to use the file transfer portal

* Windows:
 - Always mark windows as minimizable

* X11
 - Fix problems with gtk_window_get_geometry

* Wayland:
 - Fix a crash

* Input:
 - Make compose sequence visuals configurable

* Printing:
 - Fix the build with libcups 3
 - Support gnome-papers as previewer

* Translation updates
 Nepali
 Persian
 Uzbek (Latin)

Overview of Changes in GTK+ 3.24.49, 05-03-2025
===============================================

* Fix a crash in GtkIMContext

* Fix crashes in DND with GtkPlug/GtkSocket

* Wayland:
 - Fix erroneous crossing events, causing menus to malfunction
 - Support the cursor-shape protocol

* X11:
 - Enforce size limits on windows, preventing lockups

* macOS:
 - Fix pen tilt handling

* Translation updates
 Bulgarian
 Thai

Overview of Changes in GTK+ 3.24.48, 25-02-2025
===============================================

* Switch to the new ci-based release process

Overview of Changes in GTK+ 3.24.44, 24-01-2025
===============================================

* GtkFileChooser:
 - Stop replacing : (colon) with U+2236 (ratio)

* GtkEmojiChooser:
 - Update to Unicode 16 / CLDR 46

* GtkSpinButton:
 - Use semantically appropriate icon names
 - Make numeric spin buttons always LTR

* GtkEntry:
 - Stop guessing text direction from keyboard layout
 - Add a shortcut and context menu item to change text direction

* GtkEventControllerMotion:
 - Make enter and leave signals work

* Accessibility:
 - Use message dialog titles as names

* GDK:
 - Fix portal handling of gvfs files

* Wayland:
 - Support the xdg_foreign_v2 protocol
 - Try to fix monitor geometry on sway
 - Improve font setting fallback
 - Use a better default cursor size
 - Fix a crash during DND

* macOS:
 - Fix a UI hang

* Translation updates:
 Bulgarian
 Farsi
 Hindi
 Hungarian
 Icelandic
 Latvian
 Serbian

(From OE-Core rev: 7f370c3b9c10e723324ea8f924011c5f570749d4)

Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cherry-pick-of: 78a280af441a60cebbecdd2416106ad8b3095018
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
---
 meta/recipes-gnome/gtk+/gtk+3/opengl.patch    | 72 +++++++++++--------
 .../{gtk+3_3.24.43.bb => gtk+3_3.24.51.bb}    |  6 +-
 2 files changed, 45 insertions(+), 33 deletions(-)
 rename meta/recipes-gnome/gtk+/{gtk+3_3.24.43.bb => gtk+3_3.24.51.bb} (97%)

diff --git a/meta/recipes-gnome/gtk+/gtk+3/opengl.patch b/meta/recipes-gnome/gtk+/gtk+3/opengl.patch
index d846045c24..51d4c8e43a 100644
--- a/meta/recipes-gnome/gtk+/gtk+3/opengl.patch
+++ b/meta/recipes-gnome/gtk+/gtk+3/opengl.patch
@@ -1,4 +1,4 @@
-From 24a0d767251b81810767e03aa1db8cc497408db3 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Jussi Kukkonen <jussi.kukkonen@intel.com>
 Date: Fri, 16 Oct 2015 16:35:16 +0300
 Subject: [PATCH] Do not try to initialize GL without libGL
@@ -20,12 +20,12 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
  docs/tools/meson.build           |  7 +++++--
  docs/tools/widgets.c             |  6 +++++-
  gdk/gdkconfig.h.meson            |  1 +
- gdk/gdkdisplay.c                 |  4 ++++
+ gdk/gdkdisplay.c                 |  8 ++++++++
  gdk/gdkgl.c                      | 11 ++++++++++-
  gdk/gdkglcontext.c               |  6 ++++++
  gdk/gdkwindow.c                  | 13 +++++++++++++
  gdk/meson.build                  |  8 +++++++-
- gdk/x11/gdkdisplay-x11.c         |  6 +++++-
+ gdk/x11/gdkdisplay-x11.c         |  4 ++++
  gdk/x11/gdkvisual-x11.c          |  5 +++++
  gdk/x11/gdkwindow-x11.c          |  4 ++++
  gdk/x11/gdkx-autocleanups.h      |  2 ++
@@ -37,10 +37,10 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
  meson_options.txt                |  2 ++
  tests/meson.build                |  9 +++++++--
  testsuite/gtk/objects-finalize.c |  2 ++
- 21 files changed, 128 insertions(+), 14 deletions(-)
+ 21 files changed, 131 insertions(+), 13 deletions(-)
 
 diff --git a/demos/gtk-demo/meson.build b/demos/gtk-demo/meson.build
-index 252da16..4b57cff 100644
+index 252da16d05..4b57cff6ac 100644
 --- a/demos/gtk-demo/meson.build
 +++ b/demos/gtk-demo/meson.build
 @@ -28,7 +28,6 @@ demos = files([
@@ -63,7 +63,7 @@ index 252da16..4b57cff 100644
    demos += files('pagesetup.c')
  endif
 diff --git a/docs/tools/meson.build b/docs/tools/meson.build
-index 05621ee..3d0a333 100644
+index 05621ee7ed..3d0a333b32 100644
 --- a/docs/tools/meson.build
 +++ b/docs/tools/meson.build
 @@ -2,10 +2,13 @@ if x11_enabled
@@ -83,7 +83,7 @@ index 05621ee..3d0a333 100644
                             include_directories: [ confinc, gdkinc, gtkinc, testinc, ],
                             dependencies: libgtk_dep)
 diff --git a/docs/tools/widgets.c b/docs/tools/widgets.c
-index 932daf1..348807e 100644
+index 932daf1746..348807e133 100644
 --- a/docs/tools/widgets.c
 +++ b/docs/tools/widgets.c
 @@ -8,7 +8,9 @@
@@ -110,7 +110,7 @@ index 932daf1..348807e 100644
  
    return info;
 diff --git a/gdk/gdkconfig.h.meson b/gdk/gdkconfig.h.meson
-index 7db19e0..088651b 100644
+index 7db19e0470..088651bafa 100644
 --- a/gdk/gdkconfig.h.meson
 +++ b/gdk/gdkconfig.h.meson
 @@ -15,6 +15,7 @@ G_BEGIN_DECLS
@@ -122,10 +122,22 @@ index 7db19e0..088651b 100644
  G_END_DECLS
  
 diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c
-index fd5e9ea..87b45e7 100644
+index 5c41a48fd0..920bb18ce8 100644
 --- a/gdk/gdkdisplay.c
 +++ b/gdk/gdkdisplay.c
-@@ -2420,7 +2420,11 @@ gboolean
+@@ -2412,7 +2412,11 @@ gboolean
+ gdk_display_is_gl_context_current (GdkDisplay   *display,
+                                    GdkGLContext *context)
+ {
++#ifdef HAVE_OPENGL
+   return GDK_DISPLAY_GET_CLASS (display)->is_gl_context_current (display, context);
++#else
++  return FALSE;
++#endif
+ }
+ 
+ /*< private >
+@@ -2427,7 +2431,11 @@ gboolean
  gdk_display_make_gl_context_current (GdkDisplay   *display,
                                       GdkGLContext *context)
  {
@@ -138,7 +150,7 @@ index fd5e9ea..87b45e7 100644
  
  GdkRenderingMode
 diff --git a/gdk/gdkgl.c b/gdk/gdkgl.c
-index 0940c06..4b56614 100644
+index 0940c06c71..4b56614f9f 100644
 --- a/gdk/gdkgl.c
 +++ b/gdk/gdkgl.c
 @@ -21,8 +21,9 @@
@@ -215,7 +227,7 @@ index 0940c06..4b56614 100644
 +#endif
  }
 diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c
-index cb0ed90..7ed74f3 100644
+index 52c7bce692..fa544794ac 100644
 --- a/gdk/gdkglcontext.c
 +++ b/gdk/gdkglcontext.c
 @@ -85,7 +85,9 @@
@@ -261,7 +273,7 @@ index cb0ed90..7ed74f3 100644
  
  /**
 diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
-index 62e0cf8..b8bda71 100644
+index 62e0cf816f..b8bda7140d 100644
 --- a/gdk/gdkwindow.c
 +++ b/gdk/gdkwindow.c
 @@ -45,7 +45,9 @@
@@ -321,7 +333,7 @@ index 62e0cf8..b8bda71 100644
            cairo_region_destroy (opaque_region);
  
 diff --git a/gdk/meson.build b/gdk/meson.build
-index 297c38c..fc71f8f 100644
+index 297c38c68e..fc71f8f49d 100644
 --- a/gdk/meson.build
 +++ b/gdk/meson.build
 @@ -56,7 +56,6 @@ gdk_gir_public_headers = files(
@@ -354,7 +366,7 @@ index 297c38c..fc71f8f 100644
  gdkconfig = configure_file(
    input  : 'gdkconfig.h.meson',
 diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
-index 7e08f47..30fd7b6 100644
+index c6d1f53d70..9793cb4329 100644
 --- a/gdk/x11/gdkdisplay-x11.c
 +++ b/gdk/x11/gdkdisplay-x11.c
 @@ -37,7 +37,9 @@
@@ -367,19 +379,19 @@ index 7e08f47..30fd7b6 100644
  #include "gdk-private.h"
  #include "gdkprofilerprivate.h"
  
-@@ -3191,7 +3193,9 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class)
+@@ -3191,8 +3193,10 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class)
    display_class->text_property_to_utf8_list = _gdk_x11_display_text_property_to_utf8_list;
    display_class->utf8_to_string_target = _gdk_x11_display_utf8_to_string_target;
  
--  display_class->make_gl_context_current = gdk_x11_display_make_gl_context_current;
 +#ifdef HAVE_OPENGL
-+   display_class->make_gl_context_current = gdk_x11_display_make_gl_context_current;
+   display_class->is_gl_context_current = gdk_x11_display_is_gl_context_current;
+   display_class->make_gl_context_current = gdk_x11_display_make_gl_context_current;
 +#endif
  
    display_class->get_default_seat = gdk_x11_display_get_default_seat;
  
 diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c
-index 81479d8..3c8c5c0 100644
+index 81479d81f4..3c8c5c02ff 100644
 --- a/gdk/x11/gdkvisual-x11.c
 +++ b/gdk/x11/gdkvisual-x11.c
 @@ -306,7 +306,12 @@ _gdk_x11_screen_init_visuals (GdkScreen *screen)
@@ -396,7 +408,7 @@ index 81479d8..3c8c5c0 100644
  
  gint
 diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
-index 89f0666..d3e1440 100644
+index 0c59ad464e..ad3244f152 100644
 --- a/gdk/x11/gdkwindow-x11.c
 +++ b/gdk/x11/gdkwindow-x11.c
 @@ -36,7 +36,9 @@
@@ -409,7 +421,7 @@ index 89f0666..d3e1440 100644
  #include "gdkprivate-x11.h"
  #include "gdk-private.h"
  
-@@ -5906,7 +5908,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
+@@ -5916,7 +5918,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
    impl_class->set_opaque_region = gdk_x11_window_set_opaque_region;
    impl_class->set_shadow_width = gdk_x11_window_set_shadow_width;
    impl_class->show_window_menu = gdk_x11_window_show_window_menu;
@@ -420,7 +432,7 @@ index 89f0666..d3e1440 100644
    impl_class->get_unscaled_size = gdk_x11_window_get_unscaled_size;
  }
 diff --git a/gdk/x11/gdkx-autocleanups.h b/gdk/x11/gdkx-autocleanups.h
-index edb0ea7..a317d61 100644
+index edb0ea7dbf..a317d61cca 100644
 --- a/gdk/x11/gdkx-autocleanups.h
 +++ b/gdk/x11/gdkx-autocleanups.h
 @@ -30,7 +30,9 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceXI2, g_object_unref)
@@ -434,7 +446,7 @@ index edb0ea7..a317d61 100644
  G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Screen, g_object_unref)
  G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Visual, g_object_unref)
 diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h
-index 1f64bcc..4db6c18 100644
+index 1f64bccb6d..4db6c18351 100644
 --- a/gdk/x11/gdkx.h
 +++ b/gdk/x11/gdkx.h
 @@ -43,7 +43,9 @@
@@ -448,7 +460,7 @@ index 1f64bcc..4db6c18 100644
  #include <gdk/x11/gdkx11monitor.h>
  #include <gdk/x11/gdkx11property.h>
 diff --git a/gdk/x11/meson.build b/gdk/x11/meson.build
-index 754ae0a..0318c83 100644
+index 754ae0a615..0318c83877 100644
 --- a/gdk/x11/meson.build
 +++ b/gdk/x11/meson.build
 @@ -14,7 +14,6 @@ gdk_x11_sources = files(
@@ -480,7 +492,7 @@ index 754ae0a..0318c83 100644
  install_headers('gdkx.h', subdir: 'gtk-3.0/gdk/')
  
 diff --git a/gtk/gtkglarea.c b/gtk/gtkglarea.c
-index 802303e..6439d77 100644
+index 802303ea9f..6439d7745d 100644
 --- a/gtk/gtkglarea.c
 +++ b/gtk/gtkglarea.c
 @@ -29,7 +29,9 @@
@@ -568,7 +580,7 @@ index 802303e..6439d77 100644
  
  static gboolean
 diff --git a/gtk/inspector/general.c b/gtk/inspector/general.c
-index a3a3419..274600e 100644
+index a3a341956b..274600e74a 100644
 --- a/gtk/inspector/general.c
 +++ b/gtk/inspector/general.c
 @@ -35,8 +35,10 @@
@@ -615,7 +627,7 @@ index a3a3419..274600e 100644
    if (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ()))
      {
 diff --git a/meson.build b/meson.build
-index 67b24e5..c1cc09a 100644
+index 04d54a8e2c..324915c9ee 100644
 --- a/meson.build
 +++ b/meson.build
 @@ -137,6 +137,7 @@ wayland_enabled        = get_option('wayland_backend')
@@ -673,7 +685,7 @@ index 67b24e5..c1cc09a 100644
    gtk_private_packages += ['pangoft2']
  endif
 diff --git a/meson_options.txt b/meson_options.txt
-index 94099aa..8bd0968 100644
+index 94099aa01e..8bd096896d 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
 @@ -19,6 +19,8 @@ option('profiler', type: 'boolean', value: false,
@@ -686,7 +698,7 @@ index 94099aa..8bd0968 100644
  # Print backends
  option('print_backends', type : 'string', value : 'auto',
 diff --git a/tests/meson.build b/tests/meson.build
-index 6ff249f..f2a9fba 100644
+index 6ff249f8a1..f2a9fbad6d 100644
 --- a/tests/meson.build
 +++ b/tests/meson.build
 @@ -5,7 +5,6 @@ gtk_tests = [
@@ -720,7 +732,7 @@ index 6ff249f..f2a9fba 100644
    gtk_tests += [['testfontchooserdialog']]
  endif
 diff --git a/testsuite/gtk/objects-finalize.c b/testsuite/gtk/objects-finalize.c
-index 95b565c..7f340c3 100644
+index 95b565c591..7f340c3775 100644
 --- a/testsuite/gtk/objects-finalize.c
 +++ b/testsuite/gtk/objects-finalize.c
 @@ -109,7 +109,9 @@ main (int argc, char **argv)
diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb b/meta/recipes-gnome/gtk+/gtk+3_3.24.51.bb
similarity index 97%
rename from meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb
rename to meta/recipes-gnome/gtk+/gtk+3_3.24.51.bb
index 0ee2f18167..206578542c 100644
--- a/meta/recipes-gnome/gtk+/gtk+3_3.24.43.bb
+++ b/meta/recipes-gnome/gtk+/gtk+3_3.24.51.bb
@@ -18,12 +18,12 @@ LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later & LGPL-2.1-or-later"
 inherit meson gettext pkgconfig gtk-doc update-alternatives gtk-immodules-cache gsettings features_check gobject-introspection
 
 MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
+SRC_URI = "${GNOME_MIRROR}/gtk/${MAJ_VER}/gtk-${PV}.tar.xz \
            file://opengl.patch \
            "
-SRC_URI[sha256sum] = "7e04f0648515034b806b74ae5d774d87cffb1a2a96c468cb5be476d51bf2f3c7"
+SRC_URI[sha256sum] = "0013877c6bd23c2dbe42ad7c70a053d0e449be66736574e37867c49c5f905a4f"
 
-S = "${WORKDIR}/gtk+-${PV}"
+S = "${WORKDIR}/gtk-${PV}"
 
 BBCLASSEXTEND = "native nativesdk"
 
-- 
2.51.0



^ permalink raw reply related	[flat|nested] 25+ messages in thread

* Re: [OE-core] [kirkstone][PATCH 15/19] gtk+3: rename tracker dependencies
  2025-11-03  8:22   ` [kirkstone][PATCH 15/19] gtk+3: rename tracker dependencies Jörg Sommer
@ 2025-11-03 10:15     ` Gyorgy Sarvari
  2025-11-03 10:59       ` Jörg Sommer
  0 siblings, 1 reply; 25+ messages in thread
From: Gyorgy Sarvari @ 2025-11-03 10:15 UTC (permalink / raw)
  To: joerg.sommer, openembedded-core, f_l_k, richard.purdie

I'm not sure if this patch can work. I believe tinysparql was added in
Walnascar in meta-oe, and I'm sure that it's not in Kirkstone.

On 11/3/25 09:22, Jörg Sommer via lists.openembedded.org wrote:
> From: Markus Volk <f_l_k@t-online.de>
>
> This is required for gnome 47 update in meta-openembedded
>
> (From OE-Core rev: 51864b3494bd8fe456fffb2e0ccf70fee13cc013)
>
> Signed-off-by: Markus Volk <f_l_k@t-online.de>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> Cherry-pick-of: 07d2dc4c98f2fe1e2c8c0aae5ce863e7bc190b5f
> Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
> ---
>  meta/recipes-gnome/gtk+/gtk+3.inc | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc b/meta/recipes-gnome/gtk+/gtk+3.inc
> index e1603b43fc..03913768b1 100644
> --- a/meta/recipes-gnome/gtk+/gtk+3.inc
> +++ b/meta/recipes-gnome/gtk+/gtk+3.inc
> @@ -47,7 +47,7 @@ PACKAGECONFIG[wayland] = "-Dwayland_backend=true,-Dwayland_backend=false,wayland
>  PACKAGECONFIG[cups] = ",,cups,cups gtk3-printbackend-cups"
>  PACKAGECONFIG[colord] = "-Dcolord=yes,-Dcolord=no,colord"
>  PACKAGECONFIG[cloudproviders] = "-Dcloudproviders=true,-Dcloudproviders=false,libcloudproviders"
> -PACKAGECONFIG[tracker3] = "-Dtracker3=true,-Dtracker3=false,tracker,tracker-miners"
> +PACKAGECONFIG[tracker3] = "-Dtracker3=true,-Dtracker3=false,tinysparql,localsearch"
>  
>  prepare_gtk_scripts() {
>      mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#225629): https://lists.openembedded.org/g/openembedded-core/message/225629
> Mute This Topic: https://lists.openembedded.org/mt/116094479/6084445
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [skandigraun@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [OE-core] [kirkstone][PATCH 05/19] gtk+3: add PACKAGECONFIG for libcloudservice and tracker; fix cups backend
  2025-11-03  8:21   ` [kirkstone][PATCH 05/19] gtk+3: add PACKAGECONFIG for libcloudservice and tracker; fix cups backend Jörg Sommer
@ 2025-11-03 10:29     ` Gyorgy Sarvari
  0 siblings, 0 replies; 25+ messages in thread
From: Gyorgy Sarvari @ 2025-11-03 10:29 UTC (permalink / raw)
  To: joerg.sommer, openembedded-core, f_l_k, alexandre.belloni,
	richard.purdie

Note that libcloudproviders doesn't exist in Kirkstone meta-oe.

I guess it's a matter of taste, but in general I think changing
packageconfigs in a stable branch can be dicey.
(I get that these are cherry-picks, but maybe adding custom patches to
update would be less invasive)

On 11/3/25 09:21, Jörg Sommer via lists.openembedded.org wrote:
> From: Markus Volk <f_l_k@t-online.de>
>
> Add options to enable support for libcloudprovider and tracker
>
> If the cups backend is enabled, the mandatory file backend gets disabled and
> thus configure fails. Fix it by not defining the print-backend and just include cups
> as a dependency. Additionally add it as a runtime dependency.
>
> Now, if cups gets enabled, it should include the following print-backends
> by default: cups,lpr,file
>
> (From OE-Core rev: 5ac88d032968f4d005a61fc34f7e3e6e55426ccd)
>
> Signed-off-by: Markus Volk <f_l_k@t-online.de>
> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> Cherry-pick-of: 2725d99b79b4caa9b301d206a2b1a7851d2b74cc
> Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
> ---
>  meta/recipes-gnome/gtk+/gtk+3.inc | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc b/meta/recipes-gnome/gtk+/gtk+3.inc
> index 1d726b5696..8d01e6077f 100644
> --- a/meta/recipes-gnome/gtk+/gtk+3.inc
> +++ b/meta/recipes-gnome/gtk+/gtk+3.inc
> @@ -41,8 +41,10 @@ PACKAGECONFIG[x11] = "-Dx11_backend=true,-Dx11_backend=false,at-spi2-atk fontcon
>  # this is provided by oe-core patch that removes epoxy/gl dependency from a X11 build
>  PACKAGECONFIG[opengl] = "-Dopengl=true,-Dopengl=false,libepoxy"
>  PACKAGECONFIG[wayland] = "-Dwayland_backend=true,-Dwayland_backend=false,wayland wayland-protocols libxkbcommon virtual/egl virtual/libgles2 wayland-native"
> -PACKAGECONFIG[cups] = "-Dprint_backends=cups,-Dprint_backends=file,cups"
> +PACKAGECONFIG[cups] = ",,cups,cups"
>  PACKAGECONFIG[colord] = "-Dcolord=yes,-Dcolord=no,colord"
> +PACKAGECONFIG[cloudproviders] = "-Dcloudproviders=true,-Dcloudproviders=false,libcloudproviders"
> +PACKAGECONFIG[tracker3] = "-Dtracker3=true,-Dtracker3=false,tracker,tracker-miners"
>  
>  prepare_gtk_scripts() {
>      mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#225619): https://lists.openembedded.org/g/openembedded-core/message/225619
> Mute This Topic: https://lists.openembedded.org/mt/116094469/6084445
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [skandigraun@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [OE-core] [kirkstone][PATCH 15/19] gtk+3: rename tracker dependencies
  2025-11-03 10:15     ` [OE-core] " Gyorgy Sarvari
@ 2025-11-03 10:59       ` Jörg Sommer
  2025-11-03 13:37         ` Gyorgy Sarvari
  0 siblings, 1 reply; 25+ messages in thread
From: Jörg Sommer @ 2025-11-03 10:59 UTC (permalink / raw)
  To: Gyorgy Sarvari; +Cc: openembedded-core, f_l_k, richard.purdie

[-- Attachment #1: Type: text/plain, Size: 2202 bytes --]

Gyorgy Sarvari schrieb am Mo 03. Nov, 11:15 (+0100):
> I'm not sure if this patch can work. I believe tinysparql was added in
> Walnascar in meta-oe, and I'm sure that it's not in Kirkstone.

Yes, it fails to build. I would drop the following commits, because there
should be no user of/need for these PACKAGECONFIGs.

* gtk+3: add PACKAGECONFIG for libcloudservice and tracker; fix cups backend
* gtk: Add rdepend on printbackend for cups
* gtk+3: rename tracker dependencies


> On 11/3/25 09:22, Jörg Sommer via lists.openembedded.org wrote:
> > From: Markus Volk <f_l_k@t-online.de>
> >
> > This is required for gnome 47 update in meta-openembedded
> >
> > (From OE-Core rev: 51864b3494bd8fe456fffb2e0ccf70fee13cc013)
> >
> > Signed-off-by: Markus Volk <f_l_k@t-online.de>
> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> > Cherry-pick-of: 07d2dc4c98f2fe1e2c8c0aae5ce863e7bc190b5f
> > Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
> > ---
> >  meta/recipes-gnome/gtk+/gtk+3.inc | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc b/meta/recipes-gnome/gtk+/gtk+3.inc
> > index e1603b43fc..03913768b1 100644
> > --- a/meta/recipes-gnome/gtk+/gtk+3.inc
> > +++ b/meta/recipes-gnome/gtk+/gtk+3.inc
> > @@ -47,7 +47,7 @@ PACKAGECONFIG[wayland] = "-Dwayland_backend=true,-Dwayland_backend=false,wayland
> >  PACKAGECONFIG[cups] = ",,cups,cups gtk3-printbackend-cups"
> >  PACKAGECONFIG[colord] = "-Dcolord=yes,-Dcolord=no,colord"
> >  PACKAGECONFIG[cloudproviders] = "-Dcloudproviders=true,-Dcloudproviders=false,libcloudproviders"
> > -PACKAGECONFIG[tracker3] = "-Dtracker3=true,-Dtracker3=false,tracker,tracker-miners"
> > +PACKAGECONFIG[tracker3] = "-Dtracker3=true,-Dtracker3=false,tinysparql,localsearch"
> >  
> >  prepare_gtk_scripts() {
> >      mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0

-- 
Navimatix GmbH           T: 03641 - 327 99 0
Tatzendpromenade 2       F: 03641 - 526 306
07745 Jena               www.navimatix.de

Geschäftsführer: Steffen Späthe, Jan Rommeley
Registergericht: Amtsgericht Jena, HRB 501480

[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 5000 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [OE-core] [kirkstone][PATCH 15/19] gtk+3: rename tracker dependencies
  2025-11-03 10:59       ` Jörg Sommer
@ 2025-11-03 13:37         ` Gyorgy Sarvari
  0 siblings, 0 replies; 25+ messages in thread
From: Gyorgy Sarvari @ 2025-11-03 13:37 UTC (permalink / raw)
  To: Jörg Sommer; +Cc: openembedded-core, f_l_k, richard.purdie

On 11/3/25 11:59, Jörg Sommer wrote:
> Gyorgy Sarvari schrieb am Mo 03. Nov, 11:15 (+0100):
>> I'm not sure if this patch can work. I believe tinysparql was added in
>> Walnascar in meta-oe, and I'm sure that it's not in Kirkstone.
> Yes, it fails to build. I would drop the following commits, because there
> should be no user of/need for these PACKAGECONFIGs.
>
> * gtk+3: add PACKAGECONFIG for libcloudservice and tracker; fix cups backend
> * gtk: Add rdepend on printbackend for cups
> * gtk+3: rename tracker dependencies
>

Don't know about the middle one, that sounds like a bugfix that fixes
something that's broken now... but I could be wrong
I agree about the other two, I think also that they could be dropped.

>> On 11/3/25 09:22, Jörg Sommer via lists.openembedded.org wrote:
>>> From: Markus Volk <f_l_k@t-online.de>
>>>
>>> This is required for gnome 47 update in meta-openembedded
>>>
>>> (From OE-Core rev: 51864b3494bd8fe456fffb2e0ccf70fee13cc013)
>>>
>>> Signed-off-by: Markus Volk <f_l_k@t-online.de>
>>> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
>>> Cherry-pick-of: 07d2dc4c98f2fe1e2c8c0aae5ce863e7bc190b5f
>>> Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
>>> ---
>>>  meta/recipes-gnome/gtk+/gtk+3.inc | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc b/meta/recipes-gnome/gtk+/gtk+3.inc
>>> index e1603b43fc..03913768b1 100644
>>> --- a/meta/recipes-gnome/gtk+/gtk+3.inc
>>> +++ b/meta/recipes-gnome/gtk+/gtk+3.inc
>>> @@ -47,7 +47,7 @@ PACKAGECONFIG[wayland] = "-Dwayland_backend=true,-Dwayland_backend=false,wayland
>>>  PACKAGECONFIG[cups] = ",,cups,cups gtk3-printbackend-cups"
>>>  PACKAGECONFIG[colord] = "-Dcolord=yes,-Dcolord=no,colord"
>>>  PACKAGECONFIG[cloudproviders] = "-Dcloudproviders=true,-Dcloudproviders=false,libcloudproviders"
>>> -PACKAGECONFIG[tracker3] = "-Dtracker3=true,-Dtracker3=false,tracker,tracker-miners"
>>> +PACKAGECONFIG[tracker3] = "-Dtracker3=true,-Dtracker3=false,tinysparql,localsearch"
>>>  
>>>  prepare_gtk_scripts() {
>>>      mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [OE-core] [kirkstone] Upgrade gtk+3 3.24.34 -> 3.24.51
  2025-11-03  8:21 [kirkstone] Upgrade gtk+3 3.24.34 -> 3.24.51 Jörg Sommer
  2025-11-03  8:21 ` [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35 Jörg Sommer
@ 2025-11-03 14:40 ` Steve Sakoman
  1 sibling, 0 replies; 25+ messages in thread
From: Steve Sakoman @ 2025-11-03 14:40 UTC (permalink / raw)
  To: joerg.sommer; +Cc: openembedded-core

Hi Jörg,

Have you verified that all of these version bumps contain only
bug/security fixes, no features added or removed, and no API changes?

Thanks!

Steve

On Mon, Nov 3, 2025 at 12:21 AM Jörg Sommer via lists.openembedded.org
<joerg.sommer=navimatix.de@lists.openembedded.org> wrote:
>
> The current version 3.24.34 fails to build gtk+3-native with Debian 13:
>
> ../../gtk+-3.24.34/gtk/gtklabel.c: In function ‘gtk_label_style_updated’:
> ../../gtk+-3.24.34/gtk/gtklabel.c:4235:32: error: passing argument 1 of ‘gtk_widget_queue_resize’ from incompatible pointer type [-Wincompatible-pointer-types]
>  4235 |       gtk_widget_queue_resize (label);
>       |                                ^~~~~
>       |                                |
>       |                                GtkLabel * {aka struct _GtkLabel *}
> In file included from ../../gtk+-3.24.34/gtk/deprecated/gtkmisc.h:33,
>                  from ../../gtk+-3.24.34/gtk/gtklabel.h:32,
>                  from ../../gtk+-3.24.34/gtk/gtklabel.c:30:
> ../../gtk+-3.24.34/gtk/gtkwidget.h:663:65: note: expected ‘GtkWidget *’ {aka ‘struct _GtkWidget *’} but argument is of type ‘GtkLabel *’ {aka ‘struct _GtkLabel *’}
>   663 | void       gtk_widget_queue_resize        (GtkWidget           *widget);
>       |                                            ~~~~~~~~~~~~~~~~~~~~~^~~~~~
>
> This was fixed somewhere between 3.24.34 and 3.24.51. Therefore, upgrade the
> recipe with the commits from master.
>
>  ...Do-not-try-to-initialize-GL-without-libGL.patch |  57 --
>  .../0003-Add-disable-opengl-configure-option.patch | 872 ---------------------
>  meta/recipes-gnome/gtk+/gtk+3/CVE-2024-6655.patch  |  39 -
>  meta/recipes-gnome/gtk+/gtk+3/link_fribidi.patch   |  19 -
>  meta/recipes-gnome/gtk+/gtk+3/opengl.patch         | 747 ++++++++++++++++++
>  meta/recipes-gnome/gtk+/gtk+3_3.24.34.bb           |  18 -
>  .../gtk+/{gtk+3.inc => gtk+3_3.24.51.bb}           |  66 +-
>  7 files changed, 782 insertions(+), 1036 deletions(-)
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#225614): https://lists.openembedded.org/g/openembedded-core/message/225614
> Mute This Topic: https://lists.openembedded.org/mt/116094464/3620601
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [steve@sakoman.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2025-11-03 14:41 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-03  8:21 [kirkstone] Upgrade gtk+3 3.24.34 -> 3.24.51 Jörg Sommer
2025-11-03  8:21 ` [kirkstone][PATCH 01/19] gtk+3: upgrade 3.24.34 -> 3.24.35 Jörg Sommer
2025-11-03  8:21   ` [kirkstone][PATCH 02/19] gtk+3: port to Meson Jörg Sommer
2025-11-03  8:21   ` [kirkstone][PATCH 03/19] gtk+3: fix reproducible builds Jörg Sommer
2025-11-03  8:21   ` [kirkstone][PATCH 04/19] gtk+3: update 3.24.35 -> 3.24.36 Jörg Sommer
2025-11-03  8:21   ` [kirkstone][PATCH 05/19] gtk+3: add PACKAGECONFIG for libcloudservice and tracker; fix cups backend Jörg Sommer
2025-11-03 10:29     ` [OE-core] " Gyorgy Sarvari
2025-11-03  8:21   ` [kirkstone][PATCH 06/19] gtk+3: upgrade 3.24.36 -> 3.24.37 Jörg Sommer
2025-11-03  8:21   ` [kirkstone][PATCH 07/19] gtk+3: upgrade 3.24.37 -> 3.24.38 Jörg Sommer
2025-11-03  8:21   ` [kirkstone][PATCH 08/19] gtk: Add rdepend on printbackend for cups Jörg Sommer
2025-11-03  8:21   ` [kirkstone][PATCH 09/19] gtk: Set CVE_PRODUCT Jörg Sommer
2025-11-03  8:21   ` [kirkstone][PATCH 10/19] gtk+3: update 3.24.38 -> 3.24.41 Jörg Sommer
2025-11-03  8:22   ` [kirkstone][PATCH 11/19] gtk+3: disable wayland without opengl Jörg Sommer
2025-11-03  8:22   ` [kirkstone][PATCH 12/19] gtk+3: add gtk+ to CVE_PRODUCT Jörg Sommer
2025-11-03  8:22   ` [kirkstone][PATCH 13/19] gtk+3: upgrade 3.24.41 -> 3.24.42 Jörg Sommer
2025-11-03  8:22   ` [kirkstone][PATCH 14/19] gtk+3: upgrade 3.24.42 -> 3.24.43 Jörg Sommer
2025-11-03  8:22   ` [kirkstone][PATCH 15/19] gtk+3: rename tracker dependencies Jörg Sommer
2025-11-03 10:15     ` [OE-core] " Gyorgy Sarvari
2025-11-03 10:59       ` Jörg Sommer
2025-11-03 13:37         ` Gyorgy Sarvari
2025-11-03  8:22   ` [kirkstone][PATCH 16/19] gtk+3: remove unneeded .inc file Jörg Sommer
2025-11-03  8:22   ` [kirkstone][PATCH 17/19] gtk+3: depend on the librsvg pixbuf loader in gtk3-demo Jörg Sommer
2025-11-03  8:22   ` [kirkstone][PATCH 18/19] gtk: set correct bug tracker Jörg Sommer
2025-11-03  8:22   ` [kirkstone][PATCH 19/19] gtk+3: Update 3.24.43 -> 3.24.51 Jörg Sommer
2025-11-03 14:40 ` [OE-core] [kirkstone] Upgrade gtk+3 3.24.34 " Steve Sakoman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox