similarity index 85%
rename from meta/recipes-gnome/gtk+/gtk4_4.22.5.bb
rename to meta/recipes-gnome/gtk+/gtk4_4.24.0.bb
@@ -33,7 +33,7 @@ LIC_FILES_CHKSUM = " \
file://tests/testgtk.c;endline=25;md5=49d06770681b8322466b52ed19d29fb2 \
"
-SRC_URI[archive.sha256sum] = "7fd725deb2cb3f8dc218ad862c5056ff8548f49d3b0e4081796e444c22d19686"
+SRC_URI[archive.sha256sum] = "28ba4ac1c04f86eac09b79a163cb163a4c2b54442d9f7eccc04679062a581044"
S = "${UNPACKDIR}/${GNOMEBN}-${PV}"
@@ -76,6 +76,16 @@ PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled, vulkan-loader vulka
LIBV = "4.0.0"
+# gtk/svg is built as a unity target, and meson implements that by generating a
+# source file that #includes the real sources by absolute path. That generated
+# file is part of the debug information and lands in the -src package, so give
+# it the same rewriting that -ffile-prefix-map does for the compiler. Otherwise
+# the build directory leaks into the package and buildpaths QA rejects it.
+gtk4_rewrite_unity_sources() {
+ find ${PKGDEST}/${PN}-src -name '*-unity*.c' -exec sed -i -e 's|${B}|${TARGET_DBGSRC_DIR}|g' -e 's|${S}|${TARGET_DBGSRC_DIR}|g' {} +
+}
+PACKAGEFUNCS += "gtk4_rewrite_unity_sources"
+
FILES:${PN}:append = " \
${datadir}/bash-completion \
${datadir}/gtk-4.0/emoji/ \
Hightlights from the upstream release notes: * GtkSvgWidget is a widget to display SVG, with some support for interactive aspects of SVG * Wayland: - Version 3.2 of the text protocol is supported - xdg-session-management-v1 is used * GSK: - A number of 10bit image formats are supported - We are now using clip masks to reduce the number of offscreens * The gtk4-encode-symbolic tool for producing symbolic png icons has been dropped. * Snapping: GTK can now snap contents to device pixel boundaries, for better control of rendering with fractional scales * GTK now respects the reduced motion setting in various places and avoids animations (GtkSpinner, GtkStack, GtkRevealer) * New GtkShortcutTrigger functions it easier to handle synonymous keys (in particular keypad keys). * Type-to-search (in particular interaction with input methods) has been redone, switching from a "pull" to a "push" approach. * The first part of ongoing frameclock work has landed, improving our ability to deliver frames on time * GTK supports the ext-background-effect Wayland protocol to allow blurred background behind windows * The visible focus timeout can be changed with the new gtk-keyboard-focus-visible-timeout setting * The GDK frameclock has been reworked to improve precision and reduce frame drops Add a hook to rewrite the content of the meson-generated unity sources, as these contain absolute build paths. Manipulate the file during the packaging process so that the actual build tree isn't altered, meaning rebuilds are not affected. Based on work by Markus Volk <f_l_k@t-online.de>. Signed-off-by: Ross Burton <ross.burton@arm.com> --- .../gtk+/{gtk4_4.22.5.bb => gtk4_4.24.0.bb} | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) rename meta/recipes-gnome/gtk+/{gtk4_4.22.5.bb => gtk4_4.24.0.bb} (85%)