Re: [CFT] changes and updates to x11 input devices
Niclas Zeising <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.x11 |
|---|---|
| Message-ID | <[email protected]> |
On 06/10/18 09:01, Niclas Zeising wrote: > Hi! > I've been working for a little while on incorporating the various > patches floating around for changes and updates to xorg input drivers, > mostly related to libinput. The result can be found here, in the x11 > team development repo: > > https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/input > > It contains upates to libinput, libeevdev, libwacom, xf86-input-libinput > and dependencies. > > Please help me in testing this as much as possible, so that we can land > it in the ports system > > The branch above is a complete ports tree, so you can use it to build > from, or to point poudriere at it. Please test various input devices, > synaptics touchpads, wacom devices and so on. Both success and failure > stories are interesting. On request, attached is a patch with all changes. Regards -- Niclas _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-x11 To unsubscribe, send any mail to "[email protected]"
ports.input.diff
(text/x-patch, 52 KB)
diff --git a/audio/baresip/Makefile b/audio/baresip/Makefile
index ffdae5425a20..dd15bcd767e4 100644
--- a/audio/baresip/Makefile
+++ b/audio/baresip/Makefile
@@ -29,7 +29,7 @@ OPTIONS_DEFINE= CONS DOCS EXAMPLES FFMPEG G711 G722 G726 GSM GSTREAMER ILBC \
L16 OPUS OSS PORTAUDIO SDL SNDFILE SPEEX SRTP STDIO UUID V4L V4L2 X11 \
DTLS_SRTP AUBRIDGE VIDBRIDGE HTTPD DSHOW DIRECTFB ACCOUNT \
NATPMP SDL MIW SNAPSHOT SELFVIEW VUMETER AULOOP CONTACT \
- MENU PRESENCE SYSLOG VIDLOOP
+ MENU PRESENCE SYSLOG VIDLOOP EVDEV
OPTIONS_DEFAULT=CONS G711 G722 G726 L16 OSS STDIO
AULOOP_DESC= Audio-loop test module
@@ -37,6 +37,7 @@ BV32_DESC= BroadVoice32 Wideband Audio codec
CONTACT_DESC= Contacts module
CONS_DESC= Console input driver
DTLS_SRTP_DESC= DTLS Secure RTP module [broken]
+EVDEV_DESC= Input event device interface module
G711_DESC= G.711 audio codec
G722_DESC= G.722 audio codec
G722_1_DESC= G.722.1 audio codec
diff --git a/audio/baresip/Makefile.depends b/audio/baresip/Makefile.depends
index 2dbc5bc24e01..de4154c4aad0 100644
--- a/audio/baresip/Makefile.depends
+++ b/audio/baresip/Makefile.depends
@@ -4,7 +4,7 @@ ALSA_DEPEND= ${LOCALBASE}/include/alsa/asoundlib.h:audio/alsa-lib
BV32_DEPEND= # nonexistent
CONS_DEPEND= # unnecessary
DTLS_SRTP_DEPEND= # unnecessary
-EVDEV_DEPEND=
+EVDEV_DEPEND= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
FFMPEG_DEPEND= ${LOCALBASE}/include/libavcodec/avcodec.h:multimedia/ffmpeg
G711_DEPEND= ${LOCALBASE}/include/spandsp/g711.h:comms/spandsp
G722_DEPEND= ${LOCALBASE}/include/spandsp/g722.h:comms/spandsp
diff --git a/comms/lirc/Makefile b/comms/lirc/Makefile
index 1585a1414cd7..3feee05b43af 100644
--- a/comms/lirc/Makefile
+++ b/comms/lirc/Makefile
@@ -11,7 +11,7 @@ MASTER_SITES= SF/${PORTNAME}/LIRC/${PORTVERSION}
MAINTAINER= [email protected]
COMMENT= Linux Infrared Remote Control
-BUILD_DEPENDS= v4l_compat>=1.0.20110603:multimedia/v4l_compat
+BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
USES= alias autoreconf gmake libtool localbase python tar:bzip2
USE_XORG= sm x11 ice
diff --git a/comms/svxlink/Makefile b/comms/svxlink/Makefile
index 50f170890da4..2beeab003ded 100644
--- a/comms/svxlink/Makefile
+++ b/comms/svxlink/Makefile
@@ -19,14 +19,13 @@ LIB_DEPENDS?= libgsm.so:audio/gsm \
libpopt.so:devel/popt \
libopus.so:audio/opus \
librtlsdr.so:comms/rtl-sdr
-BUILD_DEPENDS= pkg-config:devel/pkgconf \
- ${LOCALBASE}/include/linux/input.h:multimedia/v4l_compat
+BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
USE_GITHUB= yes
GH_ACCOUNT= sm0svx
GH_PROJECT= svxlink
-USES= cmake tcl groff
+USES= cmake tcl groff pkgconfig
CMAKE_SOURCE_PATH= ${WRKSRC}/src
CMAKE_ARGS+= -DMAN_INSTALL_DIR:FILEPATH=${MANDIRS} \
-DLOCAL_STATE_DIR=/var
diff --git a/devel/Makefile b/devel/Makefile
index 7fdc60cbf5a7..32846174558d 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -600,6 +600,7 @@
SUBDIR += etcd33
SUBDIR += etl
SUBDIR += euca2ools
+ SUBDIR += evdev-proto
SUBDIR += evemu
SUBDIR += eventxx
SUBDIR += evolution-gconf-tools
@@ -4906,6 +4907,7 @@
SUBDIR += py-pytrie
SUBDIR += py-pytvmaze
SUBDIR += py-pytz
+ SUBDIR += py-pyudev
SUBDIR += py-pyutil
SUBDIR += py-pyvalid
SUBDIR += py-pyvisa
diff --git a/devel/evdev-proto/Makefile b/devel/evdev-proto/Makefile
new file mode 100644
index 000000000000..2f9ae2efc278
--- /dev/null
+++ b/devel/evdev-proto/Makefile
@@ -0,0 +1,58 @@
+# $FreeBSD$
+
+PORTNAME= evdev-proto
+PORTVERSION= 4.16
+CATEGORIES= devel
+MASTER_SITES= https://github.com/torvalds/linux/raw/v${PORTVERSION}/include/uapi/linux/
+DISTNAME= input.h input-event-codes.h uinput.h
+EXTRACT_SUFX= # empty
+
+MAINTAINER= [email protected]
+COMMENT= Input event device header files
+
+LICENSE= GPLv2
+
+NO_BUILD= yes
+NO_ARCH= yes
+WRKSRC= ${WRKDIR}
+
+PLIST_FILES= ${DISTNAME:S|^|include/linux/|}
+
+do-extract:
+ @${MKDIR} ${WRKSRC}
+.for i in ${DISTNAME}
+ @${CP} ${DISTDIR}/${i} ${WRKSRC}
+.endfor
+
+post-patch:
+ @${REINPLACE_CMD} -i '' -E -e \
+ 's/__u([[:digit:]]+)/uint\1_t/g ; \
+ s/__s([[:digit:]]+)/int\1_t/g ; \
+ /# *include/ s|<sys/ioctl.h>|<sys/ioccom.h>| ; \
+ /# *include[[:space:]]+<linux\/types.h>/d ; \
+ /EVIOC(RMFF|GRAB|REVOKE)/ s/_IOW(.*), *int/_IOWINT\1/ ; \
+ /EVIOCGKEYCODE/ s/_IOR/_IOWR/ ; \
+ /EVIOCGMASK/ s/_IOR/_IOW/ ; \
+ /EVIOCGMTSLOTS/ s/_IOC_READ/IOC_INOUT/ ; \
+ /#define/ s/_IOC_READ/IOC_OUT/ ; \
+ /#define/ s/_IOC_WRITE/IOC_IN/ ; \
+ s/[[:space:]]+__user[[:space:]]+/ / ; \
+ /__USE_TIME_BITS64/ s|^#if (.*)$$|#if 1 /* \1 */|' \
+ ${WRKSRC}/input.h
+ @${REINPLACE_CMD} -i '' -E -e \
+ 's/__u([[:digit:]]+)/uint\1_t/g ; \
+ s/__s([[:digit:]]+)/int\1_t/g ; \
+ /# *include/s|<linux/types.h>|<sys/types.h>| ; \
+ /#define/ s/_IOW(.*), *int/_IOWINT\1/ ; \
+ /#define/ s/_IOW(.*), *char\*/_IO\1/ ; \
+ /#define/ s/_IOC_READ/IOC_OUT/' \
+ ${WRKSRC}/uinput.h
+
+do-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/include/linux/
+.for i in ${DISTNAME}
+ ${INSTALL_DATA} ${WRKSRC}/${i} \
+ ${STAGEDIR}${PREFIX}/include/linux/
+.endfor
+
+.include <bsd.port.mk>
diff --git a/devel/evdev-proto/distinfo b/devel/evdev-proto/distinfo
new file mode 100644
index 000000000000..b5fa88ce7f80
--- /dev/null
+++ b/devel/evdev-proto/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1522694717
+SHA256 (input.h) = b61cc749f3b517f0e5b0f4b83a23cbcd9c044a3ff97d8fa3d639fbe0b00236e0
+SIZE (input.h) = 15890
+SHA256 (input-event-codes.h) = a736ca688b6d5fd5d0f52d77b620387dd1f0d360ebba53106ca7be96a8231249
+SIZE (input-event-codes.h) = 24313
+SHA256 (uinput.h) = 9123b078f13047c34797332c4f835e5f1e418387e9a950024920faa5a1186974
+SIZE (uinput.h) = 9276
diff --git a/devel/evdev-proto/pkg-descr b/devel/evdev-proto/pkg-descr
new file mode 100644
index 000000000000..950c6ab03039
--- /dev/null
+++ b/devel/evdev-proto/pkg-descr
@@ -0,0 +1 @@
+This port installs the input event device header files.
diff --git a/devel/evemu/Makefile b/devel/evemu/Makefile
index 1b87a4d659ca..74ddaad73d9a 100644
--- a/devel/evemu/Makefile
+++ b/devel/evemu/Makefile
@@ -12,7 +12,7 @@ COMMENT= Records and replays EVDEV descriptions and events
LICENSE= GPLv3
-BUILD_DEPENDS= v4l_compat>=0:multimedia/v4l_compat
+BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
LIB_DEPENDS= libevdev.so:devel/libevdev
USES= tar:xz pathfix libtool pkgconfig localbase
diff --git a/devel/evemu/files/patch-tools_evemu-record.c b/devel/evemu/files/patch-tools_evemu-record.c
index f09d9fdc7381..e69de29bb2d1 100644
--- a/devel/evemu/files/patch-tools_evemu-record.c
+++ b/devel/evemu/files/patch-tools_evemu-record.c
@@ -1,12 +0,0 @@
---- tools/evemu-record.c.orig 2016-03-01 14:10:40 UTC
-+++ tools/evemu-record.c
-@@ -209,6 +209,9 @@ out:
- return rc;
- }
-
-+/* Fix broken linux/input.h ioctl define found in multimedia/v4l_compat as of 2017-04-02 */
-+#undef EVIOCGRAB
-+#define EVIOCGRAB _IOWINT('E', 0x90)
- static inline bool test_grab_device(int fd)
- {
- if (ioctl(fd, EVIOCGRAB, (void*)1) < 0) {
diff --git a/devel/libepoll-shim/Makefile b/devel/libepoll-shim/Makefile
index 20ef0d4a39e6..f5dd7780aa4a 100644
--- a/devel/libepoll-shim/Makefile
+++ b/devel/libepoll-shim/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= libepoll-shim
-PORTVERSION= 0.0.20161220
+PORTVERSION= 0.0.20180530
CATEGORIES= devel
MAINTAINER= [email protected]
@@ -13,7 +13,7 @@ LICENSE= MIT
USE_GITHUB= yes
GH_ACCOUNT= FreeBSDDesktop
GH_PROJECT= epoll-shim
-GH_TAGNAME= c04b26b
+GH_TAGNAME= 385633e
USE_LDCONFIG= yes
diff --git a/devel/libepoll-shim/distinfo b/devel/libepoll-shim/distinfo
index 14540e447ef8..b27e9ac8f482 100644
--- a/devel/libepoll-shim/distinfo
+++ b/devel/libepoll-shim/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1482268996
-SHA256 (FreeBSDDesktop-epoll-shim-0.0.20161220-c04b26b_GH0.tar.gz) = ae644d6b21567e9bb5e3a145e6e8ce233de16dc6c93ca4a1facb24f1375f442a
-SIZE (FreeBSDDesktop-epoll-shim-0.0.20161220-c04b26b_GH0.tar.gz) = 7634
+TIMESTAMP = 1527700937
+SHA256 (FreeBSDDesktop-epoll-shim-0.0.20180530-385633e_GH0.tar.gz) = 03fdbc9f161a38d53a3eaa813d30ef11f6929803bb724967d76ee28a31b743f4
+SIZE (FreeBSDDesktop-epoll-shim-0.0.20180530-385633e_GH0.tar.gz) = 15594
diff --git a/devel/libevdev/Makefile b/devel/libevdev/Makefile
index 1342dfad8fa8..dd42dc889dd2 100644
--- a/devel/libevdev/Makefile
+++ b/devel/libevdev/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= libevdev
-PORTVERSION= 1.4.4
+PORTVERSION= 1.5.9
CATEGORIES= devel
MASTER_SITES= http://freedesktop.org/software/${PORTNAME}/
@@ -11,22 +11,33 @@ COMMENT= Linux Event Device library
LICENSE= MIT # without linux/*.h
LICENSE_FILE= ${WRKSRC}/COPYING
-BUILD_DEPENDS= v4l_compat>=1.0.20110603:multimedia/v4l_compat
-RUN_DEPENDS= v4l_compat>=1.0.20110603:multimedia/v4l_compat
+BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
+LIB_DEPENDS= libepoll-shim.so:devel/libepoll-shim
-USES= gmake libtool pathfix python:build tar:xz
+USES= gmake libtool localbase pathfix pkgconfig python:build tar:xz
EXTRACT_AFTER_ARGS= --exclude include # v4l_compat
GNU_CONFIGURE= yes
-CONFIGURE_ENV= ac_cv_path_DOXYGEN=""
-CPPFLAGS+= -I${LOCALBASE}/include # v4l_compat
+CONFIGURE_ENV= ac_cv_path_DOXYGEN="" ac_cv_path_VALGRIND=""
+CPPFLAGS+= -I${LOCALBASE}/include/libepoll-shim
INSTALL_TARGET= install-strip
USE_LDCONFIG= yes
+# Test requires /dev/uinput and should be run as root
+.if exists(/dev/uinput)
+TEST_USES+= pkgconfig
+TEST_DEPENDS= checkmk:devel/check
+TEST_TARGET= check
+TEST_WRKSRC= ${WRKSRC}/test
+.endif
+
post-patch:
- @${REINPLACE_CMD} -e '/input\.h/s,top_srcdir,LOCALBASE,' \
+ @${REINPLACE_CMD} -e '/input\.h/s,top_srcdir,LOCALBASE,g' \
${WRKSRC}/libevdev/Makefile.in
-# XXX tools require signalfd(2), test require /dev/uinput
- @${REINPLACE_CMD} -e '/^SUBDIRS/s,tools test,,' \
- ${WRKSRC}/Makefile.in
+ @${REINPLACE_CMD} -e '/^LIBS = /s/$$/ -pthread -lrt -lepoll-shim/' \
+ ${WRKSRC}/tools/Makefile.in
+ @${REINPLACE_CMD} -e 's|program_invocation_short_name|getprogname()|' \
+ ${WRKSRC}/tools/mouse-dpi-tool.c \
+ ${WRKSRC}/tools/touchpad-edge-detector.c \
+ ${WRKSRC}/tools/libevdev-tweak-device.c
.include <bsd.port.mk>
diff --git a/devel/libevdev/distinfo b/devel/libevdev/distinfo
index 606b4098fc0a..83224e5f8150 100644
--- a/devel/libevdev/distinfo
+++ b/devel/libevdev/distinfo
@@ -1,2 +1,3 @@
-SHA256 (libevdev-1.4.4.tar.xz) = ed9979369b6a6e28f5897d099538549ecffb2b7c00c1b717eb77c31d85bc45a9
-SIZE (libevdev-1.4.4.tar.xz) = 409856
+TIMESTAMP = 1522696039
+SHA256 (libevdev-1.5.9.tar.xz) = e1663751443bed9d3e76a4fe2caf6fa866a79705d91cacad815c04e706198a75
+SIZE (libevdev-1.5.9.tar.xz) = 408200
diff --git a/devel/libevdev/files/patch-libevdev_libevdev-uinput.c b/devel/libevdev/files/patch-libevdev_libevdev-uinput.c
new file mode 100644
index 000000000000..c6f92480bca9
--- /dev/null
+++ b/devel/libevdev/files/patch-libevdev_libevdev-uinput.c
@@ -0,0 +1,40 @@
+--- libevdev/libevdev-uinput.c.orig 2017-05-04 00:37:30 UTC
++++ libevdev/libevdev-uinput.c
+@@ -182,6 +182,7 @@ libevdev_uinput_get_fd(const struct libevdev_uinput *u
+ return uinput_dev->fd;
+ }
+
++#if defined(linux)
+ static int is_event_device(const struct dirent *dent) {
+ return strncmp("event", dent->d_name, 5) == 0;
+ }
+@@ -213,10 +214,12 @@ fetch_device_node(const char *path)
+ static int is_input_device(const struct dirent *dent) {
+ return strncmp("input", dent->d_name, 5) == 0;
+ }
++#endif
+
+ static int
+ fetch_syspath_and_devnode(struct libevdev_uinput *uinput_dev)
+ {
++#if defined(linux)
+ struct dirent **namelist;
+ int ndev, i;
+ int rc;
+@@ -290,6 +293,16 @@ fetch_syspath_and_devnode(struct libevdev_uinput *uinp
+ free(namelist);
+
+ return uinput_dev->devnode ? 0 : -1;
++#elif defined(__FreeBSD__)
++ char devnode[80];
++ if (ioctl(uinput_dev->fd, UI_GET_SYSNAME(sizeof(devnode)), devnode) < 0)
++ return -1;
++ asprintf(&uinput_dev->devnode, "/dev/input/%s", devnode);
++ uinput_dev->syspath = strdup(uinput_dev->devnode);
++ return 0;
++#else
++ return -1;
++#endif
+ }
+
+ static int
diff --git a/devel/libevdev/files/patch-test_test-libevdev-events.c b/devel/libevdev/files/patch-test_test-libevdev-events.c
new file mode 100644
index 000000000000..b4d960c1daf6
--- /dev/null
+++ b/devel/libevdev/files/patch-test_test-libevdev-events.c
@@ -0,0 +1,20 @@
+--- test/test-libevdev-events.c.orig 2017-05-04 00:37:30 UTC
++++ test/test-libevdev-events.c
+@@ -1057,7 +1057,7 @@ START_TEST(test_syn_delta_late_sync)
+ } while (rc >= 0);
+
+ /* force enough events to trigger a SYN_DROPPED */
+- for (i = 0; i < 100; i++) {
++ for (i = 0; i < 200; i++) {
+ uinput_device_event(uidev, EV_ABS, ABS_X, 100 + i);
+ uinput_device_event(uidev, EV_ABS, ABS_Y, 500 + i);
+ uinput_device_event(uidev, EV_ABS, ABS_MT_POSITION_X, 100 + i);
+@@ -1152,7 +1152,7 @@ START_TEST(test_syn_delta_late_sync)
+ } while (rc >= 0);
+
+ /* force enough events to trigger a SYN_DROPPED */
+- for (i = 0; i < 100; i++) {
++ for (i = 0; i < 200; i++) {
+ uinput_device_event(uidev, EV_ABS, ABS_X, 100 + i);
+ uinput_device_event(uidev, EV_ABS, ABS_Y, 500 + i);
+ uinput_device_event(uidev, EV_ABS, ABS_MT_POSITION_X, 100 + i);
diff --git a/devel/libevdev/files/patch-test_test-libevdev-has-event.c b/devel/libevdev/files/patch-test_test-libevdev-has-event.c
new file mode 100644
index 000000000000..adac5377008c
--- /dev/null
+++ b/devel/libevdev/files/patch-test_test-libevdev-has-event.c
@@ -0,0 +1,16 @@
+--- test/test-libevdev-has-event.c.orig 2017-05-04 00:37:30 UTC
++++ test/test-libevdev-has-event.c
+@@ -116,6 +116,13 @@ START_TEST(test_event_codes)
+ evbit++;
+ continue;
+ }
++#ifdef __FreeBSD__
++ /* Force feedback events are not supported by FreeBSD */
++ if (*evbit == EV_FF) {
++ evbit++;
++ continue;
++ }
++#endif
+
+ max = libevdev_event_type_get_max(*evbit);
+
diff --git a/devel/libevdev/files/patch-test_test-libevdev-init.c b/devel/libevdev/files/patch-test_test-libevdev-init.c
new file mode 100644
index 000000000000..79735a3f906c
--- /dev/null
+++ b/devel/libevdev/files/patch-test_test-libevdev-init.c
@@ -0,0 +1,11 @@
+--- test/test-libevdev-init.c.orig 2017-05-04 00:37:30 UTC
++++ test/test-libevdev-init.c
+@@ -490,7 +490,7 @@ START_TEST(test_set_clock_id)
+ rc = libevdev_set_clock_id(dev, CLOCK_MONOTONIC);
+ ck_assert_int_eq(rc, 0);
+
+- rc = libevdev_set_clock_id(dev, CLOCK_MONOTONIC_RAW);
++ rc = libevdev_set_clock_id(dev, CLOCK_MONOTONIC_FAST);
+ ck_assert_int_eq(rc, -EINVAL);
+
+ uinput_device_free(uidev);
diff --git a/devel/libevdev/files/patch-test_test-main.c b/devel/libevdev/files/patch-test_test-main.c
new file mode 100644
index 000000000000..e080d7316040
--- /dev/null
+++ b/devel/libevdev/files/patch-test_test-main.c
@@ -0,0 +1,26 @@
+--- test/test-main.c.orig 2017-05-04 00:37:30 UTC
++++ test/test-main.c
+@@ -41,6 +41,7 @@ extern Suite *uinput_suite(void);
+ static int
+ is_debugger_attached(void)
+ {
++#if defined (linux)
+ int status;
+ int rc;
+ int pid = fork();
+@@ -64,6 +65,15 @@ is_debugger_attached(void)
+ }
+
+ return rc;
++#else
++ /*
++ * Skip useless gdb test as setting CK_FORK environment variable in
++ * absence of attached debugger gives no harm to user.
++ * Moreover this test is broken on most nonlinux systems, look at
++ * discussion here: http://stackoverflow.com/questions/3596781/
++ */
++ return 1;
++#endif
+ }
+
+ int main(int argc, char **argv)
diff --git a/devel/libevdev/pkg-plist b/devel/libevdev/pkg-plist
index 0f5d673093fa..566fee11b2f9 100644
--- a/devel/libevdev/pkg-plist
+++ b/devel/libevdev/pkg-plist
@@ -1,8 +1,11 @@
+bin/libevdev-tweak-device
+bin/mouse-dpi-tool
+bin/touchpad-edge-detector
include/libevdev-1.0/libevdev/libevdev-uinput.h
include/libevdev-1.0/libevdev/libevdev.h
lib/libevdev.a
lib/libevdev.so
lib/libevdev.so.2
-lib/libevdev.so.2.1.10
+lib/libevdev.so.2.1.21
libdata/pkgconfig/libevdev.pc
man/man3/libevdev.3.gz
diff --git a/devel/libmtdev/Makefile b/devel/libmtdev/Makefile
index 6028ee34d462..a32cf6a80b75 100644
--- a/devel/libmtdev/Makefile
+++ b/devel/libmtdev/Makefile
@@ -12,8 +12,7 @@ COMMENT= Multitouch Protocol Translation Library
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
-BUILD_DEPENDS= v4l_compat>=1.0.20110603:multimedia/v4l_compat
-RUN_DEPENDS= v4l_compat>=1.0.20110603:multimedia/v4l_compat
+BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
USES= libtool pathfix tar:bz2
GNU_CONFIGURE= yes
diff --git a/devel/libmtdev/files/patch-test-mtdev-test.c b/devel/libmtdev/files/patch-test-mtdev-test.c
new file mode 100644
index 000000000000..b1c8575bd82d
--- /dev/null
+++ b/devel/libmtdev/files/patch-test-mtdev-test.c
@@ -0,0 +1,16 @@
+--- test/mtdev-test.c.orig 2014-02-28 22:48:23.000000000 +0400
++++ test/mtdev-test.c 2015-04-03 02:57:56.890923000 +0300
+@@ -28,11 +28,12 @@
+
+ #include <mtdev.h>
+ #include <stdio.h>
++#include <stdint.h>
+ #include <unistd.h>
+ #include <fcntl.h>
+
+ /* year-proof millisecond event time */
+-typedef __u64 mstime_t;
++typedef uint64_t mstime_t;
+
+ static int use_event(const struct input_event *ev)
+ {
diff --git a/devel/libudev-devd/Makefile b/devel/libudev-devd/Makefile
index c65aa3a543ec..691d13085f18 100644
--- a/devel/libudev-devd/Makefile
+++ b/devel/libudev-devd/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= libudev-devd
-PORTVERSION= 0.3
+PORTVERSION= 0.4
CATEGORIES= devel
MAINTAINER= [email protected]
@@ -9,14 +9,13 @@ COMMENT= libudev-compatible interface for devd
LICENSE= BSD2CLAUSE
-BUILD_DEPENDS= v4l_compat>=0:multimedia/v4l_compat
-LIB_DEPENDS= libevdev.so:devel/libevdev
+BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
USE_GITHUB= yes
GH_ACCOUNT= FreeBSDDesktop
-GH_TAGNAME= b7aa09f
+GH_TAGNAME= fbe5a0b
-USES= dos2unix autoreconf gmake libtool localbase pathfix pkgconfig
+USES= autoreconf gmake libtool localbase pathfix pkgconfig
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
INSTALL_TARGET= install-strip
diff --git a/devel/libudev-devd/distinfo b/devel/libudev-devd/distinfo
index 3fc5a3672a1a..e87dd12a262a 100644
--- a/devel/libudev-devd/distinfo
+++ b/devel/libudev-devd/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1500809406
-SHA256 (FreeBSDDesktop-libudev-devd-0.3-b7aa09f_GH0.tar.gz) = 880a497ef5123fdebf447f4b9b1a7adae3fa2a71885a42dd7c35dbb877985260
-SIZE (FreeBSDDesktop-libudev-devd-0.3-b7aa09f_GH0.tar.gz) = 16442
+TIMESTAMP = 1527795819
+SHA256 (FreeBSDDesktop-libudev-devd-0.4-fbe5a0b_GH0.tar.gz) = 4f6423caf9b673e8bae14c2ec94f0ac1c3fc90b2a1b96315ce11caba1ac342e2
+SIZE (FreeBSDDesktop-libudev-devd-0.4-fbe5a0b_GH0.tar.gz) = 17111
diff --git a/devel/libudev-devd/files/patch-utils.h b/devel/libudev-devd/files/patch-utils.h
deleted file mode 100644
index 26f4db4a5623..000000000000
--- a/devel/libudev-devd/files/patch-utils.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- utils.h.orig 2017-01-07 22:21:49 UTC
-+++ utils.h
-@@ -5,8 +5,8 @@
- #include <unistd.h>
-
-
--#define ENABLE_TRACE
--#define LOG_LEVEL 1
-+/* #define ENABLE_TRACE */
-+#define LOG_LEVEL 0
-
- /*
- #ifndef LOG_LEVEL
diff --git a/devel/py-evdev/Makefile b/devel/py-evdev/Makefile
index d7e4a49c4d4a..8ed7b8db5568 100644
--- a/devel/py-evdev/Makefile
+++ b/devel/py-evdev/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= evdev
-PORTVERSION= 0.5.0
+PORTVERSION= 0.8.1
CATEGORIES= devel python
MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -12,15 +12,22 @@ COMMENT= Bindings to the Linux input handling subsystem
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= v4l_compat>=1.0.20110603:multimedia/v4l_compat
+BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
USES= python
USE_PYTHON= autoplist distutils
CPPFLAGS+= -I${LOCALBASE}/include # v4l_compat
-post-patch:
- @${REINPLACE_CMD} -e '/header/s,/usr,${LOCALBASE},' \
- ${WRKSRC}/${PYSETUP}
+EVDEV_INCLUDES= ${LOCALBASE}/include
+
+PYDISTUTILS_BUILD_TARGET= build_ecodes
+PYDISTUTILS_BUILDARGS+= --evdev-headers ${EVDEV_INCLUDES}/linux/input.h:${EVDEV_INCLUDES}/linux/input-event-codes.h
+PYDISTUTILS_BUILDARGS+= build_ext
+PYDISTUTILS_BUILDARGS+= --include-dirs ${EVDEV_INCLUDES}
+
+# Supply install target with evdev headers path
+PYDISTUTILS_INSTALL_TARGET= ${PYDISTUTILS_BUILD_TARGET} \
+ ${PYDISTUTILS_BUILDARGS} install
post-install:
${FIND} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} \
diff --git a/devel/py-evdev/distinfo b/devel/py-evdev/distinfo
index 399a3b2dac4a..f2929eefc2ad 100644
--- a/devel/py-evdev/distinfo
+++ b/devel/py-evdev/distinfo
@@ -1,2 +1,3 @@
-SHA256 (evdev-0.5.0.tar.gz) = 509f0f6ce5a12315fcad0b7f9b41cbdfc5c5f49a7cecdd6a88ce5c1d04f6827c
-SIZE (evdev-0.5.0.tar.gz) = 23931
+TIMESTAMP = 1522711809
+SHA256 (evdev-0.8.1.tar.gz) = 3f10c22f15ffedb34519e4af2201f1a088a958efedfd50da0da1aa3887283dff
+SIZE (evdev-0.8.1.tar.gz) = 22680
diff --git a/devel/py-pyudev/Makefile b/devel/py-pyudev/Makefile
new file mode 100644
index 000000000000..a06d4c54a20b
--- /dev/null
+++ b/devel/py-pyudev/Makefile
@@ -0,0 +1,22 @@
+# $FreeBSD$
+
+PORTNAME= pyudev
+PORTVERSION= 0.21.0
+CATEGORIES= devel python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= [email protected]
+COMMENT= Pure Python libudev binding
+
+LICENSE= LGPL21
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+LIB_DEPENDS= libudev.so:devel/libudev-devd
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist distutils
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/devel/py-pyudev/distinfo b/devel/py-pyudev/distinfo
new file mode 100644
index 000000000000..75f2087d7eb0
--- /dev/null
+++ b/devel/py-pyudev/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1527799557
+SHA256 (pyudev-0.21.0.tar.gz) = 094b7a100150114748aaa3b70663485dd360457a709bfaaafe5a977371033f2b
+SIZE (pyudev-0.21.0.tar.gz) = 89469
diff --git a/devel/py-pyudev/pkg-descr b/devel/py-pyudev/pkg-descr
new file mode 100644
index 000000000000..56bef47b1649
--- /dev/null
+++ b/devel/py-pyudev/pkg-descr
@@ -0,0 +1,8 @@
+pyudev is a LGPL licensed, pure Python binding for libudev, the device
+and hardware management and information library for Linux. It supports
+almost all libudev functionality. You can enumerate devices, query
+device properties and attributes or monitor devices, including
+asynchronous monitoring with threads, or within the event loops of Qt,
+Glib or wxPython.
+
+WWW: https://pyudev.readthedocs.org
diff --git a/multimedia/lives/Makefile b/multimedia/lives/Makefile
index 59b62ecca957..7d6033e6f9e4 100644
--- a/multimedia/lives/Makefile
+++ b/multimedia/lives/Makefile
@@ -14,7 +14,7 @@ COMMENT= Video editing system
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
-BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:multimedia/v4l_compat \
+BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev.h:multimedia/v4l_compat \
${LOCALBASE}/bin/analyseplugin:audio/ladspa
LIB_DEPENDS= libasound.so:audio/alsa-lib \
libjack.so:audio/jack \
diff --git a/multimedia/v4l_compat/Makefile b/multimedia/v4l_compat/Makefile
index 1d98d2c024ee..a4976a55a9cd 100644
--- a/multimedia/v4l_compat/Makefile
+++ b/multimedia/v4l_compat/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= v4l_compat
-PORTREVISION= 0
+PORTREVISION= 1
COMMENT= Video4Linux IOCTL header files
@@ -14,8 +14,7 @@ DESCR= ${.CURDIR}/pkg-descr
PLIST= ${.CURDIR}/pkg-plist
LIBV4L_SLAVE= compat
-BASE_HEADERS= input.h uinput.h ivtv.h v4l2-controls.h \
- v4l2-common.h videodev2.h
+BASE_HEADERS= ivtv.h v4l2-controls.h v4l2-common.h videodev2.h
DVB_HEADERS= audio.h dmx.h frontend.h video.h
EXTRA_HEADERS= ca.h osd.h version.h
diff --git a/multimedia/v4l_compat/pkg-plist b/multimedia/v4l_compat/pkg-plist
index 3296ca9c5e1f..636875db6ddf 100644
--- a/multimedia/v4l_compat/pkg-plist
+++ b/multimedia/v4l_compat/pkg-plist
@@ -5,9 +5,7 @@ include/linux/dvb/frontend.h
include/linux/dvb/osd.h
include/linux/dvb/version.h
include/linux/dvb/video.h
-include/linux/input.h
include/linux/ivtv.h
-include/linux/uinput.h
include/linux/v4l2-common.h
include/linux/v4l2-controls.h
include/linux/videodev.h
diff --git a/x11-drivers/xf86-input-evdev/Makefile b/x11-drivers/xf86-input-evdev/Makefile
index b4c90e125877..718c15858cf0 100644
--- a/x11-drivers/xf86-input-evdev/Makefile
+++ b/x11-drivers/xf86-input-evdev/Makefile
@@ -10,10 +10,9 @@ COMMENT= X.Org event device input driver
LICENSE= MIT # various styles
LICENSE_FILE= ${WRKSRC}/COPYING
-BUILD_DEPENDS= v4l_compat>=1.0.20110603:multimedia/v4l_compat
+BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
LIB_DEPENDS= libevdev.so:devel/libevdev \
libmtdev.so:devel/libmtdev
-RUN_DEPENDS= webcamd>=3.1.0.1:multimedia/webcamd
XORG_CAT= driver
USES= pathfix
diff --git a/x11-drivers/xf86-input-libinput/Makefile b/x11-drivers/xf86-input-libinput/Makefile
index 3573e6c7fe06..38a8646b3432 100644
--- a/x11-drivers/xf86-input-libinput/Makefile
+++ b/x11-drivers/xf86-input-libinput/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= xf86-input-libinput
-PORTVERSION= 0.25.0
+PORTVERSION= 0.27.1
CATEGORIES= x11-drivers
MAINTAINER= [email protected]
@@ -10,6 +10,7 @@ COMMENT= X.Org libinput input driver
LICENSE= MIT # various styles
LICENSE_FILE= ${WRKSRC}/COPYING
+BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
LIB_DEPENDS= libinput.so:x11/libinput
XORG_CAT= driver
diff --git a/x11-drivers/xf86-input-libinput/distinfo b/x11-drivers/xf86-input-libinput/distinfo
index 855193014eec..81db44acb7c5 100644
--- a/x11-drivers/xf86-input-libinput/distinfo
+++ b/x11-drivers/xf86-input-libinput/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1489176847
-SHA256 (xorg/driver/xf86-input-libinput-0.25.0.tar.bz2) = bb7fd1658fa7e6c757fd55480aa8a07f8ccfb0a80ae42c29dbc67d57958c556f
-SIZE (xorg/driver/xf86-input-libinput-0.25.0.tar.bz2) = 368913
+TIMESTAMP = 1528570727
+SHA256 (xorg/driver/xf86-input-libinput-0.27.1.tar.bz2) = d4ad8dc5ad6f962a3f15f61ba9e9f8e37fa0b57eee9f484e2bd721d60ca72ee6
+SIZE (xorg/driver/xf86-input-libinput-0.27.1.tar.bz2) = 373248
diff --git a/x11-drivers/xf86-input-synaptics/Makefile b/x11-drivers/xf86-input-synaptics/Makefile
index 9c74c40c7769..3aa149c7eb6f 100644
--- a/x11-drivers/xf86-input-synaptics/Makefile
+++ b/x11-drivers/xf86-input-synaptics/Makefile
@@ -18,7 +18,7 @@ OPTIONS_DEFINE= EVDEV
EVDEV_DESC= Use evdev for input events (requires kernel support)
EVDEV_CONFIGURE_ENV= BUILD_EVENTCOMM=yes
-EVDEV_BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:multimedia/v4l_compat
+EVDEV_BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
EVDEV_LIB_DEPENDS= libevdev.so:devel/libevdev
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-input-wacom/Makefile b/x11-drivers/xf86-input-wacom/Makefile
index bf8a0378fc6b..ce3e93d31e03 100644
--- a/x11-drivers/xf86-input-wacom/Makefile
+++ b/x11-drivers/xf86-input-wacom/Makefile
@@ -10,7 +10,7 @@ COMMENT= X.Org Wacom tablet driver
LICENSE= GPLv2+
-BUILD_DEPENDS= v4l_compat>=1.0.20110603:multimedia/v4l_compat
+BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
RUN_DEPENDS= webcamd>=3.1.0.1:multimedia/webcamd
USES= gmake pathfix
diff --git a/x11-drivers/xf86-input-wacom/files/patch-src-wcmValidateDevice.c b/x11-drivers/xf86-input-wacom/files/patch-src-wcmValidateDevice.c
index 71a40cffabae..64bc9fb44e0a 100644
--- a/x11-drivers/xf86-input-wacom/files/patch-src-wcmValidateDevice.c
+++ b/x11-drivers/xf86-input-wacom/files/patch-src-wcmValidateDevice.c
@@ -29,6 +29,15 @@
if (match)
xf86Msg(X_WARNING, "%s: device file already in use by %s. "
"Ignoring.\n", pInfo->name, pDevices->name);
+@@ -123,7 +124,7 @@ ret:
+ static struct
+ {
+ const char* type;
+- __u16 tool[3]; /* tool array is terminated by 0 */
++ uint16_t tool[3]; /* tool array is terminated by 0 */
+ } wcmType [] =
+ {
+ { "stylus", { BTN_TOOL_PEN, 0 } },
@@ -205,6 +206,10 @@ int wcmDeviceTypeKeys(InputInfoPtr pInfo
case 0x314: /* Intuos Pro S */
case 0x315: /* Intuos Pro M */
diff --git a/x11-servers/xwayland/Makefile b/x11-servers/xwayland/Makefile
index 218dbcb9a34e..81f88239fc23 100644
--- a/x11-servers/xwayland/Makefile
+++ b/x11-servers/xwayland/Makefile
@@ -7,7 +7,8 @@ COMMENT= X Clients under Wayland
LICENSE= MIT
-BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/wayland-protocols.pc:graphics/wayland-protocols
+BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto \
+ ${LOCALBASE}/libdata/pkgconfig/wayland-protocols.pc:graphics/wayland-protocols
LIB_DEPENDS= libwayland-client.so:graphics/wayland \
libinput.so:x11/libinput
diff --git a/x11/kf5-kwayland/Makefile b/x11/kf5-kwayland/Makefile
index 9bc4cfc99b56..410b3d5a1479 100644
--- a/x11/kf5-kwayland/Makefile
+++ b/x11/kf5-kwayland/Makefile
@@ -7,7 +7,7 @@ CATEGORIES= x11 kde kde-frameworks
MAINTAINER= [email protected]
COMMENT= KF5 Client and Server library wrapper for the Wayland libraries
-BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:multimedia/v4l_compat
+BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
LIB_DEPENDS= libwayland-client.so:graphics/wayland
LICENSE= LGPL21 LGPL3
diff --git a/x11/libinput/Makefile b/x11/libinput/Makefile
index 6bb96d13647a..303448b572c5 100644
--- a/x11/libinput/Makefile
+++ b/x11/libinput/Makefile
@@ -1,30 +1,61 @@
# $FreeBSD$
PORTNAME= libinput
-PORTVERSION= 1.6.0
+PORTVERSION= 1.11.0
CATEGORIES= x11
MASTER_SITES= http://freedesktop.org/software/${PORTNAME}/
MAINTAINER= [email protected]
COMMENT= Generic input library
-BUILD_DEPENDS= v4l_compat>=0:multimedia/v4l_compat
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}evdev>0:devel/py-evdev@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pyudev>0:devel/py-pyudev@${PY_FLAVOR}
LIB_DEPENDS= libevdev.so:devel/libevdev \
libepoll-shim.so:devel/libepoll-shim \
- libwacom.so:x11/libwacom \
libudev.so:devel/libudev-devd \
libmtdev.so:devel/libmtdev
-USES= autoreconf gmake libtool pathfix pkgconfig tar:xz
-USE_LDCONFIG= yes
-GNU_CONFIGURE= yes
+OPTIONS_DEFINE= DEBUG_GUI LIBWACOM
+OPTIONS_DEFAULT=LIBWACOM
+OPTIONS_SUB= yes
+
+DEBUG_GUI_DESC= Build the GUI event viewer
+LIBWACOM_DESC= Libwacom support
+
+DEBUG_GUI_USE= GNOME=gtk30,glib20,cairo
+DEBUG_GUI_MESON_TRUE= debug-gui
+LIBWACOM_LIB_DEPENDS= libwacom.so:x11/libwacom
+LIBWACOM_MESON_TRUE= libwacom
+
+USES= localbase meson pkgconfig python:3.4+,run shebangfix tar:xz
+USE_LDCONFIG= yes
+EXTRACT_AFTER_ARGS= --exclude include/linux # supplied linux/input.h
+
+MESON_ARGS+= -Ddocumentation=false -Dtests=false
CPPFLAGS+= -I${LOCALBASE}/include/libepoll-shim
+LDFLAGS+= -lepoll-shim
INSTALL_TARGET= install-strip
+python_OLD_CMD= "/usr/bin/env python3"
+SHEBANG_FILES= tools/libinput-measure-fuzz \
+ tools/libinput-measure-touch-size \
+ tools/libinput-measure-touchpad-pressure \
+ tools/libinput-measure-touchpad-tap \
+ tools/libinput-measure-trackpoint-range \
+ tools/libinput-replay
+
+post-extract:
+ # meson script checks existence of bundled evdev headers. Fake them.
+ ${LN} -sf ${LOCALBASE}/include/linux ${WRKSRC}/include/linux
+
post-patch:
${REINPLACE_CMD} -e 's|program_invocation_short_name|getprogname()|' \
- ${WRKSRC}/tools/libinput-list-devices.c \
- ${WRKSRC}/tools/ptraccel-debug.c ${WRKSRC}/tools/shared.c
+ ${WRKSRC}/tools/ptraccel-debug.c \
+ ${WRKSRC}/tools/libinput-record.c
.include <bsd.port.mk>
diff --git a/x11/libinput/distinfo b/x11/libinput/distinfo
index 6b4217e50efe..e2887cdf38b9 100644
--- a/x11/libinput/distinfo
+++ b/x11/libinput/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1486789508
-SHA256 (libinput-1.6.0.tar.xz) = b7534f518d735c643aedca2fb4694683dfddc8d0600cfb628c87a18e65255832
-SIZE (libinput-1.6.0.tar.xz) = 927656
+TIMESTAMP = 1528298578
+SHA256 (libinput-1.11.0.tar.xz) = 64a36c4f826f4b5d473bf2cb803122f96390a18243ec810f2ce8ac5076a0bc12
+SIZE (libinput-1.11.0.tar.xz) = 485976
diff --git a/x11/libinput/files/patch-Makefile.am b/x11/libinput/files/patch-Makefile.am
deleted file mode 100644
index b8a4db09214e..000000000000
--- a/x11/libinput/files/patch-Makefile.am
+++ /dev/null
@@ -1,8 +0,0 @@
---- Makefile.am.orig 2017-02-11 05:10:33 UTC
-+++ Makefile.am
-@@ -1,4 +1,4 @@
--SUBDIRS = src doc test tools udev
-+SUBDIRS = src doc tools udev
-
- ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
-
diff --git a/x11/libinput/files/patch-include_linux_input.h b/x11/libinput/files/patch-include_linux_input.h
deleted file mode 100644
index c53abdf8dc32..000000000000
--- a/x11/libinput/files/patch-include_linux_input.h
+++ /dev/null
@@ -1,38 +0,0 @@
---- include/linux/input.h.orig 2016-12-05 05:15:21 UTC
-+++ include/linux/input.h
-@@ -11,7 +11,17 @@
- #include <sys/time.h>
- #include <sys/ioctl.h>
- #include <sys/types.h>
-+#ifdef __FreeBSD__
-+#define __u8 uint8_t
-+#define __u16 uint16_t
-+#define __u32 uint32_t
-+#define __s16 int16_t
-+#define __s32 int32_t
-+#define _IOC_READ IOC_OUT
-+#define _IOC_WRITE IOC_IN
-+#else
- #include <linux/types.h>
-+#endif
-
- /*
- * The event structure itself
-@@ -132,7 +142,7 @@ struct input_keymap_entry {
- *
- * If the request code is not an ABS_MT value, -EINVAL is returned.
- */
--#define EVIOCGMTSLOTS(len) _IOC(_IOC_READ, 'E', 0x0a, len)
-+#define EVIOCGMTSLOTS(len) _IOC(IOC_INOUT, 'E', 0x0a, len)
-
- #define EVIOCGKEY(len) _IOC(_IOC_READ, 'E', 0x18, len) /* get global key state */
- #define EVIOCGLED(len) _IOC(_IOC_READ, 'E', 0x19, len) /* get all LEDs */
-@@ -147,7 +157,7 @@ struct input_keymap_entry {
- #define EVIOCRMFF _IOW('E', 0x81, int) /* Erase a force effect */
- #define EVIOCGEFFECTS _IOR('E', 0x84, int) /* Report number of effects playable at the same time */
-
--#define EVIOCGRAB _IOW('E', 0x90, int) /* Grab/Release device */
-+#define EVIOCGRAB _IO('E', 0x90) /* Grab/Release device */
- #define EVIOCREVOKE _IOW('E', 0x91, int) /* Revoke device access */
-
- #define EVIOCSCLOCKID _IOW('E', 0xa0, int) /* Set clockid to be used for timestamps */
diff --git a/x11/libinput/files/patch-meson.build b/x11/libinput/files/patch-meson.build
new file mode 100644
index 000000000000..619d0ea17340
--- /dev/null
+++ b/x11/libinput/files/patch-meson.build
@@ -0,0 +1,59 @@
+--- meson.build.orig 2018-06-09 12:13:40 UTC
++++ meson.build
+@@ -59,6 +59,8 @@ pkgconfig = import('pkgconfig')
+ dep_udev = dependency('libudev')
+ dep_mtdev = dependency('mtdev', version : '>= 1.1.0')
+ dep_libevdev = dependency('libevdev', version : '>= 0.4')
++dep_libepoll = declare_dependency(link_args : ['-lepoll-shim'], include_directories : [
++ include_directories(join_paths(get_option('prefix'), 'include', 'libepoll-shim')) ])
+ dep_lm = cc.find_library('m', required : false)
+ dep_rt = cc.find_library('rt', required : false)
+
+@@ -96,6 +98,8 @@ endif
+
+ ############ udev bits ############
+
++if false
++
+ udev_dir = get_option('udev-dir')
+ if udev_dir == ''
+ udev_dir = join_paths(get_option('prefix'), 'lib', 'udev')
+@@ -152,6 +156,8 @@ litest_model_quirks_file = configure_file(input : 'ude
+ install : false,
+ configuration : litest_udev_rules_config)
+
++endif
++
+ ############ libinput-util.a ############
+ src_libinput_util = [
+ 'src/libinput-util.c',
+@@ -217,6 +223,7 @@ deps_libinput = [
+ dep_mtdev,
+ dep_udev,
+ dep_libevdev,
++ dep_libepoll,
+ dep_lm,
+ dep_rt,
+ dep_libwacom,
+@@ -504,21 +511,6 @@ install_data('tools/libinput-measure-trackpoint-range'
+ install_dir : libinput_tool_path)
+ configure_file(input : 'tools/libinput-measure-trackpoint-range.man',
+ output : 'libinput-measure-trackpoint-range.1',
+- configuration : man_config,
+- install : true,
+- install_dir : join_paths(get_option('mandir'), 'man1')
+- )
+-
+-libinput_record_sources = [ 'tools/libinput-record.c', git_version_h ]
+-executable('libinput-record',
+- libinput_record_sources,
+- dependencies : deps_tools + [dep_udev],
+- include_directories : [includes_src, includes_include],
+- install_dir : libinput_tool_path,
+- install : true,
+- )
+-configure_file(input : 'tools/libinput-record.man',
+- output : 'libinput-record.1',
+ configuration : man_config,
+ install : true,
+ install_dir : join_paths(get_option('mandir'), 'man1')
diff --git a/x11/libinput/files/patch-src_Makefile.am b/x11/libinput/files/patch-src_Makefile.am
deleted file mode 100644
index 0ba6f7bbfaa2..000000000000
--- a/x11/libinput/files/patch-src_Makefile.am
+++ /dev/null
@@ -1,21 +0,0 @@
---- src/Makefile.am.orig 2017-02-11 05:10:33 UTC
-+++ src/Makefile.am
-@@ -38,6 +38,7 @@ libinput_la_LIBADD = $(MTDEV_LIBS) \
- $(LIBUDEV_LIBS) \
- $(LIBEVDEV_LIBS) \
- $(LIBWACOM_LIBS) \
-+ -lepoll-shim \
- libinput-util.la
-
- libinput_la_CFLAGS = -I$(top_srcdir)/include \
-@@ -61,8 +62,8 @@ libfilter_la_SOURCES = \
- filter.c \
- filter.h \
- filter-private.h
--libfilter_la_LIBADD =
--libfilter_la_CFLAGS =
-+libfilter_la_LIBADD = $(LIBUDEV_LIBS)
-+libfilter_la_CFLAGS = -I$(top_srcdir)/include $(LIBUDEV_CFLAGS)
-
- libinput_la_LDFLAGS = -version-info $(LIBINPUT_LT_VERSION) -shared \
- -Wl,--version-script=$(srcdir)/libinput.sym
diff --git a/x11/libinput/files/patch-src_evdev.c b/x11/libinput/files/patch-src_evdev.c
index 65fd54de6be3..79386c458c9e 100644
--- a/x11/libinput/files/patch-src_evdev.c
+++ b/x11/libinput/files/patch-src_evdev.c
@@ -1,11 +1,87 @@
---- src/evdev.c.orig 2017-01-19 21:36:55 UTC
+When a process without full /dev/input access enumerates devices via libudev-devd,
+the udev_device structs do not get udev properties that mark them as inputs, keyboards, etc,
+and get rejected as not being input devices.
+
+libinput reopens devices just to check path equality.
+The udev_devices from reopening do have the right properties,
+so we just use them instead of the original (enumerated) ones.
+
+--- src/evdev.c.orig 2018-06-09 12:13:43 UTC
+++ src/evdev.c
-@@ -25,6 +25,8 @@
+@@ -895,7 +895,7 @@ evdev_sync_device(struct evdev_device *device)
+ evdev_device_dispatch_one(device, &ev);
+ } while (rc == LIBEVDEV_READ_STATUS_SYNC);
- #include "config.h"
+- return rc == -EAGAIN ? 0 : rc;
++ return (rc == -EAGAIN || rc == -EINVAL)? 0 : rc;
+ }
-+#include <sys/stat.h>
-+
- #include <errno.h>
- #include <stdbool.h>
- #include <stdlib.h>
+ static void
+@@ -933,6 +933,17 @@ evdev_device_dispatch(void *data)
+
+ if (rc != -EAGAIN && rc != -EINTR) {
+ libinput_remove_source(libinput, device->source);
++ /*
++ * Dirty hack to allow cuse-based evdev backends to release
++ * character device file when device has been detached
++ * but still have it descriptor opened.
++ * Issuing evdev_device_suspend() here leads to SIGSEGV
++ */
++ int dummy_fd = open("/dev/null", O_RDONLY | O_CLOEXEC);
++ if (dummy_fd >= 0) {
++ dup2(dummy_fd, device->fd);
++ close(dummy_fd);
++ }
+ device->source = NULL;
+ }
+ }
+@@ -1785,9 +1796,9 @@ evdev_notify_added_device(struct evdev_device *device)
+ }
+
+ static bool
+-evdev_device_have_same_syspath(struct udev_device *udev_device, int fd)
++evdev_device_have_same_syspath(struct udev_device **udev_device, int fd, bool reopen)
+ {
+- struct udev *udev = udev_device_get_udev(udev_device);
++ struct udev *udev = udev_device_get_udev(*udev_device);
+ struct udev_device *udev_device_new = NULL;
+ struct stat st;
+ bool rc = false;
+@@ -1800,10 +1811,16 @@ evdev_device_have_same_syspath(struct udev_device *ude
+ goto out;
+
+ rc = streq(udev_device_get_syspath(udev_device_new),
+- udev_device_get_syspath(udev_device));
++ udev_device_get_syspath(*udev_device));
+ out:
+- if (udev_device_new)
+- udev_device_unref(udev_device_new);
++ if (udev_device_new) {
++ if (reopen) {
++ udev_device_unref(*udev_device);
++ *udev_device = udev_device_new;
++ } else {
++ udev_device_unref(udev_device_new);
++ }
++ }
+ return rc;
+ }
+
+@@ -2003,7 +2020,7 @@ evdev_device_create(struct libinput_seat *seat,
+ return NULL;
+ }
+
+- if (!evdev_device_have_same_syspath(udev_device, fd))
++ if (!evdev_device_have_same_syspath(&udev_device, fd, true))
+ goto err;
+
+ device = zalloc(sizeof *device);
+@@ -2559,7 +2576,7 @@ evdev_device_resume(struct evdev_device *device)
+ if (fd < 0)
+ return -errno;
+
+- if (!evdev_device_have_same_syspath(device->udev_device, fd)) {
++ if (!evdev_device_have_same_syspath(&device->udev_device, fd, false)) {
+ close_restricted(libinput, fd);
+ return -ENODEV;
+ }
diff --git a/x11/libinput/files/patch-src_libinput-private.h b/x11/libinput/files/patch-src_libinput-private.h
deleted file mode 100644
index b79754ff6f7a..000000000000
--- a/x11/libinput/files/patch-src_libinput-private.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/libinput-private.h.orig 2017-01-18 04:32:06 UTC
-+++ src/libinput-private.h
-@@ -29,6 +29,7 @@
-
- #include <errno.h>
- #include <math.h>
-+#include <stdarg.h>
-
- #include "linux/input.h"
-
diff --git a/x11/libinput/files/patch-src_libinput-util.c b/x11/libinput/files/patch-src_libinput-util.c
deleted file mode 100644
index 5344b4b97325..000000000000
--- a/x11/libinput/files/patch-src_libinput-util.c
+++ /dev/null
@@ -1,12 +0,0 @@
---- src/libinput-util.c.orig 2017-01-17 04:53:51 UTC
-+++ src/libinput-util.c
-@@ -36,6 +36,9 @@
- #include <stdbool.h>
- #include <stdio.h>
- #include <stdlib.h>
-+#ifdef __FreeBSD__
-+#include <xlocale.h>
-+#endif
-
- #include "libinput-util.h"
- #include "libinput-private.h"
diff --git a/x11/libinput/files/patch-src_libinput-util.h b/x11/libinput/files/patch-src_libinput-util.h
new file mode 100644
index 000000000000..cba5e6bb9164
--- /dev/null
+++ b/x11/libinput/files/patch-src_libinput-util.h
@@ -0,0 +1,12 @@
+--- src/libinput-util.h.orig 2017-11-28 05:13:06 UTC
++++ src/libinput-util.h
+@@ -39,6 +39,9 @@
+ #include <string.h>
+ #include <time.h>
+ #include <unistd.h>
++#ifdef __FreeBSD__
++#include <xlocale.h>
++#endif
+
+ #include "libinput.h"
+
diff --git a/x11/libinput/files/patch-src_libinput.h b/x11/libinput/files/patch-src_libinput.h
deleted file mode 100644
index 93d44ece6082..000000000000
--- a/x11/libinput/files/patch-src_libinput.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/libinput.h.orig 2017-01-19 05:27:32 UTC
-+++ src/libinput.h
-@@ -29,6 +29,7 @@
- extern "C" {
- #endif
-
-+#include <stdarg.h>
- #include <stdlib.h>
- #include <stdint.h>
- #include <libudev.h>
diff --git a/x11/libinput/files/patch-src_path-seat.c b/x11/libinput/files/patch-src_path-seat.c
deleted file mode 100644
index e4c6edc01c29..000000000000
--- a/x11/libinput/files/patch-src_path-seat.c
+++ /dev/null
@@ -1,15 +0,0 @@
---- src/path-seat.c.orig 2017-01-19 05:27:32 UTC
-+++ src/path-seat.c
-@@ -23,10 +23,11 @@
-
- #include "config.h"
-
-+#include <sys/stat.h>
-+
- #include <errno.h>
- #include <fcntl.h>
- #include <string.h>
--#include <sys/stat.h>
- #include <libudev.h>
-
- #include "path-seat.h"
diff --git a/x11/libinput/files/patch-tools_Makefile.am b/x11/libinput/files/patch-tools_Makefile.am
deleted file mode 100644
index 65884b04fd3a..000000000000
--- a/x11/libinput/files/patch-tools_Makefile.am
+++ /dev/null
@@ -1,24 +0,0 @@
---- tools/Makefile.am.orig 2017-02-11 05:10:33 UTC
-+++ tools/Makefile.am
-@@ -11,8 +11,8 @@ AM_CXXFLAGS = $(GCC_CXXFLAGS)
- libshared_la_SOURCES = \
- shared.c \
- shared.h
--libshared_la_CFLAGS = $(AM_CFLAGS) $(LIBEVDEV_CFLAGS)
--libshared_la_LIBADD = $(LIBEVDEV_LIBS)
-+libshared_la_CFLAGS = $(AM_CFLAGS) $(LIBEVDEV_CFLAGS) $(LIBUDEV_CFLAGS)
-+libshared_la_LIBADD = $(LIBEVDEV_LIBS) $(LIBUDEV_LIBS)
-
- event_debug_SOURCES = event-debug.c
- event_debug_LDADD = ../src/libinput.la libshared.la $(LIBUDEV_LIBS) $(LIBEVDEV_LIBS)
-@@ -20,8 +20,9 @@ event_debug_LDFLAGS = -no-install
- event_debug_CFLAGS = $(AM_CFLAGS) $(LIBUDEV_CFLAGS) $(LIBEVDEV_CFLAGS)
-
- ptraccel_debug_SOURCES = ptraccel-debug.c
--ptraccel_debug_LDADD = ../src/libfilter.la ../src/libinput.la
-+ptraccel_debug_LDADD = ../src/libfilter.la ../src/libinput.la $(LIBUDEV_LIBS)
- ptraccel_debug_LDFLAGS = -no-install
-+ptraccel_debug_CFLAGS = $(LIBUDEV_CFLAGS)
-
- libinput_list_devices_SOURCES = libinput-list-devices.c
- libinput_list_devices_LDADD = ../src/libinput.la libshared.la $(LIBUDEV_LIBS)
diff --git a/x11/libinput/files/patch-udev_Makefile.am b/x11/libinput/files/patch-udev_Makefile.am
deleted file mode 100644
index 6572e9447b43..000000000000
--- a/x11/libinput/files/patch-udev_Makefile.am
+++ /dev/null
@@ -1,10 +0,0 @@
---- udev/Makefile.am.orig 2017-02-11 05:10:33 UTC
-+++ udev/Makefile.am
-@@ -19,6 +19,7 @@ endif
-
- libinput_model_quirks_SOURCES = libinput-model-quirks.c
- libinput_model_quirks_CFLAGS = \
-+ -I$(top_srcdir)/include \
- -I$(top_srcdir)/src \
- $(LIBUDEV_CFLAGS) \
- $(GCC_CFLAGS)
diff --git a/x11/libinput/pkg-descr b/x11/libinput/pkg-descr
index c49ab938858f..7b74c6f2a0c0 100644
--- a/x11/libinput/pkg-descr
+++ b/x11/libinput/pkg-descr
@@ -4,4 +4,4 @@ device handling, input device event processing and abstraction so
minimize the amount of custom input code compositors need to provide
the common set of functionality that users expect.
-WWW: http://www.freedesktop.org/wiki/Software/libinput/
+WWW: https://www.freedesktop.org/wiki/Software/libinput/
diff --git a/x11/libinput/pkg-plist b/x11/libinput/pkg-plist
index c1bccf3c871c..c3c712b3500e 100644
--- a/x11/libinput/pkg-plist
+++ b/x11/libinput/pkg-plist
@@ -1,14 +1,27 @@
-bin/libinput-debug-events
-bin/libinput-list-devices
+bin/libinput
include/libinput.h
lib/libinput.so
lib/libinput.so.10
-lib/libinput.so.10.11.2
-lib/udev/hwdb.d/90-libinput-model-quirks.hwdb
-lib/udev/libinput-device-group
-lib/udev/libinput-model-quirks
-lib/udev/rules.d/80-libinput-device-groups.rules
-lib/udev/rules.d/90-libinput-model-quirks.rules
+lib/libinput.so.10.13.0
libdata/pkgconfig/libinput.pc
+libexec/libinput/libinput-debug-events
+%%DEBUG_GUI%%libexec/libinput/libinput-debug-gui
+libexec/libinput/libinput-list-devices
+libexec/libinput/libinput-measure
+libexec/libinput/libinput-measure-fuzz
+libexec/libinput/libinput-measure-touch-size
+libexec/libinput/libinput-measure-touchpad-pressure
+libexec/libinput/libinput-measure-touchpad-tap
+libexec/libinput/libinput-measure-trackpoint-range
+libexec/libinput/libinput-replay
+man/man1/libinput.1.gz
man/man1/libinput-debug-events.1.gz
+%%DEBUG_GUI%%man/man1/libinput-debug-gui.1.gz
man/man1/libinput-list-devices.1.gz
+man/man1/libinput-measure.1.gz
+man/man1/libinput-measure-fuzz.1.gz
+man/man1/libinput-measure-touch-size.1.gz
+man/man1/libinput-measure-touchpad-pressure.1.gz
+man/man1/libinput-measure-touchpad-tap.1.gz
+man/man1/libinput-measure-trackpoint-range.1.gz
+man/man1/libinput-replay.1.gz
diff --git a/x11/libwacom/Makefile b/x11/libwacom/Makefile
index bc09daee54bc..f5a46c418d1a 100644
--- a/x11/libwacom/Makefile
+++ b/x11/libwacom/Makefile
@@ -2,10 +2,9 @@
# $FreeBSD$
PORTNAME= libwacom
-PORTVERSION= 0.23
-PORTREVISION= 1
+PORTVERSION= 0.30
+DISTVERSIONPREFIX=libwacom-
CATEGORIES= x11
-MASTER_SITES= https://sourceforge.net/projects/linuxwacom/files/libwacom/
MAINTAINER= [email protected]
COMMENT= Adds tablet support to libinput
@@ -13,9 +12,13 @@ COMMENT= Adds tablet support to libinput
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
+BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
LIB_DEPENDS= libgudev-1.0.so:devel/libgudev
-USES= gettext-runtime gmake libtool localbase pkgconfig \
+USE_GITHUB= yes
+GH_ACCOUNT= linuxwacom
+
+USES= autoreconf gettext-runtime gmake libtool localbase pkgconfig \
pathfix tar:bzip2
USE_GNOME= glib20
GNU_CONFIGURE= yes
@@ -23,6 +26,6 @@ USE_LDCONFIG= yes
INSTALL_TARGET= install-strip
post-patch:
- @${REINPLACE_CMD} -e 's/-printf "%P\\n"/-print0 | xargs -0 basename/' ${WRKSRC}/data/Makefile.in
+ @${REINPLACE_CMD} -e 's/-printf "%P\\n"/-print0 | xargs -0 basename/' ${WRKSRC}/data/Makefile.am
.include <bsd.port.mk>
diff --git a/x11/libwacom/distinfo b/x11/libwacom/distinfo
index a77d835989e7..af9228daeaaa 100644
--- a/x11/libwacom/distinfo
+++ b/x11/libwacom/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1486412570
-SHA256 (libwacom-0.23.tar.bz2) = a08ac59ff26dbdf5888a6ad7bd97a66741807cda6bb1c7e7f299a555129c3162
-SIZE (libwacom-0.23.tar.bz2) = 473700
+TIMESTAMP = 1528549792
+SHA256 (linuxwacom-libwacom-libwacom-0.30_GH0.tar.gz) = 6ffba2c77af7cdb49db5d5ddef6d4c2cad95eea225288bcc2e37d10245be6278
+SIZE (linuxwacom-libwacom-libwacom-0.30_GH0.tar.gz) = 119261
diff --git a/x11/libwacom/pkg-plist b/x11/libwacom/pkg-plist
index efea85c7b54f..3e93ea0e756b 100644
--- a/x11/libwacom/pkg-plist
+++ b/x11/libwacom/pkg-plist
@@ -3,7 +3,7 @@ include/libwacom-1.0/libwacom/libwacom.h
lib/libwacom.a
lib/libwacom.so
lib/libwacom.so.2
-lib/libwacom.so.2.5.1
+lib/libwacom.so.2.6.1
libdata/pkgconfig/libwacom.pc
%%DATADIR%%/bamboo-0fg-s-p.tablet
%%DATADIR%%/bamboo-16fg-m-pt.tablet
@@ -23,6 +23,8 @@ libdata/pkgconfig/libwacom.pc
%%DATADIR%%/bamboo-4fg-se-m-pt.tablet
%%DATADIR%%/bamboo-4fg-se-s-pt.tablet
%%DATADIR%%/bamboo-one.tablet
+%%DATADIR%%/bamboo-pad-wireless.tablet
+%%DATADIR%%/bamboo-pad.tablet
%%DATADIR%%/cintiq-12wx.tablet
%%DATADIR%%/cintiq-13hd.tablet
%%DATADIR%%/cintiq-13hdt.tablet
@@ -38,11 +40,20 @@ libdata/pkgconfig/libwacom.pc
%%DATADIR%%/cintiq-companion-2.tablet
%%DATADIR%%/cintiq-companion-hybrid.tablet
%%DATADIR%%/cintiq-companion.tablet
+%%DATADIR%%/cintiq-pro-13.tablet
+%%DATADIR%%/cintiq-pro-16.tablet
+%%DATADIR%%/cintiq-pro-24-p.tablet
+%%DATADIR%%/cintiq-pro-24-pt.tablet
+%%DATADIR%%/cintiq-pro-32.tablet
+%%DATADIR%%/dell-canvas-27.tablet
%%DATADIR%%/dtf-720.tablet
+%%DATADIR%%/dth-1152.tablet
%%DATADIR%%/dth-2242.tablet
+%%DATADIR%%/dth-2452.tablet
%%DATADIR%%/dti-520.tablet
%%DATADIR%%/dtk-1651.tablet
%%DATADIR%%/dtk-2241.tablet
+%%DATADIR%%/dtk-2451.tablet
%%DATADIR%%/dtu-1031.tablet
%%DATADIR%%/dtu-1031x.tablet
%%DATADIR%%/dtu-1141.tablet
@@ -50,8 +61,13 @@ libdata/pkgconfig/libwacom.pc
%%DATADIR%%/dtu-1931.tablet
%%DATADIR%%/dtu-2231.tablet
%%DATADIR%%/ek-remote.tablet
+%%DATADIR%%/elan-22e2.tablet
+%%DATADIR%%/elan-2537.tablet
%%DATADIR%%/generic.tablet
+%%DATADIR%%/graphire-usb.tablet
%%DATADIR%%/graphire-wireless-8x6.tablet
+%%DATADIR%%/graphire2-4x5.tablet
+%%DATADIR%%/graphire2-5x7.tablet
%%DATADIR%%/graphire3-4x5.tablet
%%DATADIR%%/graphire3-6x8.tablet
%%DATADIR%%/graphire4-4x5.tablet
@@ -63,13 +79,21 @@ libdata/pkgconfig/libwacom.pc
%%DATADIR%%/intuos-9x12.tablet
%%DATADIR%%/intuos-m-p.tablet
%%DATADIR%%/intuos-m-p2.tablet
+%%DATADIR%%/intuos-m-p3-wl.tablet
+%%DATADIR%%/intuos-m-p3.tablet
%%DATADIR%%/intuos-m-pt.tablet
%%DATADIR%%/intuos-m-pt2.tablet
+%%DATADIR%%/intuos-pro-2-l-wl.tablet
+%%DATADIR%%/intuos-pro-2-l.tablet
+%%DATADIR%%/intuos-pro-2-m-wl.tablet
+%%DATADIR%%/intuos-pro-2-m.tablet
%%DATADIR%%/intuos-pro-l.tablet
%%DATADIR%%/intuos-pro-m.tablet
%%DATADIR%%/intuos-pro-s.tablet
%%DATADIR%%/intuos-s-p.tablet
%%DATADIR%%/intuos-s-p2.tablet
+%%DATADIR%%/intuos-s-p3-wl.tablet
+%%DATADIR%%/intuos-s-p3.tablet
%%DATADIR%%/intuos-s-pt.tablet
%%DATADIR%%/intuos-s-pt2.tablet
%%DATADIR%%/intuos2-12x12.tablet
@@ -96,19 +120,49 @@ libdata/pkgconfig/libwacom.pc
%%DATADIR%%/intuos5-touch-s.tablet
%%DATADIR%%/isdv4-100.tablet
%%DATADIR%%/isdv4-101.tablet
+%%DATADIR%%/isdv4-104.tablet
%%DATADIR%%/isdv4-10d.tablet
+%%DATADIR%%/isdv4-10e.tablet
%%DATADIR%%/isdv4-10f.tablet
%%DATADIR%%/isdv4-114.tablet
%%DATADIR%%/isdv4-116.tablet
+%%DATADIR%%/isdv4-117.tablet
+%%DATADIR%%/isdv4-124.tablet
%%DATADIR%%/isdv4-12c.tablet
%%DATADIR%%/isdv4-4004.tablet
%%DATADIR%%/isdv4-4800.tablet
+%%DATADIR%%/isdv4-4809.tablet
+%%DATADIR%%/isdv4-4814.tablet
+%%DATADIR%%/isdv4-481a.tablet
+%%DATADIR%%/isdv4-4822.tablet
+%%DATADIR%%/isdv4-4824.tablet
+%%DATADIR%%/isdv4-4831.tablet
+%%DATADIR%%/isdv4-484c.tablet
+%%DATADIR%%/isdv4-485e.tablet
%%DATADIR%%/isdv4-5000.tablet
%%DATADIR%%/isdv4-5002.tablet
+%%DATADIR%%/isdv4-5010.tablet
+%%DATADIR%%/isdv4-5013.tablet
+%%DATADIR%%/isdv4-5014.tablet
+%%DATADIR%%/isdv4-503e.tablet
+%%DATADIR%%/isdv4-503f.tablet
%%DATADIR%%/isdv4-5040.tablet
+%%DATADIR%%/isdv4-5044.tablet
+%%DATADIR%%/isdv4-5048.tablet
%%DATADIR%%/isdv4-504a.tablet
+%%DATADIR%%/isdv4-5090.tablet
+%%DATADIR%%/isdv4-5099.tablet
+%%DATADIR%%/isdv4-509d.tablet
+%%DATADIR%%/isdv4-50b4.tablet
+%%DATADIR%%/isdv4-50b6.tablet
+%%DATADIR%%/isdv4-50b8.tablet
+%%DATADIR%%/isdv4-50f1.tablet
+%%DATADIR%%/isdv4-50f8.tablet
+%%DATADIR%%/isdv4-5110.tablet
+%%DATADIR%%/isdv4-5146.tablet
%%DATADIR%%/isdv4-90.tablet
%%DATADIR%%/isdv4-93.tablet
+%%DATADIR%%/isdv4-e2.tablet
%%DATADIR%%/isdv4-e3.tablet
%%DATADIR%%/isdv4-e5.tablet
%%DATADIR%%/isdv4-e6.tablet
@@ -120,5 +174,8 @@ libdata/pkgconfig/libwacom.pc
%%DATADIR%%/mobilestudio-pro-16.tablet
%%DATADIR%%/n-trig-pen.tablet
%%DATADIR%%/one-by-wacom-m-p.tablet
+%%DATADIR%%/one-by-wacom-m-p2.tablet
%%DATADIR%%/one-by-wacom-s-p.tablet
+%%DATADIR%%/one-by-wacom-s-p2.tablet
%%DATADIR%%/serial-wacf004.tablet
+%%DATADIR%%/xp-pen-star03.tablet