aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Coppens <coppens.matthias.abc@gmail.com>2020-07-08 21:54:09 +0200
committerMatthias Coppens <coppens.matthias.abc@gmail.com>2020-07-08 21:55:06 +0200
commit153064863b4cee79391fef5bf4c192b449a33cc6 (patch)
treec84a48d05c20edadd0b244f1672e3125f81e72e6
parentwww-client/badwolf: Version clean, 1.0.0 (diff)
downloadguru-153064863b4cee79391fef5bf4c192b449a33cc6.tar.gz
guru-153064863b4cee79391fef5bf4c192b449a33cc6.tar.bz2
guru-153064863b4cee79391fef5bf4c192b449a33cc6.zip
gui-apps/wdisplays: Fix wdisplays not starting
This fixes upstream bug https://github.com/cyclopsian/wdisplays/issues/18 Package-Manager: Portage-2.3.99, Repoman-2.3.23 Signed-off-by: Matthias Coppens <coppens.matthias.abc@gmail.com>
-rw-r--r--gui-apps/wdisplays/files/wdisplays-1.0-pull20.patch49
-rw-r--r--gui-apps/wdisplays/wdisplays-1.0-r1.ebuild (renamed from gui-apps/wdisplays/wdisplays-1.0.ebuild)2
2 files changed, 51 insertions, 0 deletions
diff --git a/gui-apps/wdisplays/files/wdisplays-1.0-pull20.patch b/gui-apps/wdisplays/files/wdisplays-1.0-pull20.patch
new file mode 100644
index 000000000..607c69b78
--- /dev/null
+++ b/gui-apps/wdisplays/files/wdisplays-1.0-pull20.patch
@@ -0,0 +1,49 @@
+From 657e2966e556c78f121075c69fe1ba8d2b4dcb73 Mon Sep 17 00:00:00 2001
+From: Simon Ser <contact@emersion.fr>
+Date: Wed, 8 Jul 2020 11:57:35 +0200
+Subject: [PATCH] Use correct versions when binding globals
+
+Changes to protocols aren't forward-compatible. It's not possible to use
+version n+1 when a client has been designed to work with version n. For
+instance in wlr-screencopy v5 a new event has been added. Binding to
+version 5 without upgrading the client leads to libwayland errors
+because libwayland doesn't know how to handle the event.
+
+The client needs to maintain its own version requirements.
+
+Closes: https://github.com/cyclopsian/wdisplays/issues/18
+---
+ src/outputs.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/outputs.c b/src/outputs.c
+index 9ebf7e5..40410ec 100644
+--- a/src/outputs.c
++++ b/src/outputs.c
+@@ -534,20 +534,20 @@ static void registry_handle_global(void *data, struct wl_registry *registry,
+
+ if (strcmp(interface, zwlr_output_manager_v1_interface.name) == 0) {
+ state->output_manager = wl_registry_bind(registry, name,
+- &zwlr_output_manager_v1_interface, version);
++ &zwlr_output_manager_v1_interface, 1);
+ zwlr_output_manager_v1_add_listener(state->output_manager,
+ &output_manager_listener, state);
+ } else if (strcmp(interface, zxdg_output_manager_v1_interface.name) == 0) {
+ state->xdg_output_manager = wl_registry_bind(registry, name,
+- &zxdg_output_manager_v1_interface, version);
++ &zxdg_output_manager_v1_interface, 3);
+ } else if(strcmp(interface, zwlr_screencopy_manager_v1_interface.name) == 0) {
+ state->copy_manager = wl_registry_bind(registry, name,
+- &zwlr_screencopy_manager_v1_interface, version);
++ &zwlr_screencopy_manager_v1_interface, 1);
+ } else if(strcmp(interface, zwlr_layer_shell_v1_interface.name) == 0) {
+ state->layer_shell = wl_registry_bind(registry, name,
+- &zwlr_layer_shell_v1_interface, version);
++ &zwlr_layer_shell_v1_interface, 1);
+ } else if(strcmp(interface, wl_shm_interface.name) == 0) {
+- state->shm = wl_registry_bind(registry, name, &wl_shm_interface, version);
++ state->shm = wl_registry_bind(registry, name, &wl_shm_interface, 1);
+ }
+ }
+
+
diff --git a/gui-apps/wdisplays/wdisplays-1.0.ebuild b/gui-apps/wdisplays/wdisplays-1.0-r1.ebuild
index 39f2b9d38..88076f1e7 100644
--- a/gui-apps/wdisplays/wdisplays-1.0.ebuild
+++ b/gui-apps/wdisplays/wdisplays-1.0-r1.ebuild
@@ -25,3 +25,5 @@ LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64"
+
+PATCHES=("${FILESDIR}/${P}-pull20.patch")