diff --git a/dev-python/uvicorn/metadata.xml b/dev-python/uvicorn/metadata.xml
index f629949955..628ab20176 100644
--- a/dev-python/uvicorn/metadata.xml
+++ b/dev-python/uvicorn/metadata.xml
@@ -6,9 +6,4 @@
andrewammerlaan@riseup.net
Andrew Ammerlaan
-
diff --git a/dev-python/uvicorn/uvicorn-0.11.3.ebuild b/dev-python/uvicorn/uvicorn-0.11.3.ebuild
index 64bce77f58..04aad2daf3 100644
--- a/dev-python/uvicorn/uvicorn-0.11.3.ebuild
+++ b/dev-python/uvicorn/uvicorn-0.11.3.ebuild
@@ -7,7 +7,7 @@ PYTHON_COMPAT=( python3_{6,7} )
DISTUTILS_USE_SETUPTOOLS=rdepend
-inherit distutils-r1
+inherit distutils-r1 eutils
DESCRIPTION="The lightning-fast ASGI server"
HOMEPAGE="https://www.uvicorn.org/
@@ -18,32 +18,38 @@ LICENSE="BSD"
KEYWORDS="~amd64 ~x86"
SLOT="0"
-IUSE="wsproto websockets httptools doc"
+IUSE="doc"
REQUIRED_USE="x86? ( !doc )"
RDEPEND="
dev-python/click[${PYTHON_USEDEP}]
- dev-python/h11[${PYTHON_USEDEP}]
- >=dev-python/uvloop-0.14.0[${PYTHON_USEDEP}]
- wsproto? ( dev-python/wsproto[${PYTHON_USEDEP}] )
- websockets? ( >=dev-python/websockets-6.0[${PYTHON_USEDEP}] )
- httptools? ( >=dev-python/httptools-0.1.1[${PYTHON_USEDEP}] )"
+ dev-python/h11[${PYTHON_USEDEP}]"
BDEPEND="doc? ( !x86? (
dev-python/mkdocs
dev-python/mkdocs-material ) )"
DEPEND="test? (
+ dev-python/black[${PYTHON_USEDEP}]
dev-python/isort[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}] )"
+ dev-python/requests[${PYTHON_USEDEP}]
+ >=dev-python/uvloop-0.14.0[${PYTHON_USEDEP}]
+ dev-python/wsproto[${PYTHON_USEDEP}]
+ >=dev-python/websockets-6.0[${PYTHON_USEDEP}]
+ >=dev-python/httptools-0.1.1[${PYTHON_USEDEP}] )"
distutils_enable_tests pytest
python_prepare_all() {
- # these tests fail, likely because wsproto is out of date
+ # these tests fail to collect, likely because wsproto is out of date
+ # ImportError: cannot import name 'ConnectionType'
rm tests/protocols/test_websocket.py || die
rm tests/protocols/test_http.py || die
+ # AttributeError: module 'uvicorn.protocols.http' has no attribute 'h11_impl'
+ sed -i -e 's:test_concrete_http_class:_&:' \
+ tests/test_config.py || die
+
# do not install LICENSE to /usr/
sed -i -e '/data_files/d' setup.py || die
@@ -57,3 +63,10 @@ python_compile_all() {
HTML_DOCS="site"
fi
}
+
+pkg_postinst() {
+ optfeature "asyncio event loop on top of libuv" dev-python/uvloop
+ optfeature "websockets support using wsproto" dev-python/wsproto
+ optfeature "websockets support using websockets" dev-python/websockets
+ optfeature "httpstools package for http protocol" dev-python/httptools
+}