From: Tomas Mudrunka <tomas.mudrunka@gmail.com>
To: buildroot@buildroot.org
Cc: Adrian Perez de Castro <aperez@igalia.com>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Tomas Mudrunka <tomas.mudrunka@gmail.com>
Subject: [Buildroot] [PATCH v2 0/5] package/hidapi: allow building without udev
Date: Fri, 13 Nov 2026 15:51:56 +0100 [thread overview]
Message-ID: <20261113145201.2357363-1-tomas.mudrunka@gmail.com> (raw)
In-Reply-To: <20260324130037.1411867-1-tomas.mudrunka@gmail.com>
This series allows to use hidapi (libhidapi-libusb) on systems without
udev, by making the hidraw backend optional.
To do so, the package is converted to cmake, which allows to select the
backends to build. Before that, the bogus libgudev dependency is
replaced by the udev one, as hidapi only uses libudev; libmanette, which
relied on hidapi to get libgudev, now selects it directly.
Existing configurations keep building the same hidapi libraries: the
hidraw backend is enabled by default when udev is available.
libmanette, the only in-tree user that requires hidapi-hidraw, now
selects it.
The last patch adds me to DEVELOPERS for hidapi, as we use it in
production on systems without udev and I'm happy to look after it.
Feel free to drop it if not wanted.
Changes v1 -> v2:
- rebased on top of commit 74def2cdd4 ("package/hidapi: propagate
dependencies of libgudev")
- split into four patches (libmanette: select libgudev, libgudev ->
udev, cmake conversion, optional hidraw backend)
- libmanette: select BR2_PACKAGE_HIDAPI_HIDRAW, as it only looks up
hidapi-hidraw.pc
- new patch: libmanette selects libgudev, which it used to get
through hidapi
- new patch: add myself to DEVELOPERS for hidapi
- drop HIDAPI_SUPPORTS_IN_SOURCE_BUILD = NO, not needed
- Config.in: use the usual "needs udev /dev management" comment,
simplify the default of the hidraw option
Tested with utils/test-pkg (default toolchain set):
- BR2_PACKAGE_HIDAPI=y (no udev): all OK, armv7m-uclibc skipped
(no NPTL)
- with eudev and the hidraw backend: OK, except bootlin-armv5-uclibc,
which fails because wcsdup() is not declared by that toolchain's
uClibc-ng headers; the same failure happens on master without this
series (fixed in Buildroot's own uClibc by
package/uclibc/0007-wchar.h-declare-wcsdup-for-POSIX.1-2008.patch)
- BR2_PACKAGE_LIBSIGROK=y and BR2_PACKAGE_AVRDUDE=y with hidapi, no
udev, on bootlin-armv7-glibc: OK (both use hidapi-libusb)
Tomas Mudrunka (5):
package/libmanette: select libgudev
package/hidapi: depend on udev instead of libgudev
package/hidapi: convert to cmake-package
package/hidapi: make the hidraw backend optional
DEVELOPERS: add Tomas Mudrunka for hidapi
DEVELOPERS | 3 +++
package/hidapi/Config.in | 26 +++++++++++++++++++-------
package/hidapi/hidapi.mk | 19 ++++++++++++++-----
package/libmanette/Config.in | 4 +++-
package/libmanette/libmanette.mk | 9 ++-------
5 files changed, 41 insertions(+), 20 deletions(-)
--
2.56.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2026-11-13 14:54 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-24 13:00 [Buildroot] [PATCH 1/1] package/hidapi: add support for build without hidraw support when udev is not available Tomas Mudrunka
2026-11-13 14:51 ` Tomas Mudrunka [this message]
2026-11-13 14:51 ` [Buildroot] [PATCH v2 1/5] package/libmanette: select libgudev Tomas Mudrunka
2026-11-13 14:51 ` [Buildroot] [PATCH v2 2/5] package/hidapi: depend on udev instead of libgudev Tomas Mudrunka
2026-11-13 14:51 ` [Buildroot] [PATCH v2 3/5] package/hidapi: convert to cmake-package Tomas Mudrunka
2026-11-13 14:52 ` [Buildroot] [PATCH v2 4/5] package/hidapi: make the hidraw backend optional Tomas Mudrunka
2026-11-13 14:52 ` [Buildroot] [PATCH v2 5/5] DEVELOPERS: add Tomas Mudrunka for hidapi Tomas Mudrunka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261113145201.2357363-1-tomas.mudrunka@gmail.com \
--to=tomas.mudrunka@gmail.com \
--cc=aperez@igalia.com \
--cc=buildroot@buildroot.org \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox