package/libglib2: bump to version 2.90.1
PATCH 1/2 package/libglib2: bump to version 2.90.1
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
--- ...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
package/libglib2/0001-gdbusintrospection-Fix-XML-parser-state-handling-for.patch deleted +0 -42
@@ -1,42 +0,0 @@ -From c9da977c178fbfc0e4caf99f9fdf5dc433d6fcc2 Mon Sep 17 00:00:00 2001 -From: Philip Withnall <[email protected]> -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 <[email protected]> - -Fixes: #3932 -CVE: CVE-2026-58016 -Upstream: https://gitlab.gnome.org/GNOME/glib/-/commit/c9da977c178fbfc0e4caf99f9fdf5dc433d6fcc2 -Signed-off-by: Peter Korsgaard <[email protected]> -[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 -
package/libglib2/libglib2.hash +3 -3
@@ -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
package/libglib2/libglib2.mk +3 -6
@@ -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
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH 2/2 package/libgtk4: bump to version 4.24.1
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.
---
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]: SKIPPED32 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]: SKIPPED32 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
package/libgtk4/0001-meson.build-add-a-check-for-the-fenv-header.patch new file +26 -0
@@ -0,0 +1,26 @@ +From d126fca3178004ab7d540d067e8c39745b69820f Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <[email protected]> +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 <[email protected]> +--- + 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 +
package/libgtk4/0002-gtk-gtkcssnumbervalue.c-fix-compilation-if-fenv.h-is.patch new file +106 -0
106 lines not on this page · raw message
package/libgtk4/Config.in +2 -3
@@ -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
package/libgtk4/libgtk4.hash +2 -2
@@ -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
package/libgtk4/libgtk4.mk +19 -4
@@ -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
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v1 2/2] package/libgtk4: bump to version 4.24.1
Quoted 24 lines · 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 backSince 4.24, GTK unconditionally links against libpng and libjpeg (previously only needed via the gdk-pixbuf loaders), so select
BR2_PACKAGE_LIBPNGandBR2_PACKAGE_JPEG.Also list cairo, harfbuzz and libfribidi in
LIBGTK4_DEPENDENCIESas 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.
Quoted 3 lines
Finally, added two patches to fix fenv usage on uclibc toolchains.
Signed-off-by Thomas Devoogdt <[email protected]>
Thanks for this update! I have a number of questions/comments below.
Quoted 21 lines
package/libgtk4/0001-meson.build-add-a-check-for-the-fenv-header.patch new file +7
-0@@ -0,0 +1,26 @@ +From d126fca3178004ab7d540d067e8c39745b69820f Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <[email protected]> +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 <[email protected]>package/libgtk4/0002-gtk-gtkcssnumbervalue.c-fix-compilation-if-fenv.h-is.patch new file +1
-0@@ -0,0 +1,106 @@ +From 734fcd35e1d82a9b68b7c6aff7cd2b27d557b29e Mon Sep 17 00:00:00 2001
package/libgtk4/0002-gtk-gtkcssnumbervalue.c-fix-compilation-if-fenv.h-is.patch line 11
Quoted 10 lines
package/libgtk4/0002-gtk-gtkcssnumbervalue.c-fix-compilation-if-fenv.h-is.patch new file +10
-0+From: Thomas Devoogdt <[email protected]> +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 <[email protected]>
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.
Quoted 28 lines
package/libgtk4/libgtk4.hash +2
-2@@ -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 COPYINGpackage/libgtk4/libgtk4.mk +2
-2@@ -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+
package/libgtk4/libgtk4.mk LIBGTK4_INSTALL_STAGING = YES · line 20
Quoted 4 lines
package/libgtk4/libgtk4.mk +1
-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.
package/libgtk4/libgtk4.mk LIBGTK4_INSTALL_STAGING = YES · line 23
Quoted 3 lines
package/libgtk4/libgtk4.mk +1
-0gdk-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.
package/libgtk4/libgtk4.mk LIBGTK4_INSTALL_STAGING = YES · line 26
Quoted 3 lines
package/libgtk4/libgtk4.mk +2
-0+ 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.
package/libgtk4/libgtk4.mk LIBGTK4_INSTALL_STAGING = YES · line 30
Quoted 5 lines
package/libgtk4/libgtk4.mk +2
-1libglib2 \ - librsvg \ + libpng \ pango \ + tiff \
Same question as for cairo.
Quoted 9 lines
package/libgtk4/libgtk4.mk +1
-1$(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 += \
package/libgtk4/libgtk4.mk LIBGTK4_CONF_OPTS += -Dintrospection=disabled · line 64
Quoted 10 lines
package/libgtk4/libgtk4.mk +10
-0+ 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
Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 1/1 package/libgtk4: add missing direct dependencies
From: Thomas Devoogdt <[email protected]>
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, ...).
---
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(-)
package/libgtk4/Config.in +12 -0
@@ -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.
package/libgtk4/libgtk4.mk +18 -1
@@ -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
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 1/1 package/libgtk4: bump to version 4.24.1
From: Thomas Devoogdt <[email protected]>
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.
---
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
package/libgtk4/0001-meson-fix-compilation-if-fenv.h-is-missing.patch new file +119 -0
@@ -0,0 +1,119 @@ +From e0f3bec0fdf037dffb0bd6570c00a6de37c1fef3 Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <[email protected]> +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 <[email protected]> +--- + 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 +
package/libgtk4/Config.in +0 -3
@@ -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
package/libgtk4/libgtk4.hash +2 -2
@@ -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
package/libgtk4/libgtk4.mk +2 -3
@@ -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)
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Thomas Petazzoni via buildroot
AppliedRe: [Buildroot] [PATCH v2] package/libgtk4: bump to version 4.24.1
Quoted 15 lines · Thomas Devoogdt
From: Thomas Devoogdt <[email protected]>
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
Quoted 7 lines
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 <[email protected]>
Applied to master, thanks!
Best regards,
Thomas Petazzoni
Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 1/1 package/libgtk3: add missing direct dependencies
In reply to Thomas DevoogdtFrom: Thomas Devoogdt <[email protected]>
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.
---
v2: also fix missing dependencies for libgtk3
--- package/libgtk3/Config.in | 2 ++ package/libgtk3/libgtk3.mk | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-)
package/libgtk3/Config.in +2 -0
@@ -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
package/libgtk3/libgtk3.mk +1 -1
@@ -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
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2] package/libgtk3: add missing direct dependencies
Quoted 4 lines · Thomas Devoogdt
From: Thomas Devoogdt <[email protected]>
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
Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2] package/libgtk3: add missing direct dependencies
Hi Thomas
Op wo 4 nov 2026 om 21:34 schreef Thomas Petazzoni < [email protected]>:
Quoted 13 lines · Thomas Devoogdt
Quoted 4 lines
From: Thomas Devoogdt <[email protected]>
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.
Quoted 9 lines
So perhaps the
BR2_PACKAGE_LIBGTK3_WAYLANDandBR2_PACKAGE_LIBGTK3_X11should selectBR2_PACKAGE_HARFBUZZ, and libgtk3.mk should contain:ifeq ($(BR2_PACKAGE_HARFBUZZ),y)
LIBGTK3_DEPENDENCIES+= harfbuzz
endifCould 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!
Quoted 8 lines
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training
https://bootlin.com
Kr,
Thomas Devoogdt
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 1/1 package/libgtk3: add missing direct dependencies
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.
---
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(-)
package/libgtk3/Config.in +3 -0
@@ -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
package/libgtk3/libgtk3.mk +5 -1
@@ -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
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2] package/libgtk4: add missing direct dependencies
In reply to Thomas DevoogdtQuoted 7 lines · Thomas Devoogdt
From: Thomas Devoogdt <[email protected]>
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.
Quoted 5 lines
Add them to
LIBGTK4_DEPENDENCIESso 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 <[email protected]>
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
Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2] package/libgtk4: add missing direct dependencies
Hi Thomas,
Op wo 4 nov 2026 om 21:31 schreef Thomas Petazzoni < [email protected]>:
Quoted 8 lines · Thomas Devoogdt
Quoted 7 lines
From: Thomas Devoogdt <[email protected]>
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.
Quoted 9 lines
Quoted 5 lines
Add them to
LIBGTK4_DEPENDENCIESso 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 <[email protected]>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
Quoted 2 lines
reply to it separately).
I will have a look, and also reply separately.
Quoted 4 lines
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.
Quoted 9 lines
Thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training
https://bootlin.com
Kr,
Thomas Devoogdt
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v2] package/libgtk4: add missing direct dependencies
Quoted 6 lines · Thomas Devoogdt
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.
Quoted 16 lines
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!
Quoted 5 lines
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
Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Thomas Petazzoni via buildroot
AppliedQuoted 6 lines · 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 patchSigned-off-by Thomas Devoogdt <[email protected]>
Applied to master, thanks!
Best regards,
Thomas Petazzoni
Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot