libxkbcommon: -> 1.4.1

This commit is contained in:
Tim Biermann 2022-11-16 19:54:05 +00:00
parent 2feff1879e
commit 70ee57887a
3 changed files with 64 additions and 4 deletions

View File

@ -1,5 +1,6 @@
untrusted comment: verify with /etc/ports/opt.pub
RWSE3ohX2g5d/YebRJ05Rgw5lL/EOCqjlf/uTi76Sgf+CNq4omz63Q70GO/uUfvoOX6HwiL2aXYzjcVQlCOf16X/A1RdlcXQDwQ=
SHA256 (Pkgfile) = ab0af8401b388b198de580ed7bd0feb7fa8c7e39818e248d60ae8a17e0f9ce84
RWSE3ohX2g5d/fcJgIC0w5lZsMn6edwIcCxs8PjWfrOWGRBqOFVwTS+D9SipMpI+LXWjdW4ghPwbCvp2fpwOJ+qsIscPfIrGXg8=
SHA256 (Pkgfile) = 56e1c4df1155e902525ce82c142eb053b0947ddd8eb74df3cca1604351546032
SHA256 (.footprint) = c4c5d4c7e0f46b05b5f563ef4c12e58670f43e60fb096e3f942f3238502d785a
SHA256 (xkbcommon-1.4.1.tar.gz) = 3b86670dd91441708dedc32bc7f684a034232fd4a9bb209f53276c9783e9d40e
SHA256 (320f56d2a4a31026e5c8d3b60303af98bf885e1b.patch) = e3672a164360c1fc272846b38526bf45a5a14d6d9ea23e07c0506b9a022d07e1

View File

@ -0,0 +1,57 @@
From 320f56d2a4a31026e5c8d3b60303af98bf885e1b Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Sun, 4 Sep 2022 00:51:07 +0200
Subject: [PATCH] interactive-wayland: Fix interface versioning
We need to request the lower version of the interface versions we
support and the server supports, not the higher version.
Using the higher version caused crashes due to unbound callbacks on
GNOME, which supports a higher version of `xdg_wm_base`.
---
tools/interactive-wayland.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/tools/interactive-wayland.c b/tools/interactive-wayland.c
index d23432d4..890680f5 100644
--- a/tools/interactive-wayland.c
+++ b/tools/interactive-wayland.c
@@ -42,7 +42,7 @@
#include "xdg-shell-client-protocol.h"
#include <wayland-util.h>
-#define MAX(a, b) ((a) > (b) ? (a) : (b))
+#define MIN(a, b) ((a) < (b) ? (a) : (b))
struct interactive_dpy {
struct wl_display *dpy;
@@ -557,7 +557,7 @@ seat_create(struct interactive_dpy *inter, struct wl_registry *registry,
seat->global_name = name;
seat->inter = inter;
seat->wl_seat = wl_registry_bind(registry, name, &wl_seat_interface,
- MAX(version, 5));
+ MIN(version, 5));
wl_seat_add_listener(seat->wl_seat, &seat_listener, seat);
ret = asprintf(&seat->name_str, "seat:%d",
wl_proxy_get_id((struct wl_proxy *) seat->wl_seat));
@@ -607,17 +607,17 @@ registry_global(void *data, struct wl_registry *registry, uint32_t name,
else if (strcmp(interface, "xdg_wm_base") == 0) {
inter->shell = wl_registry_bind(registry, name,
&xdg_wm_base_interface,
- MAX(version, 2));
+ MIN(version, 2));
xdg_wm_base_add_listener(inter->shell, &shell_listener, inter);
}
else if (strcmp(interface, "wl_compositor") == 0) {
inter->compositor = wl_registry_bind(registry, name,
&wl_compositor_interface,
- MAX(version, 1));
+ MIN(version, 1));
}
else if (strcmp(interface, "wl_shm") == 0) {
inter->shm = wl_registry_bind(registry, name, &wl_shm_interface,
- MAX(version, 1));
+ MIN(version, 1));
}
}

View File

@ -6,11 +6,13 @@
name=libxkbcommon
version=1.4.1
release=1
source=(https://github.com/xkbcommon/libxkbcommon/archive/xkbcommon-$version.tar.gz)
release=2
source=(https://github.com/xkbcommon/libxkbcommon/archive/xkbcommon-$version.tar.gz
320f56d2a4a31026e5c8d3b60303af98bf885e1b.patch)
build() {
prt-get isinst wayland-protocols || PKGMK_XKBCOMMON+=' -D enable-wayland=false'
patch -Np1 -d libxkbcommon-xkbcommon-$version -i $SRC/320f56d2a4a31026e5c8d3b60303af98bf885e1b.patch
meson build libxkbcommon-xkbcommon-$version $PKGMK_XKBCOMMON \
--prefix=/usr \