From 716ca530e1c4515d8683c9d5be3d56b301758b66 Mon Sep 17 00:00:00 2001 From: James <> Date: Wed, 4 Nov 2015 11:49:21 +0000 Subject: trunk-47381 --- package/libs/libusb/Makefile | 53 +++++++++++++++++++++++++++ package/libs/libusb/patches/001-timerfd.patch | 33 +++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 package/libs/libusb/Makefile create mode 100644 package/libs/libusb/patches/001-timerfd.patch (limited to 'package/libs/libusb') diff --git a/package/libs/libusb/Makefile b/package/libs/libusb/Makefile new file mode 100644 index 0000000..d2493fd --- /dev/null +++ b/package/libs/libusb/Makefile @@ -0,0 +1,53 @@ +# +# Copyright (C) 2010-2013 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 +PKG_VERSION:=1.0.19 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 +PKG_SOURCE_URL:=@SF/$(PKG_NAME) +PKG_MD5SUM:=f9e2bb5879968467e5ca756cb4e1fa7e + +PKG_INSTALL:=1 +PKG_BUILD_PARALLEL:=1 +PKG_LICENSE:=LGPL-2.1 + +PKG_MAINTAINER := Felix Fietkau + +include $(INCLUDE_DIR)/package.mk + +define Package/libusb-1.0 + SECTION:=libs + CATEGORY:=Libraries + TITLE:=A library for accessing Linux USB devices + DEPENDS:=+libpthread +librt + URL:=http://libusb.wiki.sourceforge.net/ +endef + +define Package/libusb-1.0/description + libusb is a C library that gives applications easy access to USB devices on + many different operating systems. +endef + +TARGET_CFLAGS += $(FPIC) +CONFIGURE_ARGS += \ + --disable-udev \ + --disable-log + +define Build/InstallDev + $(CP) $(PKG_INSTALL_DIR)/* $(1)/ +endef + +define Package/libusb-1.0/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libusb*.so* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,libusb-1.0)) diff --git a/package/libs/libusb/patches/001-timerfd.patch b/package/libs/libusb/patches/001-timerfd.patch new file mode 100644 index 0000000..d14e3dc --- /dev/null +++ b/package/libs/libusb/patches/001-timerfd.patch @@ -0,0 +1,33 @@ +commit cadb77d99e314e42c3eb02d016e9d90136ec6959 +Author: Alexander Gordeev +Date: Thu Jan 27 06:39:16 2011 +0300 + + fix timerfd initialization + + sys/timerfd.h defines TFD_NONBLOCK as 0x800 but in kernel TFD_NONBLOCK + is an alias for O_NONBLOCK which is defined in arch-specific fcntl.h. + While it's still 0x800 for most of archs but for mips it's 0x80. So + timerfd_create(..., TFD_NONBLOCK) returns -EINVAL because of that. Fix + this by using O_NONBLOCK instead. + + Signed-off-by: Alexander Gordeev + +--- a/libusb/io.c ++++ b/libusb/io.c +@@ -32,6 +32,7 @@ + #include + #endif + #ifdef USBI_TIMERFD_AVAILABLE ++#include + #include + #endif + +@@ -1141,7 +1142,7 @@ int usbi_io_init(struct libusb_context * + + #ifdef USBI_TIMERFD_AVAILABLE + ctx->timerfd = timerfd_create(usbi_backend->get_timerfd_clockid(), +- TFD_NONBLOCK); ++ O_NONBLOCK); + if (ctx->timerfd >= 0) { + usbi_dbg("using timerfd for timeouts"); + r = usbi_add_pollfd(ctx, ctx->timerfd, POLLIN); -- cgit v1.2.3