Date: Sun, 10 Jun 2018 15:54:55 +0200 From: Niclas Zeising <zeising+freebsd@daemonic.se> To: freebsd-x11@freebsd.org Subject: Re: [CFT] changes and updates to x11 input devices Message-ID: <49a1235b-608d-aa98-c6da-b98f55e50e54@daemonic.se> In-Reply-To: <dbf6a804-887d-4683-c371-90785b76aa92@freebsd.org> References: <dbf6a804-887d-4683-c371-90785b76aa92@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------28747E1BE58F66ACECC8BD0A Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable On 06/10/18 09:01, Niclas Zeising wrote: > Hi! > I've been working for a little while on incorporating the various=20 > patches floating around for changes and updates to xorg input drivers,=20 > mostly related to libinput.=C2=A0 The result can be found here, in the = x11=20 > team development repo: >=20 > https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/input >=20 > It contains upates to libinput, libeevdev, libwacom, xf86-input-libinpu= t=20 > and dependencies. >=20 > Please help me in testing this as much as possible, so that we can land= =20 > it in the ports system >=20 > The branch above is a complete ports tree, so you can use it to build=20 > from, or to point poudriere at it.=C2=A0 Please test various input devi= ces,=20 > synaptics touchpads, wacom devices and so on.=C2=A0 Both success and fa= ilure=20 > stories are interesting. On request, attached is a patch with all changes. Regards --=20 Niclas --------------28747E1BE58F66ACECC8BD0A Content-Type: text/x-patch; name="ports.input.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="ports.input.diff" 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= ports@FreeBSD.org 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= wulf@FreeBSD.org +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= x11@FreeBSD.org @@ -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= x11@FreeBSD.org @@ -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= x11@FreeBSD.org +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= x11@FreeBSD.org @@ -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= kde@FreeBSD.org 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= x11@FreeBSD.org 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= x11@FreeBSD.org 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 --------------28747E1BE58F66ACECC8BD0A--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49a1235b-608d-aa98-c6da-b98f55e50e54>