Bug 222905 - x11/libinput: Update to 1.12.6
Summary: x11/libinput: Update to 1.12.6
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-x11 mailing list
URL:
Keywords:
Depends on: 217248 223530 233787 234240
Blocks:
  Show dependency treegraph
 
Reported: 2017-10-10 16:23 UTC by Greg V
Modified: 2019-02-06 11:10 UTC (History)
13 users (show)

See Also:


Attachments
libinput.patch (3.36 KB, patch)
2017-10-10 16:23 UTC, Greg V
no flags Details | Diff
libinput-1.9.1.patch (9.04 KB, patch)
2017-11-08 12:37 UTC, Greg V
no flags Details | Diff
libinput-1.9.1.patch (10.53 KB, patch)
2017-11-08 12:42 UTC, Greg V
no flags Details | Diff
libinput-1.9.3.patch (19.28 KB, patch)
2017-12-05 23:26 UTC, Vladimir Kondratyev
no flags Details | Diff
libinput-1.9.4.patch (19.28 KB, patch)
2017-12-16 22:12 UTC, Vladimir Kondratyev
no flags Details | Diff
libinput-1.9.901.patch (16.64 KB, patch)
2018-01-22 14:56 UTC, Greg V
no flags Details | Diff
libinput-1.10.4.patch (16.68 KB, patch)
2018-04-10 14:46 UTC, Greg V
no flags Details | Diff
libinput-1.12.1.patch (15.17 KB, patch)
2018-10-14 12:00 UTC, Greg V
no flags Details | Diff
Update x11/libinput to 1.12.4 (143.91 KB, patch)
2018-12-31 16:37 UTC, Niclas Zeising
no flags Details | Diff
Update x11/libinput to 1.12.6 (144.54 KB, patch)
2019-01-23 07:26 UTC, Niclas Zeising
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Greg V 2017-10-10 16:23:35 UTC
Created attachment 187052 [details]
libinput.patch

We're behind on libinput, Wayland compositors (https://github.com/swaywm/wlroots) are already starting to use new features… Here's 1.8.0.
Comment 2 Greg V 2017-11-08 12:42:16 UTC
Created attachment 187854 [details]
libinput-1.9.1.patch

oops, here's the diff from 1.6.0 instead of 1.8.0
Comment 3 Vladimir Kondratyev freebsd_committer 2017-12-05 23:26:38 UTC
Created attachment 188571 [details]
libinput-1.9.3.patch

Some improvements over v1.9.1:

1. Add patch for breaking of deadlock on detaching of webcamd-backed devices
2. Do not compile/install udev tools and rules
3. Add python dependencies required by some libinput tools
4. New port devel/py-pyudev (required by tools written in python)
5. epoll-shim update included.

Requires fixed evdev headers from PR/217248 (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=217248)
Comment 4 Niclas Zeising freebsd_committer 2017-12-16 20:49:27 UTC
Hi!
I'm currently working on this and PRs that this one depends on.
Comment 5 Vladimir Kondratyev freebsd_committer 2017-12-16 22:12:08 UTC
Created attachment 188894 [details]
libinput-1.9.4.patch

bump libinput and epoll-shim versions to 1.9.4 and 20171213 respectively. No other changes
Comment 6 Greg V 2018-01-22 14:56:43 UTC
Created attachment 189969 [details]
libinput-1.9.901.patch

Update to 1.9.901 + add a new 'reopen' patch…

So, here's the story about that patch. I'm working on Wayland compositor stuff (https://github.com/myfreeweb/weston-rs + https://github.com/myfreeweb/loginw). I've been trying to figure out why in the heck does *only my compositor* (not Weston proper) reject input devices *only on my laptop* (not on my desktop)…

/dev/input devices were readable and writable for group video. My setuid wrapper (loginw) was only setting the user when dropping privileges for the compositor (i.e. wasn't setting groups). I was testing unprivileged access, but I thought I was still testing privileged access.

Anyway, it is very desirable to have the compositor unprivileged. The setuid wrapper passes it file descriptors to input devices, it does not need to open them directly.

libudev-devd does open them — to enumerate devices. When it is unprivileged, it does not set the right properties, which leads to rejection (the "not tagged as supported input device" message).

libinput opens the device via the compositor-provided mechanism (fd passing) only to compare to the device it got from libudev(-devd) enumeration. They have the same path, but the libudev one lacks properties. The correct one gets thrown away.

This patch uses the correct one instead of throwing it away :) which allows compositors to be unprivileged.
Comment 7 Greg V 2018-01-22 15:01:49 UTC
Oh also the fixdrop patch is new here. It's from https://blog.grem.de/pages/t470s.html and it prevents trackpads from dropping out after SYN_DROPPED events.
Comment 8 Niclas Zeising freebsd_committer 2018-01-22 15:04:36 UTC
Hi!
Last time I looked at this, I think there was issues in one of the PRs this depends on.  I'll try to look at this again ASAP.
Comment 9 Greg V 2018-04-10 14:46:07 UTC
Created attachment 192391 [details]
libinput-1.10.4.patch

Updated to 1.10.4.
Comment 10 Tobias C. Berner freebsd_committer 2018-04-29 20:08:29 UTC
Moin moin

It would be great if this and the related issues could be committed soon.


mfg Tobias
Comment 11 Johannes Lundberg 2018-05-30 20:46:33 UTC
Build fails, missing two macros that I guess we need to add to v4l_compat

KEY_ONSCREEN_KEYBOARD
MT_TOOL_PALM
Comment 12 Vladimir Kondratyev freebsd_committer 2018-05-30 21:10:39 UTC
(In reply to Johannes Lundberg from comment #11)
> Build fails

Please look at "Depends on" header. This libinput does not depend on v4l_compat as it requires PR/217248 and PR/223530 to be applied.
Comment 13 Johannes Lundberg 2018-05-31 07:50:18 UTC
Why not set a minimum port version for dependencies?
Comment 14 Vladimir Kondratyev freebsd_committer 2018-05-31 08:55:13 UTC
(In reply to Johannes Lundberg from comment #13)
Libinput depends on devel/evdev-proto which is split off v4l_compat in PR/217248. Latter is not committed to ports tree yet.
Comment 15 Johannes Lundberg 2018-05-31 09:20:23 UTC
Hmm ok I see. So in my case it (make) found the file and was happy with that, even though I'm missing the evdev-proto package...
Comment 16 Niclas Zeising freebsd_committer 2018-06-10 06:57:00 UTC
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.
Comment 17 Tobias C. Berner freebsd_committer 2018-06-10 08:04:07 UTC
kde@ has been using these patches for a while now on the KDE CI cluster (build.kde.org) and in our own development repo for a long time.
No dead kittens.


Mfg Tobias
Comment 18 Tobias C. Berner freebsd_committer 2018-07-07 07:35:36 UTC
(In reply to Tobias C. Berner from comment #17)
ping with hat kde@ -- it even rhymes.
Comment 19 Niclas Zeising freebsd_committer 2018-07-07 07:38:24 UTC
(In reply to Tobias C. Berner from comment #18)

Hi!
I've had to put this a bit to the side because of other stuff.  I'm getting to it again.  Have you run KDE with libinput 1.11 (it's in the branch) as well, or just 1.10.4?
Thanks!
Regards
Niclas
Comment 20 Tobias C. Berner freebsd_committer 2018-07-13 18:36:55 UTC
(In reply to Niclas Zeising from comment #19)

I merged the update to 1.11-update (i.e. your feature/input branch) into our plasma-5.13 branch last weekend, and have been using it for the past week. Seems to build (and run) fine.


mfg Tobias
Comment 21 Adriaan de Groot freebsd_committer 2018-09-06 19:40:22 UTC
This is now blocking updates to KDE -- Plasma 5.13, which was released a few months ago, needs libinput 1.10. As tcberner@ points out, it's been in testing in our own plasma-5.13 branch for some time as well (as well as on KDE's CI systems).
Comment 22 Tobias C. Berner freebsd_committer 2018-09-21 18:16:20 UTC
This is your weekly "still no dead kittens" ping :)
Comment 23 Tobias C. Berner freebsd_committer 2018-10-13 07:17:55 UTC
The kittens are now cats, still not dead.

@x11 what is blocking this on your side?
Comment 24 Denis Polygalov 2018-10-14 02:59:45 UTC
(In reply to Tobias C. Berner from comment #23)

Hi,

I'm trying to test your patch but run into troubles:

% git clone https://github.com/freebsd/freebsd-ports.git
% cd freebsd-ports
% curl "https://bz-attachments.freebsd.org/attachment.cgi?id=192391" > libinput-1.10.4.patch
% git apply libinput-1.10.4.patch
libinput-1.10.4.patch:149: trailing whitespace.

libinput-1.10.4.patch:151: trailing whitespace.

libinput-1.10.4.patch:156: space before tab in indent.
        udev_dir = join_paths(get_option('prefix'), 'lib', 'udev')
libinput-1.10.4.patch:158: space before tab in indent.
               output : '90-libinput-model-quirks-litest.rules',
libinput-1.10.4.patch:159: space before tab in indent.
               install : false,
error: patch failed: x11/libinput/Makefile:1
error: x11/libinput/Makefile: patch does not apply
error: patch failed: x11/libinput/pkg-descr:4
error: x11/libinput/pkg-descr: patch does not apply

Regards,
Denis
Comment 25 Greg V 2018-10-14 12:00:25 UTC
Created attachment 198118 [details]
libinput-1.12.1.patch

Here's libinput 1.12.1.

I worked with upstream to improve FreeBSD support. They now have cross-compilation to FreeBSD 11 as part of their CI. Also, our evdev header is included in the tree.

BTW @Denis keep in mind that you need patches from bug 217248 & bug 223530 — libinput (well the various libinput tools, not the core library) depends on py-evdev and py-pyudev
Comment 26 Tobias C. Berner freebsd_committer 2018-10-14 12:04:22 UTC
(In reply to Greg V from comment #25)
Awesome!
Comment 27 Tobias C. Berner freebsd_committer 2018-10-14 12:21:00 UTC
(In reply to Greg V from comment #25)
There seems to be an issue with this patch:
=> FreeBSD patch patch-src_evdev.c.fixdrop failed to apply cleanly.
Comment 28 Greg V 2018-10-14 12:24:36 UTC
(In reply to Tobias C. Berner from comment #27)
hm, I can 'clean extract patch' just fine. Make sure the files/ directory looks like this:

https://github.com/myfreeweb/freebsd-ports-dank/tree/863526ea40ca61022e8d8c576d19aa91cf0ad90f/x11/libinput/files

(without any extra stuff left over from previous patches)
Comment 29 Tobias C. Berner freebsd_committer 2018-10-14 12:58:30 UTC
(In reply to Greg V from comment #28)
Sorry, my bad :) -- I integrated it into kde@'s tree on github in the meantime.
Comment 30 Gleb Popov freebsd_committer 2018-10-14 16:34:13 UTC
(In reply to Greg V from comment #25)

> I worked with upstream to improve FreeBSD support. They now have cross-compilation to FreeBSD 11 as part of their CI. Also, our evdev header is included in the tree.

Wow, this is super-awesome. Thanks for working on this!
Comment 31 Tobias C. Berner freebsd_committer 2018-10-18 05:11:49 UTC
Maintainer: timeout.

Greg, could you create patch against ports head with all the required changes for an update? (And open a review in phab).

Let's get this in.


mfg Tobias
Comment 32 Niclas Zeising freebsd_committer 2018-10-18 05:25:14 UTC
Hi!
This item was discussed during the Graphics Team meeting last night.  We are working on a plan to get this better tested and to get it into the FreeBSD ports tree.  I know it's been long in the making, but can you please hold of committing anything just yet, and give us a chance to work this out.

There is already a branch in our ports tree with these changes.  It's out of date, but please work on that and make pull requests for it, so that we have all changes and patches in one place: https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/input

Thank you!

Niclas Zeising
FreeBSD Graphics Team
Comment 33 Tobias C. Berner freebsd_committer 2018-10-18 05:36:21 UTC
(In reply to Niclas Zeising from comment #32)
This has been open for more than two 2 years. It does not need a test plan, it needs a commit :-)

Reminder: we cannot upgrade Plasma desktop to anything past 5.12.x because of this. We could have 5.14.x by now. 



mfg Tobias
Comment 34 Niclas Zeising freebsd_committer 2018-10-18 05:46:58 UTC
(In reply to Tobias C. Berner from comment #33)

I'm well aware of the situation.  It has a lot of moving parts though, which is why I'm asking you to work with us.
Comment 35 Tobias C. Berner freebsd_committer 2018-10-18 05:50:28 UTC
(In reply to Niclas Zeising from comment #34)
Let me know if kde@ can do anything to help :)

mfg Tobias
Comment 36 Tamas Szakaly 2018-10-18 09:17:24 UTC
Hi all,

Sorry for chiming in with something that might be off-topic, but since x11/libinput depends on devel/libepoll-shim, this might be important: the jiixyj/epoll-shim repo on GitHub contains two fixes that are not yet pulled into FreeBSDDesktop/epoll-shim, and I'm also experiencing problems while using the latest master with sway (input is lost when switching TTYs). I did not yet have the time to investigate this last issue, and I don't know if those fixes affect KDE/Plasma or even libinput in any way, but I think it's important to know that at least one of the components required here has some issues.

Regards,
Toma
Comment 37 Adriaan de Groot freebsd_committer 2018-10-18 10:05:31 UTC
Sway and Plasma/Wayland are pretty closely aligned, upstream, as to what they need; what's good for the goose is good for the gander, as they say. I remember adding some things to epoll-shim as well -- also having PRs ignored long enough that I forgot why I needed them.
Comment 38 Niclas Zeising freebsd_committer 2018-10-18 11:00:33 UTC
(In reply to Tamas Szakaly from comment #36)

Thank you for pointing this out!  I'll make sure to include the changes to our libepoll-shim as well.
Comment 39 Greg V 2018-10-19 18:16:23 UTC
(In reply to Niclas Zeising from comment #34)

What "moving parts" exactly does libinput have?

https://abi-laboratory.pro/?view=timeline&l=libinput — the ABI has been backwards compatible since 0.13.0 (!)
Unsurprisingly, libevdev has been ABI stable for even longer: https://abi-laboratory.pro/?view=timeline&l=libevdev

If it works for kde@, it should definitely work for everyone.

The only way to get "more testing" is to test in production ;)
Comment 40 Tobias C. Berner freebsd_committer 2018-10-31 22:07:29 UTC
(In reply to Niclas Zeising from comment #38)
It has been another two weeks, without any sign of progress. 

x11@ could you give some information on what needs to be done to move this forward?


mfg Tobias
Comment 41 Niclas Zeising freebsd_committer 2018-11-03 10:56:10 UTC
(In reply to Tobias C. Berner from comment #40)

Hi!
I've rebased our github branch on the latest ports tree, so it should be up to date.

The next step is to work out how to handle v4l_compat and and evdev-proto.  This change probably needs an exp run, to be sure I caught all users.

What build resources does the KDE team have?
Comment 42 Greg V 2018-11-03 12:26:23 UTC
(In reply to Niclas Zeising from comment #41)

Our input.h is now bundled with libinput (since 1.12.1) :)

But the libevdev update (bug 217248) still needs to happen as well.
Comment 43 Niclas Zeising freebsd_committer 2018-11-03 14:13:08 UTC
(In reply to Greg V from comment #42)

I have to look at the input.h header. Currently it seems it's supplied from multiple places, and as far as I know used in multiple places as well.  Looking at the branch, input.h is needed as a dependency for a number of packages.  It might be possible to have them use the one in FreeBSD base instead, especially since FreeBSD 10, which does not have that header, is EOL.

Do you know why the header is bundled with libinput, rather than libinput using the one provided with the OS (FreeBSD in this case)?

My original idea is to take the branch as it is and merge it in to the FreeBSD ports tree.  Then I can update libinput (and other packages as needed) again.

The update to libevdev is included in the branch, and will happen in connection with this update.
Comment 44 Greg V 2018-11-03 15:17:41 UTC
(In reply to Niclas Zeising from comment #43)

> regarding input.h: libinput expects input.h to never change which is why we can ship it with libinput. The ioctls themselves don't actually matter that much, libevdev abstracts those away. What matters are the #defines and structs. It may be technically allowed to change in FreeBSD but I'd argue that doing so would be misguided since it's a explicit "let's have linux compatibility" interface. So I think it may be better to just ship the header regardless and deal with the fallout if it ever changes. Otherwise, we're just trying to solve a problem that may never occur in the first place.

— Peter Hutterer @whot — https://gitlab.freedesktop.org/libinput/libinput/merge_requests/36
Comment 45 Vladimir Kondratyev freebsd_committer 2018-11-03 16:32:56 UTC
(In reply to Niclas Zeising from comment #43)
> It might be possible to have them use the one in FreeBSD
> base instead, especially since FreeBSD 10, which does not
> have that header, is EOL.
Back in 2015-2016 when current evdev was just a fork of jceel@ GSOC project running on my laptop, evdev headers were too volatile so I had to update them every 2 or 3 month to make fresh libinput and libevdev buildable.
Just now libevdev development is mostly stalled and libinput has a private copy of evdev headers so I think we can replace "linux/u?input*.h" files with "#include <dev/evdev/*.h>" oneliners or with symlinks to reduce header duplication.
Note: some ports like libevdev and py-evdev do a header parsing at build stage so they should be instructed to parse actual headers rather then "#include" stubs.
Comment 46 Vladimir Kondratyev freebsd_committer 2018-11-03 17:24:10 UTC
(In reply to Vladimir Kondratyev from comment #45)
> libevdev development is mostly stalled
libevdev 1.6.0 requires Linux kernel headers v4.16 which are not included with FreeBSD 11.2
Comment 47 Niclas Zeising freebsd_committer 2018-11-03 17:42:04 UTC
(In reply to Vladimir Kondratyev from comment #46)

It sounds like I should look into getting ports to use our own input.h headers instead of the ones provided with v4l_compat or evdev-proto.

I do think, however, that it should be done separate from the update of libinput, libevdev and others in this patch.

libevdev, similar to libinput, comes with it's own input.h and associated includes.  It might be possible to get upstream to include our such drivers as well, similar to how it's handled for and updated libinput.
Comment 48 Vladimir Kondratyev freebsd_committer 2018-11-03 18:29:58 UTC
(In reply to Niclas Zeising from comment #47)
> It sounds like I should look into getting ports to use
> our own input.h headers instead of the ones provided
> with v4l_compat or evdev-proto.
No, it means the opposite! "Use our own headers" is what evdev development started from. Some traces of it can still be found at some ports e.g. /usr/ports/devel/py-evdev/files/patch-v4l_compat . But it quickly turned out that supporting of linux/input* set of files as a port is much easier as you do not have to patch any sources and do not stick to a particular FreeBSD version!
Comment 49 Tobias C. Berner freebsd_committer 2018-11-04 13:51:57 UTC
(In reply to Niclas Zeising from comment #41)

We have our branches on github:
  - update-libinput 
  - plasma5-5.13 (aka kde@-trunk)
which contain the updates.

What kind of resources do you mean?


mfg Tobias
Comment 50 Tobias C. Berner freebsd_committer 2018-11-24 20:43:11 UTC
Moin moin

I will commit this by Decembre 22 if there is no sign of progress or status update.


Mfg Tobias
Comment 51 Niclas Zeising freebsd_committer 2018-12-04 22:20:12 UTC
First part of patch, the switch to devel/evdev-proto from v4l_compat for some headers has been submitted for exp-run here: 233787 .

I'll prepare patches for the rest of the updates so that everything is ready once the exp-run is done.
Comment 52 Tobias C. Berner freebsd_committer 2018-12-05 03:53:50 UTC
(In reply to Niclas Zeising from comment #51)
Awsome,  thanks.

Mfg Tobias
Comment 53 commit-hook freebsd_committer 2018-12-19 09:10:05 UTC
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
Comment 54 commit-hook freebsd_committer 2018-12-19 15:35:06 UTC
A commit references this bug:

Author: zeising
Date: Wed Dec 19 15:34:28 UTC 2018
New revision: 487802
URL: https://svnweb.freebsd.org/changeset/ports/487802

Log:
  Add new port: devel/py-pyudev

  Add new port devel/py-pyudev, python bindnings to libudev.
  This is needed for updated libinput

  More info here: https://pyudev.readthedocs.io/en/latest/
  Obtained from:  https://github.com/myfreeweb/freebsd-ports-dank/tree/master/devel/py-pyudev

  PR:		222905 (based on)
  Submitted by:	wulf, Greg V
  Obtained from:	FreeBSD Graphics Team development repo
  		https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/input
  		https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/input-ports

Changes:
  head/devel/Makefile
  head/devel/py-pyudev/
  head/devel/py-pyudev/Makefile
  head/devel/py-pyudev/distinfo
  head/devel/py-pyudev/pkg-descr
Comment 55 commit-hook freebsd_committer 2018-12-23 09:57:52 UTC
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
Comment 56 Tobias C. Berner freebsd_committer 2018-12-26 18:13:47 UTC
Moin moin

What's the ETA on the important part of this patch?  :-)


mfg Tobias
Comment 57 Niclas Zeising freebsd_committer 2018-12-26 22:40:24 UTC
(In reply to Tobias C. Berner from comment #56)

Sorry, holiday time and things.

Plan is to have it done before new-years, probably during the weekend before.
Comment 58 commit-hook freebsd_committer 2018-12-30 22:50:20 UTC
A commit references this bug:

Author: zeising
Date: Sun Dec 30 22:50:16 UTC 2018
New revision: 488748
URL: https://svnweb.freebsd.org/changeset/ports/488748

Log:
  x11/libinput: Update to 1.11.3

  Update x11/libinput to 1.11.3.
  Switch to use the meson build system.
  This adds a runtime dependency on python, since a bunch of libinput tools
  uses python.
  libinput tools, such as libinput-list-devices are now accessed through
  bin/libinput.
  Make wacom dependency an option (default to on).  Make the gui tool
  installation an option, default it to off.
  Add upstream patches to detect epoll-shim, to work around issues with our
  input.h headers, and to work around our lack of the versionsort() libc
  function.

  Remove old no longer needed patches.

  PR:		222905 (based on)
  Submitted by:	Greg V
  Obtained from:	FreeBSD Graphics Team Development Repo
  		https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/input
  		https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/input-ports

Changes:
  head/x11/libinput/Makefile
  head/x11/libinput/distinfo
  head/x11/libinput/files/patch-0e03784e.c
  head/x11/libinput/files/patch-4e3ea4b8.c
  head/x11/libinput/files/patch-61f3e385.c
  head/x11/libinput/files/patch-Makefile.am
  head/x11/libinput/files/patch-ef9b7e88.c
  head/x11/libinput/files/patch-f8b41205.c
  head/x11/libinput/files/patch-src_Makefile.am
  head/x11/libinput/files/patch-src_evdev.c
  head/x11/libinput/files/patch-src_libinput-private.h
  head/x11/libinput/files/patch-src_libinput-util.c
  head/x11/libinput/files/patch-src_libinput.h
  head/x11/libinput/files/patch-src_path-seat.c
  head/x11/libinput/files/patch-tools_Makefile.am
  head/x11/libinput/files/patch-udev_Makefile.am
  head/x11/libinput/pkg-plist
Comment 59 Niclas Zeising freebsd_committer 2018-12-30 22:51:48 UTC
Libinput 1.11.3 is in.  I have some bits and pieces left to commit, then I'll start working on getting us all the way to 1.12.
Comment 60 Tobias C. Berner freebsd_committer 2018-12-31 05:59:13 UTC
Thank you
Comment 61 commit-hook freebsd_committer 2018-12-31 06:39:12 UTC
A commit references this bug:

Author: tcberner
Date: Mon Dec 31 06:38:58 UTC 2018
New revision: 488757
URL: https://svnweb.freebsd.org/changeset/ports/488757

Log:
  Update KDE Plasma Desktop to 5.14.4

  https://www.kde.org/announcements/plasma-5.14.4.php

  PR:		222905

Changes:
  head/Mk/Uses/kde.mk
  head/audio/plasma5-plasma-pa/Makefile
  head/audio/plasma5-plasma-pa/distinfo
  head/audio/plasma5-plasma-pa/pkg-plist
  head/deskutils/plasma5-milou/Makefile
  head/deskutils/plasma5-milou/distinfo
  head/deskutils/plasma5-milou/pkg-plist
  head/deskutils/plasma5-sddm-kcm/Makefile
  head/deskutils/plasma5-sddm-kcm/distinfo
  head/devel/plasma5-khotkeys/Makefile
  head/devel/plasma5-khotkeys/distinfo
  head/devel/plasma5-khotkeys/pkg-plist
  head/devel/plasma5-kwrited/Makefile
  head/devel/plasma5-kwrited/distinfo
  head/devel/plasma5-plasma-sdk/Makefile
  head/devel/plasma5-plasma-sdk/distinfo
  head/devel/plasma5-plasma-sdk/pkg-plist
  head/security/plasma5-kscreenlocker/Makefile
  head/security/plasma5-kscreenlocker/distinfo
  head/security/plasma5-kscreenlocker/files/
  head/security/plasma5-kscreenlocker/pkg-plist
  head/security/plasma5-ksshaskpass/Makefile
  head/security/plasma5-ksshaskpass/distinfo
  head/security/plasma5-kwallet-pam/distinfo
  head/sysutils/plasma5-discover/Makefile
  head/sysutils/plasma5-discover/distinfo
  head/sysutils/plasma5-discover/pkg-plist
  head/sysutils/plasma5-drkonqi/Makefile
  head/sysutils/plasma5-drkonqi/distinfo
  head/sysutils/plasma5-drkonqi/pkg-plist
  head/sysutils/plasma5-kde-cli-tools/Makefile
  head/sysutils/plasma5-kde-cli-tools/distinfo
  head/sysutils/plasma5-kde-cli-tools/pkg-plist
  head/sysutils/plasma5-kinfocenter/Makefile
  head/sysutils/plasma5-kinfocenter/distinfo
  head/sysutils/plasma5-kinfocenter/files/patch-Modules_about-distro_src_OSRelease.cpp
  head/sysutils/plasma5-kinfocenter/pkg-plist
  head/sysutils/plasma5-kmenuedit/Makefile
  head/sysutils/plasma5-kmenuedit/distinfo
  head/sysutils/plasma5-kmenuedit/pkg-plist
  head/sysutils/plasma5-ksysguard/Makefile
  head/sysutils/plasma5-ksysguard/distinfo
  head/sysutils/plasma5-ksysguard/pkg-plist
  head/sysutils/plasma5-libksysguard/Makefile
  head/sysutils/plasma5-libksysguard/distinfo
  head/sysutils/plasma5-libksysguard/pkg-plist
  head/sysutils/plasma5-polkit-kde-agent-1/Makefile
  head/sysutils/plasma5-polkit-kde-agent-1/distinfo
  head/sysutils/plasma5-powerdevil/Makefile
  head/sysutils/plasma5-powerdevil/distinfo
  head/sysutils/plasma5-powerdevil/files/
  head/sysutils/plasma5-powerdevil/pkg-plist
  head/sysutils/plasma5-systemsettings/Makefile
  head/sysutils/plasma5-systemsettings/distinfo
  head/sysutils/plasma5-systemsettings/pkg-plist
  head/sysutils/plasma5-user-manager/Makefile
  head/sysutils/plasma5-user-manager/distinfo
  head/www/plasma5-plasma-browser-integration/Makefile
  head/www/plasma5-plasma-browser-integration/distinfo
  head/www/plasma5-plasma-browser-integration/files/
  head/www/plasma5-plasma-browser-integration/pkg-plist
  head/x11/plasma5-kactivitymanagerd/Makefile
  head/x11/plasma5-kactivitymanagerd/distinfo
  head/x11/plasma5-kgamma5/Makefile
  head/x11/plasma5-kgamma5/distinfo
  head/x11/plasma5-kgamma5/pkg-plist
  head/x11/plasma5-kscreen/Makefile
  head/x11/plasma5-kscreen/distinfo
  head/x11/plasma5-kscreen/pkg-plist
  head/x11/plasma5-kwayland-integration/Makefile
  head/x11/plasma5-kwayland-integration/distinfo
  head/x11/plasma5-kwayland-integration/pkg-plist
  head/x11/plasma5-libkscreen/Makefile
  head/x11/plasma5-libkscreen/distinfo
  head/x11/plasma5-plasma/Makefile
  head/x11/plasma5-plasma-desktop/Makefile
  head/x11/plasma5-plasma-desktop/distinfo
  head/x11/plasma5-plasma-desktop/files/patch-kcms_phonon_CMakeLists.txt
  head/x11/plasma5-plasma-desktop/pkg-plist
  head/x11/plasma5-plasma-integration/Makefile
  head/x11/plasma5-plasma-integration/distinfo
  head/x11/plasma5-plasma-integration/pkg-plist
  head/x11/plasma5-plasma-workspace/Makefile
  head/x11/plasma5-plasma-workspace/distinfo
  head/x11/plasma5-plasma-workspace/pkg-plist
  head/x11-themes/plasma5-breeze/Makefile
  head/x11-themes/plasma5-breeze/distinfo
  head/x11-themes/plasma5-breeze/pkg-plist
  head/x11-themes/plasma5-breeze-gtk/Makefile
  head/x11-themes/plasma5-breeze-gtk/distinfo
  head/x11-themes/plasma5-breeze-kde4/Makefile
  head/x11-themes/plasma5-breeze-kde4/pkg-plist
  head/x11-themes/plasma5-kde-gtk-config/Makefile
  head/x11-themes/plasma5-kde-gtk-config/distinfo
  head/x11-themes/plasma5-oxygen/Makefile
  head/x11-themes/plasma5-oxygen/distinfo
  head/x11-themes/plasma5-plasma-workspace-wallpapers/distinfo
  head/x11-toolkits/plasma5-kdeplasma-addons/Makefile
  head/x11-toolkits/plasma5-kdeplasma-addons/distinfo
  head/x11-toolkits/plasma5-kdeplasma-addons/pkg-plist
  head/x11-wm/plasma5-kdecoration/Makefile
  head/x11-wm/plasma5-kdecoration/distinfo
  head/x11-wm/plasma5-kdecoration/pkg-plist
  head/x11-wm/plasma5-kwin/Makefile
  head/x11-wm/plasma5-kwin/distinfo
  head/x11-wm/plasma5-kwin/pkg-plist
Comment 62 Niclas Zeising freebsd_committer 2018-12-31 16:37:27 UTC
Created attachment 200661 [details]
Update x11/libinput to 1.12.4

Hi!
Attached is a patch to update libinput to 1.12.4.
It is rebased on the changes done to the FreeBSD ports tree to update to libinput 1.11.3.  Please help test it.
It is also committed to our development repo, here:
https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/input-ports
Commit:
https://github.com/FreeBSDDesktop/freebsd-ports/commit/100511ffed6a19dbf767183dc3d5425eb261a30c

Please help out and give it a spin.

Thanks!
-- 
Niclas
Comment 63 Tobias C. Berner freebsd_committer 2018-12-31 20:37:41 UTC
(In reply to Niclas Zeising from comment #62)
Merged into our test-tree too: https://git.io/fhtWa

mfg Tobias
Comment 64 andrnils 2019-01-01 09:57:14 UTC
After applying patch and trying to build there are a few patches that fails to apply.


=> FreeBSD patch patch-0e03784e.c failed to apply cleanly.
=> FreeBSD patch patch-4e3ea4b8.c failed to apply cleanly.
=> FreeBSD patch patch-61f3e385.c failed to apply cleanly.
=> FreeBSD patch patch-ef9b7e88.c failed to apply cleanly.
=> FreeBSD patch patch-f8b41205.c failed to apply cleanly.


Prefixing those files with no- the rest of the patches applies.

Apart from the patches libinput-1.12.4 works well. I noticed an increase in the speed/sensitivity of the touchpad.
Comment 65 Niclas Zeising freebsd_committer 2019-01-01 10:39:21 UTC
(In reply to andrnils from comment #64)

Those files are removed.  I probably forgot to generate the patch from SVN with the flag to show removed files as deleted chunks.  By default the patch only shows that the files are deleted, which our patch(1) doesn't grok.

I'll generate a new patch shortly.
Comment 66 Niclas Zeising freebsd_committer 2019-01-01 10:59:41 UTC
(In reply to Niclas Zeising from comment #65)

No, the deletes show up properly in the patch, but you need to apply it with -E to have patch remove the empty files, and then possible remove the .orig files that patch leaves behind (or figure out how to have patch not leave them at all).

If you use svn, then svn patch /path/to/patch will do the right thing.
Comment 67 Ivan 2019-01-12 17:41:51 UTC
Niclas, what about pr196678 ? You've asked to wait till this one is resolved. As we have not-so-old libinput in ports, maybe it's time to commit not-so-old xOrg ?
Comment 68 Niclas Zeising freebsd_committer 2019-01-12 19:26:02 UTC
(In reply to Ivan from comment #67)

As far as I know, that one is not particularly well tested, and probably needs some work.  It is on my list.
Comment 69 Niclas Zeising freebsd_committer 2019-01-23 07:26:43 UTC
Created attachment 201353 [details]
Update x11/libinput to 1.12.6

Attached is an updated patch, which updates libinput to 1.12.6, and fixes the patch issue that was committed in ports r489372.

Please help test it.
Comment 70 Niclas Zeising freebsd_committer 2019-01-23 07:28:50 UTC
(In reply to Niclas Zeising from comment #69)

The same version is also available in our development repo, here:\https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/input-ports

Remember, if you apply the patch using patch(1), you need to specify -E to have it remove empty files.  Using svn patch, if you are in a svn repo, does the right thing.
Comment 71 commit-hook freebsd_committer 2019-01-31 07:46:53 UTC
A commit references this bug:

Author: zeising
Date: Thu Jan 31 07:46:47 UTC 2019
New revision: 491694
URL: https://svnweb.freebsd.org/changeset/ports/491694

Log:
  x11/libinput: Update to 1.12.6

  Update libinput to 1.12.6.
  This is the last remaining piece to bring us basically up to date with
  upstream input stack.

  PR:		222905
  Reported by:	Greg V (original version)
  Obtained from:	FreeBSDDesktop development repo
  		https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/input-ports
  Tested by:	tcberner (kde@), andrnils@gmail.com
  Sponsored by:	B3 Init (zeising)

Changes:
  head/x11/libinput/Makefile
  head/x11/libinput/distinfo
  head/x11/libinput/files/patch-src_evdev.c
  head/x11/libinput/pkg-plist
Comment 72 commit-hook freebsd_committer 2019-01-31 07:56:06 UTC
A commit references this bug:

Author: zeising
Date: Thu Jan 31 07:55:55 UTC 2019
New revision: 491696
URL: https://svnweb.freebsd.org/changeset/ports/491696

Log:
  x11/libinput: update to 1.12.6, fixup

  Fix previous commit, r491694, by actually removing old patches and adding
  new ones.  This was missed in the transition from git to svn.

  PR:		222905
  Reported by:	Greg V (original version)
  Obtained from:	FreeBSDDesktop development repo
  		https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/input-ports
  Tested by:	tcberner (kde@), andrnils@gmail.com
  Sponsored by:	B3 Init (zeising)

Changes:
  head/x11/libinput/files/patch-0e03784e.c
  head/x11/libinput/files/patch-4e3ea4b8.c
  head/x11/libinput/files/patch-61f3e385.c
  head/x11/libinput/files/patch-ef9b7e88.c
  head/x11/libinput/files/patch-f8b41205.c
  head/x11/libinput/files/patch-meson.build
Comment 73 Niclas Zeising freebsd_committer 2019-01-31 08:18:47 UTC
Last update in this has (hopefully) been comitted.  I'll leave this open over the weekend in case of regressions.
Comment 74 Jesper Schmitz Mouridsen freebsd_committer 2019-01-31 16:42:32 UTC
(In reply to Niclas Zeising from comment #73)

FreeBSD freebsd2.freebsd.lan 12.0-RELEASE-p2 FreeBSD 12.0-RELEASE-p2 GENERIC  amd64

I have trouble with the pkg-plist:
pwd: /usr/ports/x11/libinput
====> Compressing man pages (compress-man)
====> Running Q/A tests (stage-qa)
===>  Installing for libinput-1.12.6
===>  Checking if libinput already installed
===>   Registering installation for libinput-1.12.6 as automatic
pkg-static: Unable to access file /usr/ports/x11/libinput/work/stage/usr/local/lib/libinput.so:No such file or directory
pkg-static: Unable to access file /usr/ports/x11/libinput/work/stage/usr/local/lib/libinput.so.10:No such file or directory
pkg-static: Unable to access file /usr/ports/x11/libinput/work/stage/usr/local/lib/libinput.so.10.13.0:No such file or directory
pkg-static: Unable to access file /usr/ports/x11/libinput/work/stage/usr/local/libdata/pkgconfig/libinput.pc:No such file or directory

make makeplist lists lib64 instead of lib in pkg-plist                 :
lib64/libinput.so
lib64/libinput.so.10
lib64/libinput.so.10.13.0
Comment 75 Jesper Schmitz Mouridsen freebsd_committer 2019-01-31 20:29:32 UTC
https://github.com/mesonbuild/meson/blob/0.49/mesonbuild/mesonlib.py#L616

perma-link:

https://github.com/mesonbuild/meson/blob/31ba7006ad705d31c980ab015a77eb39cf39366f/mesonbuild/mesonlib.py#L616

if /usr/lib64 exists (it did on the system that could not build x11/libinput) then meson assumes you should use lib64 as libdir.
Comment 76 Niclas Zeising freebsd_committer 2019-02-01 08:30:51 UTC
(In reply to Jesper Schmitz Mouridsen from comment #75)

This looks like an upstream issue with meson, rather than libinput.  I'll try to work with meson upstream and the FreeBSD meson maintainer to see if we can figure out a way to fix this.
Comment 77 Niclas Zeising freebsd_committer 2019-02-06 11:10:15 UTC
It's been a week, the only reported issue has been the lib64 issue, which is a combination of issues with meson and the reporters's environment.
Closing this.