HomeAssistantRepository/dev-python/aiohttp/aiohttp-3.6.1.ebuild

77 lines
2.1 KiB
Bash

# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python3_{6,7,8} )
inherit distutils-r1
DESCRIPTION="http client/server for asyncio"
HOMEPAGE="https://pypi.org/project/aiohttp/"
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
IUSE="doc test"
CDEPEND="
>=dev-python/async_timeout-3.0.0[${PYTHON_USEDEP}]
>=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
dev-python/chardet[${PYTHON_USEDEP}]
>=dev-python/multidict-4.0.0[${PYTHON_USEDEP}]
>=dev-python/typing-extensions-3.6.5[${PYTHON_USEDEP}]
>=dev-python/yarl-1.0[${PYTHON_USEDEP}]
dev-python/idna-ssl[${PYTHON_USEDEP}]
"
DEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/cython[${PYTHON_USEDEP}]
doc? (
>=dev-python/alabaster-0.6.2[${PYTHON_USEDEP}]
dev-python/sphinxcontrib-asyncio[${PYTHON_USEDEP}]
dev-python/sphinxcontrib-blockdiag[${PYTHON_USEDEP}]
dev-python/sphinxcontrib-newsfeed[${PYTHON_USEDEP}]
dev-python/sphinxcontrib-spelling[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
dev-python/sphinx-aiohttp-theme[${PYTHON_USEDEP}]
)
test? (
${CDEPEND}
dev-python/async_generator[${PYTHON_USEDEP}]
>=dev-python/pytest-3.4.0[${PYTHON_USEDEP}]
dev-python/pytest-mock[${PYTHON_USEDEP}]
dev-python/pytest-timeout[${PYTHON_USEDEP}]
www-servers/gunicorn[${PYTHON_USEDEP}]
)
"
RDEPEND="${CDEPEND}"
DOCS=( CHANGES.rst CONTRIBUTING.rst CONTRIBUTORS.txt HISTORY.rst README.rst )
python_prepare_all() {
# skip failing tests until cause is determined
rm tests/{test_pytest_plugin.py,test_worker.py} || die
# AttributeError: 'brotli.Decompressor' object has no attribute 'flush'
sed -e 's:test_compression_brotli:_\0:' \
-e 's:test_feed_eof_no_err_brotli:_\0:' \
-i tests/test_http_parser.py || die
distutils-r1_python_prepare_all
}
python_compile_all() {
use doc && emake -C docs html
}
python_test() {
esetup.py test
}
python_install_all() {
use doc && local HTML_DOCS=( docs/_build/html/. )
distutils-r1_python_install_all
}