|
root / base / xf86-input-keyboard / patches / 01-sun-kbd-headers.patch
01-sun-kbd-headers.patch Diff 26 lines 1.0 KB
 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
--- a/src/sun_kbd.c	2026-07-23 13:55:22.652012681 -0500
+++ b/src/sun_kbd.c	2026-07-23 13:59:47.345032786 -0500
@@ -56,9 +56,21 @@
 #include "xf86OSKbd.h"
 #include "sun_kbd.h"
 
-#include <sys/stropts.h>
+/* OI fix (missing-header build failure on illumos/GCC 14): pull in
+ * sys/param.h, unistd.h, stropts.h explicitly - sun_kbd.c uses
+ * usleep()/ioctl() and STREAMS ioctl constants (I_PUSH/I_POP/I_FIND)
+ * that are not reliably pulled in transitively on this toolchain.
+ * sys/kbio.h is ALSO required (not just sys/kbd.h): Hammerhead's
+ * <sys/kbd.h> does not transitively include it, and it is the header
+ * that actually defines the KIOC* keyboard ioctl constants
+ * (KIOCSLED/KIOCGLED/KIOCTYPE/KIOCLAYOUT/KIOCGDIRECT/KIOCSDIRECT/
+ * KIOCCMD/KIOCMKTONE/...) this driver uses throughout. */
+#include <sys/param.h>
+#include <unistd.h>
+#include <stropts.h>
 #include <sys/vuid_event.h>
 #include <sys/kbd.h>
+#include <sys/kbio.h>
 #include <sys/note.h>	/* needed before including older versions of hid.h */
 #include <sys/usb/clients/hid/hid.h>