commit: 5a3bd7dfdf32ecaf847de948f4bae389cc1778ec Author: Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net> AuthorDate: Fri Mar 13 15:00:32 2020 +0000 Commit: Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net> CommitDate: Fri Mar 13 15:00:32 2020 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=5a3bd7df
dev-python/uvicorn: use optfeature instead of flags these are mere runtime dependencies, see the 'when not to use USE flags' https://devmanual.gentoo.org/general-concepts/use-flags/index.html Package-Manager: Portage-2.3.93, Repoman-2.3.20 Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> riseup.net> dev-python/uvicorn/metadata.xml | 5 ----- dev-python/uvicorn/uvicorn-0.11.3.ebuild | 31 ++++++++++++++++++++++--------- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/dev-python/uvicorn/metadata.xml b/dev-python/uvicorn/metadata.xml index f629949..628ab20 100644 --- a/dev-python/uvicorn/metadata.xml +++ b/dev-python/uvicorn/metadata.xml @@ -6,9 +6,4 @@ <email>andrewammerl...@riseup.net</email> <name>Andrew Ammerlaan</name> </maintainer> - <use> - <flag name="wsproto">add websockets support using wsproto package</flag> - <flag name="websockets">add websockets support using websockets package</flag> - <flag name="httptools">use httpstools package for http protocol</flag> - </use> </pkgmetadata> diff --git a/dev-python/uvicorn/uvicorn-0.11.3.ebuild b/dev-python/uvicorn/uvicorn-0.11.3.ebuild index 64bce77..04aad2d 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 +}