gtk3: support wayland

This commit is contained in:
Jeremy Soller 2025-11-13 10:15:15 -07:00
parent 8bb4ee9d5f
commit a4b7414bc3
No known key found for this signature in database
GPG Key ID: 670FDFB5428E05CA
2 changed files with 42 additions and 11 deletions

View File

@ -23,8 +23,10 @@ dependencies = [
"libjpeg",
"libpng",
"libpthread-stubs",
"libwayland",
"libx11",
"libxau",
"libxkbcommon",
"libxcb",
"libxext",
"libxfixes",
@ -37,6 +39,7 @@ dependencies = [
"pcre2",
"pixman",
"shared-mime-info",
"wayland-protocols",
"x11proto",
"zlib",
]
@ -45,6 +48,5 @@ script = """
DYNAMIC_INIT
CFLAGS="${CFLAGS} -DM_SQRT2=1.41421356237309504880"
cookbook_meson \
-Dintrospection=false \
-Dwayland_backend=false
-Dintrospection=false
"""

View File

@ -1,6 +1,35 @@
diff -ruwN gtk+-3.24.43/gtk/a11y/gtkaccessibility.c source/gtk/a11y/gtkaccessibility.c
--- gtk+-3.24.43/gtk/a11y/gtkaccessibility.c 2024-07-10 11:03:14.000000000 -0600
+++ source/gtk/a11y/gtkaccessibility.c 2025-05-04 19:46:06.985224833 -0600
diff -ruwN source-old/gdk/wayland/gdkdevice-wayland.c source/gdk/wayland/gdkdevice-wayland.c
--- source-old/gdk/wayland/gdkdevice-wayland.c 2024-07-10 11:03:14.000000000 -0600
+++ source/gdk/wayland/gdkdevice-wayland.c 2025-11-13 09:46:58.493081022 -0700
@@ -44,6 +44,12 @@
#include <dev/evdev/input.h>
#elif defined(HAVE_LINUX_INPUT_H)
#include <linux/input.h>
+#else
+#define BTN_LEFT 0x110
+#define BTN_RIGHT 0x111
+#define BTN_MIDDLE 0x112
+#define BTN_STYLUS 0x14b
+#define BTN_STYLUS2 0x14c
#endif
#define BUTTON_BASE (BTN_LEFT - 1) /* Used to translate to 1-indexed buttons */
diff -ruwN source-old/gdk/wayland/gdkdisplay-wayland.c source/gdk/wayland/gdkdisplay-wayland.c
--- source-old/gdk/wayland/gdkdisplay-wayland.c 2024-07-10 11:03:14.000000000 -0600
+++ source/gdk/wayland/gdkdisplay-wayland.c 2025-11-13 09:44:55.926622693 -0700
@@ -28,7 +28,9 @@
#endif
#include <sys/mman.h>
+#if defined (__NR_memfd_create)
#include <sys/syscall.h>
+#endif
#include <glib.h>
#include "gdkwayland.h"
diff -ruwN source-old/gtk/a11y/gtkaccessibility.c source/gtk/a11y/gtkaccessibility.c
--- source-old/gtk/a11y/gtkaccessibility.c 2024-07-10 11:03:14.000000000 -0600
+++ source/gtk/a11y/gtkaccessibility.c 2025-11-12 12:32:06.969908669 -0700
@@ -37,7 +37,7 @@
#include <gtk/gtktogglebutton.h>
#include <gtk/gtkaccessible.h>
@ -28,9 +57,9 @@ diff -ruwN gtk+-3.24.43/gtk/a11y/gtkaccessibility.c source/gtk/a11y/gtkaccessibi
atk_bridge_adaptor_init (NULL, NULL);
#endif
diff -ruwN gtk+-3.24.43/gtk/gtkmain.c source/gtk/gtkmain.c
--- gtk+-3.24.43/gtk/gtkmain.c 2024-07-10 11:03:14.000000000 -0600
+++ source/gtk/gtkmain.c 2025-05-13 17:04:00.340216840 -0600
diff -ruwN source-old/gtk/gtkmain.c source/gtk/gtkmain.c
--- source-old/gtk/gtkmain.c 2024-07-10 11:03:14.000000000 -0600
+++ source/gtk/gtkmain.c 2025-11-12 12:32:06.970182803 -0700
@@ -355,7 +355,7 @@
check_setugid (void)
{
@ -40,9 +69,9 @@ diff -ruwN gtk+-3.24.43/gtk/gtkmain.c source/gtk/gtkmain.c
uid_t ruid, euid, suid; /* Real, effective and saved user ID's */
gid_t rgid, egid, sgid; /* Real, effective and saved group ID's */
diff -ruwN gtk+-3.24.43/meson.build source/meson.build
--- gtk+-3.24.43/meson.build 2024-07-10 11:03:14.000000000 -0600
+++ source/meson.build 2025-05-10 13:39:34.329344669 -0600
diff -ruwN source-old/meson.build source/meson.build
--- source-old/meson.build 2024-07-10 11:03:14.000000000 -0600
+++ source/meson.build 2025-11-12 12:32:06.970463189 -0700
@@ -565,7 +565,7 @@
xfixes_dep = dependency('xfixes', required: false)
xcomposite_dep = dependency('xcomposite', required: false)