lbry-android-sdk/p4a/pythonforandroid/recipes/pyusb/fix-android.patch
Akinwale Ariwodola 744cfaebc2 Initial commit
2017-08-13 02:24:00 +01:00

40 lines
1.2 KiB
Diff

--- pyusb-1.0.0b1.orig/usb/backend/libusb1.py 2013-10-21 12:56:10.000000000 -0500
+++ pyusb-1.0.0b1/usb/backend/libusb1.py 2014-12-08 16:49:07.141514148 -0600
@@ -265,13 +265,7 @@
def _load_library():
if sys.platform != 'cygwin':
- candidates = ('usb-1.0', 'libusb-1.0', 'usb')
- for candidate in candidates:
- if sys.platform == 'win32':
- candidate = candidate + '.dll'
-
- libname = ctypes.util.find_library(candidate)
- if libname is not None: break
+ libname = '/system/lib/libusb1.0.so'
else:
# corner cases
# cygwin predefines library names with 'cyg' instead of 'lib'
@@ -672,16 +666,21 @@
# implementation of libusb 1.0 backend
class _LibUSB(usb.backend.IBackend):
+
+ ran_init = False
+
@methodtrace(_logger)
def __init__(self, lib):
usb.backend.IBackend.__init__(self)
self.lib = lib
self.ctx = c_void_p()
_check(self.lib.libusb_init(byref(self.ctx)))
+ self.ran_init = True
@methodtrace(_logger)
def __del__(self):
- self.lib.libusb_exit(self.ctx)
+ if self.ran_init is True:
+ self.lib.libusb_exit(self.ctx)
@methodtrace(_logger)