aboutsummaryrefslogtreecommitdiff
path: root/repos/extra/imv/muon.patch
blob: 8ee2f35d4798644ebce2e5c533cff75f1c937000 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
--- a/meson.build
+++ b/meson.build
@@ -98,11 +98,28 @@ if build_wayland
     cc.find_library('rt'),
   ]
 
-  wl_mod = import('unstable-wayland')
-  targets_wayland = [
-    wl_mod.scan_xml(wl_mod.find_protocol('xdg-shell')),
-    wl_mod.scan_xml(wl_mod.find_protocol(
-      'pointer-gestures',
-      state: 'unstable',
-      version: 1,
-    )),
-  ]
+  # muon compatibility: generate protocol files without external module
+  wayland_protocols_dep = dependency('wayland-protocols')
+  wayland_protocols_datadir = wayland_protocols_dep.get_pkgconfig_variable('pkgdatadir')
+  wayland_scanner = find_program('wayland-scanner')
+
+  gen_client_header = generator(wayland_scanner,
+    output: '@BASENAME@-client-protocol.h',
+    arguments: ['client-header', '@INPUT@', '@OUTPUT@'])
+  gen_private_code = generator(wayland_scanner,
+    output: '@BASENAME@-protocol.c',
+    arguments: ['private-code', '@INPUT@', '@OUTPUT@'])
+
+  xdg_shell_xml = join_paths(wayland_protocols_datadir, 'stable/xdg-shell/xdg-shell.xml')
+  xdg_shell_client_h = gen_client_header.process(xdg_shell_xml)
+  xdg_shell_code = gen_private_code.process(xdg_shell_xml)
+
+  pointer_gestures_xml = join_paths(wayland_protocols_datadir, 'unstable/pointer-gestures/pointer-gestures-unstable-v1.xml')
+  pointer_gestures_client_h = gen_client_header.process(pointer_gestures_xml)
+  pointer_gestures_code = gen_private_code.process(pointer_gestures_xml)
+
+  targets_wayland = [
+    xdg_shell_client_h, xdg_shell_code,
+    pointer_gestures_client_h, pointer_gestures_code,
+  ]