package/python-autobahn: bump to version 21.3.1

Strip xbr contracts which are used only for the xbr feature which is
entirely unsupported by buildroot.

Add patch to fix some xbr assets getting accidentially included.

Enable the optimized nvx cffi extension module when available.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
James Hilliard 2021-08-08 08:44:33 -06:00 committed by Thomas Petazzoni
parent a2e9f3fbdd
commit 68933bf195
5 changed files with 122 additions and 4 deletions

View File

@ -0,0 +1,54 @@
From b13b7e38b38e2c79c0a13be32e05f0451483cd01 Mon Sep 17 00:00:00 2001
From: James Hilliard <james.hilliard1@gmail.com>
Date: Sat, 12 Jun 2021 15:32:37 -0600
Subject: [PATCH] Fix duplicate xbr packages and xbr templates package_data.
(#1492)
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
[james.hilliard1@gmail.com: backport from upstream commit
a370f9e7154e59b313cb675bfcaf8cad6011bd52]
---
MANIFEST.in | 1 -
setup.py | 10 ++++++++--
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/MANIFEST.in b/MANIFEST.in
index f4cb6da1..1dd32f0e 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,4 +1,3 @@
include LICENSE
include autobahn/nvx/_utf8validator.c
recursive-include autobahn/wamp/gen/schema *
-recursive-include autobahn/xbr/templates *
diff --git a/setup.py b/setup.py
index cf4e29ba..f27006da 100644
--- a/setup.py
+++ b/setup.py
@@ -166,6 +166,12 @@ packages = [
'twisted.plugins',
]
+xbr_packages = [
+ 'autobahn.xbr',
+ 'autobahn.asyncio.xbr',
+ 'autobahn.twisted.xbr',
+]
+
package_data = {'autobahn.asyncio': ['./test/*']}
entry_points = {
@@ -179,8 +185,8 @@ if 'AUTOBAHN_STRIP_XBR' in os.environ:
shutil.rmtree('autobahn.egg-info', ignore_errors=True)
else:
extras_require_all += extras_require_xbr
- packages += ['autobahn.xbr', 'autobahn.asyncio.xbr', 'autobahn.twisted.xbr']
- package_data['xbr'] = ['./xbr/contracts/*.json']
+ packages += xbr_packages
+ package_data['xbr'] = ['./xbr/templates/*.py.jinja2']
entry_points['console_scripts'] += ["xbrnetwork = autobahn.xbr._cli:_main"]
# development dependencies
--
2.25.1

View File

@ -0,0 +1,60 @@
From 1e3162bab59cbc2f7cf8b9ef6cadf55ee273c1d8 Mon Sep 17 00:00:00 2001
From: James Hilliard <james.hilliard1@gmail.com>
Date: Thu, 22 Jul 2021 06:56:51 -0600
Subject: [PATCH] Build with nvx by default and don't publish universal wheel.
(#1493)
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
[james.hilliard1@gmail.com: backport from upstream commit
a35f22eeaafca7568f1deb35c4a1b82ae78f77d4]
---
Makefile | 8 ++++----
autobahn/nvx/_utf8validator.py | 7 ++++++-
setup.py | 7 +------
3 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/autobahn/nvx/_utf8validator.py b/autobahn/nvx/_utf8validator.py
index e72fc872..34393356 100644
--- a/autobahn/nvx/_utf8validator.py
+++ b/autobahn/nvx/_utf8validator.py
@@ -44,13 +44,18 @@ ffi.cdef("""
int nvx_utf8vld_get_impl(void* utf8vld);
""")
+optional = True
+if 'AUTOBAHN_USE_NVX' in os.environ and os.environ['AUTOBAHN_USE_NVX'] in ['1', 'true']:
+ optional = False
+
with open(os.path.join(os.path.dirname(__file__), '_utf8validator.c')) as fd:
c_source = fd.read()
ffi.set_source(
"_nvx_utf8validator",
c_source,
libraries=[],
- extra_compile_args=['-std=c99', '-Wall', '-Wno-strict-prototypes', '-O3', '-march=native']
+ extra_compile_args=['-std=c99', '-Wall', '-Wno-strict-prototypes', '-O3', '-march=native'],
+ optional=optional
)
diff --git a/setup.py b/setup.py
index f27006da..4889a39e 100644
--- a/setup.py
+++ b/setup.py
@@ -110,12 +110,7 @@ extras_require_nvx = [
# cffi based extension modules to build, currently only NVX
cffi_modules = []
-if 'AUTOBAHN_USE_NVX' in os.environ:
- # FIXME: building this extension will make the wheel
- # produced no longer universal (as in "autobahn-18.4.1-py2.py3-none-any.whl").
- # on the other hand, I don't know how to selectively include this
- # based on the install flavor the user has chosen (eg pip install autobahn[nvx]
- # should make the following be included)
+if 'AUTOBAHN_USE_NVX' not in os.environ or os.environ['AUTOBAHN_USE_NVX'] not in ['0', 'false']:
cffi_modules.append('autobahn/nvx/_utf8validator.py:ffi')
extras_require_xbr = [
--
2.25.1

View File

@ -2,7 +2,9 @@ config BR2_PACKAGE_PYTHON_AUTOBAHN
bool "python-autobahn"
depends on BR2_INSTALL_LIBSTDCPP # python-cryptography -> python-pyasn
depends on BR2_PACKAGE_PYTHON3
select BR2_PACKAGE_PYTHON_CFFI # runtime
select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY # runtime
select BR2_PACKAGE_PYTHON_HYPERLINK # runtime
select BR2_PACKAGE_PYTHON_TXAIO # runtime
help
WebSocket client and server library, WAMP real-time

View File

@ -1,5 +1,5 @@
# md5, sha256 from https://pypi.org/pypi/autobahn/json
md5 dcae3cf26203aa4bbd9912137e5c9512 autobahn-20.4.3.tar.gz
sha256 c6fe745d52ba9f9eecf791cd31f558df42aebfc4f9ee558a8f1d18c707e1ae1f autobahn-20.4.3.tar.gz
md5 dcba839ee61be33d05042a09c008c6bc autobahn-21.3.1.tar.gz
sha256 e126c1f583e872fb59e79d36977cfa1f2d0a8a79f90ae31f406faae7664b8e03 autobahn-21.3.1.tar.gz
# Locally computed sha256 checksums
sha256 0387eefce570453daaa60633f28676003731eeca28b2d0a0071c628e3a0004ef LICENSE

View File

@ -4,13 +4,15 @@
#
################################################################################
PYTHON_AUTOBAHN_VERSION = 20.4.3
PYTHON_AUTOBAHN_VERSION = 21.3.1
PYTHON_AUTOBAHN_SOURCE = autobahn-$(PYTHON_AUTOBAHN_VERSION).tar.gz
PYTHON_AUTOBAHN_SITE = https://files.pythonhosted.org/packages/cb/16/38d27874ef827974f44acb6dd64a92a9248b624734c0e84b91083c2d9350
PYTHON_AUTOBAHN_SITE = https://files.pythonhosted.org/packages/4c/9e/f5bdfb55d1eab67c4b6d24d1397f95feec792071ff1b2f5a893d6d5247f3
PYTHON_AUTOBAHN_LICENSE = MIT
PYTHON_AUTOBAHN_LICENSE_FILES = LICENSE
PYTHON_AUTOBAHN_CPE_ID_VENDOR = crossbar
PYTHON_AUTOBAHN_CPE_ID_PRODUCT = autobahn
PYTHON_AUTOBAHN_SETUP_TYPE = setuptools
PYTHON_AUTOBAHN_DEPENDENCIES = host-python-cffi
PYTHON_AUTOBAHN_ENV = AUTOBAHN_STRIP_XBR=1
$(eval $(python-package))