Переглянути джерело

hidapi: new package

[Thomas:
 - use BR2_INIT_SYSTEMD instead of BR2_PACKAGE_SYSTEMD for the
   libgudev handling. This is consistent with what we do in libmbim,
   modem-manager and network-manager. Only udisks is diverging from
   this by using BR2_PACKAGE_SYSTEMD.
 - Fix the license info: it is GPLv3 *or* BSD-3c *or* the specific
   HIDAPI license. Added LICENSE-orig.txt to LICENSE_FILES.]

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Vicente Olivert Riera 9 роки тому
батько
коміт
6267f34afd
4 змінених файлів з 51 додано та 0 видалено
  1. 1 0
      package/Config.in
  2. 20 0
      package/hidapi/Config.in
  3. 2 0
      package/hidapi/hidapi.hash
  4. 28 0
      package/hidapi/hidapi.mk

+ 1 - 0
package/Config.in

@@ -865,6 +865,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"

+ 20 - 0
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_INIT_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

+ 2 - 0
package/hidapi/hidapi.hash

@@ -0,0 +1,2 @@
+# Locally calculated
+sha256 33e206f5e145fc1bc6aeb55084d71b55d686533d23ad5bb762746ceba81e728b  hidapi-d17db57b9d4354752e0af42f5f33007a42ef2906.tar.gz

+ 28 - 0
package/hidapi/hidapi.mk

@@ -0,0 +1,28 @@
+################################################################################
+#
+# 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 or BSD-3c or HIDAPI license
+HIDAPI_LICENSE_FILES = LICENSE.txt LICENSE-gpl3.txt LICENSE-bsd.txt LICENSE-orig.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 depend on the libgudev package only if
+# systemd is used.
+ifeq ($(BR2_INIT_SYSTEMD),y)
+HIDAPI_DEPENDENCIES += libgudev
+endif
+
+$(eval $(autotools-package))