aboutsummaryrefslogtreecommitdiffstats
path: root/package/libs/libusb
diff options
context:
space:
mode:
Diffstat (limited to 'package/libs/libusb')
-rw-r--r--package/libs/libusb/Makefile37
-rw-r--r--package/libs/libusb/patches/001-Correct-a-typo-in-the-Changelog-and-clean-up-a-stray.patch29
-rw-r--r--package/libs/libusb/patches/002-linux_usbfs-Fix-parsing-of-descriptors-for-multi-con.patch61
3 files changed, 30 insertions, 97 deletions
diff --git a/package/libs/libusb/Makefile b/package/libs/libusb/Makefile
index 6b80b3848d7..0c6de7cb618 100644
--- a/package/libs/libusb/Makefile
+++ b/package/libs/libusb/Makefile
@@ -8,18 +8,19 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libusb
-PKG_VERSION:=1.0.24
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_VERSION:=1.0.26
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=\
https://github.com/libusb/libusb/releases/download/v$(PKG_VERSION) \
@SF/$(PKG_NAME)
-PKG_HASH:=7efd2685f7b327326dcfb85cee426d9b871fd70e22caa15bb68d595ce2a2b12a
+PKG_HASH:=12ce7a61fc9854d1d2a1ffe095f7b5fac19ddba095c259e6067a46500381b5a5
PKG_MAINTAINER:= Felix Fietkau <nbd@nbd.name>
PKG_LICENSE:=LGPL-2.1-or-later
PKG_LICENSE_FILES:=COPYING
+PKG_CPE_ID:=cpe:/a:libusb:libusb
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
@@ -30,7 +31,7 @@ define Package/libusb-1.0
SECTION:=libs
CATEGORY:=Libraries
TITLE:=A library for accessing Linux USB devices
- DEPENDS:=+libpthread +librt
+ DEPENDS:=+libpthread +librt +libatomic
URL:=http://libusb.info/
ABI_VERSION:=0
endef
@@ -40,10 +41,26 @@ define Package/libusb-1.0/description
many different operating systems.
endef
+define Package/fxload
+ SECTION:=utils
+ CATEGORY:=Utilities
+ TITLE:=fxload firmware loader
+ URL:=http://linux-hotplug.sourceforge.net
+ DEPENDS:=+libusb-1.0
+endef
+
+define Package/fxload/description
+This program is conveniently able to download firmware into FX, FX2,
+and FX2LP EZ-USB devices, as well as the original AnchorChips EZ-USB.
+It is intended to be invoked by hotplug scripts when the unprogrammed
+device appears on the bus.
+endef
+
TARGET_CFLAGS += $(FPIC)
CONFIGURE_ARGS += \
- --disable-udev \
- --disable-log
+ --enable-examples-build \
+ --disable-log \
+ --disable-udev
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/libusb-1.0
@@ -56,7 +73,13 @@ endef
define Package/libusb-1.0/install
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libusb-1.0.so.* $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libusb-1.0.so* $(1)/usr/lib/
+endef
+
+define Package/fxload/install
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/examples/.libs/fxload $(1)/usr/sbin
endef
$(eval $(call BuildPackage,libusb-1.0))
+$(eval $(call BuildPackage,fxload))
diff --git a/package/libs/libusb/patches/001-Correct-a-typo-in-the-Changelog-and-clean-up-a-stray.patch b/package/libs/libusb/patches/001-Correct-a-typo-in-the-Changelog-and-clean-up-a-stray.patch
deleted file mode 100644
index b17d6178d38..00000000000
--- a/package/libs/libusb/patches/001-Correct-a-typo-in-the-Changelog-and-clean-up-a-stray.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 369af149e3ad92514a2d24f112cedfeb7acaf558 Mon Sep 17 00:00:00 2001
-From: Chris Dickens <christopher.a.dickens@gmail.com>
-Date: Sun, 13 Dec 2020 15:46:27 -0800
-Subject: [PATCH] Correct a typo in the Changelog and clean up a stray file
-
-Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
----
- ChangeLog | 2 +-
- libusb/version_nano.h | 2 +-
- test | 0
- 3 files changed, 2 insertions(+), 2 deletions(-)
- delete mode 100644 test
-
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -12,7 +12,7 @@ visit: http://log.libusb.info
- * Darwin (macOS): use IOUSBDevice as darwin_device_class explicitly (#693)
- * Linux: Drop support for kernel older than 2.6.32
- * Linux: Provide an event thread name (#689)
--* Linux: Wait until all USBs have been reaped before freeing them (#607)
-+* Linux: Wait until all URBs have been reaped before freeing them (#607)
- * NetBSD: Recognize device timeouts (#710)
- * OpenBSD: Allow opening ugen devices multiple times (#763)
- * OpenBSD: Support libusb_get_port_number() (#764)
---- a/libusb/version_nano.h
-+++ b/libusb/version_nano.h
-@@ -1 +1 @@
--#define LIBUSB_NANO 11584
-+#define LIBUSB_NANO 11585
diff --git a/package/libs/libusb/patches/002-linux_usbfs-Fix-parsing-of-descriptors-for-multi-con.patch b/package/libs/libusb/patches/002-linux_usbfs-Fix-parsing-of-descriptors-for-multi-con.patch
deleted file mode 100644
index a53a8900ded..00000000000
--- a/package/libs/libusb/patches/002-linux_usbfs-Fix-parsing-of-descriptors-for-multi-con.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From f6d2cb561402c3b6d3627c0eb89e009b503d9067 Mon Sep 17 00:00:00 2001
-From: Chris Dickens <christopher.a.dickens@gmail.com>
-Date: Sun, 13 Dec 2020 15:49:19 -0800
-Subject: [PATCH] linux_usbfs: Fix parsing of descriptors for
- multi-configuration devices
-
-Commit e2be556bd2 ("linux_usbfs: Parse config descriptors during device
-initialization") introduced a regression for devices with multiple
-configurations. The logic that verifies the reported length of the
-configuration descriptors failed to count the length of the
-configuration descriptor itself and would truncate the actual length by
-9 bytes, leading to a parsing error for subsequent descriptors.
-
-Closes #825
-
-Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
----
- libusb/os/linux_usbfs.c | 12 ++++++++----
- libusb/version_nano.h | 2 +-
- 2 files changed, 9 insertions(+), 5 deletions(-)
-
---- a/libusb/os/linux_usbfs.c
-+++ b/libusb/os/linux_usbfs.c
-@@ -641,7 +641,12 @@ static int seek_to_next_config(struct li
- uint8_t *buffer, size_t len)
- {
- struct usbi_descriptor_header *header;
-- int offset = 0;
-+ int offset;
-+
-+ /* Start seeking past the config descriptor */
-+ offset = LIBUSB_DT_CONFIG_SIZE;
-+ buffer += LIBUSB_DT_CONFIG_SIZE;
-+ len -= LIBUSB_DT_CONFIG_SIZE;
-
- while (len > 0) {
- if (len < 2) {
-@@ -718,7 +723,7 @@ static int parse_config_descriptors(stru
- }
-
- if (priv->sysfs_dir) {
-- /*
-+ /*
- * In sysfs wTotalLength is ignored, instead the kernel returns a
- * config descriptor with verified bLength fields, with descriptors
- * with an invalid bLength removed.
-@@ -727,8 +732,7 @@ static int parse_config_descriptors(stru
- int offset;
-
- if (num_configs > 1 && idx < num_configs - 1) {
-- offset = seek_to_next_config(ctx, buffer + LIBUSB_DT_CONFIG_SIZE,
-- remaining - LIBUSB_DT_CONFIG_SIZE);
-+ offset = seek_to_next_config(ctx, buffer, remaining);
- if (offset < 0)
- return offset;
- sysfs_config_len = (uint16_t)offset;
---- a/libusb/version_nano.h
-+++ b/libusb/version_nano.h
-@@ -1 +1 @@
--#define LIBUSB_NANO 11585
-+#define LIBUSB_NANO 11586