From ac8582a434d59df20f2c6789409a032daa581cb5 Mon Sep 17 00:00:00 2001 From: Sam James Date: Mon, 24 Nov 2025 18:44:02 +0000 Subject: [PATCH] gui-libs/gtk: fix 32-bit build for 4.20.3 Pointed out by leio. 'build' but it depends on compiler version. Signed-off-by: Sam James --- gui-libs/gtk/files/gtk-4.20.3-32-bit.patch | 81 +++++++++++++++++++ ...gtk-4.20.3.ebuild => gtk-4.20.3-r1.ebuild} | 2 + 2 files changed, 83 insertions(+) create mode 100644 gui-libs/gtk/files/gtk-4.20.3-32-bit.patch rename gui-libs/gtk/{gtk-4.20.3.ebuild => gtk-4.20.3-r1.ebuild} (99%) diff --git a/gui-libs/gtk/files/gtk-4.20.3-32-bit.patch b/gui-libs/gtk/files/gtk-4.20.3-32-bit.patch new file mode 100644 index 0000000000000..fe63cfcce103d --- /dev/null +++ b/gui-libs/gtk/files/gtk-4.20.3-32-bit.patch @@ -0,0 +1,81 @@ +https://gitlab.gnome.org/GNOME/gtk/-/issues/7883 +https://gitlab.gnome.org/GNOME/gtk/-/commit/3b7ed49f26700c65fa9c6f41cf40d4fd5f921756 + +From af9440dea029d225adcfc1f9024a1122e9abb006 Mon Sep 17 00:00:00 2001 +From: Benjamin Otte +Date: Fri, 21 Nov 2025 10:07:31 +0100 +Subject: [PATCH 1/2] vulkan: Don't treat Vulkan objects as pointers or 32bit + breaks + +Fixes: #7883 +Part-of: +--- + gdk/gdkvulkancontext.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gdk/gdkvulkancontext.c b/gdk/gdkvulkancontext.c +index 541842bfa50..26393892f04 100644 +--- a/gdk/gdkvulkancontext.c ++++ b/gdk/gdkvulkancontext.c +@@ -688,7 +688,7 @@ gdk_vulkan_present_is_busy (GdkVulkanContext *self, + { + VkResult res; + +- if (present->vk_swapchain == NULL) ++ if (!present->vk_swapchain) + return FALSE; + + if (!present->vk_fence) +@@ -1208,7 +1208,7 @@ gdk_vulkan_context_surface_detach (GdkDrawContext *context) + if (priv->presents[i].vk_swapchain) + { + gdk_vulkan_context_unref_swapchain (self, priv->presents[i].vk_swapchain); +- priv->presents[i].vk_swapchain = NULL; ++ priv->presents[i].vk_swapchain = VK_NULL_HANDLE; + } + vkDestroySemaphore (vk_device, + priv->presents[i].vk_semaphore, +-- +GitLab + + +From 1f9e80c8c0e7440f6d2256fbf8ead29c44a83b90 Mon Sep 17 00:00:00 2001 +From: Benjamin Otte +Date: Fri, 21 Nov 2025 10:08:12 +0100 +Subject: [PATCH 2/2] Fix a few profiler messges for 32bit + +Related: #7883 +Part-of: +--- + gdk/gdkmemoryformat.c | 2 +- + gdk/gdkvulkancontext.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gdk/gdkmemoryformat.c b/gdk/gdkmemoryformat.c +index 03f30448113..04f6057104d 100644 +--- a/gdk/gdkmemoryformat.c ++++ b/gdk/gdkmemoryformat.c +@@ -6620,7 +6620,7 @@ gdk_memory_mipmap_same_format_linear (gpointer data) + } + + ADD_MARK (before, +- "Mipmap linear (thread)", "size %lux%lu, lod %u, %lu rows", ++ "Mipmap linear (thread)", "size %zux%zu, lod %u, %zu rows", + mipmap->src_layout.width, mipmap->src_layout.height, mipmap->lod_level, rows); + } + +diff --git a/gdk/gdkvulkancontext.c b/gdk/gdkvulkancontext.c +index 26393892f04..c39774bf9d6 100644 +--- a/gdk/gdkvulkancontext.c ++++ b/gdk/gdkvulkancontext.c +@@ -1541,7 +1541,7 @@ gdk_vulkan_save_pipeline_cache (GdkDisplay *display) + } + + gdk_profiler_end_markf (begin_time, +- "Save Vulkan pipeline cache", "%s size %lu", ++ "Save Vulkan pipeline cache", "%s size %zu", + g_file_peek_path (file), size); + + g_object_unref (file); +-- +GitLab diff --git a/gui-libs/gtk/gtk-4.20.3.ebuild b/gui-libs/gtk/gtk-4.20.3-r1.ebuild similarity index 99% rename from gui-libs/gtk/gtk-4.20.3.ebuild rename to gui-libs/gtk/gtk-4.20.3-r1.ebuild index 3c303243ce763..614e380eaf045 100644 --- a/gui-libs/gtk/gtk-4.20.3.ebuild +++ b/gui-libs/gtk/gtk-4.20.3-r1.ebuild @@ -118,6 +118,8 @@ PATCHES=( # such support. # https://bugs.gentoo.org/624960 "${FILESDIR}"/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_ge_4.18.5.patch + + "${FILESDIR}"/${P}-32-bit.patch ) python_check_deps() {