# Maintainer: Morten Linderud # Maintainer: Chih-Hsuan Yen # Maintainer: Anatol Pomozov # ALARM: Kevin Mihelich # - removed AUTOBAHN_USE_NVX=1 from python build/install commands pkgname=python-autobahn pkgver=20.12.3 pkgrel=1 pkgdesc='Real-time framework for Web, Mobile & Internet of Things' arch=(x86_64) url='https://crossbar.io/autobahn/' license=(MIT) depends=(python-cffi python-twisted python-txaio python-wsaccel python-setuptools python-cryptography) makedepends=(python-argon2_cffi python-cbor python-flatbuffers python-msgpack python-passlib python-pynacl python-pytrie python-ubjson) checkdepends=(python-pytest python-pytest-asyncio) optdepends=( 'python-cbor: CBOR serializer support' 'python-flatbuffers: FlatBuffers serializer support' 'python-msgpack: MsgPack serializer support' 'python-u-msgpack: pure-python alternative to python-msgpack for MsgPack serializer support' 'python-ubjson: UBJSON serializer support' 'python-ujson: accelerated JSON serializer support' 'python-argon2_cffi: WAMP-SCRAM authentication support' 'python-passlib: WAMP-SCRAM authentication support' 'python-pynacl: WAMP-cryptosign and WAMP-cryptobox support' 'python-pytrie: WAMP-cryptobox support' 'python-pyopenssl: SSL/TLS support' 'python-snappy: snappy compression suppport for WebSocket messages' ) source=(https://files.pythonhosted.org/packages/source/a/autobahn/autobahn-$pkgver.tar.gz) sha256sums=('410a93e0e29882c8b5d5ab05d220b07609b886ef5f23c0b8d39153254ffd6895') prepare() { cd "$srcdir/autobahn-$pkgver" # For reproducibility # If Arch decides to increase CPU requirements [1], -march=x86-64 can be # replaced with -march=nehalem so that the SSE 4.1 implementation is built # [1] https://lists.archlinux.org/pipermail/arch-dev-public/2020-March/029914.html sed -i 's#-march=native#-march=x86-64#' autobahn/nvx/_utf8validator.py } build() { cd "$srcdir/autobahn-$pkgver" python setup.py build } check() { cd "$srcdir/autobahn-$pkgver" pyver=$(python -c "import sys; print('{}.{}'.format(*sys.version_info[:2]))") # "autobahn on asyncio is tested using pytest, while for twisted we are using twisted trial" # https://github.com/crossbario/autobahn-python/issues/1235#issuecomment-522440810 USE_TWISTED=1 PYTHONPATH=.:build/lib.linux-$CARCH-$pyver trial3 autobahn USE_ASYNCIO=1 PYTHONPATH=.:build/lib.linux-$CARCH-$pyver pytest autobahn } package() { cd "$srcdir/autobahn-$pkgver" python setup.py install --root="$pkgdir" --optimize=1 --skip-build install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" }