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
+}

Reply via email to