[Buildroot] [PATCH] hidapi: new package
Alan Ott
alan at signal11.us
Thu Nov 26 04:14:29 UTC 2015
On 11/16/2015 11:54 AM, Vicente Olivert Riera wrote:
> Signed-off-by: Vicente Olivert Riera <Vincent.Riera at imgtec.com>
> ---
> package/Config.in | 1 +
> package/hidapi/Config.in | 20 ++++++++++++++++++++
> package/hidapi/hidapi.hash | 2 ++
> package/hidapi/hidapi.mk | 27 +++++++++++++++++++++++++++
> 4 files changed, 50 insertions(+), 0 deletions(-)
> create mode 100644 package/hidapi/Config.in
> create mode 100644 package/hidapi/hidapi.hash
> create mode 100644 package/hidapi/hidapi.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index bdc3063..04800c5 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -864,6 +864,7 @@ menu "Hardware handling"
> source "package/ccid/Config.in"
> source "package/dtc/Config.in"
> source "package/gnu-efi/Config.in"
> + source "package/hidapi/Config.in"
> source "package/lcdapi/Config.in"
> source "package/libaio/Config.in"
> source "package/libatasmart/Config.in"
> diff --git a/package/hidapi/Config.in b/package/hidapi/Config.in
> new file mode 100644
> index 0000000..7fbc1c2
> --- /dev/null
> +++ b/package/hidapi/Config.in
> @@ -0,0 +1,20 @@
> +config BR2_PACKAGE_HIDAPI
> + bool "hidapi"
> + depends on BR2_PACKAGE_HAS_UDEV
> + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
> + select BR2_PACKAGE_LIBUSB
> + # When eudev is used as the udev provider, libgudev is
> + # automatically provided as it is part of eudev. However, when
> + # systemd is used as the udev provider, libgudev is not
> + # provided, and needs to be built separately. This is why we
> + # select the libgudev package only if systemd is used.
> + select BR2_PACKAGE_LIBGUDEV if BR2_PACKAGE_SYSTEMD
> + help
> + HIDAPI is a multi-platform library which allows an application
> + to interface with USB and Bluetooth HID-Class devices on
> + Windows, Linux, and Mac OS X.
> +
> + http://www.signal11.us/oss/hidapi/
> +
> +comment "hidapi needs udev /dev management and a toolchain w/ threads"
> + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_HAS_UDEV
> diff --git a/package/hidapi/hidapi.hash b/package/hidapi/hidapi.hash
> new file mode 100644
> index 0000000..ba00df2
> --- /dev/null
> +++ b/package/hidapi/hidapi.hash
> @@ -0,0 +1,2 @@
> +# Locally calculated
> +sha256 33e206f5e145fc1bc6aeb55084d71b55d686533d23ad5bb762746ceba81e728b hidapi-d17db57b9d4354752e0af42f5f33007a42ef2906.tar.gz
> diff --git a/package/hidapi/hidapi.mk b/package/hidapi/hidapi.mk
> new file mode 100644
> index 0000000..23d5eab
> --- /dev/null
> +++ b/package/hidapi/hidapi.mk
> @@ -0,0 +1,27 @@
> +################################################################################
> +#
> +# hidapi
> +#
> +################################################################################
> +
> +# Use master version as the current stable is very old and some bugs
> +# have been fixed since then.
> +HIDAPI_VERSION = d17db57b9d4354752e0af42f5f33007a42ef2906
> +HIDAPI_SITE = $(call github,signal11,hidapi,$(HIDAPI_VERSION))
> +HIDAPI_INSTALL_STAGING = YES
> +# No configure provided, so we need to autoreconf.
> +HIDAPI_AUTORECONF = YES
> +HIDAPI_LICENSE = GPLv3, BSD-3c
> +HIDAPI_LICENSE_FILES = LICENSE.txt LICENSE-gpl3.txt LICENSE-bsd.txt
> +
> +HIDAPI_DEPENDENCIES = libusb
> +# When eudev is used as the udev provider, libgudev is automatically
> +# provided as it is part of eudev. However, when systemd is used as the
> +# udev provider, libgudev is not provided, and needs to be built
> +# separately. This is why we select the libgudev package only if systemd
> +# is used.
> +ifeq ($(BR2_PACKAGE_SYSTEMD),y)
> +HIDAPI_DEPENDENCIES += libgudev
> +endif
> +
> +$(eval $(autotools-package))
Hi Vicente,
This looks ok to me.
For embedded, it would be nice to be able to build with only one
back-end (hidraw or libusb), but hidapi doesn't currently support
building that way. One day I'll get there.
Thanks for doing this!
Alan.
More information about the buildroot
mailing list