* [Buildroot] [PATCH v1 1/2] package/libglib2: bump to version 2.90.1 @ 2026-10-31 18:36 Thomas Devoogdt 2026-10-31 18:36 ` [Buildroot] [PATCH v1 2/2] package/libgtk4: bump to version 4.24.1 Thomas Devoogdt 2026-11-01 16:39 ` [Buildroot] [PATCH v1 1/2] package/libglib2: bump to version 2.90.1 Thomas Petazzoni via buildroot 0 siblings, 2 replies; 14+ messages in thread From: Thomas Devoogdt @ 2026-10-31 18:36 UTC (permalink / raw) To: buildroot; +Cc: Fabrice Fontaine, Thomas Devoogdt Changelog: https://gitlab.gnome.org/GNOME/glib/-/blob/2.90.1/NEWS - COPYING is now a symlink to LICENSES/LGPL-2.1-or-later.txt - CVE-2026-58016 is fixed upstream, drop the patch Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> --- ...on-Fix-XML-parser-state-handling-for.patch | 42 ------------------- package/libglib2/libglib2.hash | 6 +-- package/libglib2/libglib2.mk | 9 ++-- 3 files changed, 6 insertions(+), 51 deletions(-) delete mode 100644 package/libglib2/0001-gdbusintrospection-Fix-XML-parser-state-handling-for.patch diff --git a/package/libglib2/0001-gdbusintrospection-Fix-XML-parser-state-handling-for.patch b/package/libglib2/0001-gdbusintrospection-Fix-XML-parser-state-handling-for.patch deleted file mode 100644 index 4582382f806..00000000000 --- a/package/libglib2/0001-gdbusintrospection-Fix-XML-parser-state-handling-for.patch +++ /dev/null @@ -1,42 +0,0 @@ -From c9da977c178fbfc0e4caf99f9fdf5dc433d6fcc2 Mon Sep 17 00:00:00 2001 -From: Philip Withnall <pwithnall@gnome.org> -Date: Thu, 16 Apr 2026 15:27:37 +0100 -Subject: [PATCH] gdbusintrospection: Fix XML parser state handling for <node> - element nesting - -The check for whether a `<node>` element in D-Bus introspection XML was -nested correctly was broken. `<node>` elements can only be at the top -level, or nested immediately within another `<node>` element. - -Fix the check and add some unit tests for it. - -Spotted by linhlhq as #YWH-PGM9867-204. The fix is mine, and the unit test -uses example XML strings adapted from their report. - -Signed-off-by: Philip Withnall <pwithnall@gnome.org> - -Fixes: #3932 -CVE: CVE-2026-58016 -Upstream: https://gitlab.gnome.org/GNOME/glib/-/commit/c9da977c178fbfc0e4caf99f9fdf5dc433d6fcc2 -Signed-off-by: Peter Korsgaard <peter@korsgaard.com> -[Peter: drop tests] ---- - gio/gdbusintrospection.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gio/gdbusintrospection.c b/gio/gdbusintrospection.c -index 1138ba9d7..4df8e87db 100644 ---- a/gio/gdbusintrospection.c -+++ b/gio/gdbusintrospection.c -@@ -1266,7 +1266,7 @@ parser_start_element (GMarkupParseContext *context, - /* ---------------------------------------------------------------------------------------------------- */ - if (strcmp (element_name, "node") == 0) - { -- if (!(g_slist_length (stack) >= 1 || strcmp (stack->next->data, "node") != 0)) -+ if (stack->next != NULL && strcmp (stack->next->data, "node") != 0) - { - g_set_error_literal (error, - G_MARKUP_ERROR, --- -2.47.3 - diff --git a/package/libglib2/libglib2.hash b/package/libglib2/libglib2.hash index 95bf4d3179a..b6203dd0271 100644 --- a/package/libglib2/libglib2.hash +++ b/package/libglib2/libglib2.hash @@ -1,4 +1,4 @@ -# https://download.gnome.org/sources/glib/2.88/glib-2.88.4.sha256sum -sha256 25fd169f3b2f91fe2391ad297883ce0fcf30c69fc789ffd1c9672d1332b1c5a8 glib-2.88.4.tar.xz +# https://download.gnome.org/sources/glib/2.90/glib-2.90.1.sha256sum +sha256 93c941aa17d5eb1d53fe838365f29a8b4e539c222a256d974ec8f30fc413e396 glib-2.90.1.tar.xz # License files, locally calculated -sha256 fa6f36630bb1e0c571d34b2bbdf188d08495c9dbf58f28cac112f303fc1f58fb COPYING +sha256 fa6f36630bb1e0c571d34b2bbdf188d08495c9dbf58f28cac112f303fc1f58fb LICENSES/LGPL-2.1-or-later.txt diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk index 3770e8671a1..23f6643f10a 100644 --- a/package/libglib2/libglib2.mk +++ b/package/libglib2/libglib2.mk @@ -4,12 +4,12 @@ # ################################################################################ -LIBGLIB2_VERSION_MAJOR = 2.88 -LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).4 +LIBGLIB2_VERSION_MAJOR = 2.90 +LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).1 LIBGLIB2_SOURCE = glib-$(LIBGLIB2_VERSION).tar.xz LIBGLIB2_SITE = https://download.gnome.org/sources/glib/$(LIBGLIB2_VERSION_MAJOR) LIBGLIB2_LICENSE = LGPL-2.1+ -LIBGLIB2_LICENSE_FILES = COPYING +LIBGLIB2_LICENSE_FILES = LICENSES/LGPL-2.1-or-later.txt LIBGLIB2_CPE_ID_VENDOR = gnome LIBGLIB2_CPE_ID_PRODUCT = glib LIBGLIB2_INSTALL_STAGING = YES @@ -17,9 +17,6 @@ LIBGLIB2_INSTALL_STAGING = YES LIBGLIB2_CFLAGS = $(TARGET_CFLAGS) LIBGLIB2_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) -# 0001-gdbusintrospection-Fix-XML-parser-state-handling-for.patch -LIBGLIB2_IGNORE_CVES += CVE-2026-58016 - # glib/valgrind.h contains inline asm not compatible with thumb1 ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) LIBGLIB2_CFLAGS += -marm -- 2.43.0 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v1 2/2] package/libgtk4: bump to version 4.24.1 2026-10-31 18:36 [Buildroot] [PATCH v1 1/2] package/libglib2: bump to version 2.90.1 Thomas Devoogdt @ 2026-10-31 18:36 ` Thomas Devoogdt 2026-11-01 16:43 ` Thomas Petazzoni via buildroot 2026-11-01 16:39 ` [Buildroot] [PATCH v1 1/2] package/libglib2: bump to version 2.90.1 Thomas Petazzoni via buildroot 1 sibling, 1 reply; 14+ messages in thread From: Thomas Devoogdt @ 2026-10-31 18:36 UTC (permalink / raw) To: buildroot; +Cc: Fabrice Fontaine, Thomas Devoogdt Changelog: https://gitlab.gnome.org/GNOME/gtk/-/blob/4.24.1/NEWS Highlights of the changes since 4.21.0: - librsvg is no longer a dependency, as GTK can now render SVG images natively; this also drops the rustc host requirement - New GtkSvgWidget for displaying (interactive) SVG, used for all SVG icons and GtkSpinner - Wayland: support for text protocol v3.2 and xdg-session-management-v1 - GSK: 10bit image formats support, rewritten cache allocator, clip masks to reduce the number of offscreens - Session saving support is back Since 4.24, GTK unconditionally links against libpng and libjpeg (previously only needed via the gdk-pixbuf loaders), so select BR2_PACKAGE_LIBPNG and BR2_PACKAGE_JPEG. Also list cairo, harfbuzz and libfribidi in LIBGTK4_DEPENDENCIES as GTK links against them directly, and add the X11 libraries (GTK links against x11, xext, xrender, xi, xcursor, xdamage, xfixes, xrandr, xinerama, fontconfig) that are missing from the X11 backend dependency list, so that all direct dependencies are correctly built before libgtk4. Finally, added two patches to fix fenv usage on uclibc toolchains. Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> --- BR2_PACKAGE_LIBGTK4=y BR2_PACKAGE_LIBGTK4_WAYLAND=y BR2_PACKAGE_MESA3D=y BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SOFTPIPE=y BR2_PACKAGE_MESA3D_OPENGL_EGL=y BR2_PACKAGE_MESA3D_OPENGL_ES=y BR2_PACKAGE_MESA3D_GBM=y ./utils/test-pkg -p libgtk4 -c libgtk4-mesa-wayland.config -a arm-aarch64 [ 1/32]: OK bootlin-aarch64-glibc [ 2/32]: OK bootlin-aarch64-glibc-old [ 3/32]: SKIPPED bootlin-arcle-hs38-uclibc [ 4/32]: OK bootlin-armv5-uclibc [ 5/32]: OK bootlin-armv7-glibc [ 6/32]: OK bootlin-armv7m-uclibc [ 7/32]: SKIPPED bootlin-armv7-musl [ 8/32]: OK bootlin-m68k-5208-uclibc [ 9/32]: SKIPPED bootlin-m68k-68040-uclibc [10/32]: FAILED bootlin-microblazeel-uclibc [11/32]: SKIPPED bootlin-mips64el-glibc [12/32]: OK bootlin-mipsel32r6-glibc [13/32]: OK bootlin-mipsel-uclibc [14/32]: OK bootlin-openrisc-uclibc [15/32]: OK bootlin-powerpc64le-power8-glibc [16/32]: OK bootlin-powerpc-e500mc-uclibc [17/32]: OK bootlin-riscv32-glibc [18/32]: OK bootlin-riscv64-glibc [19/32]: OK bootlin-riscv64-musl [20/32]: OK bootlin-s390x-z13-glibc [21/32]: OK bootlin-sh4-uclibc [22/32]: OK bootlin-sparc64-glibc [23/32]: OK bootlin-sparc-uclibc [24/32]: SKIPPED bootlin-x86-64-glibc [25/32]: OK bootlin-x86-64-musl [26/32]: OK bootlin-x86-64-uclibc [27/32]: OK bootlin-x86-i686-musl [28/32]: OK bootlin-xtensa-uclibc [29/32]: OK br-arm-basic [30/32]: SKIPPED br-arm-full-nothread [31/32]: SKIPPED br-arm-full-static [32/32]: SKIPPED 32 builds, 8 skipped, 1 build failed, 0 legal-info failed, 0 show-info failed BR2_PACKAGE_LIBGTK4=y BR2_PACKAGE_LIBGTK4_X11=y BR2_PACKAGE_MESA3D=y BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SOFTPIPE=y BR2_PACKAGE_MESA3D_OPENGL_EGL=y BR2_PACKAGE_MESA3D_OPENGL_GLX=y BR2_PACKAGE_XORG7=y ./utils/test-pkg -p libgtk4 -c libgtk4-mesa-x11.config -a arm-aarch64 [ 1/32]: OK bootlin-aarch64-glibc [ 2/32]: OK bootlin-aarch64-glibc-old [ 3/32]: SKIPPED bootlin-arcle-hs38-uclibc [ 4/32]: OK bootlin-armv5-uclibc [ 5/32]: OK bootlin-armv7-glibc [ 6/32]: OK bootlin-armv7m-uclibc [ 7/32]: SKIPPED bootlin-armv7-musl [ 8/32]: OK bootlin-m68k-5208-uclibc [ 9/32]: SKIPPED bootlin-m68k-68040-uclibc [10/32]: FAILED bootlin-microblazeel-uclibc [11/32]: SKIPPED bootlin-mips64el-glibc [12/32]: OK bootlin-mipsel32r6-glibc [13/32]: OK bootlin-mipsel-uclibc [14/32]: OK bootlin-openrisc-uclibc [15/32]: OK bootlin-powerpc64le-power8-glibc [16/32]: OK bootlin-powerpc-e500mc-uclibc [17/32]: OK bootlin-riscv32-glibc [18/32]: OK bootlin-riscv64-glibc [19/32]: OK bootlin-riscv64-musl [20/32]: OK bootlin-s390x-z13-glibc [21/32]: OK bootlin-sh4-uclibc [22/32]: OK bootlin-sparc64-glibc [23/32]: OK bootlin-sparc-uclibc [24/32]: SKIPPED bootlin-x86-64-glibc [25/32]: OK bootlin-x86-64-musl [26/32]: OK bootlin-x86-64-uclibc [27/32]: OK bootlin-x86-i686-musl [28/32]: OK bootlin-xtensa-uclibc [29/32]: OK br-arm-basic [30/32]: SKIPPED br-arm-full-nothread [31/32]: SKIPPED br-arm-full-static [32/32]: SKIPPED 32 builds, 8 skipped, 1 build failed, 0 legal-info failed, 0 show-info failed One fail on bootlin-m68k-68040-uclibc: In file included from ../src/util/list.h:40, from ../src/compiler/nir/nir.h:40, from ../src/compiler/nir/nir_opt_varyings.c:524: ../src/compiler/nir/nir_opt_varyings.c:3207:1: error: static assertion failed: "dedup_entry layout changed" 3207 | static_assert(sizeof(dedup_entry) == (sizeof(void *) == 8 ? 48 : 28), | ^~~~~~~~~~~~~ Reported here: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42235#note_3751861 --- ...uild-add-a-check-for-the-fenv-header.patch | 26 +++++ ...value.c-fix-compilation-if-fenv.h-is.patch | 106 ++++++++++++++++++ package/libgtk4/Config.in | 5 +- package/libgtk4/libgtk4.hash | 4 +- package/libgtk4/libgtk4.mk | 23 +++- 5 files changed, 155 insertions(+), 9 deletions(-) create mode 100644 package/libgtk4/0001-meson.build-add-a-check-for-the-fenv-header.patch create mode 100644 package/libgtk4/0002-gtk-gtkcssnumbervalue.c-fix-compilation-if-fenv.h-is.patch diff --git a/package/libgtk4/0001-meson.build-add-a-check-for-the-fenv-header.patch b/package/libgtk4/0001-meson.build-add-a-check-for-the-fenv-header.patch new file mode 100644 index 00000000000..788c190d865 --- /dev/null +++ b/package/libgtk4/0001-meson.build-add-a-check-for-the-fenv-header.patch @@ -0,0 +1,26 @@ +From d126fca3178004ab7d540d067e8c39745b69820f Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <thomas@devoogdt.com> +Date: Fri, 15 Nov 2024 08:22:23 +0100 +Subject: [PATCH] meson.build: add a check for the fenv header + +Upstream: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/7925 +Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> +--- + meson.build | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/meson.build b/meson.build +index f8a6d35e3c..ca8e63b93d 100644 +--- a/meson.build ++++ b/meson.build +@@ -198,6 +198,7 @@ cdata.set_quoted('SYMBOL_VISIBILITY', get_option('symbol-visibility')) + + check_headers = [ + 'dev/evdev/input.h', ++ 'fenv.h', + 'ftw.h', + 'linux/input.h', + 'sys/mman.h', +-- +2.43.0 + diff --git a/package/libgtk4/0002-gtk-gtkcssnumbervalue.c-fix-compilation-if-fenv.h-is.patch b/package/libgtk4/0002-gtk-gtkcssnumbervalue.c-fix-compilation-if-fenv.h-is.patch new file mode 100644 index 00000000000..38c5b7573e1 --- /dev/null +++ b/package/libgtk4/0002-gtk-gtkcssnumbervalue.c-fix-compilation-if-fenv.h-is.patch @@ -0,0 +1,106 @@ +From 734fcd35e1d82a9b68b7c6aff7cd2b27d557b29e Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <thomas@devoogdt.com> +Date: Fri, 15 Nov 2024 08:22:40 +0100 +Subject: [PATCH] gtk/gtkcssnumbervalue.c: fix compilation if fenv.h is missing + +../gtk/gtkcssnumbervalue.c:29:10: fatal error: fenv.h: No such file or directory + 29 | #include <fenv.h> + | + +Upstream: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/7925 +Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> +--- + gtk/gtkcssnumbervalue.c | 59 ++++++++++++++++++++++++++++++++--------- + 1 file changed, 47 insertions(+), 12 deletions(-) + +diff --git a/gtk/gtkcssnumbervalue.c b/gtk/gtkcssnumbervalue.c +index 1181c1a802..03cf30262a 100644 +--- a/gtk/gtkcssnumbervalue.c ++++ b/gtk/gtkcssnumbervalue.c +@@ -26,7 +26,9 @@ + #include "gtkcssstyleprivate.h" + #include "gtkprivate.h" + ++#ifdef HAVE_FENV_H + #include <fenv.h> ++#endif + + #define RAD_TO_DEG(x) ((x) * 180.0 / G_PI) + #define DEG_TO_RAD(x) ((x) * G_PI / 180.0) +@@ -1846,13 +1848,25 @@ gtk_css_dimension_value_is_zero (const GtkCssValue *value) + return value->dimension.value == 0; + } + +-static double +-_round (guint mode, double a, double b) ++#ifdef HAVE_FENV_H ++static inline double ++_round_fenv (int mode, double a, double b) + { +- int old_mode; +- int modes[] = { FE_TONEAREST, FE_UPWARD, FE_DOWNWARD, FE_TOWARDZERO }; + double result; ++ int old_mode; + ++ old_mode = fegetround (); ++ fesetround (mode); ++ result = nearbyint (a/b) * b; ++ fesetround (old_mode); ++ ++ return result; ++} ++#endif ++ ++static double ++_round (guint mode, double a, double b) ++{ + if (b == 0) + return NAN; + +@@ -1880,14 +1894,35 @@ _round (guint mode, double a, double b) + } + } + +- old_mode = fegetround (); +- fesetround (modes[mode]); +- +- result = nearbyint (a/b) * b; +- +- fesetround (old_mode); +- +- return result; ++ switch (mode) ++ { ++ case ROUND_NEAREST: ++#ifdef FE_TONEAREST ++ return _round_fenv (FE_TONEAREST, a, b); ++#else ++ return round (a/b) * b; ++#endif ++ case ROUND_UP: ++#ifdef FE_UPWARD ++ return _round_fenv (FE_UPWARD, a, b); ++#else ++ return (((a/b) >= 0) ? ceil (a/b) : floor (a/b)) * b; ++#endif ++ case ROUND_DOWN: ++#ifdef FE_DOWNWARD ++ return _round_fenv (FE_DOWNWARD, a, b); ++#else ++ return (((a/b) >= 0) ? floor (a/b) : ceil (a/b)) * b; ++#endif ++ case ROUND_TO_ZERO: ++#ifdef FE_TOWARDZERO ++ return _round_fenv (FE_TOWARDZERO, a, b); ++#else ++ return (((a/b) >= 0) ? floor (a/b) : ceil (a/b)) * b; ++#endif ++ default: ++ g_assert_not_reached (); ++ } + } + + static double +-- +2.43.0 + diff --git a/package/libgtk4/Config.in b/package/libgtk4/Config.in index c1f3928b8aa..689d963228c 100644 --- a/package/libgtk4/Config.in +++ b/package/libgtk4/Config.in @@ -1,5 +1,4 @@ comment "libgtk4 needs a toolchain w/ dynamic library, wchar, threads, C++, gcc >= 4.9" - depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \ @@ -14,7 +13,6 @@ comment "libgtk4 needs an OpenGL(ES) EGL backend" config BR2_PACKAGE_LIBGTK4 bool "libgtk4" - depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # librsvg depends on BR2_USE_WCHAR # glib2 depends on BR2_TOOLCHAIN_HAS_THREADS # glib2, graphene, libepoxy depends on BR2_USE_MMU # glib2 @@ -29,9 +27,10 @@ config BR2_PACKAGE_LIBGTK4 select BR2_PACKAGE_CAIRO select BR2_PACKAGE_GDK_PIXBUF select BR2_PACKAGE_GRAPHENE + select BR2_PACKAGE_JPEG select BR2_PACKAGE_LIBEPOXY select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_LIBRSVG + select BR2_PACKAGE_LIBPNG select BR2_PACKAGE_PANGO select BR2_PACKAGE_TIFF # At least one backend is required diff --git a/package/libgtk4/libgtk4.hash b/package/libgtk4/libgtk4.hash index dff32c57b48..ffa90911e58 100644 --- a/package/libgtk4/libgtk4.hash +++ b/package/libgtk4/libgtk4.hash @@ -1,5 +1,5 @@ -# From https://download.gnome.org/sources/gtk/4.21/gtk-4.21.0.sha256sum -sha256 f52475c5041dfd02cc4eed22ee94f12ec310c16a68fda9203dc54ffd5daa6e6f gtk-4.21.0.tar.xz +# From https://download.gnome.org/sources/gtk/4.24/gtk-4.24.1.sha256sum +sha256 e98abe720e16129c8c0f50761dee0a2e9ae2478055e31018f6cf977fcf6513e9 gtk-4.24.1.tar.xz # Hash for license file: sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/libgtk4/libgtk4.mk b/package/libgtk4/libgtk4.mk index 9a5ed651a82..26346dad29d 100644 --- a/package/libgtk4/libgtk4.mk +++ b/package/libgtk4/libgtk4.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBGTK4_VERSION_MAJOR = 4.21 -LIBGTK4_VERSION = $(LIBGTK4_VERSION_MAJOR).0 +LIBGTK4_VERSION_MAJOR = 4.24 +LIBGTK4_VERSION = $(LIBGTK4_VERSION_MAJOR).1 LIBGTK4_SOURCE = gtk-$(LIBGTK4_VERSION).tar.xz LIBGTK4_SITE = https://download.gnome.org/sources/gtk/$(LIBGTK4_VERSION_MAJOR) LIBGTK4_LICENSE = LGPL-2.0+ @@ -17,12 +17,17 @@ LIBGTK4_INSTALL_STAGING = YES LIBGTK4_DEPENDENCIES = \ host-pkgconf \ host-libgtk4 \ + cairo \ gdk-pixbuf \ graphene \ + harfbuzz \ + jpeg \ libepoxy \ + libfribidi \ libglib2 \ - librsvg \ + libpng \ pango \ + tiff \ $(TARGET_NLS_DEPENDENCIES) LIBGTK4_CONF_OPTS = \ @@ -46,7 +51,17 @@ LIBGTK4_CONF_OPTS += -Dintrospection=disabled endif ifeq ($(BR2_PACKAGE_LIBGTK4_X11),y) -LIBGTK4_DEPENDENCIES += xlib_libXcursor xlib_libXi xlib_libXinerama +LIBGTK4_DEPENDENCIES += \ + fontconfig \ + xlib_libX11 \ + xlib_libXcursor \ + xlib_libXdamage \ + xlib_libXext \ + xlib_libXfixes \ + xlib_libXi \ + xlib_libXinerama \ + xlib_libXrandr \ + xlib_libXrender LIBGTK4_CONF_OPTS += -Dx11-backend=true else LIBGTK4_CONF_OPTS += -Dx11-backend=false -- 2.43.0 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v1 2/2] package/libgtk4: bump to version 4.24.1 2026-10-31 18:36 ` [Buildroot] [PATCH v1 2/2] package/libgtk4: bump to version 4.24.1 Thomas Devoogdt @ 2026-11-01 16:43 ` Thomas Petazzoni via buildroot 2026-11-02 16:05 ` [Buildroot] [PATCH v2] package/libgtk4: add missing direct dependencies Thomas Devoogdt 0 siblings, 1 reply; 14+ messages in thread From: Thomas Petazzoni via buildroot @ 2026-11-01 16:43 UTC (permalink / raw) To: Thomas Devoogdt; +Cc: buildroot, Fabrice Fontaine On Sat, Oct 31, 2026 at 07:36:32PM +0100, Thomas Devoogdt wrote: > Changelog: https://gitlab.gnome.org/GNOME/gtk/-/blob/4.24.1/NEWS > > Highlights of the changes since 4.21.0: > - librsvg is no longer a dependency, as GTK can now render SVG > images natively; this also drops the rustc host requirement > - New GtkSvgWidget for displaying (interactive) SVG, used for all > SVG icons and GtkSpinner > - Wayland: support for text protocol v3.2 and > xdg-session-management-v1 > - GSK: 10bit image formats support, rewritten cache allocator, > clip masks to reduce the number of offscreens > - Session saving support is back > > Since 4.24, GTK unconditionally links against libpng and libjpeg > (previously only needed via the gdk-pixbuf loaders), so select > BR2_PACKAGE_LIBPNG and BR2_PACKAGE_JPEG. > > Also list cairo, harfbuzz and libfribidi in LIBGTK4_DEPENDENCIES > as GTK links against them directly, and add the X11 libraries > (GTK links against x11, xext, xrender, xi, xcursor, xdamage, > xfixes, xrandr, xinerama, fontconfig) that are missing from the > X11 backend dependency list, so that all direct dependencies are > correctly built before libgtk4. > > Finally, added two patches to fix fenv usage on uclibc toolchains. > > Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> Thanks for this update! I have a number of questions/comments below. > diff --git a/package/libgtk4/0001-meson.build-add-a-check-for-the-fenv-header.patch b/package/libgtk4/0001-meson.build-add-a-check-for-the-fenv-header.patch > new file mode 100644 > index 00000000000..788c190d865 > --- /dev/null > +++ b/package/libgtk4/0001-meson.build-add-a-check-for-the-fenv-header.patch > @@ -0,0 +1,26 @@ > +From d126fca3178004ab7d540d067e8c39745b69820f Mon Sep 17 00:00:00 2001 > +From: Thomas Devoogdt <thomas@devoogdt.com> > +Date: Fri, 15 Nov 2024 08:22:23 +0100 > +Subject: [PATCH] meson.build: add a check for the fenv header > + > +Upstream: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/7925 > +Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> > diff --git a/package/libgtk4/0002-gtk-gtkcssnumbervalue.c-fix-compilation-if-fenv.h-is.patch b/package/libgtk4/0002-gtk-gtkcssnumbervalue.c-fix-compilation-if-fenv.h-is.patch > new file mode 100644 > index 00000000000..38c5b7573e1 > --- /dev/null > +++ b/package/libgtk4/0002-gtk-gtkcssnumbervalue.c-fix-compilation-if-fenv.h-is.patch > @@ -0,0 +1,106 @@ > +From 734fcd35e1d82a9b68b7c6aff7cd2b27d557b29e Mon Sep 17 00:00:00 2001 > +From: Thomas Devoogdt <thomas@devoogdt.com> > +Date: Fri, 15 Nov 2024 08:22:40 +0100 > +Subject: [PATCH] gtk/gtkcssnumbervalue.c: fix compilation if fenv.h is missing > + > +../gtk/gtkcssnumbervalue.c:29:10: fatal error: fenv.h: No such file or directory > + 29 | #include <fenv.h> > + | > + > +Upstream: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/7925 > +Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> These two patches should probably have been squashed together in one commit, because they form one single logical change. That being said, if you submitted upstream as-is, fair enough, that is mostly a suggestion. > diff --git a/package/libgtk4/libgtk4.hash b/package/libgtk4/libgtk4.hash > index dff32c57b48..ffa90911e58 100644 > --- a/package/libgtk4/libgtk4.hash > +++ b/package/libgtk4/libgtk4.hash > @@ -1,5 +1,5 @@ > -# From https://download.gnome.org/sources/gtk/4.21/gtk-4.21.0.sha256sum > -sha256 f52475c5041dfd02cc4eed22ee94f12ec310c16a68fda9203dc54ffd5daa6e6f gtk-4.21.0.tar.xz > +# From https://download.gnome.org/sources/gtk/4.24/gtk-4.24.1.sha256sum > +sha256 e98abe720e16129c8c0f50761dee0a2e9ae2478055e31018f6cf977fcf6513e9 gtk-4.24.1.tar.xz > > # Hash for license file: > sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING > diff --git a/package/libgtk4/libgtk4.mk b/package/libgtk4/libgtk4.mk > index 9a5ed651a82..26346dad29d 100644 > --- a/package/libgtk4/libgtk4.mk > +++ b/package/libgtk4/libgtk4.mk > @@ -4,8 +4,8 @@ > # > ################################################################################ > > -LIBGTK4_VERSION_MAJOR = 4.21 > -LIBGTK4_VERSION = $(LIBGTK4_VERSION_MAJOR).0 > +LIBGTK4_VERSION_MAJOR = 4.24 > +LIBGTK4_VERSION = $(LIBGTK4_VERSION_MAJOR).1 > LIBGTK4_SOURCE = gtk-$(LIBGTK4_VERSION).tar.xz > LIBGTK4_SITE = https://download.gnome.org/sources/gtk/$(LIBGTK4_VERSION_MAJOR) > LIBGTK4_LICENSE = LGPL-2.0+ > @@ -17,12 +17,17 @@ LIBGTK4_INSTALL_STAGING = YES > LIBGTK4_DEPENDENCIES = \ > host-pkgconf \ > host-libgtk4 \ > + cairo \ This already had a "select" in Config.in. Was it a bug that it wasn't in the DEPENDENCIES? Should this be considered a fix? If this is unrelated to the bump, should ideally be a separate commit. > gdk-pixbuf \ > graphene \ > + harfbuzz \ harfbuzz is not selected by BR2_PACKAGE_LIBGTK4, so a select should be added if libgtk4 directly links against it. If this was already the case prior to the bump, should be a separate patch. > + jpeg \ > libepoxy \ > + libfribidi \ libfribidi is not selected by BR2_PACKAGE_LIBGTK4, so a select should be added if libgtk4 links against it. If this was already the case prior to the bump, should be a separate patch. > libglib2 \ > - librsvg \ > + libpng \ > pango \ > + tiff \ Same question as for cairo. > $(TARGET_NLS_DEPENDENCIES) > > LIBGTK4_CONF_OPTS = \ > @@ -46,7 +51,17 @@ LIBGTK4_CONF_OPTS += -Dintrospection=disabled > endif > > ifeq ($(BR2_PACKAGE_LIBGTK4_X11),y) > -LIBGTK4_DEPENDENCIES += xlib_libXcursor xlib_libXi xlib_libXinerama > +LIBGTK4_DEPENDENCIES += \ > + fontconfig \ > + xlib_libX11 \ > + xlib_libXcursor \ > + xlib_libXdamage \ > + xlib_libXext \ > + xlib_libXfixes \ > + xlib_libXi \ > + xlib_libXinerama \ > + xlib_libXrandr \ > + xlib_libXrender All these new packages need to be selected in Config.in. Also, is this related to the bump, or already the case with the current version of libgtk4 in Buildroot? Thanks! Thomas -- Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v2] package/libgtk4: add missing direct dependencies 2026-11-01 16:43 ` Thomas Petazzoni via buildroot @ 2026-11-02 16:05 ` Thomas Devoogdt 2026-11-02 16:05 ` [Buildroot] [PATCH v2] package/libgtk4: bump to version 4.24.1 Thomas Devoogdt ` (2 more replies) 0 siblings, 3 replies; 14+ messages in thread From: Thomas Devoogdt @ 2026-11-02 16:05 UTC (permalink / raw) To: buildroot; +Cc: fontaine.fabrice, thomas.petazzoni, thomas From: Thomas Devoogdt <thomas@devoogdt.com> GTK links directly against libdrm (mandatory on Linux), cairo, harfbuzz, libfribidi, libpng, jpeg and tiff, and the X11 backend additionally against fontconfig, x11, xext, xrender, xi, xcursor, xdamage, xfixes, xrandr and xinerama. Add them to LIBGTK4_DEPENDENCIES so that they are always built before libgtk4, and select the corresponding Config.in symbols instead of relying on them being selected by other packages (pango, cairo, ...). Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> --- v2: split in two commits, see https://lore.kernel.org/buildroot/audrTUDPjZfZpyNG@windsurf/ --- package/libgtk4/Config.in | 12 ++++++++++++ package/libgtk4/libgtk4.mk | 19 ++++++++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/package/libgtk4/Config.in b/package/libgtk4/Config.in index c1f3928b8a..13494fb692 100644 --- a/package/libgtk4/Config.in +++ b/package/libgtk4/Config.in @@ -29,8 +29,13 @@ config BR2_PACKAGE_LIBGTK4 select BR2_PACKAGE_CAIRO select BR2_PACKAGE_GDK_PIXBUF select BR2_PACKAGE_GRAPHENE + select BR2_PACKAGE_HARFBUZZ + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBEPOXY + select BR2_PACKAGE_LIBFRIBIDI select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBPNG select BR2_PACKAGE_LIBRSVG select BR2_PACKAGE_PANGO select BR2_PACKAGE_TIFF @@ -81,9 +86,16 @@ config BR2_PACKAGE_LIBGTK4_X11 default y depends on BR2_PACKAGE_XORG7 depends on BR2_PACKAGE_HAS_LIBGL + select BR2_PACKAGE_FONTCONFIG + select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXCURSOR + select BR2_PACKAGE_XLIB_LIBXDAMAGE + select BR2_PACKAGE_XLIB_LIBXEXT + select BR2_PACKAGE_XLIB_LIBXFIXES select BR2_PACKAGE_XLIB_LIBXI select BR2_PACKAGE_XLIB_LIBXINERAMA + select BR2_PACKAGE_XLIB_LIBXRANDR + select BR2_PACKAGE_XLIB_LIBXRENDER help This enables the X11 backend for GDK. diff --git a/package/libgtk4/libgtk4.mk b/package/libgtk4/libgtk4.mk index 9a5ed651a8..395e850de0 100644 --- a/package/libgtk4/libgtk4.mk +++ b/package/libgtk4/libgtk4.mk @@ -17,12 +17,19 @@ LIBGTK4_INSTALL_STAGING = YES LIBGTK4_DEPENDENCIES = \ host-pkgconf \ host-libgtk4 \ + cairo \ gdk-pixbuf \ graphene \ + harfbuzz \ + jpeg \ + libdrm \ libepoxy \ + libfribidi \ libglib2 \ + libpng \ librsvg \ pango \ + tiff \ $(TARGET_NLS_DEPENDENCIES) LIBGTK4_CONF_OPTS = \ @@ -46,7 +53,17 @@ LIBGTK4_CONF_OPTS += -Dintrospection=disabled endif ifeq ($(BR2_PACKAGE_LIBGTK4_X11),y) -LIBGTK4_DEPENDENCIES += xlib_libXcursor xlib_libXi xlib_libXinerama +LIBGTK4_DEPENDENCIES += \ + fontconfig \ + xlib_libX11 \ + xlib_libXcursor \ + xlib_libXdamage \ + xlib_libXext \ + xlib_libXfixes \ + xlib_libXi \ + xlib_libXinerama \ + xlib_libXrandr \ + xlib_libXrender LIBGTK4_CONF_OPTS += -Dx11-backend=true else LIBGTK4_CONF_OPTS += -Dx11-backend=false -- 2.43.0 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v2] package/libgtk4: bump to version 4.24.1 2026-11-02 16:05 ` [Buildroot] [PATCH v2] package/libgtk4: add missing direct dependencies Thomas Devoogdt @ 2026-11-02 16:05 ` Thomas Devoogdt 2026-11-04 20:32 ` Thomas Petazzoni via buildroot 2026-11-02 16:05 ` [Buildroot] [PATCH v2] package/libgtk3: add missing direct dependencies Thomas Devoogdt 2026-11-04 20:31 ` [Buildroot] [PATCH v2] package/libgtk4: " Thomas Petazzoni via buildroot 2 siblings, 1 reply; 14+ messages in thread From: Thomas Devoogdt @ 2026-11-02 16:05 UTC (permalink / raw) To: buildroot; +Cc: fontaine.fabrice, thomas.petazzoni, thomas From: Thomas Devoogdt <thomas@devoogdt.com> Changelog: https://gitlab.gnome.org/GNOME/gtk/-/blob/4.24.1/NEWS Highlights of the changes since 4.21.0: - librsvg is no longer a dependency, as GTK can now render SVG images natively; this also drops the rustc host requirement - New GtkSvgWidget for displaying (interactive) SVG, used for all SVG icons and GtkSpinner - Wayland: support for text protocol v3.2 and xdg-session-management-v1 - GSK: 10bit image formats support, rewritten cache allocator, clip masks to reduce the number of offscreens - Session saving support is back Drop librsvg from the dependencies, together with the host rustc architecture requirement that came with it. Also add a patch to fix the build on uclibc toolchains, which lack fenv.h. Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> --- v2: split in two commits, see https://lore.kernel.org/buildroot/audrTUDPjZfZpyNG@windsurf/ --- ...fix-compilation-if-fenv.h-is-missing.patch | 119 ++++++++++++++++++ package/libgtk4/Config.in | 3 - package/libgtk4/libgtk4.hash | 4 +- package/libgtk4/libgtk4.mk | 5 +- 4 files changed, 123 insertions(+), 8 deletions(-) create mode 100644 package/libgtk4/0001-meson-fix-compilation-if-fenv.h-is-missing.patch diff --git a/package/libgtk4/0001-meson-fix-compilation-if-fenv.h-is-missing.patch b/package/libgtk4/0001-meson-fix-compilation-if-fenv.h-is-missing.patch new file mode 100644 index 0000000000..475453a6bd --- /dev/null +++ b/package/libgtk4/0001-meson-fix-compilation-if-fenv.h-is-missing.patch @@ -0,0 +1,119 @@ +From e0f3bec0fdf037dffb0bd6570c00a6de37c1fef3 Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <thomas@devoogdt.com> +Date: Fri, 15 Nov 2024 08:22:23 +0100 +Subject: [PATCH] meson: fix compilation if fenv.h is missing + +../gtk/gtkcssnumbervalue.c:29:10: fatal error: fenv.h: No such file or directory + 29 | #include <fenv.h> + | + +Upstream: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/7925 +Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> +--- + gtk/gtkcssnumbervalue.c | 59 ++++++++++++++++++++++++++++++++--------- + meson.build | 1 + + 2 files changed, 48 insertions(+), 12 deletions(-) + +diff --git a/gtk/gtkcssnumbervalue.c b/gtk/gtkcssnumbervalue.c +index 1181c1a802..03cf30262a 100644 +--- a/gtk/gtkcssnumbervalue.c ++++ b/gtk/gtkcssnumbervalue.c +@@ -26,7 +26,9 @@ + #include "gtkcssstyleprivate.h" + #include "gtkprivate.h" + ++#ifdef HAVE_FENV_H + #include <fenv.h> ++#endif + + #define RAD_TO_DEG(x) ((x) * 180.0 / G_PI) + #define DEG_TO_RAD(x) ((x) * G_PI / 180.0) +@@ -1846,13 +1848,25 @@ gtk_css_dimension_value_is_zero (const GtkCssValue *value) + return value->dimension.value == 0; + } + +-static double +-_round (guint mode, double a, double b) ++#ifdef HAVE_FENV_H ++static inline double ++_round_fenv (int mode, double a, double b) + { +- int old_mode; +- int modes[] = { FE_TONEAREST, FE_UPWARD, FE_DOWNWARD, FE_TOWARDZERO }; + double result; ++ int old_mode; + ++ old_mode = fegetround (); ++ fesetround (mode); ++ result = nearbyint (a/b) * b; ++ fesetround (old_mode); ++ ++ return result; ++} ++#endif ++ ++static double ++_round (guint mode, double a, double b) ++{ + if (b == 0) + return NAN; + +@@ -1880,14 +1894,35 @@ _round (guint mode, double a, double b) + } + } + +- old_mode = fegetround (); +- fesetround (modes[mode]); +- +- result = nearbyint (a/b) * b; +- +- fesetround (old_mode); +- +- return result; ++ switch (mode) ++ { ++ case ROUND_NEAREST: ++#ifdef FE_TONEAREST ++ return _round_fenv (FE_TONEAREST, a, b); ++#else ++ return round (a/b) * b; ++#endif ++ case ROUND_UP: ++#ifdef FE_UPWARD ++ return _round_fenv (FE_UPWARD, a, b); ++#else ++ return (((a/b) >= 0) ? ceil (a/b) : floor (a/b)) * b; ++#endif ++ case ROUND_DOWN: ++#ifdef FE_DOWNWARD ++ return _round_fenv (FE_DOWNWARD, a, b); ++#else ++ return (((a/b) >= 0) ? floor (a/b) : ceil (a/b)) * b; ++#endif ++ case ROUND_TO_ZERO: ++#ifdef FE_TOWARDZERO ++ return _round_fenv (FE_TOWARDZERO, a, b); ++#else ++ return (((a/b) >= 0) ? floor (a/b) : ceil (a/b)) * b; ++#endif ++ default: ++ g_assert_not_reached (); ++ } + } + + static double +diff --git a/meson.build b/meson.build +index f8a6d35e3c..ca8e63b93d 100644 +--- a/meson.build ++++ b/meson.build +@@ -198,6 +198,7 @@ cdata.set_quoted('SYMBOL_VISIBILITY', get_option('symbol-visibility')) + + check_headers = [ + 'dev/evdev/input.h', ++ 'fenv.h', + 'ftw.h', + 'linux/input.h', + 'sys/mman.h', +-- +2.43.0 + diff --git a/package/libgtk4/Config.in b/package/libgtk4/Config.in index 13494fb692..e06df5b487 100644 --- a/package/libgtk4/Config.in +++ b/package/libgtk4/Config.in @@ -1,5 +1,4 @@ comment "libgtk4 needs a toolchain w/ dynamic library, wchar, threads, C++, gcc >= 4.9" - depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \ @@ -14,7 +13,6 @@ comment "libgtk4 needs an OpenGL(ES) EGL backend" config BR2_PACKAGE_LIBGTK4 bool "libgtk4" - depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # librsvg depends on BR2_USE_WCHAR # glib2 depends on BR2_TOOLCHAIN_HAS_THREADS # glib2, graphene, libepoxy depends on BR2_USE_MMU # glib2 @@ -36,7 +34,6 @@ config BR2_PACKAGE_LIBGTK4 select BR2_PACKAGE_LIBFRIBIDI select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBPNG - select BR2_PACKAGE_LIBRSVG select BR2_PACKAGE_PANGO select BR2_PACKAGE_TIFF # At least one backend is required diff --git a/package/libgtk4/libgtk4.hash b/package/libgtk4/libgtk4.hash index dff32c57b4..ffa90911e5 100644 --- a/package/libgtk4/libgtk4.hash +++ b/package/libgtk4/libgtk4.hash @@ -1,5 +1,5 @@ -# From https://download.gnome.org/sources/gtk/4.21/gtk-4.21.0.sha256sum -sha256 f52475c5041dfd02cc4eed22ee94f12ec310c16a68fda9203dc54ffd5daa6e6f gtk-4.21.0.tar.xz +# From https://download.gnome.org/sources/gtk/4.24/gtk-4.24.1.sha256sum +sha256 e98abe720e16129c8c0f50761dee0a2e9ae2478055e31018f6cf977fcf6513e9 gtk-4.24.1.tar.xz # Hash for license file: sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/libgtk4/libgtk4.mk b/package/libgtk4/libgtk4.mk index 395e850de0..001cfc00ef 100644 --- a/package/libgtk4/libgtk4.mk +++ b/package/libgtk4/libgtk4.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBGTK4_VERSION_MAJOR = 4.21 -LIBGTK4_VERSION = $(LIBGTK4_VERSION_MAJOR).0 +LIBGTK4_VERSION_MAJOR = 4.24 +LIBGTK4_VERSION = $(LIBGTK4_VERSION_MAJOR).1 LIBGTK4_SOURCE = gtk-$(LIBGTK4_VERSION).tar.xz LIBGTK4_SITE = https://download.gnome.org/sources/gtk/$(LIBGTK4_VERSION_MAJOR) LIBGTK4_LICENSE = LGPL-2.0+ @@ -27,7 +27,6 @@ LIBGTK4_DEPENDENCIES = \ libfribidi \ libglib2 \ libpng \ - librsvg \ pango \ tiff \ $(TARGET_NLS_DEPENDENCIES) -- 2.43.0 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v2] package/libgtk4: bump to version 4.24.1 2026-11-02 16:05 ` [Buildroot] [PATCH v2] package/libgtk4: bump to version 4.24.1 Thomas Devoogdt @ 2026-11-04 20:32 ` Thomas Petazzoni via buildroot 0 siblings, 0 replies; 14+ messages in thread From: Thomas Petazzoni via buildroot @ 2026-11-04 20:32 UTC (permalink / raw) To: Thomas Devoogdt; +Cc: buildroot, fontaine.fabrice On Mon, Nov 02, 2026 at 05:05:04PM +0100, Thomas Devoogdt wrote: > From: Thomas Devoogdt <thomas@devoogdt.com> > > Changelog: https://gitlab.gnome.org/GNOME/gtk/-/blob/4.24.1/NEWS > > Highlights of the changes since 4.21.0: > - librsvg is no longer a dependency, as GTK can now render SVG > images natively; this also drops the rustc host requirement > - New GtkSvgWidget for displaying (interactive) SVG, used for all > SVG icons and GtkSpinner > - Wayland: support for text protocol v3.2 and > xdg-session-management-v1 > - GSK: 10bit image formats support, rewritten cache allocator, > clip masks to reduce the number of offscreens > - Session saving support is back > > Drop librsvg from the dependencies, together with the host rustc > architecture requirement that came with it. > > Also add a patch to fix the build on uclibc toolchains, which lack > fenv.h. > > Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> Applied to master, thanks! Best regards, Thomas Petazzoni -- Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v2] package/libgtk3: add missing direct dependencies 2026-11-02 16:05 ` [Buildroot] [PATCH v2] package/libgtk4: add missing direct dependencies Thomas Devoogdt 2026-11-02 16:05 ` [Buildroot] [PATCH v2] package/libgtk4: bump to version 4.24.1 Thomas Devoogdt @ 2026-11-02 16:05 ` Thomas Devoogdt 2026-11-04 20:34 ` Thomas Petazzoni via buildroot 2026-11-04 20:31 ` [Buildroot] [PATCH v2] package/libgtk4: " Thomas Petazzoni via buildroot 2 siblings, 1 reply; 14+ messages in thread From: Thomas Devoogdt @ 2026-11-02 16:05 UTC (permalink / raw) To: buildroot; +Cc: fontaine.fabrice, thomas.petazzoni, thomas, Copilot From: Thomas Devoogdt <thomas@devoogdt.com> GTK3 links directly against fribidi (mandatory) and harfbuzz (auto-detected). Add them to LIBGTK3_DEPENDENCIES so that they are always built before libgtk3, and select the corresponding Config.in symbols instead of relying on them being selected by pango. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> --- v2: also fix missing dependencies for libgtk3 --- package/libgtk3/Config.in | 2 ++ package/libgtk3/libgtk3.mk | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/package/libgtk3/Config.in b/package/libgtk3/Config.in index dac2d17974..000a4da16a 100644 --- a/package/libgtk3/Config.in +++ b/package/libgtk3/Config.in @@ -29,7 +29,9 @@ config BR2_PACKAGE_LIBGTK3 select BR2_PACKAGE_CAIRO select BR2_PACKAGE_CAIRO_PNG select BR2_PACKAGE_CAIRO_ZLIB + select BR2_PACKAGE_HARFBUZZ select BR2_PACKAGE_LIBEPOXY + select BR2_PACKAGE_LIBFRIBIDI select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_PANGO select BR2_PACKAGE_GDK_PIXBUF diff --git a/package/libgtk3/libgtk3.mk b/package/libgtk3/libgtk3.mk index cbe49b8716..e41d3120bb 100644 --- a/package/libgtk3/libgtk3.mk +++ b/package/libgtk3/libgtk3.mk @@ -15,7 +15,7 @@ LIBGTK3_CPE_ID_PRODUCT = gtk LIBGTK3_INSTALL_STAGING = YES LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 at-spi2-core libglib2 cairo pango \ - gdk-pixbuf libepoxy $(TARGET_NLS_DEPENDENCIES) + gdk-pixbuf harfbuzz libepoxy libfribidi $(TARGET_NLS_DEPENDENCIES) ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) LIBGTK3_DEPENDENCIES += fontconfig xlib_libX11 xlib_libXext xlib_libXrandr xlib_libXrender xlib_libXi -- 2.43.0 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v2] package/libgtk3: add missing direct dependencies 2026-11-02 16:05 ` [Buildroot] [PATCH v2] package/libgtk3: add missing direct dependencies Thomas Devoogdt @ 2026-11-04 20:34 ` Thomas Petazzoni via buildroot 2026-11-04 22:14 ` Thomas Devoogdt 0 siblings, 1 reply; 14+ messages in thread From: Thomas Petazzoni via buildroot @ 2026-11-04 20:34 UTC (permalink / raw) To: Thomas Devoogdt; +Cc: buildroot, fontaine.fabrice, Copilot On Mon, Nov 02, 2026 at 05:05:05PM +0100, Thomas Devoogdt wrote: > From: Thomas Devoogdt <thomas@devoogdt.com> > > GTK3 links directly against fribidi (mandatory) and harfbuzz > (auto-detected). Wait, does this mean that harfbuzz is not mandatory? If it isn't mandatory, it shouldn't be an unconditional dependency of libgtk3. My quick reading of the meson.build seems to indicate that it is mandatory when the x11 or wayland backends are used, but not with the broadway backend. So perhaps the BR2_PACKAGE_LIBGTK3_WAYLAND and BR2_PACKAGE_LIBGTK3_X11 should select BR2_PACKAGE_HARFBUZZ, and libgtk3.mk should contain: ifeq ($(BR2_PACKAGE_HARFBUZZ),y) LIBGTK3_DEPENDENCIES += harfbuzz endif Could you double check this? Thanks a lot! Thomas -- Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v2] package/libgtk3: add missing direct dependencies 2026-11-04 20:34 ` Thomas Petazzoni via buildroot @ 2026-11-04 22:14 ` Thomas Devoogdt 2026-11-04 22:15 ` Thomas Devoogdt 0 siblings, 1 reply; 14+ messages in thread From: Thomas Devoogdt @ 2026-11-04 22:14 UTC (permalink / raw) To: Thomas Petazzoni; +Cc: Thomas Devoogdt, buildroot, fontaine.fabrice, Copilot [-- Attachment #1.1: Type: text/plain, Size: 1273 bytes --] Hi Thomas Op wo 4 nov 2026 om 21:34 schreef Thomas Petazzoni < thomas.petazzoni@bootlin.com>: > On Mon, Nov 02, 2026 at 05:05:05PM +0100, Thomas Devoogdt wrote: > > From: Thomas Devoogdt <thomas@devoogdt.com> > > > > GTK3 links directly against fribidi (mandatory) and harfbuzz > > (auto-detected). > > Wait, does this mean that harfbuzz is not mandatory? If it isn't > mandatory, it shouldn't be an unconditional dependency of libgtk3. > > My quick reading of the meson.build seems to indicate that it is > mandatory when the x11 or wayland backends are used, but not with the > broadway backend. > > So perhaps the BR2_PACKAGE_LIBGTK3_WAYLAND and BR2_PACKAGE_LIBGTK3_X11 > should select BR2_PACKAGE_HARFBUZZ, and libgtk3.mk should contain: > > ifeq ($(BR2_PACKAGE_HARFBUZZ),y) > LIBGTK3_DEPENDENCIES += harfbuzz > endif > > Could you double check this? > You are right, harfbuzz is indeed only needed when the x11 or wayland backends are used. It's also true that harfbuzz is anyway selected through pango. I will resend the patch with your proposal as it is strictly speaking more correct. Thanks a lot! > > Thomas > -- > Thomas Petazzoni, co-owner and CEO, Bootlin > Embedded Linux and Kernel engineering and training > https://bootlin.com > > Kr, Thomas Devoogdt [-- Attachment #1.2: Type: text/html, Size: 2150 bytes --] [-- Attachment #2: Type: text/plain, Size: 150 bytes --] _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v2] package/libgtk3: add missing direct dependencies 2026-11-04 22:14 ` Thomas Devoogdt @ 2026-11-04 22:15 ` Thomas Devoogdt 0 siblings, 0 replies; 14+ messages in thread From: Thomas Devoogdt @ 2026-11-04 22:15 UTC (permalink / raw) To: thomas; +Cc: buildroot, fontaine.fabrice, thomas.petazzoni GTK3 links directly against fribidi (mandatory) and harfbuzz (required for X11 and Wayland backends, optional otherwise). Add fribidi to LIBGTK3_DEPENDENCIES and harfbuzz conditionally when BR2_PACKAGE_HARFBUZZ is enabled, and select the corresponding Config.in symbols instead of relying on them being selected by pango. Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> --- v2: only mark harfbuzz mandatory for X11 and Wayland backends --- package/libgtk3/Config.in | 3 +++ package/libgtk3/libgtk3.mk | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/package/libgtk3/Config.in b/package/libgtk3/Config.in index dac2d179746..0a45284ff7a 100644 --- a/package/libgtk3/Config.in +++ b/package/libgtk3/Config.in @@ -30,6 +30,7 @@ config BR2_PACKAGE_LIBGTK3 select BR2_PACKAGE_CAIRO_PNG select BR2_PACKAGE_CAIRO_ZLIB select BR2_PACKAGE_LIBEPOXY + select BR2_PACKAGE_LIBFRIBIDI select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_PANGO select BR2_PACKAGE_GDK_PIXBUF @@ -72,6 +73,7 @@ config BR2_PACKAGE_LIBGTK3_WAYLAND default y depends on BR2_PACKAGE_HAS_LIBEGL depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 + select BR2_PACKAGE_HARFBUZZ select BR2_PACKAGE_WAYLAND select BR2_PACKAGE_WAYLAND_PROTOCOLS select BR2_PACKAGE_LIBXKBCOMMON @@ -87,6 +89,7 @@ config BR2_PACKAGE_LIBGTK3_X11 depends on BR2_PACKAGE_XORG7 depends on BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_FONTCONFIG + select BR2_PACKAGE_HARFBUZZ select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXEXT select BR2_PACKAGE_XLIB_LIBXRANDR diff --git a/package/libgtk3/libgtk3.mk b/package/libgtk3/libgtk3.mk index cbe49b87161..078d348c1cb 100644 --- a/package/libgtk3/libgtk3.mk +++ b/package/libgtk3/libgtk3.mk @@ -15,7 +15,11 @@ LIBGTK3_CPE_ID_PRODUCT = gtk LIBGTK3_INSTALL_STAGING = YES LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 at-spi2-core libglib2 cairo pango \ - gdk-pixbuf libepoxy $(TARGET_NLS_DEPENDENCIES) + gdk-pixbuf libepoxy libfribidi $(TARGET_NLS_DEPENDENCIES) + +ifeq ($(BR2_PACKAGE_HARFBUZZ),y) +LIBGTK3_DEPENDENCIES += harfbuzz +endif ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) LIBGTK3_DEPENDENCIES += fontconfig xlib_libX11 xlib_libXext xlib_libXrandr xlib_libXrender xlib_libXi -- 2.43.0 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v2] package/libgtk4: add missing direct dependencies 2026-11-02 16:05 ` [Buildroot] [PATCH v2] package/libgtk4: add missing direct dependencies Thomas Devoogdt 2026-11-02 16:05 ` [Buildroot] [PATCH v2] package/libgtk4: bump to version 4.24.1 Thomas Devoogdt 2026-11-02 16:05 ` [Buildroot] [PATCH v2] package/libgtk3: add missing direct dependencies Thomas Devoogdt @ 2026-11-04 20:31 ` Thomas Petazzoni via buildroot 2026-11-04 21:53 ` Thomas Devoogdt 2 siblings, 1 reply; 14+ messages in thread From: Thomas Petazzoni via buildroot @ 2026-11-04 20:31 UTC (permalink / raw) To: Thomas Devoogdt; +Cc: buildroot, fontaine.fabrice On Mon, Nov 02, 2026 at 05:05:03PM +0100, Thomas Devoogdt wrote: > From: Thomas Devoogdt <thomas@devoogdt.com> > > GTK links directly against libdrm (mandatory on Linux), cairo, > harfbuzz, libfribidi, libpng, jpeg and tiff, and the X11 backend > additionally against fontconfig, x11, xext, xrender, xi, xcursor, > xdamage, xfixes, xrandr and xinerama. > > Add them to LIBGTK4_DEPENDENCIES so that they are always built before > libgtk4, and select the corresponding Config.in symbols instead of > relying on them being selected by other packages (pango, cairo, ...). > > Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> I assume you verified that all those dependencies are not just direct dependencies, but are also _mandatory_ dependencies, correct? Because for the patch on libgtk3, I think you got this wrong (I'll reply to it separately). For the time being, I've applied this patch to master, because a quick look at meson.build indeed seems to indicate that they are all mandatory dependencies. Thanks! Thomas -- Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v2] package/libgtk4: add missing direct dependencies 2026-11-04 20:31 ` [Buildroot] [PATCH v2] package/libgtk4: " Thomas Petazzoni via buildroot @ 2026-11-04 21:53 ` Thomas Devoogdt 2026-11-04 22:42 ` Thomas Petazzoni via buildroot 0 siblings, 1 reply; 14+ messages in thread From: Thomas Devoogdt @ 2026-11-04 21:53 UTC (permalink / raw) To: Thomas Petazzoni; +Cc: Thomas Devoogdt, buildroot, fontaine.fabrice [-- Attachment #1.1: Type: text/plain, Size: 2150 bytes --] Hi Thomas, Op wo 4 nov 2026 om 21:31 schreef Thomas Petazzoni < thomas.petazzoni@bootlin.com>: > On Mon, Nov 02, 2026 at 05:05:03PM +0100, Thomas Devoogdt wrote: > > From: Thomas Devoogdt <thomas@devoogdt.com> > > > > GTK links directly against libdrm (mandatory on Linux), cairo, > > harfbuzz, libfribidi, libpng, jpeg and tiff, and the X11 backend > > additionally against fontconfig, x11, xext, xrender, xi, xcursor, > > xdamage, xfixes, xrandr and xinerama. > > > > Add them to LIBGTK4_DEPENDENCIES so that they are always built before > > libgtk4, and select the corresponding Config.in symbols instead of > > relying on them being selected by other packages (pango, cairo, ...). > > > > Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> > > I assume you verified that all those dependencies are not just direct > dependencies, but are also _mandatory_ dependencies, correct? > Yes, all packages are direct and mandatory dependencies. cairo: https://gitlab.gnome.org/GNOME/gtk/-/blob/4.21.0/meson.build?ref_type=tags#L471-473 harfbuzz: https://gitlab.gnome.org/GNOME/gtk/-/blob/4.21.0/meson.build?ref_type=tags#L476-478 jpeg: https://gitlab.gnome.org/GNOME/gtk/-/blob/4.21.0/meson.build?ref_type=tags#L494 libdrm: https://gitlab.gnome.org/GNOME/gtk/-/blob/4.21.0/meson.build?ref_type=tags#L731 libfribidi: https://gitlab.gnome.org/GNOME/gtk/-/blob/4.21.0/meson.build?ref_type=tags#L474-475 libpng: https://gitlab.gnome.org/GNOME/gtk/-/blob/4.21.0/meson.build?ref_type=tags#L492 tiff: https://gitlab.gnome.org/GNOME/gtk/-/blob/4.21.0/meson.build?ref_type=tags#L493 x11: https://gitlab.gnome.org/GNOME/gtk/-/blob/4.21.0/meson.build?ref_type=tags#L606-664 Because for the patch on libgtk3, I think you got this wrong (I'll > reply to it separately). > I will have a look, and also reply separately. > For the time being, I've applied this patch to master, because a quick > look at meson.build indeed seems to indicate that they are all > mandatory dependencies. > > Thanks! > > Thomas > -- > Thomas Petazzoni, co-owner and CEO, Bootlin > Embedded Linux and Kernel engineering and training > https://bootlin.com > > Kr, Thomas Devoogdt [-- Attachment #1.2: Type: text/html, Size: 4007 bytes --] [-- Attachment #2: Type: text/plain, Size: 150 bytes --] _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v2] package/libgtk4: add missing direct dependencies 2026-11-04 21:53 ` Thomas Devoogdt @ 2026-11-04 22:42 ` Thomas Petazzoni via buildroot 0 siblings, 0 replies; 14+ messages in thread From: Thomas Petazzoni via buildroot @ 2026-11-04 22:42 UTC (permalink / raw) To: Thomas Devoogdt; +Cc: buildroot, fontaine.fabrice On Wed, Nov 04, 2026 at 10:53:04PM +0100, Thomas Devoogdt wrote: > I assume you verified that all those dependencies are not just direct > dependencies, but are also _mandatory_ dependencies, correct? > > > Yes, all packages are direct and mandatory dependencies. > > cairo: [4]https://gitlab.gnome.org/GNOME/gtk/-/blob/4.21.0/meson.build?ref_type > =tags#L471-473 > harfbuzz: [5]https://gitlab.gnome.org/GNOME/gtk/-/blob/4.21.0/meson.build? > ref_type=tags#L476-478 > jpeg: [6]https://gitlab.gnome.org/GNOME/gtk/-/blob/4.21.0/meson.build?ref_type= > tags#L494 > libdrm: [7]https://gitlab.gnome.org/GNOME/gtk/-/blob/4.21.0/meson.build? > ref_type=tags#L731 > libfribidi: [8]https://gitlab.gnome.org/GNOME/gtk/-/blob/4.21.0/meson.build? > ref_type=tags#L474-475 > libpng: [9]https://gitlab.gnome.org/GNOME/gtk/-/blob/4.21.0/meson.build? > ref_type=tags#L492 > tiff: [10]https://gitlab.gnome.org/GNOME/gtk/-/blob/4.21.0/meson.build?ref_type > =tags#L493 > x11: [11]https://gitlab.gnome.org/GNOME/gtk/-/blob/4.21.0/meson.build?ref_type= > tags#L606-664 Perfect, thanks for the confirmation! > Because for the patch on libgtk3, I think you got this wrong (I'll > reply to it separately). > > > I will have a look, and also reply separately. Thanks a lot! Thomas -- Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v1 1/2] package/libglib2: bump to version 2.90.1 2026-10-31 18:36 [Buildroot] [PATCH v1 1/2] package/libglib2: bump to version 2.90.1 Thomas Devoogdt 2026-10-31 18:36 ` [Buildroot] [PATCH v1 2/2] package/libgtk4: bump to version 4.24.1 Thomas Devoogdt @ 2026-11-01 16:39 ` Thomas Petazzoni via buildroot 1 sibling, 0 replies; 14+ messages in thread From: Thomas Petazzoni via buildroot @ 2026-11-01 16:39 UTC (permalink / raw) To: Thomas Devoogdt; +Cc: buildroot, Fabrice Fontaine On Sat, Oct 31, 2026 at 07:36:31PM +0100, Thomas Devoogdt wrote: > Changelog: https://gitlab.gnome.org/GNOME/glib/-/blob/2.90.1/NEWS > > - COPYING is now a symlink to LICENSES/LGPL-2.1-or-later.txt > - CVE-2026-58016 is fixed upstream, drop the patch > > Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> Applied to master, thanks! Best regards, Thomas Petazzoni -- Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2026-11-04 22:42 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-10-31 18:36 [Buildroot] [PATCH v1 1/2] package/libglib2: bump to version 2.90.1 Thomas Devoogdt 2026-10-31 18:36 ` [Buildroot] [PATCH v1 2/2] package/libgtk4: bump to version 4.24.1 Thomas Devoogdt 2026-11-01 16:43 ` Thomas Petazzoni via buildroot 2026-11-02 16:05 ` [Buildroot] [PATCH v2] package/libgtk4: add missing direct dependencies Thomas Devoogdt 2026-11-02 16:05 ` [Buildroot] [PATCH v2] package/libgtk4: bump to version 4.24.1 Thomas Devoogdt 2026-11-04 20:32 ` Thomas Petazzoni via buildroot 2026-11-02 16:05 ` [Buildroot] [PATCH v2] package/libgtk3: add missing direct dependencies Thomas Devoogdt 2026-11-04 20:34 ` Thomas Petazzoni via buildroot 2026-11-04 22:14 ` Thomas Devoogdt 2026-11-04 22:15 ` Thomas Devoogdt 2026-11-04 20:31 ` [Buildroot] [PATCH v2] package/libgtk4: " Thomas Petazzoni via buildroot 2026-11-04 21:53 ` Thomas Devoogdt 2026-11-04 22:42 ` Thomas Petazzoni via buildroot 2026-11-01 16:39 ` [Buildroot] [PATCH v1 1/2] package/libglib2: bump to version 2.90.1 Thomas Petazzoni via buildroot
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox