python-pylibftdi: new package

Adds the python binding for libftdi to buildroot.

Signed-off-by: Christian Kellermann <christian.kellermann@solectrix.de>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Christian Kellermann 2017-03-01 17:18:39 +01:00 committed by Thomas Petazzoni
parent e2ac546c19
commit 5b7a53ab8c
6 changed files with 64 additions and 0 deletions

View file

@ -306,6 +306,9 @@ F: package/micropython/
F: package/micropython-lib/
F: package/syslog-ng/
N: Christian Kellermann <christian.kellermann@solectrix.de>
F: package/python-pylibftdi/
N: Christian Stewart <christian@paral.in>
F: linux/linux-ext-aufs.mk
F: package/aufs/

View file

@ -768,6 +768,7 @@ menu "External python modules"
source "package/python-pygments/Config.in"
source "package/python-pyicu/Config.in"
source "package/python-pyinotify/Config.in"
source "package/python-pylibftdi/Config.in"
source "package/python-pylru/Config.in"
source "package/python-pymysql/Config.in"
source "package/python-pynacl/Config.in"

View file

@ -0,0 +1,31 @@
Hard code library loading
Shortcut the search for the libraries in case the built in
find_library is broken.
As buildroot does not ship any of the external programs that the core
procedure use to find libraries use the canonical name of the shared
object and load it.
In this case this affects loading libftdi and libusb.
This should be reliable as we specify said libs as dependencies of
this package.
Signed-off-by: Christian Kellermann <christian.kellermann@solectrix.de>
---
diff -purN pylibftdi-0.15.0.orig/pylibftdi/driver.py pylibftdi-0.15.0/pylibftdi/driver.py
--- pylibftdi-0.15.0.orig/pylibftdi/driver.py 2015-04-26 22:41:39.000000000 +0200
+++ pylibftdi-0.15.0/pylibftdi/driver.py 2017-02-27 13:08:56.502958000 +0100
@@ -121,8 +121,8 @@ class Driver(object):
lib = getattr(cdll, lib_path)
break
if lib is None:
- raise LibraryMissingError('{} library not found (search: {})'.format(
- name, search_list))
+ return cdll.LoadLibrary(name + '.so')
+
return lib
@property

View file

@ -0,0 +1,11 @@
config BR2_PACKAGE_PYTHON_PYLIBFTDI
bool "python-pylibftdi"
select BR2_PACKAGE_LIBFTDI
depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
help
This package contains the python language binding libftdi.
https://pypi.python.org/pypi/pylibftdi
comment "python-pylibftdi needs a toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS

View file

@ -0,0 +1,3 @@
# md5 from https://pypi.python.org/pypi/pylibftdi/json, sha256 locally computed
md5 eaee7fb3a67f33a35a164a9628daaafe pylibftdi-0.15.0.tar.gz
sha256 51ef08ebcc4ec3eaec2366e9648d3f8fa1b737ea507a7f3a374ac58abf148e77 pylibftdi-0.15.0.tar.gz

View file

@ -0,0 +1,15 @@
################################################################################
#
# python-libftdi
#
################################################################################
PYTHON_PYLIBFTDI_VERSION = 0.15.0
PYTHON_PYLIBFTDI_SOURCE = pylibftdi-$(PYTHON_PYLIBFTDI_VERSION).tar.gz
PYTHON_PYLIBFTDI_SITE = https://pypi.python.org/packages/e5/bb/d7a86dbd7685e3866ea75d21c6c726d01706fdc0aa5dc9051ce18ae65693
PYTHON_PYLIBFTDI_LICENSE = MIT
PYTHON_PYLIBFTDI_LICENSE_FILES = LICENSE.txt
PYTHON_PYLIBFTDI_DEPENDENCIES = libftdi
PYTHON_PYLIBFTDI_SETUP_TYPE = setuptools
$(eval $(python-package))