Bug 272118 - devel/libevdev: Update to 1.13.1
Summary: devel/libevdev: Update to 1.13.1
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Li-Wen Hsu
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-06-21 01:32 UTC by Li-Wen Hsu
Modified: 2023-06-22 12:21 UTC (History)
2 users (show)

See Also:
manu: maintainer-feedback+


Attachments
v1 (2.37 KB, patch)
2023-06-21 01:32 UTC, Li-Wen Hsu
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Li-Wen Hsu freebsd_committer freebsd_triage 2023-06-21 01:32:20 UTC
Created attachment 242908 [details]
v1
Comment 1 Nico Sonack 2023-06-21 17:48:35 UTC
I believe the pkg-plist and the build system is incomplete/broken. Currently I was trying to port a different piece of code depending on libevdev which fails with:

/usr/local/include/libevdev-1.0/libevdev/libevdev.h:30:10: fatal error: 'linux/input.h' file not found

This is on the previous version. Looking at the autotools build system of libevdev it should  install something along the lines of 'include/linux/freebsd/*.h'. Since the port is built with meson those install targets aren't used.

Also, I am building with the old version however the updated 1.13.1 seems to have the same issue.

Am I missing something here?
Comment 2 Li-Wen Hsu freebsd_committer freebsd_triage 2023-06-22 08:45:22 UTC
(In reply to Nico Sonack from comment #1)
both the old and new versions build fine on my poudriere, in fact, the new version doesn't have too much difference, the main reason to update is directly using the upstreamed patches.

If you can share more information at your side we can check it together.
Comment 3 Li-Wen Hsu freebsd_committer freebsd_triage 2023-06-22 08:46:18 UTC
Those ports have direct depending on libevdev have been tested in poudriere:

devel/evemu
devel/qt6-base
devel/wf-config
emulators/libretro-flycast
emulators/libretro-reicast
emulators/mesen
emulators/reicast
emulators/rpcs3
games/libmanette
games/moonlight-embedded
security/pam_howdy
sysutils/consolekit2
sysutils/hid-tools
x11-drivers/xf86-input-evdev
x11-drivers/xf86-input-synaptics
x11-toolkits/qt5-gui
x11-wm/cagebreak
x11-wm/river
x11-wm/sway
x11-wm/sway-devel
x11/evtest
x11/libei
x11/libinput
x11/showmethekey
x11/waybar
x11/wcm
Comment 4 Nico Sonack 2023-06-22 12:21:51 UTC
Thank you for your answer. After some more investigation I found out that there is devel/evdev-proto which seemingly provides these missing headers and most of your listed ports either depend directly or indirectly on mentioned port at build time. However, the distfiles are derived from a different source (the linux kernel as it seems) which has me slightly concerned.

Why does libevedev not directly depend on evdev-proto? It is kinda broken if not entirely useless without it.

I see two sensible approaches here:

1.) Make libevdev depend directly on evdev-proto OR
2.) Use and install the headers included in the libevdev releases. This would also require some interaction with the upstream developers as the meson build system apparently doesn't install the required headers.

Option 2 makes more sense imho however maybe this was done for easier maintainability within ports.

PS:

I was working on an 86Box port which lead to me chiming in here. See https://github.com/herrhotzenplotz/ports-overlay/tree/86box/emulators/86Box in case you wish to reproduce the issue. It is everything from being finished but it causes the bug.