Index: head/x11/libinput/Makefile =================================================================== --- head/x11/libinput/Makefile (revision 550443) +++ head/x11/libinput/Makefile (revision 550444) @@ -1,46 +1,48 @@ # $FreeBSD$ PORTNAME= libinput -PORTVERSION= 1.15.6 +PORTVERSION= 1.16.1 CATEGORIES= x11 MASTER_SITES= http://freedesktop.org/software/${PORTNAME}/ MAINTAINER= x11@FreeBSD.org COMMENT= Generic input library LICENSE= MIT LICENSE_FILE= ${WRKSRC}/COPYING 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 \ libudev.so:devel/libudev-devd \ libmtdev.so:devel/libmtdev USES= localbase meson pkgconfig python:3.4+,run shebangfix tar:xz USE_LDCONFIG= yes MESON_ARGS+= -Ddocumentation=false -Dtests=false python_OLD_CMD= "/usr/bin/env python3" -SHEBANG_FILES= tools/libinput-measure-fuzz.py \ +SHEBANG_FILES= tools/libinput-analyze-per-slot-delta.py \ + tools/libinput-measure-fuzz.py \ tools/libinput-measure-touch-size.py \ tools/libinput-measure-touchpad-pressure.py \ + tools/libinput-measure-touchpad-size.py \ tools/libinput-measure-touchpad-tap.py \ tools/libinput-replay 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_USES= gnome DEBUG_GUI_USE= GNOME=gtk30,glib20,cairo DEBUG_GUI_MESON_TRUE= debug-gui LIBWACOM_LIB_DEPENDS= libwacom.so:x11/libwacom LIBWACOM_MESON_TRUE= libwacom .include Index: head/x11/libinput/distinfo =================================================================== --- head/x11/libinput/distinfo (revision 550443) +++ head/x11/libinput/distinfo (revision 550444) @@ -1,3 +1,3 @@ -TIMESTAMP = 1593629662 -SHA256 (libinput-1.15.6.tar.xz) = aeedea216a6317ddc6e27c3d54f26b987078780db6a8320cc09e19c25b307f1c -SIZE (libinput-1.15.6.tar.xz) = 584184 +TIMESTAMP = 1600507648 +SHA256 (libinput-1.16.1.tar.xz) = 7ba7d1aeedd15168bb21d17e9e628aa1c27957963a423a3fea3938a501758539 +SIZE (libinput-1.16.1.tar.xz) = 595548 Index: head/x11/libinput/files/patch-src_evdev.c =================================================================== --- head/x11/libinput/files/patch-src_evdev.c (revision 550443) +++ head/x11/libinput/files/patch-src_evdev.c (revision 550444) @@ -1,37 +1,37 @@ 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-12-18 05:06:18 UTC +--- src/evdev.c.orig 2020-07-15 01:54:15 UTC +++ src/evdev.c -@@ -905,7 +905,7 @@ evdev_sync_device(struct evdev_device *device) +@@ -1015,7 +1015,7 @@ evdev_sync_device(struct evdev_device *device) evdev_device_dispatch_one(device, &ev); } while (rc == LIBEVDEV_READ_STATUS_SYNC); - return rc == -EAGAIN ? 0 : rc; + return (rc == -EAGAIN || rc == -EINVAL)? 0 : rc; } - static void -@@ -943,6 +943,17 @@ evdev_device_dispatch(void *data) + static inline void +@@ -1083,6 +1083,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; } } Index: head/x11/libinput/pkg-plist =================================================================== --- head/x11/libinput/pkg-plist (revision 550443) +++ head/x11/libinput/pkg-plist (revision 550444) @@ -1,64 +1,70 @@ bin/libinput include/libinput.h lib/libinput.so lib/libinput.so.10 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-analyze +libexec/libinput/libinput-analyze-per-slot-delta libexec/libinput/libinput-debug-tablet 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-size libexec/libinput/libinput-measure-touchpad-tap libexec/libinput/libinput-quirks libexec/libinput/libinput-record libexec/libinput/libinput-replay +man/man1/libinput-analyze.1.gz +man/man1/libinput-analyze-per-slot-delta.1.gz man/man1/libinput-debug-events.1.gz %%DEBUG_GUI%%man/man1/libinput-debug-gui.1.gz man/man1/libinput-debug-tablet.1.gz man/man1/libinput-list-devices.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-size.1.gz man/man1/libinput-measure-touchpad-tap.1.gz man/man1/libinput-measure.1.gz man/man1/libinput-quirks-list.1.gz man/man1/libinput-quirks-validate.1.gz man/man1/libinput-quirks.1.gz man/man1/libinput-record.1.gz man/man1/libinput-replay.1.gz man/man1/libinput.1.gz %%DATADIR%%/10-generic-keyboard.quirks %%DATADIR%%/10-generic-lid.quirks %%DATADIR%%/10-generic-trackball.quirks %%DATADIR%%/30-vendor-aiptek.quirks %%DATADIR%%/30-vendor-alps.quirks %%DATADIR%%/30-vendor-contour.quirks %%DATADIR%%/30-vendor-cypress.quirks %%DATADIR%%/30-vendor-elantech.quirks %%DATADIR%%/30-vendor-ibm.quirks %%DATADIR%%/30-vendor-kensington.quirks %%DATADIR%%/30-vendor-logitech.quirks %%DATADIR%%/30-vendor-madcatz.quirks %%DATADIR%%/30-vendor-microsoft.quirks %%DATADIR%%/30-vendor-razer.quirks %%DATADIR%%/30-vendor-synaptics.quirks %%DATADIR%%/30-vendor-trust.quirks %%DATADIR%%/30-vendor-vmware.quirks %%DATADIR%%/30-vendor-wacom.quirks %%DATADIR%%/50-system-acer.quirks %%DATADIR%%/50-system-apple.quirks %%DATADIR%%/50-system-asus.quirks %%DATADIR%%/50-system-chicony.quirks %%DATADIR%%/50-system-cyborg.quirks %%DATADIR%%/50-system-dell.quirks %%DATADIR%%/50-system-google.quirks %%DATADIR%%/50-system-hp.quirks %%DATADIR%%/50-system-lenovo.quirks %%DATADIR%%/50-system-sony.quirks %%DATADIR%%/50-system-system76.quirks %%DATADIR%%/50-system-toshiba.quirks share/zsh/site-functions/_libinput