Index: audio/baresip/Makefile =================================================================== --- audio/baresip/Makefile (revision 460102) +++ audio/baresip/Makefile (working copy) @@ -29,7 +29,7 @@ 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 @@ 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 Index: audio/baresip/Makefile.depends =================================================================== --- audio/baresip/Makefile.depends (revision 460102) +++ audio/baresip/Makefile.depends (working copy) @@ -4,7 +4,7 @@ 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 Index: multimedia/kdenlive/Makefile =================================================================== --- multimedia/kdenlive/Makefile (revision 460102) +++ multimedia/kdenlive/Makefile (working copy) @@ -26,7 +26,7 @@ # Keep in sync with multimedia/mlt, possibly. FFMPEG_SUFX= # Currently empty. -OPTIONS_DEFINE= DOCS DVDWIZARD FREI0R LADSPA NLS SCREENCAST V4L XINE +OPTIONS_DEFINE= DOCS DVDWIZARD FREI0R LADSPA NLS SCREENCAST V4L XINE JOGSHUTTLE OPTIONS_DEFAULT=DVDWIZARD FREI0R LADSPA SCREENCAST V4L XINE OPTIONS_SUB= yes @@ -34,6 +34,7 @@ SCREENCAST_DESC=Screen capture support via recordMyDesktop V4L_DESC= Webcam support via Video4Linux XINE_DESC= DVD preview support via xine +JOGSHUTTLE_DESC=Jog/Shuttle support DOCS_CMAKE_OFF= -DBUILD_doc:BOOL=FALSE @@ -55,9 +56,18 @@ XINE_RUN_DEPENDS= xine:multimedia/xine +# XXX: webcamd Jog/Shuttle support is not tested +JOGSHUTTLE_BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto +JOGSHUTTLE_RUN_DEPENDS= webcamd:multimedia/webcamd +JOGSHUTTLE_CMAKE_OFF= -DWITH_JogShuttle:BOOL=FALSE + post-patch: @${REINPLACE_CMD} -E -e '/${PORTNAME}.(menu|xpm)/ d' \ -e '/^update_xdg_mimetypes/ d; /SharedMimeInfo/ d' \ ${PATCH_WRKSRC}/data/CMakeLists.txt +post-patch-JOGSHUTTLE-on: + @${REINPLACE_CMD} -e '/#include /d' \ + ${WRKSRC}/src/lib/external/media_ctrl/mediactrl.c + .include Index: multimedia/lives/Makefile =================================================================== --- multimedia/lives/Makefile (revision 460102) +++ multimedia/lives/Makefile (working copy) @@ -14,7 +14,7 @@ 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 \ Index: comms/lirc/Makefile =================================================================== --- comms/lirc/Makefile (revision 460102) +++ comms/lirc/Makefile (working copy) @@ -11,7 +11,7 @@ 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 INSTALL_TARGET= install-strip USES= alias autoreconf gmake libtool python tar:bzip2 Index: comms/svxlink/Makefile =================================================================== --- comms/svxlink/Makefile (revision 460102) +++ comms/svxlink/Makefile (working copy) @@ -19,14 +19,13 @@ 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 Index: devel/libevdev/Makefile =================================================================== --- devel/libevdev/Makefile (revision 460102) +++ devel/libevdev/Makefile (working copy) @@ -1,7 +1,7 @@ # $FreeBSD$ PORTNAME= libevdev -PORTVERSION= 1.4.4 +PORTVERSION= 1.5.7 CATEGORIES= devel MASTER_SITES= http://freedesktop.org/software/${PORTNAME}/ @@ -11,22 +11,33 @@ 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 pathfix python:build tar:xz localbase 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_LIB_DEPENDS= libcheck.so: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 Index: devel/libevdev/distinfo =================================================================== --- devel/libevdev/distinfo (revision 460102) +++ devel/libevdev/distinfo (working copy) @@ -1,2 +1,3 @@ -SHA256 (libevdev-1.4.4.tar.xz) = ed9979369b6a6e28f5897d099538549ecffb2b7c00c1b717eb77c31d85bc45a9 -SIZE (libevdev-1.4.4.tar.xz) = 409856 +TIMESTAMP = 1497275877 +SHA256 (libevdev-1.5.7.tar.xz) = a1e59e37a2f0d397ffd7e83b73af0e638db83b8dd08902ef0f651a21cc1dd422 +SIZE (libevdev-1.5.7.tar.xz) = 407452 Index: devel/libevdev/files/patch-libevdev_libevdev-uinput.c =================================================================== --- devel/libevdev/files/patch-libevdev_libevdev-uinput.c (nonexistent) +++ devel/libevdev/files/patch-libevdev_libevdev-uinput.c (working copy) @@ -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 Property changes on: devel/libevdev/files/patch-libevdev_libevdev-uinput.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: devel/libevdev/files/patch-test_test-int-queue.c =================================================================== --- devel/libevdev/files/patch-test_test-int-queue.c (nonexistent) +++ devel/libevdev/files/patch-test_test-int-queue.c (working copy) @@ -0,0 +1,12 @@ +--- test/test-int-queue.c.orig 2017-05-04 00:37:30 UTC ++++ test/test-int-queue.c +@@ -33,9 +33,6 @@ START_TEST(test_queue_alloc) + rc = queue_alloc(&dev, 0); + ck_assert_int_eq(rc, -ENOMEM); + +- rc = queue_alloc(&dev, ULONG_MAX); +- ck_assert_int_eq(rc, -ENOMEM); +- + rc = queue_alloc(&dev, 100); + ck_assert_int_eq(rc, 0); + Property changes on: devel/libevdev/files/patch-test_test-int-queue.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: devel/libevdev/files/patch-test_test-libevdev-events.c =================================================================== --- devel/libevdev/files/patch-test_test-libevdev-events.c (nonexistent) +++ devel/libevdev/files/patch-test_test-libevdev-events.c (working copy) @@ -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); Property changes on: devel/libevdev/files/patch-test_test-libevdev-events.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: devel/libevdev/files/patch-test_test-libevdev-has-event.c =================================================================== --- devel/libevdev/files/patch-test_test-libevdev-has-event.c (nonexistent) +++ devel/libevdev/files/patch-test_test-libevdev-has-event.c (working copy) @@ -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); + Property changes on: devel/libevdev/files/patch-test_test-libevdev-has-event.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: devel/libevdev/files/patch-test_test-libevdev-init.c =================================================================== --- devel/libevdev/files/patch-test_test-libevdev-init.c (nonexistent) +++ devel/libevdev/files/patch-test_test-libevdev-init.c (working copy) @@ -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); Property changes on: devel/libevdev/files/patch-test_test-libevdev-init.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: devel/libevdev/files/patch-test_test-main.c =================================================================== --- devel/libevdev/files/patch-test_test-main.c (nonexistent) +++ devel/libevdev/files/patch-test_test-main.c (working copy) @@ -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) Property changes on: devel/libevdev/files/patch-test_test-main.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: devel/libevdev/pkg-plist =================================================================== --- devel/libevdev/pkg-plist (revision 460102) +++ devel/libevdev/pkg-plist (working copy) @@ -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.19 libdata/pkgconfig/libevdev.pc man/man3/libevdev.3.gz Index: devel/evdev-proto/Makefile =================================================================== --- devel/evdev-proto/Makefile (nonexistent) +++ devel/evdev-proto/Makefile (working copy) @@ -0,0 +1,57 @@ +# $FreeBSD$ + +PORTNAME= evdev-proto +PORTVERSION= 4.14 +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||| ; \ + /# *include[[:space:]]+/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:]]+/ /' \ + ${WRKSRC}/input.h + @${REINPLACE_CMD} -i '' -E -e \ + 's/__u([[:digit:]]+)/uint\1_t/g ; \ + s/__s([[:digit:]]+)/int\1_t/g ; \ + /# *include/s||| ; \ + /#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 Property changes on: devel/evdev-proto/Makefile ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: devel/evdev-proto/distinfo =================================================================== --- devel/evdev-proto/distinfo (nonexistent) +++ devel/evdev-proto/distinfo (working copy) @@ -0,0 +1,7 @@ +TIMESTAMP = 1512252807 +SHA256 (input.h) = 6bdbf3be75ab5d411e4758152d049a40d02b8acbb34d5a76e0c70eaf2341f7ed +SIZE (input.h) = 15502 +SHA256 (input-event-codes.h) = e0fc09793c059510d796c078f266f81847e0e86c68f0aa0c103496ddd0854736 +SIZE (input-event-codes.h) = 24221 +SHA256 (uinput.h) = 9123b078f13047c34797332c4f835e5f1e418387e9a950024920faa5a1186974 +SIZE (uinput.h) = 9276 Property changes on: devel/evdev-proto/distinfo ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: devel/evdev-proto/pkg-descr =================================================================== --- devel/evdev-proto/pkg-descr (nonexistent) +++ devel/evdev-proto/pkg-descr (working copy) @@ -0,0 +1 @@ +This port installs the input event device header files. Property changes on: devel/evdev-proto/pkg-descr ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: devel/evemu/Makefile =================================================================== --- devel/evemu/Makefile (revision 460102) +++ devel/evemu/Makefile (working copy) @@ -11,7 +11,7 @@ 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 Index: devel/evemu/files/patch-tools_evemu-record.c =================================================================== --- devel/evemu/files/patch-tools_evemu-record.c (revision 460102) +++ devel/evemu/files/patch-tools_evemu-record.c (nonexistent) @@ -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) { Property changes on: devel/evemu/files/patch-tools_evemu-record.c ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: devel/libmtdev/Makefile =================================================================== --- devel/libmtdev/Makefile (revision 460102) +++ devel/libmtdev/Makefile (working copy) @@ -12,8 +12,7 @@ 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 Index: devel/libmtdev/files/patch-test-mtdev-test.c =================================================================== --- devel/libmtdev/files/patch-test-mtdev-test.c (nonexistent) +++ devel/libmtdev/files/patch-test-mtdev-test.c (working copy) @@ -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 + #include ++#include + #include + #include + + /* year-proof millisecond event time */ +-typedef __u64 mstime_t; ++typedef uint64_t mstime_t; + + static int use_event(const struct input_event *ev) + { Property changes on: devel/libmtdev/files/patch-test-mtdev-test.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: devel/py-evdev/Makefile =================================================================== --- devel/py-evdev/Makefile (revision 460102) +++ devel/py-evdev/Makefile (working copy) @@ -1,7 +1,7 @@ # $FreeBSD$ PORTNAME= evdev -PORTVERSION= 0.5.0 +PORTVERSION= 0.7.0 CATEGORIES= devel python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -12,16 +12,23 @@ 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} \ -name '*.so' -exec ${STRIP_CMD} {} + Index: devel/py-evdev/distinfo =================================================================== --- devel/py-evdev/distinfo (revision 460102) +++ devel/py-evdev/distinfo (working copy) @@ -1,2 +1,3 @@ -SHA256 (evdev-0.5.0.tar.gz) = 509f0f6ce5a12315fcad0b7f9b41cbdfc5c5f49a7cecdd6a88ce5c1d04f6827c -SIZE (evdev-0.5.0.tar.gz) = 23931 +TIMESTAMP = 1507760387 +SHA256 (evdev-0.7.0.tar.gz) = 57edafc469a414f58b51af1bfb9ee2babb9f626dd2df530d71c1176871850aa1 +SIZE (evdev-0.7.0.tar.gz) = 22623 Index: devel/libudev-devd/Makefile =================================================================== --- devel/libudev-devd/Makefile (revision 460102) +++ devel/libudev-devd/Makefile (working copy) @@ -2,6 +2,7 @@ PORTNAME= libudev-devd PORTVERSION= 0.3 +PORTREVISION= 1 CATEGORIES= devel MAINTAINER= x11@FreeBSD.org @@ -9,14 +10,13 @@ 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 -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 Index: multimedia/v4l_compat/Makefile =================================================================== --- multimedia/v4l_compat/Makefile (revision 460102) +++ multimedia/v4l_compat/Makefile (working copy) @@ -1,7 +1,7 @@ # $FreeBSD$ PORTNAME= v4l_compat -PORTREVISION= 0 +PORTREVISION= 1 COMMENT= Video4Linux IOCTL header files @@ -14,8 +14,7 @@ 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 Index: multimedia/v4l_compat/pkg-plist =================================================================== --- multimedia/v4l_compat/pkg-plist (revision 460102) +++ multimedia/v4l_compat/pkg-plist (working copy) @@ -5,9 +5,7 @@ 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 Index: x11-drivers/xf86-input-evdev/Makefile =================================================================== --- x11-drivers/xf86-input-evdev/Makefile (revision 460102) +++ x11-drivers/xf86-input-evdev/Makefile (working copy) @@ -10,10 +10,9 @@ 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 Index: x11-drivers/xf86-input-synaptics/Makefile =================================================================== --- x11-drivers/xf86-input-synaptics/Makefile (revision 460102) +++ x11-drivers/xf86-input-synaptics/Makefile (working copy) @@ -18,7 +18,7 @@ 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 Index: x11-drivers/xf86-input-wacom/Makefile =================================================================== --- x11-drivers/xf86-input-wacom/Makefile (revision 460102) +++ x11-drivers/xf86-input-wacom/Makefile (working copy) @@ -10,7 +10,7 @@ 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 Index: x11-drivers/xf86-input-wacom/files/patch-src-wcmValidateDevice.c =================================================================== --- x11-drivers/xf86-input-wacom/files/patch-src-wcmValidateDevice.c (revision 460102) +++ x11-drivers/xf86-input-wacom/files/patch-src-wcmValidateDevice.c (working copy) @@ -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 */ Index: x11/libinput/Makefile =================================================================== --- x11/libinput/Makefile (revision 460102) +++ x11/libinput/Makefile (working copy) @@ -2,6 +2,7 @@ PORTNAME= libinput PORTVERSION= 1.6.0 +PORTREVISION= 1 CATEGORIES= x11 MASTER_SITES= http://freedesktop.org/software/${PORTNAME}/ @@ -8,7 +9,7 @@ MAINTAINER= x11@FreeBSD.org COMMENT= Generic input library -BUILD_DEPENDS= v4l_compat>=0:multimedia/v4l_compat +BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto LIB_DEPENDS= libevdev.so:devel/libevdev \ libepoll-shim.so:devel/libepoll-shim \ libwacom.so:x11/libwacom \ @@ -16,6 +17,7 @@ libmtdev.so:devel/libmtdev USES= autoreconf gmake libtool pathfix pkgconfig tar:xz +EXTRACT_AFTER_ARGS= --exclude include/linux # supplied linux/input.h USE_LDCONFIG= yes GNU_CONFIGURE= yes Index: x11/libinput/files/patch-include_linux_input.h =================================================================== --- x11/libinput/files/patch-include_linux_input.h (revision 460102) +++ x11/libinput/files/patch-include_linux_input.h (nonexistent) @@ -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 - #include - #include -+#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 -+#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 */ Property changes on: x11/libinput/files/patch-include_linux_input.h ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: x11/libwacom/Makefile =================================================================== --- x11/libwacom/Makefile (revision 460102) +++ x11/libwacom/Makefile (working copy) @@ -12,6 +12,7 @@ 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 \ Index: x11-drivers/xf86-input-libinput/Makefile =================================================================== --- x11-drivers/xf86-input-libinput/Makefile (revision 460102) +++ x11-drivers/xf86-input-libinput/Makefile (working copy) @@ -10,6 +10,7 @@ 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 Index: x11/kf5-kwayland/Makefile =================================================================== --- x11/kf5-kwayland/Makefile (revision 460102) +++ x11/kf5-kwayland/Makefile (working copy) @@ -7,7 +7,7 @@ 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 Index: x11-servers/xwayland/Makefile =================================================================== --- x11-servers/xwayland/Makefile (revision 460102) +++ x11-servers/xwayland/Makefile (working copy) @@ -7,7 +7,8 @@ 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