Created attachment 180159 [details] devel.libevdev.patch 1. update devel/libevdev to 1.5.6 2. drop evdev headers from multimedia/vl4_compat. They are too old to allow modern libevdev to compile and contains wrong (Linux-specific) ioctl defines 3. Add slave devel/libevdev-headers port with updated versions of evdev headers derived from libevdev and patched to be FreeBSD-compatible 4. Update dependencies from multimedia/vl4_compat to devel/libevdev-headers for dependent ports This PR is subset of https://reviews.freebsd.org/D7588
Created attachment 180160 [details] devel/libevdev poudriere log
Created attachment 180161 [details] devel/libevdev-headers poudriere log
Created attachment 180164 [details] multimedia/v4l_compat poudriere log
Created attachment 180165 [details] devel/py-evdev poudriere log 5. devel/py-evdev updated to v. 0.6.4
Created attachment 180172 [details] devel.libevdev.patch devel/libevdev - add ability to run internal tests via "make test"
Created attachment 180178 [details] devel.libevdev.patch Last patch appeared to be incomplete. Reuploaded.
Just encountered an issue: current libevdev in ports uses wrong ioctl numbers for uinput. This patch fixes it. Merge it please! Also, please look at my libinput port update: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=222905 which x11@ is ignoring because they ignore everything these days :( + I've sent patches to libinput upstream, a couple changes were merged already.
(In reply to Greg V from comment #7) > Just encountered an issue: current libevdev in ports uses wrong ioctl numbers for uinput. This patch fixes it. Merge it please! Unfortunately, I can't as I am not a ports committer. I (and any other src committer) need an approval from unmentored port committer to make changes to a ports tree. > Also, please look at my libinput port update: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=222905 I`ll take a look, but as I said before, I can't handle it. > which x11@ is ignoring because they ignore everything these days :( Heh. I am waiting for 'x11@ renamed to no-reply@' announcement somewhere in a project's start page. The mesa/libdrm looks to be the only X11 parts that produce any updates/feedback since last February. > + I've sent patches to libinput upstream, a couple changes were merged already. That is nice! Thanks! P.S. This PR is outdated now. More up to date version can be found here: https://reviews.freebsd.org/D7588
Created attachment 188507 [details] devel.libevdev.patch Up to date version of the patch. 1. Drop evdev headers from multimedia/vl4_compat. They are too old to allow modern libevdev to compile and contains wrong (Linux-specific) ioctl defines 2. Add devel/evdev-proto port with modern versions of evdev headers taken from Linux VCS (github) and patched to be FreeBSD-compatible 3. Update devel/libevdev to 1.5.7 and devel/py-evdev to 0.7.0. Current versions staying in a port tree do not handle linux/input.h header split properly. 4. Update dependencies from multimedia/vl4_compat to devel/evdev-proto for dependent ports
Created attachment 188508 [details] devel.libevdev.patch Add forgotten patch for libevdev internal tests.
Hi! I'm looking at this now, since it blocks a x11@ PR. Can you, as submitter, please explain why the headers are pulled into a new port, instead of updating v4l-compat? I'm just trying to understand what's going on here.
(In reply to Niclas Zeising from comment #11) > Can you, as submitter, please explain why the headers are pulled into a new port, instead of updating v4l-compat That is done to to make version chase easy. Evdev headers are the fast moving target and some software like libevdev and libinput depends on very recent versions of it. E.g. current libinput wants headers from 4.11+ kernel. In Linuх world such a software just includes required files in distribution source bundle, but we can not use them as is as they are not fully FreeBSD-compatible. Proposed patch solves this problem with providing easy to update system-wide headers. Updating of evdev-proto port with this patch applied is as easy as keeping of PORTVERSION in sync with current Linux kernel version.
Thanks for the explanation.
(In reply to Vladimir Kondratyev from comment #12) I think the whole multimedia/vl4_compat port can be changed to fetch all headers from Torvald's VCS rather than provide bundled. That would eliminate need in split off of evdev headers. But I can handle only evdev part of such a change.
Hi there You should bump the revision in multimedia/v4l_compat and x11-servers/xwayland should probably build-depend on evdev-proto. mfg Tobias
*** Bug 225343 has been marked as a duplicate of this bug. ***
Created attachment 190112 [details] devel.libevdev.patch Changes compared to prior version: multimedia/v4l_compat version bumped (plist change). x11/libinput version bumped (uses fixed ioctl). x11-servers/xwayland build-depency on evdev-proto added.
(In reply to Vladimir Kondratyev from comment #17) "version bumped" should be read as "revision bumped"
Created attachment 190113 [details] devel.libevdev.patch One more revision bump: devel/libudev-devd (unused dependency removed)
Created attachment 190115 [details] devel.libevdev.patch And finally? revision bump for devel/libmtdev and x11-drivers/xf86-input-evdev due to RUN_DEPENDS removal
Created attachment 192306 [details] devel.libevdev.patch Updates: Evdev headers -> 4.16 libevdev -> 1.5.9 py-evdev -> 0.8.1
Hi there Is there an ETA on this? It would be great to have it in the ports tree, as we need it for the KDE CI systems. mfg Tobias
Hi! I've added this update, as well as a whole bunch of other updates to a branch in our development Github tree. The branch updates a whole lot of ports that has to do with input devices and similar. Please help me test it. The branch can be found here: https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/input It contains upates to libinput, libeevdev, libwacom, xf86-input-libinput and dependencies.
A commit references this bug: Author: zeising Date: Wed Dec 19 09:09:21 UTC 2018 New revision: 487789 URL: https://svnweb.freebsd.org/changeset/ports/487789 Log: Split out evdev headers from multimedia/v4l_compat Split out evdev headers (input.h, input-event-codes.h, uinput.h) into their own port, devel/evdev-proto, and update those to be current with the Linux 4.19 kernel. This is done in order to be able to update the rest of the FreeBSD input stack, which is forthcoming. By splititng out the evdev headers we can update them independent of other updates in v4l_compat, which makes it easier for the graphics team to keep track of them and keep them updated as needed. Update devel/libevdev from 1.4.4 to 1.5.9 instead of trying to make it work with the updated headers. This will be further updated. Update devel/py-evdev from 0.5.0 to 0.8.1 instead of trying to make it work with the updated evdev headers. Update consumers to use devel/evdev-proto rather than multimedia/v4l_compat as needed, and bump portrevisions. This is the first step in getting the FreeBSD input stack (libevdev, libinput and so on) updated to newer versions. Many thanks to all who have helped out with testing, code and exp-runs. Apologies if I've forgotten to add any names. PR: 222905, 217248, (based on, in part), 233787 (exp-run) Submitted by: Greg V, wulf Tested by: tcberner, kde Exp-run by: antoine Approved by: portmgr (antoine) Obtained from: FreeBSDDesktop development repo https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/input https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/input-ports Changes: head/audio/ardour/Makefile head/comms/lirc/Makefile head/comms/svxlink/Makefile head/devel/Makefile head/devel/evdev-proto/ head/devel/evdev-proto/Makefile head/devel/evdev-proto/distinfo head/devel/evdev-proto/pkg-descr head/devel/evemu/Makefile head/devel/evemu/files/patch-tools_evemu-record.c head/devel/libevdev/Makefile head/devel/libevdev/distinfo head/devel/libevdev/files/ head/devel/libevdev/files/patch-libevdev_libevdev-uinput.c head/devel/libevdev/files/patch-test_test-libevdev-events.c head/devel/libevdev/files/patch-test_test-libevdev-has-event.c head/devel/libevdev/files/patch-test_test-libevdev-init.c head/devel/libevdev/files/patch-test_test-main.c head/devel/libevdev/pkg-plist head/devel/libmtdev/Makefile head/devel/libmtdev/files/patch-test_mtdev-test.c head/devel/libudev-devd/Makefile head/devel/py-evdev/Makefile head/devel/py-evdev/distinfo head/devel/sdl20/Makefile head/games/flightgear/Makefile head/multimedia/dvb-apps/Makefile head/multimedia/gstreamer1-plugins/Makefile.common head/multimedia/kdenlive/Makefile head/multimedia/lives/Makefile head/multimedia/mpv/Makefile head/multimedia/v4l_compat/Makefile head/multimedia/v4l_compat/pkg-plist head/net/freerdp/Makefile head/x11/kde-workspace-kde4/Makefile head/x11/kf5-kwayland/Makefile head/x11/libinput/Makefile head/x11/libinput/files/patch-include_linux_input.h head/x11/plasma5-kwayland-integration/Makefile head/x11-drivers/xf86-input-evdev/Makefile head/x11-drivers/xf86-input-libinput/Makefile head/x11-drivers/xf86-input-synaptics/Makefile head/x11-drivers/xf86-input-wacom/Makefile head/x11-drivers/xf86-input-wacom/files/patch-src-wcmConfig.c head/x11-drivers/xf86-input-wacom/files/patch-src-wcmISDV4.c head/x11-drivers/xf86-input-wacom/files/patch-src-wcmUSB.c head/x11-drivers/xf86-input-wacom/files/patch-src-wcmValidateDevice.c head/x11-drivers/xf86-video-qxl/Makefile head/x11-servers/xwayland/Makefile head/x11-toolkits/wlc/Makefile head/x11-wm/plasma5-kwin/Makefile
All changes in this PR are supposed to be committed now, but I might have missed something. Leave this open for a while longer in case of fallout or in case of missed things.
A commit references this bug: Author: zeising Date: Sun Dec 23 09:57:30 UTC 2018 New revision: 488181 URL: https://svnweb.freebsd.org/changeset/ports/488181 Log: x11-servers/xwayland: Fix portrevision Fix portrevision, it accidentally went backwards when comitting r487789. Bump it to 11 to ensure xwayland is rebuild after the evdev-proto changes. Add a big note about this, so I might remember next time. PR: 222905, 217248, 233787 (original commit), 234240 (fix) Submitted by: Stefan Ehmann (fix) Changes: head/x11-servers/xwayland/Makefile
I believe I got everything from this set of patches. Thanks for all the help!