got autobahn/autobahn-18.7.1 working on Python 3.7

This commit is contained in:
Andreas Billmeier 2020-02-11 20:01:26 +01:00
parent 88e1845238
commit a145954b46
Signed by: onkelbeh
GPG Key ID: E6DB12C8C550F3C0
16 changed files with 197 additions and 108 deletions

View File

@ -4,6 +4,12 @@
- add ~arm64 support, also untested!
- drop all PYTHON_COMPAT except 3.6-3.8 where seen
* clean up PYTHON_COMPAT & KEYWORDS outside dev-python
* zigpy-cc-0.1.0 -> https
* got autobahn/autobahn-18.7.1 working on Python 3.7
- bump cbor-1.0.0-r1
- bump py-ubjson-0.14.0
- bump pytrie-0.3.1-r1
- bump wsaccel-0.6.2_p20170108-r1
2020-02-10 homeassistant-0.105.3
* bump surepy-0.2.3

View File

@ -1,4 +1,3 @@
AUX autobahn-18.3.1-Fix-cs-test-955.patch 3736 BLAKE2B eece2b356181b4dac4849dacf555b5c64499f8484ca959c402cd124badccb8d5e8aea20d2310c8f5920d3dbde8854dcdf2c2abd93dd9e0effa8808eed3c78ea0 SHA512 380e3641d5b203a0f9dbdeca21dd7dc0802bf8675271a847824a5059c3867cd92a5f51db90414e74c0749337db191df9693a9d36562b16ed090bb9a508c7b66b
DIST autobahn-18.7.1.tar.gz 222236 BLAKE2B e3436bccc33a157e092e601f7f23f48d4c6679085c3444956a17222905a76ff2e682340735dd71c195b666d69975586cdfe567950c6ca6bc1fa631109ce6d637 SHA512 334716e9c85b8934170bfc1fc589f9f7f2765231d7a7ac25e308dbb457f63119061af5cba58367ed0a82401c8a706dd875ce4826e717367e3d5ca6da72ea5975
EBUILD autobahn-18.7.1.ebuild 2182 BLAKE2B 124c9137a85b1d2534e10f0164775faad93a6b56a8cfdcd41691f269bef6a483f9684f04a72c58a6013d2efd6f7cf0b7625cb1be2dc1941debe569162effadd2 SHA512 80e36443cdcceddf94630095382541f36a5a34a258148058510e0cb2a5453106f3f5187ac1fffa3fb04637cb0cf7e8f4b0430313aeaf738dd983d3ec926004c6
EBUILD autobahn-18.7.1.ebuild 2062 BLAKE2B 9598a358264e324d934b11518b4ddfb32b327a5385d6ed7cb01587111311ed7d25176720e1ad10b8dd54cb723b256f5c733d30d402e5e683884c66dfbf76857e SHA512 6f89370b08cb6b23b797303fcf89041fbda554626f166b309d7c14d5b5a96a44f961eb252fe920c8cffdd3b035b7051a176aa32a973317cf3e35a5aa35358fc9
MISC metadata.xml 321 BLAKE2B 2a222ee5e7e6a2a90a44b834a4b7d430938813786c7179fe3fe273456b501feba4c20da2fe3b9671092085a991fd35c736a5b64c179a08f54fddd029ac5bd731 SHA512 fd00829f66750d3d54b7bfb472179639fbe453840e7c3056b406af546acb952d3fb8d4552973a68ff0966f25bead8dfd4501888cbd68721e54207b5a7628ac36

View File

@ -1,19 +1,17 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
EAPI=7
PYTHON_COMPAT=( python3_{7,8} )
inherit distutils-r1 versionator
MY_P="${PN}-$(replace_version_separator 3 -)"
inherit distutils-r1
DESCRIPTION="WebSocket and WAMP for Twisted and Asyncio"
HOMEPAGE="https://pypi.org/project/autobahn/
https://crossbar.io/autobahn/
https://github.com/crossbario/autobahn-python"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="MIT"
@ -37,7 +35,7 @@ RDEPEND="
>=dev-python/pyopenssl-16.2.0[${PYTHON_USEDEP}]
>=dev-python/pynacl-1.0.1[${PYTHON_USEDEP}]
>=dev-python/pytrie-0.2[${PYTHON_USEDEP}]
>=dev-python/pyqrcode-1.1.0[${PYTHON_USEDEP}]
>=dev-python/PyQRCode-1.1.0[${PYTHON_USEDEP}]
>=dev-python/service_identity-16.0.0
)
"
@ -50,11 +48,7 @@ DEPEND="${RDEPEND}
>=dev-python/pyqrcode-1.1.0[${PYTHON_USEDEP}]
)"
PATCHES=(
"${FILESDIR}/${P}-Fix-cs-test-955.patch"
)
S="${WORKDIR}"/${MY_P}
S="${WORKDIR}/${P}"
python_test() {
echo "Testing all, cryptosign using twisted"

View File

@ -1,95 +0,0 @@
From 604bc53a3beec173020c944ce9cb38afca2a9126 Mon Sep 17 00:00:00 2001
From: Tobias Oberstein <tobias.oberstein@crossbario.com>
Date: Fri, 9 Mar 2018 10:37:31 +0100
Subject: [PATCH] Fix cs test (#955)
* encode test string
* already an instance
* add extra deps (encryption)
* add extra deps
* deactivate py 3.3, tx < 15.4
* systematic version coverage
* fix coverage (hopefully)
* another try
* actually need to yield, as a future is returned
---
.travis.yml | 58 ++++++++++++++++++++++++++++++++---
Makefile | 3 ++
autobahn/asyncio/rawsocket.py | 2 +-
autobahn/wamp/test/test_cryptosign.py | 18 +++++++++--
tox.ini | 32 ++++++++++---------
5 files changed, 89 insertions(+), 24 deletions(-)
diff --git a/autobahn/asyncio/rawsocket.py b/autobahn/asyncio/rawsocket.py
index 130a8e41..bbb83337 100644
--- a/autobahn/asyncio/rawsocket.py
+++ b/autobahn/asyncio/rawsocket.py
@@ -408,7 +408,7 @@ class WampRawSocketClientProtocol(WampRawSocketMixinGeneral, WampRawSocketMixinA
@property
def serializer_id(self):
if not hasattr(self, '_serializer'):
- self._serializer = self.factory._serializer()
+ self._serializer = self.factory._serializer
return self._serializer.RAWSOCKET_SERIALIZER_ID
def get_channel_id(self, channel_id_type=u'tls-unique'):
diff --git a/autobahn/wamp/test/test_cryptosign.py b/autobahn/wamp/test/test_cryptosign.py
index 700ca3cc..78f8d556 100644
--- a/autobahn/wamp/test/test_cryptosign.py
+++ b/autobahn/wamp/test/test_cryptosign.py
@@ -25,9 +25,21 @@
###############################################################################
from __future__ import absolute_import
+
import hashlib
+import os
+
from mock import Mock
+import txaio
+
+if os.environ.get('USE_TWISTED', False):
+ txaio.use_twisted()
+elif os.environ.get('USE_ASYNCIO', False):
+ txaio.use_asyncio()
+else:
+ raise Exception('no networking framework selected')
+
from autobahn.wamp.cryptosign import _makepad, HAS_CRYPTOSIGN
from autobahn.wamp import types
from autobahn.wamp.auth import create_authenticator
@@ -59,14 +71,14 @@ def setUp(self):
self.key = SigningKey.from_ssh_data(keybody)
self.privkey_hex = self.key._key.encode(encoder=HexEncoder)
m = hashlib.sha256()
- m.update("some TLS message")
+ m.update("some TLS message".encode())
self.channel_id = m.digest()
def test_valid(self):
session = Mock()
session._transport.get_channel_id = Mock(return_value=self.channel_id)
challenge = types.Challenge(u"ticket", dict(challenge="ff" * 32))
- signed = self.key.sign_challenge(session, challenge)
+ signed = yield self.key.sign_challenge(session, challenge)
self.assertEqual(
u'9b6f41540c9b95b4b7b281c3042fa9c54cef43c842d62ea3fd6030fcb66e70b3e80d49d44c29d1635da9348d02ec93f3ed1ef227dfb59a07b580095c2b82f80f9d16ca518aa0c2b707f2b2a609edeca73bca8dd59817a633f35574ac6fd80d00',
signed.result,
@@ -81,7 +93,7 @@ def test_authenticator(self):
session = Mock()
session._transport.get_channel_id = Mock(return_value=self.channel_id)
challenge = types.Challenge(u"cryptosign", dict(challenge="ff" * 32))
- reply = authenticator.on_challenge(session, challenge)
+ reply = yield authenticator.on_challenge(session, challenge)
self.assertEqual(
reply.result,
u'9b6f41540c9b95b4b7b281c3042fa9c54cef43c842d62ea3fd6030fcb66e70b3e80d49d44c29d1635da9348d02ec93f3ed1ef227dfb59a07b580095c2b82f80f9d16ca518aa0c2b707f2b2a609edeca73bca8dd59817a633f35574ac6fd80d00',

3
dev-python/cbor/Manifest Normal file
View File

@ -0,0 +1,3 @@
DIST cbor-1.0.0.tar.gz 20096 BLAKE2B 0e15bc4984155c1046836c94f3025f8dd451aaad438c78de25a739738e6de8d3ff3e737dbaeaace3d837be08e9702a3b7d18d840c0bc5459cd3919159eabd728 SHA512 996b61c7d16cbe8bd7b056d09286a17f3a6a29cb97ef9e5ca1d1bfe8c53393ae3d2b7565c937a283cb78f377af14c070bd663aabbce995dc7e5b9d2f69a6ba73
EBUILD cbor-1.0.0-r1.ebuild 490 BLAKE2B 027f13fa853af2779685ecb12a8871113d365ea629990aa3128fcbabd88192d4868f8c12b020cda9d4216be97f3c7a315d9ab5fec25fd8fe0b996f9f9bf942be SHA512 57974bb02c436ac1e13983f0cee3c53fdb9057526c02bdcaecfaa3546df7a4c7d1a3532be2a1ae8cdc846be336128568c6450a08b4baf8c4a45f0e17fae55593
MISC metadata.xml 996 BLAKE2B 086a81c0714c78e89681623baec48d9b2ef864a107a1ef87a2bbccc1de657f96e6250f03e028f724e59b6bd70fe9970255d4bd2c13faf20b696a9fd330fbf36d SHA512 eadcb582ff299f943fedef2af5932750a9530f3de9c0962d1a288eb667eec5933ce5b96b5fa9212a3b4020f70b5686ead34e2591f24aec64f1b21c2ff7a69e6b

View File

@ -0,0 +1,19 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_{6,7,8} )
inherit distutils-r1
DESCRIPTION="RFC 7049 - Concise Binary Object Representation"
HOMEPAGE="https://bitbucket.org/bodhisnarkva/cbor https://pypi.org/project/cbor/"
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 arm ~arm64 x86 ~amd64-linux ~x86-linux"
IUSE=""
DEPEND=""
RDEPEND="${DEPEND}"

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<upstream>
<maintainer>
<email>bolson@bolson.org</email>
<name>Brian Olson</name>
</maintainer>
<remote-id type="pypi">cbor</remote-id>
<remote-id type="bitbucket">bodhisnarkva/cbor</remote-id>
</upstream>
<longdescription>An implementation of RFC 7049 - Concise Binary Object
Representation (CBOR). CBOR is comparable to JSON, has a superset of
JSON's ability, but serializes to a binary format which is smaller and
faster to generate and parse. The two primary functions are
cbor.loads() and cbor.dumps(). This library includes a C implementation
which runs 3-5 times faster than the Python standard library's
C-accelerated implementanion of JSON. This is also includes a 100%
Python implementation.
</longdescription>
</pkgmetadata>

View File

@ -0,0 +1,3 @@
DIST py-ubjson-0.14.0.tar.gz 47892 BLAKE2B 26d5942638622e95253762fb1ff972b98f95b9442be8ce04d7806da6c3a9ca3e0858d7504bc73ec654c83dac137e95c7339e95459fe6fe9bf2d00b776eeb941f SHA512 ea0ab36ca5a909ecfeec20a94707a7afe298cf69232aa8b219824addab546f2343d812176fecc136ff46d3020f35f3c1f8135600412319704a9149272593f786
EBUILD py-ubjson-0.14.0.ebuild 526 BLAKE2B f96fa0c8f0af9d435a96a259910ed0ea29c2e12bcf724798f409b0fa2bf6f3f8f6ead7217bd7de7c7a5617083de71d5ca72d4f546de86bf43623b7bc2826abf1 SHA512 92225f0fcee18a996f93393dba07b0c8f9afa5de472272d6a9ac976ca698429a9720d07cc0457601141e7d9299370afea59ee21d753c1d6105597f8ccf05d509
MISC metadata.xml 634 BLAKE2B f799cc627077029b5b5b1009539b5d55a15e581348a3f8a6a93f2661c2e40b15772920d0937d56e620625bfe61902135c228efd18ea93d4538d8cc2f0ee73375 SHA512 900769da6ff1965cd50824ca97dd27baaa5d816f0fdd99851b4063c8dfdf3d469b6a17d4372bc6d16d34245609e76a5e2223b5bf61cb467f8cfabdf775b6da7f

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<upstream>
<maintainer>
<email>vilnis.termanis@iotic-labs.com</email>
<name>Iotic Labs Ltd</name>
</maintainer>
<remote-id type="pypi">py-ubjson</remote-id>
<remote-id type="github">Iotic-Labs/py-ubjson</remote-id>
</upstream>
<longdescription>
This is a Python v3.2+ (and 2.7+) Universal Binary JSON encoder/decoder
based on the draft-12 specification
</longdescription>
</pkgmetadata>

View File

@ -0,0 +1,19 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_{6,7,8})
inherit distutils-r1
DESCRIPTION="Universal Binary JSON encoder/decoder"
HOMEPAGE="https://github.com/Iotic-Labs/py-ubjson https://pypi.org/project/py-ubjson/"
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
IUSE=""
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
RDEPEND="${DEPEND}"

View File

@ -0,0 +1,3 @@
DIST pytrie-0.3.1.tar.gz 94678 BLAKE2B 12631652ea33d2f1575f86bc8c42982543f8fa146debc9cb86e1139ff089f0657e04e50bad97b9bc344f4a270d102ee98e03fd389eb2c56ba3baac32b2288670 SHA512 72cb4ffff53d01545658b27b6c0b798736404f95013bfe34586c51c8823cc923ac4b3a8e874a938b26e3045784ce98ce2d8e51ab70dc435ff50075ffaf9d6c51
EBUILD pytrie-0.3.1-r1.ebuild 614 BLAKE2B 0a59d1f27ced91713821d10449bcdcfb17018f419c736b195d415e623f47ef7cf6ff05b5921eaa74f6046b238472db9801208100741b6db4b293a8697234f6f4 SHA512 f65a77e7e74c10455683393692a23d4c21bf5e77b53d306216aa3148bbb4e34b5ab163bb80ab9db450ea9cc32953140ad0dc12b3830adcd7c112c517fe8dd825
MISC metadata.xml 886 BLAKE2B 240f560df7f7c6c99a7898f22b6a7445c1b590cb57bdbbb1353d2447cef377f7a7e562ca5d206592514fdcfb7315a207acd73e77c3b9fc1306df86176aa45feb SHA512 0fe09489e422888f9f98615a3981b679f76ea3c9ad07c523926a28bb45a305420f0f7485176863e7db560266b963b742bca05defc5c5b29fdda195915483b60c

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<upstream>
<maintainer>
<email>george.sakkis@gmail.com</email>
<name>George Sakkis</name>
</maintainer>
<remote-id type="pypi">PyTrie</remote-id>
<remote-id type="bitbucket">gsakkis/pytrie</remote-id>
<remote-id type="github">gsakkis/pytrie</remote-id>
</upstream>
<longdescription>
A *trie* is an ordered tree data structure that is used to store a
mapping where the keys are sequences, usually strings over an alphabet.
In addition to implementing the mapping interface, tries allow finding
the items for a given prefix, and vice versa, finding the items whose
keys are prefixes of a given key.
</longdescription>
</pkgmetadata>

View File

@ -0,0 +1,23 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_{6,7,8} )
inherit distutils-r1
MY_PN="PyTrie"
MY_P="${MY_PN}-${PV}"
DESCRIPTION="A pure Python implementation of the trie data structure"
HOMEPAGE="https://github.com/gsakkis/pytrie/ https://pypi.org/project/PyTrie/"
SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
DEPEND="dev-python/sortedcontainers[${PYTHON_USEDEP}]"
RDEPEND="${DEPEND}"
S="${WORKDIR}/${MY_P}"

View File

@ -0,0 +1,3 @@
DIST wsaccel-0.6.2_p20170108.zip 21344 BLAKE2B ecb8ef7888fb2ca8e6566d2b3fcbd3911a0df5a8c9f4be86a3cffb95afc31603c2477bd983f9d24ee7cf48c33cbcfb10068c38640ee2a888f46402756313cf29 SHA512 d0cf13360bd6cc0b51b8bee1d36a8ee544816c318e828bf6129ff85827636642cfebae4ef0e99d841cdf64f6c67006a649994804aa42d3d76e977a861aafb3b9
EBUILD wsaccel-0.6.2_p20170108-r1.ebuild 740 BLAKE2B b710d466939120c252d9e047720fca21a2e82d2053948aff870fbe7c35699432ee223014d733b88e3e6501bcfdc5f8636a20382770143bf5c0d5e5d92636e42d SHA512 a4dfffd3a806e3bb0496278a079e530378e88abe263b1c307e36e89c50cac177c9b16f06543b05eaabee801069a941624a6f911a9f3c44d9a91b03bad83fec01
MISC metadata.xml 377 BLAKE2B 9e994c8b6d0e89336fd1f2998f8544201ccccf3d647f3600e57ffddf21fb75e05bc3f8ffc2634dda9be9ba78709ac634d8d642cf110edd382d24ae055d860fc0 SHA512 cd6ff7d5e94219b550161b57a1c6f3736a8c78906a81a5e293046b9b3b454f97c1fb41dd7eb7034f45ab784c22189e3788f2e8d9c17a725743936796af3a4d6d

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<upstream>
<remote-id type="pypi">wsaccel</remote-id>
<remote-id type="github">methane/wsaccel</remote-id>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1,31 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
COMMIT="0fbd074c257c51b73de05b25ccb6488801320a32"
PYTHON_COMPAT=( python3_{6,7,8} )
inherit distutils-r1
DESCRIPTION="Accelerator for ws4py, autobahn and tornado"
HOMEPAGE="https://pypi.org/project/wsaccel/ https://github.com/methane/wsaccel"
SRC_URI="https://github.com/methane/wsaccel/archive/${COMMIT}.zip -> ${P}.zip"
SLOT="0"
LICENSE="Apache-2.0"
KEYWORDS="amd64 arm ~arm64 x86 ~amd64-linux ~x86-linux"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND=""
DEPEND="
dev-python/cython[${PYTHON_USEDEP}]
test? ( dev-python/pytest[${PYTHON_USEDEP}] )
"
S="${WORKDIR}/${PN}-${COMMIT}"
python_test() {
py.test -v || die
}