From 499d76a43c8accc286bb06b47a4d7031afaed8bd Mon Sep 17 00:00:00 2001 From: James <> Date: Wed, 27 Oct 2021 15:17:29 +0100 Subject: fish --- master/libusb-compat | 251 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 251 insertions(+) create mode 100644 master/libusb-compat (limited to 'master/libusb-compat') diff --git a/master/libusb-compat b/master/libusb-compat new file mode 100644 index 0000000..e4eb4b8 --- /dev/null +++ b/master/libusb-compat @@ -0,0 +1,251 @@ +diff --git a/package/libs/libusb-compat/Makefile b/package/libs/libusb-compat/Makefile +new file mode 100644 +index 0000000..5f9b238 +--- /dev/null ++++ b/package/libs/libusb-compat/Makefile +@@ -0,0 +1,54 @@ ++# ++# Copyright (C) 2010-2015 OpenWrt.org ++# ++# This is free software, licensed under the GNU General Public License v2. ++# See /LICENSE for more information. ++# ++ ++include $(TOPDIR)/rules.mk ++ ++PKG_NAME:=libusb-compat ++PKG_VERSION:=0.1.5 ++PKG_RELEASE:=2 ++ ++PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 ++PKG_SOURCE_URL:=@SF/libusb ++PKG_HASH:=404ef4b6b324be79ac1bfb3d839eac860fbc929e6acb1ef88793a6ea328bc55a ++ ++PKG_INSTALL:=1 ++PKG_BUILD_PARALLEL:=1 ++PKG_LICENSE:=LGPL-2.1 ++ ++PKG_MAINTAINER := Felix Fietkau ++ ++include $(INCLUDE_DIR)/package.mk ++ ++define Package/libusb-compat ++ SECTION:=libs ++ CATEGORY:=Libraries ++ TITLE:=libusb-0.1 compatibility library ++ DEPENDS:=+libusb-1.0 ++ URL:=http://libusb.wiki.sourceforge.net/ ++ ABI_VERSION:=4 ++endef ++ ++define Package/libusb-compat/description ++ libusb is a C library that gives applications easy access to USB devices on ++ many different operating systems. ++endef ++ ++TARGET_CFLAGS += $(FPIC) ++ ++define Build/InstallDev ++ $(INSTALL_DIR) $(1) ++ $(CP) $(PKG_INSTALL_DIR)/* $(1)/ ++ $(INSTALL_DIR) $(2)/bin ++ $(CP) $(PKG_INSTALL_DIR)/usr/bin/libusb-config $(2)/bin/ ++endef ++ ++define Package/libusb-compat/install ++ $(INSTALL_DIR) $(1)/usr/lib ++ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libusb-0.1.so* $(1)/usr/lib/ ++endef ++ ++$(eval $(call BuildPackage,libusb-compat)) +diff --git a/package/libs/libusb-compat/patches/001-fix-musl-stdint.patch b/package/libs/libusb-compat/patches/001-fix-musl-stdint.patch +new file mode 100644 +index 0000000..333bc09 +--- /dev/null ++++ b/package/libs/libusb-compat/patches/001-fix-musl-stdint.patch +@@ -0,0 +1,185 @@ ++--- a/libusb/usb.h +++++ b/libusb/usb.h ++@@ -27,6 +27,7 @@ ++ ++ #include ++ #include +++#include ++ #include ++ ++ #include ++@@ -78,40 +79,40 @@ ++ ++ /* All standard descriptors have these 2 fields in common */ ++ struct usb_descriptor_header { ++- u_int8_t bLength; ++- u_int8_t bDescriptorType; +++ uint8_t bLength; +++ uint8_t bDescriptorType; ++ }; ++ ++ /* String descriptor */ ++ struct usb_string_descriptor { ++- u_int8_t bLength; ++- u_int8_t bDescriptorType; ++- u_int16_t wData[1]; +++ uint8_t bLength; +++ uint8_t bDescriptorType; +++ uint16_t wData[1]; ++ }; ++ ++ /* HID descriptor */ ++ struct usb_hid_descriptor { ++- u_int8_t bLength; ++- u_int8_t bDescriptorType; ++- u_int16_t bcdHID; ++- u_int8_t bCountryCode; ++- u_int8_t bNumDescriptors; ++- /* u_int8_t bReportDescriptorType; */ ++- /* u_int16_t wDescriptorLength; */ +++ uint8_t bLength; +++ uint8_t bDescriptorType; +++ uint16_t bcdHID; +++ uint8_t bCountryCode; +++ uint8_t bNumDescriptors; +++ /* uint8_t bReportDescriptorType; */ +++ /* uint16_t wDescriptorLength; */ ++ /* ... */ ++ }; ++ ++ /* Endpoint descriptor */ ++ #define USB_MAXENDPOINTS 32 ++ struct usb_endpoint_descriptor { ++- u_int8_t bLength; ++- u_int8_t bDescriptorType; ++- u_int8_t bEndpointAddress; ++- u_int8_t bmAttributes; ++- u_int16_t wMaxPacketSize; ++- u_int8_t bInterval; ++- u_int8_t bRefresh; ++- u_int8_t bSynchAddress; +++ uint8_t bLength; +++ uint8_t bDescriptorType; +++ uint8_t bEndpointAddress; +++ uint8_t bmAttributes; +++ uint16_t wMaxPacketSize; +++ uint8_t bInterval; +++ uint8_t bRefresh; +++ uint8_t bSynchAddress; ++ ++ unsigned char *extra; /* Extra descriptors */ ++ int extralen; ++@@ -129,15 +130,15 @@ struct usb_endpoint_descriptor { ++ /* Interface descriptor */ ++ #define USB_MAXINTERFACES 32 ++ struct usb_interface_descriptor { ++- u_int8_t bLength; ++- u_int8_t bDescriptorType; ++- u_int8_t bInterfaceNumber; ++- u_int8_t bAlternateSetting; ++- u_int8_t bNumEndpoints; ++- u_int8_t bInterfaceClass; ++- u_int8_t bInterfaceSubClass; ++- u_int8_t bInterfaceProtocol; ++- u_int8_t iInterface; +++ uint8_t bLength; +++ uint8_t bDescriptorType; +++ uint8_t bInterfaceNumber; +++ uint8_t bAlternateSetting; +++ uint8_t bNumEndpoints; +++ uint8_t bInterfaceClass; +++ uint8_t bInterfaceSubClass; +++ uint8_t bInterfaceProtocol; +++ uint8_t iInterface; ++ ++ struct usb_endpoint_descriptor *endpoint; ++ ++@@ -155,14 +156,14 @@ struct usb_interface { ++ /* Configuration descriptor information.. */ ++ #define USB_MAXCONFIG 8 ++ struct usb_config_descriptor { ++- u_int8_t bLength; ++- u_int8_t bDescriptorType; ++- u_int16_t wTotalLength; ++- u_int8_t bNumInterfaces; ++- u_int8_t bConfigurationValue; ++- u_int8_t iConfiguration; ++- u_int8_t bmAttributes; ++- u_int8_t MaxPower; +++ uint8_t bLength; +++ uint8_t bDescriptorType; +++ uint16_t wTotalLength; +++ uint8_t bNumInterfaces; +++ uint8_t bConfigurationValue; +++ uint8_t iConfiguration; +++ uint8_t bmAttributes; +++ uint8_t MaxPower; ++ ++ struct usb_interface *interface; ++ ++@@ -172,28 +173,28 @@ struct usb_config_descriptor { ++ ++ /* Device descriptor */ ++ struct usb_device_descriptor { ++- u_int8_t bLength; ++- u_int8_t bDescriptorType; ++- u_int16_t bcdUSB; ++- u_int8_t bDeviceClass; ++- u_int8_t bDeviceSubClass; ++- u_int8_t bDeviceProtocol; ++- u_int8_t bMaxPacketSize0; ++- u_int16_t idVendor; ++- u_int16_t idProduct; ++- u_int16_t bcdDevice; ++- u_int8_t iManufacturer; ++- u_int8_t iProduct; ++- u_int8_t iSerialNumber; ++- u_int8_t bNumConfigurations; +++ uint8_t bLength; +++ uint8_t bDescriptorType; +++ uint16_t bcdUSB; +++ uint8_t bDeviceClass; +++ uint8_t bDeviceSubClass; +++ uint8_t bDeviceProtocol; +++ uint8_t bMaxPacketSize0; +++ uint16_t idVendor; +++ uint16_t idProduct; +++ uint16_t bcdDevice; +++ uint8_t iManufacturer; +++ uint8_t iProduct; +++ uint8_t iSerialNumber; +++ uint8_t bNumConfigurations; ++ }; ++ ++ struct usb_ctrl_setup { ++- u_int8_t bRequestType; ++- u_int8_t bRequest; ++- u_int16_t wValue; ++- u_int16_t wIndex; ++- u_int16_t wLength; +++ uint8_t bRequestType; +++ uint8_t bRequest; +++ uint16_t wValue; +++ uint16_t wIndex; +++ uint16_t wLength; ++ }; ++ ++ /* ++@@ -254,7 +255,7 @@ struct usb_device { ++ ++ void *dev; /* Darwin support */ ++ ++- u_int8_t devnum; +++ uint8_t devnum; ++ ++ unsigned char num_children; ++ struct usb_device **children; ++@@ -266,7 +267,7 @@ struct usb_bus { ++ char dirname[PATH_MAX + 1]; ++ ++ struct usb_device *devices; ++- u_int32_t location; +++ uint32_t location; ++ ++ struct usb_device *root_dev; ++ }; -- cgit v1.2.3