PKGBUILDs/community/python-autobahn/PKGBUILD

67 lines
2.6 KiB
Bash
Raw Normal View History

2019-03-25 12:51:36 +00:00
# Maintainer: Morten Linderud <foxboron@archlinux.org>
# Maintainer: Chih-Hsuan Yen <yan12125@archlinux.org>
# Maintainer: Anatol Pomozov
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - removed AUTOBAHN_USE_NVX=1 from python build/install commands
pkgname=python-autobahn
2020-07-18 17:17:10 +00:00
pkgver=20.7.1
pkgrel=1
2019-03-25 12:51:36 +00:00
pkgdesc='Real-time framework for Web, Mobile & Internet of Things'
arch=(x86_64)
url='https://crossbar.io/autobahn/'
license=(MIT)
2020-02-09 12:39:30 +00:00
depends=(python-cffi python-twisted python-txaio python-wsaccel
2019-06-05 12:49:04 +00:00
python-setuptools python-cryptography)
2019-05-12 15:59:04 +00:00
makedepends=(python-argon2_cffi python-cbor python-flatbuffers
2019-08-23 13:04:23 +00:00
python-msgpack python-passlib python-pynacl python-pytrie
python-ubjson)
2020-03-05 04:15:09 +00:00
checkdepends=(python-pytest python-pytest-asyncio)
2019-03-25 12:51:36 +00:00
optdepends=(
2019-05-12 15:59:04 +00:00
'python-cbor: CBOR serializer support'
'python-flatbuffers: FlatBuffers serializer support'
2019-03-25 12:51:36 +00:00
'python-msgpack: MsgPack serializer support'
2020-02-09 12:39:30 +00:00
'python-u-msgpack: pure-python alternative to python-msgpack for MsgPack serializer support'
2019-05-12 15:59:04 +00:00
'python-ubjson: UBJSON serializer support'
2020-02-09 12:39:30 +00:00
'python-ujson: accelerated JSON serializer support'
2019-03-25 12:51:36 +00:00
'python-argon2_cffi: WAMP-SCRAM authentication support'
'python-passlib: WAMP-SCRAM authentication support'
2019-08-23 13:04:23 +00:00
'python-pynacl: WAMP-cryptosign and WAMP-cryptobox support'
'python-pytrie: WAMP-cryptobox support'
2020-02-09 12:39:30 +00:00
'python-pyopenssl: SSL/TLS support'
'python-snappy: snappy compression suppport for WebSocket messages'
2019-03-25 12:51:36 +00:00
)
2020-01-14 13:29:08 +00:00
source=(https://files.pythonhosted.org/packages/source/a/autobahn/autobahn-$pkgver.tar.gz)
2020-07-18 17:17:10 +00:00
sha256sums=('86bbce30cdd407137c57670993a8f9bfdfe3f8e994b889181d85e844d5aa8dfb')
2020-01-11 12:59:52 +00:00
2020-07-13 11:51:31 +00:00
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
}
2019-03-25 12:51:36 +00:00
build() {
cd "$srcdir/autobahn-$pkgver"
python setup.py build
}
check() {
cd "$srcdir/autobahn-$pkgver"
2019-08-02 12:38:31 +00:00
pyver=$(python -c "import sys; print('{}.{}'.format(*sys.version_info[:2]))")
2020-01-14 13:29:08 +00:00
# "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 -v autobahn
2019-03-25 12:51:36 +00:00
}
package() {
cd "$srcdir/autobahn-$pkgver"
python setup.py install --root="$pkgdir" --optimize=1 --skip-build
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}