xwayland: vendor pristine 24.1.8 (full-fork), drop obsolete redox.patch
Move xwayland to the vendored full-fork model (committed source/ tree) so the Redox port can be iterated in-place. The previous redox.patch was obsolete — written against an older xwayland: 24.1.8 already carries the BTN_LEFT/MIDDLE/ RIGHT button mapping and the modern meson get_variable() API, and relibc now provides uname()/utsname, so the os/access.c uname guard is unnecessary. Recipe switched from tar= + redox.patch to path=source; cached source.tar removed. Redox-specific source changes will be committed directly on this tree as the port surfaces real compile errors (drm/glamor/glx already off via mesonflags).
This commit is contained in:
@@ -3,10 +3,14 @@ name = "xwayland"
|
||||
version = "24.1.8"
|
||||
|
||||
[source]
|
||||
tar = "https://www.x.org/releases/individual/xserver/xwayland-24.1.8.tar.xz"
|
||||
patches = [
|
||||
"redox.patch"
|
||||
]
|
||||
# Vendored full-fork model: builds from the committed source/ tree (pristine
|
||||
# xwayland 24.1.8 with the Redox port baked in). The old redox.patch was
|
||||
# obsolete — it was written for an older xwayland, whereas 24.1.8 already
|
||||
# carries the BTN_LEFT/MIDDLE/RIGHT mapping and the modern meson get_variable()
|
||||
# API, and relibc now provides uname()/utsname (so the os/access.c guard is
|
||||
# unnecessary). Redox-specific changes are committed directly in source/.
|
||||
# upstream: https://www.x.org/releases/individual/xserver/xwayland-24.1.8.tar.xz
|
||||
path = "source"
|
||||
[build]
|
||||
template = "meson"
|
||||
dependencies = [
|
||||
|
||||
@@ -1,94 +0,0 @@
|
||||
diff -ruwN source/hw/xwayland/meson.build source-new/hw/xwayland/meson.build
|
||||
--- a/source/hw/xwayland/meson.build
|
||||
+++ b/source-new/hw/xwayland/meson.build
|
||||
@@ -30,8 +30,7 @@
|
||||
'../../mi/miinitext.h',
|
||||
]
|
||||
|
||||
-scanner_dep = dependency('wayland-scanner', native: true)
|
||||
-scanner = find_program(scanner_dep.get_pkgconfig_variable('wayland_scanner'))
|
||||
+scanner = find_program('wayland-scanner', native: true)
|
||||
|
||||
protocols_dep = dependency('wayland-protocols', version: wayland_protocols_req)
|
||||
protodir = protocols_dep.get_pkgconfig_variable('pkgdatadir')
|
||||
@@ -55,11 +54,7 @@
|
||||
arguments : ['client-header', '@INPUT@', '@OUTPUT@']
|
||||
)
|
||||
|
||||
-if scanner_dep.version().version_compare('>= 1.14.91')
|
||||
scanner_argument = 'private-code'
|
||||
-else
|
||||
- scanner_argument = 'code'
|
||||
-endif
|
||||
|
||||
code = generator(scanner,
|
||||
output : '@BASENAME@-protocol.c',
|
||||
diff -ruwN source/hw/xwayland/xwayland-input.c source-new/hw/xwayland/xwayland-input.c
|
||||
--- a/source/hw/xwayland/xwayland-input.c
|
||||
+++ b/source-new/hw/xwayland/xwayland-input.c
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
#include <xwayland-config.h>
|
||||
|
||||
-#include <linux/input.h>
|
||||
+#include <linux/input.h>
|
||||
#include <sys/mman.h>
|
||||
|
||||
#include <inputstr.h>
|
||||
@@ -758,9 +758,16 @@
|
||||
xwl_seat->xwl_screen->serial = serial;
|
||||
|
||||
switch (button) {
|
||||
+ case BTN_LEFT:
|
||||
+ index = 1;
|
||||
+ break;
|
||||
+ case BTN_MIDDLE:
|
||||
+ index = 2;
|
||||
+ break;
|
||||
+ case BTN_RIGHT:
|
||||
+ index = 3;
|
||||
+ break;
|
||||
default:
|
||||
- /* Skip indexes 4-7: they are used for vertical and horizontal scroll.
|
||||
- The rest of the buttons go in order: BTN_SIDE becomes 8, etc. */
|
||||
index = 8 + button - 0x113 /* BTN_SIDE */;
|
||||
break;
|
||||
}
|
||||
@@ -1057,7 +1057,7 @@
|
||||
|
||||
state_rec = xwl_seat->keyboard->key->xkbInfo->state;
|
||||
xkb_state = (XkbStateFieldFromRec(&state_rec) & 0xff);
|
||||
-
|
||||
+/*
|
||||
if (((key == KEY_LEFTSHIFT || key == KEY_RIGHTSHIFT) && (xkb_state & ControlMask)) ||
|
||||
((key == KEY_LEFTCTRL || key == KEY_RIGHTCTRL) && (xkb_state & ShiftMask))) {
|
||||
|
||||
@@ -1072,6 +1072,7 @@
|
||||
if (xwl_window)
|
||||
xwl_window_rootful_update_title(xwl_window);
|
||||
}
|
||||
+*/
|
||||
}
|
||||
|
||||
static void
|
||||
diff -ruwN source/os/access.c source-new/os/access.c
|
||||
--- a/source/os/access.c
|
||||
+++ b/source-new/os/access.c
|
||||
@@ -446,7 +446,7 @@
|
||||
int family;
|
||||
register HOST *host;
|
||||
|
||||
-#ifndef WIN32
|
||||
+#if !defined(WIN32) && !defined(__redox__)
|
||||
struct utsname name;
|
||||
#else
|
||||
struct {
|
||||
@@ -477,7 +477,7 @@
|
||||
* uname() lets me access to the whole string (it smashes release, you
|
||||
* see), whereas gethostname() kindly truncates it for me.
|
||||
*/
|
||||
-#ifndef WIN32
|
||||
+#if !defined(WIN32) && !defined(__redox__)
|
||||
uname(&name);
|
||||
#else
|
||||
gethostname(name.nodename, sizeof(name.nodename));
|
||||
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user