mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-python/aiohttp: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
@@ -1,3 +1 @@
|
||||
DIST aiohttp-3.7.4.tar.gz 1114533 BLAKE2B dcae3e66e13df8264d731a3ca65b4718feca8d0e6e1baeb6608dcb9bfb4bd4baaed6bd34297ed5ece78d01189bf9a0b9860845cae4e2b93cc2ba463cc35cfb77 SHA512 66fcc837b388020dc998cbaa2db31e48ecec75bcfaa8af9108e2ea265588dafa5684ca96a8fe3ad6759b22e09a4ae6d4efd8653fb76126eccdc826c15cbbe2e6
|
||||
DIST aiohttp-3.8.0.tar.gz 7323268 BLAKE2B e3d8f6ec7c4b2de685a261171bc8e29db82b5b4677d0d4d0b103898c71184deda700f4859fff49746ace3079f09714c39d06c7d837cdc7fb26c8ebc4b29da915 SHA512 beb711812ccaab6d820c39e663e4aaba9106e270ab28ccdb8f35b74bc68509876dc30061f3df390e514e6ff8d24ede2e77e3355986ca2c5ee860eba940d72f5b
|
||||
DIST aiohttp-3.8.1.tar.gz 7324180 BLAKE2B 99f85b8510782a31de2d2f6c8efa65ef5c5cde600a5c5f49d6362d5833a0443b9adcaed9beb27c5d8502aca37af154b06017f48836b73d4c61d78204b62b7f05 SHA512 3611549393e50c8d30426aee9ddd23794a71ddefe4384eb549049b93e452fafb38de7ad900737213b61fbe717bd85035a780c1622593eae250328f17d484a0a7
|
||||
|
||||
@@ -1,105 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} pypy3 )
|
||||
|
||||
inherit distutils-r1 multiprocessing
|
||||
|
||||
DESCRIPTION="http client/server for asyncio"
|
||||
HOMEPAGE="https://pypi.org/project/aiohttp/"
|
||||
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ppc ppc64 ~riscv sparc x86"
|
||||
|
||||
RDEPEND="
|
||||
<dev-python/async_timeout-4[${PYTHON_USEDEP}]
|
||||
>=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
|
||||
dev-python/chardet[${PYTHON_USEDEP}]
|
||||
>=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/yarl-1.0[${PYTHON_USEDEP}]
|
||||
dev-python/typing-extensions[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
dev-python/cython[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
!!dev-python/pytest-aiohttp
|
||||
app-arch/brotli[python,${PYTHON_USEDEP}]
|
||||
dev-python/async_generator[${PYTHON_USEDEP}]
|
||||
dev-python/freezegun[${PYTHON_USEDEP}]
|
||||
www-servers/gunicorn[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-forked[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-mock[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-timeout[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||
dev-python/re-assert[${PYTHON_USEDEP}]
|
||||
dev-python/trustme[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/aiohttp-3.7.4-brotli.patch
|
||||
"${FILESDIR}"/aiohttp-3.7.4-fix-py3.10.patch
|
||||
)
|
||||
|
||||
DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
|
||||
|
||||
distutils_enable_tests pytest
|
||||
distutils_enable_sphinx docs \
|
||||
'>=dev-python/alabaster-0.6.2' \
|
||||
'dev-python/sphinxcontrib-asyncio' \
|
||||
'dev-python/sphinxcontrib-blockdiag' \
|
||||
'dev-python/sphinxcontrib-newsfeed' \
|
||||
'dev-python/sphinxcontrib-spelling' \
|
||||
'dev-python/sphinx' \
|
||||
'dev-python/sphinx-aiohttp-theme'
|
||||
|
||||
python_prepare_all() {
|
||||
# newer chardet works too
|
||||
sed -e 's|chardet>=2.0,<4.0|chardet>=2.0|' \
|
||||
-i setup.py aiohttp.egg-info/requires.txt || die
|
||||
|
||||
# takes a very long time, then fails
|
||||
rm tests/test_pytest_plugin.py || die
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_test() {
|
||||
local deselect=(
|
||||
# fails with a 'runtime warning'
|
||||
'tests/test_client_functional.py::test_aiohttp_request_coroutine[pyloop]'
|
||||
|
||||
# fragile to test paths
|
||||
tests/test_route_def.py::test_static
|
||||
|
||||
# requires Internet
|
||||
tests/test_formdata.py::test_mark_formdata_as_processed
|
||||
|
||||
# 'Event loop is closed' -- probably broken by old age
|
||||
'tests/test_streams.py::TestDataQueue::test_read[pyloop]'
|
||||
'tests/test_streams.py::TestDataQueue::test_read_eof[pyloop]'
|
||||
'tests/test_streams.py::TestDataQueue::test_read_cancelled[pyloop]'
|
||||
'tests/test_streams.py::TestDataQueue::test_read_until_eof[pyloop]'
|
||||
'tests/test_streams.py::TestDataQueue::test_read_exc[pyloop]'
|
||||
'tests/test_streams.py::TestDataQueue::test_read_exception[pyloop]'
|
||||
'tests/test_streams.py::TestDataQueue::test_read_exception_with_data[pyloop]'
|
||||
'tests/test_streams.py::TestDataQueue::test_read_exception_on_wait[pyloop]'
|
||||
'tests/test_streams.py::TestDataQueue::test_exception_waiter[pyloop]'
|
||||
)
|
||||
|
||||
[[ ${EPYTHON} == pypy3 ]] && deselect+=(
|
||||
# fails with a 'runtime warning'
|
||||
tests/test_multipart.py::TestPartReader::test_read_boundary_with_incomplete_chunk
|
||||
)
|
||||
|
||||
pushd "${BUILD_DIR}/lib" >/dev/null || die
|
||||
ln -snf "${S}"/{LICENSE.txt,tests} . || die
|
||||
epytest -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" --forked \
|
||||
${deselect[@]/#/--deselect } tests
|
||||
rm -rf .hypothesis .pytest_cache tests || die
|
||||
popd >/dev/null || die
|
||||
}
|
||||
@@ -1,94 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} pypy3 )
|
||||
|
||||
inherit distutils-r1 multiprocessing
|
||||
|
||||
DESCRIPTION="http client/server for asyncio"
|
||||
HOMEPAGE="
|
||||
https://pypi.org/project/aiohttp/
|
||||
https://github.com/aio-libs/aiohttp/"
|
||||
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm arm64 ~riscv sparc x86"
|
||||
|
||||
RDEPEND="
|
||||
app-arch/brotli[python,${PYTHON_USEDEP}]
|
||||
>=dev-python/aiosignal-1.1.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/async_timeout-4.0.0_alpha3[${PYTHON_USEDEP}]
|
||||
>=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/charset_normalizer-2.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/frozenlist-1.1.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/yarl-1.0[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
app-arch/brotli[python,${PYTHON_USEDEP}]
|
||||
dev-python/async_generator[${PYTHON_USEDEP}]
|
||||
dev-python/freezegun[${PYTHON_USEDEP}]
|
||||
www-servers/gunicorn[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-forked[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-mock[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||
dev-python/re-assert[${PYTHON_USEDEP}]
|
||||
dev-python/trustme[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
|
||||
|
||||
distutils_enable_tests pytest
|
||||
distutils_enable_sphinx docs \
|
||||
'>=dev-python/alabaster-0.6.2' \
|
||||
'dev-python/sphinxcontrib-asyncio' \
|
||||
'dev-python/sphinxcontrib-blockdiag' \
|
||||
'dev-python/sphinxcontrib-newsfeed' \
|
||||
'dev-python/sphinxcontrib-spelling' \
|
||||
'dev-python/sphinx' \
|
||||
'dev-python/sphinx-aiohttp-theme'
|
||||
|
||||
# TODO: re-cythonize modules?
|
||||
|
||||
src_prepare() {
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${P}-examples.patch
|
||||
)
|
||||
|
||||
# increate a little the timeout
|
||||
sed -e '/abs_tol=/s/0.001/0.01/' -i tests/test_helpers.py || die
|
||||
|
||||
# xfail_strict fails on py3.10
|
||||
sed -i -e '/--cov/d' -e '/xfail_strict/d' setup.cfg || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_test() {
|
||||
local EPYTEST_IGNORE=(
|
||||
# proxy is not packaged
|
||||
tests/test_proxy_functional.py
|
||||
)
|
||||
|
||||
local EPYTEST_DESELECT=(
|
||||
# runtime warnings
|
||||
'tests/test_client_functional.py::test_aiohttp_request_coroutine[pyloop]'
|
||||
# Internet
|
||||
tests/test_client_session.py::test_client_session_timeout_zero
|
||||
)
|
||||
|
||||
[[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
|
||||
# C extensions are not used on PyPy3
|
||||
tests/test_http_parser.py::test_c_parser_loaded
|
||||
)
|
||||
|
||||
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
|
||||
local -x PYTEST_PLUGINS=pytest_mock,xdist.plugin,pytest_forked
|
||||
mv aiohttp aiohttp.hidden || die
|
||||
epytest -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" --forked
|
||||
mv aiohttp.hidden aiohttp || die
|
||||
}
|
||||
@@ -1,97 +0,0 @@
|
||||
From a7424ddf490fc51244d427543cc9683b5427102b Mon Sep 17 00:00:00 2001
|
||||
From: Felix Yan <felixonmars@archlinux.org>
|
||||
Date: Fri, 19 Jul 2019 21:32:55 +0800
|
||||
Subject: [PATCH] Use Brotli instead of brotlipy (#3803)
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
brotlipy is stuck at brotli 0.6 and upstream is inactive. Let's switch
|
||||
to the official binding which is up-to-date.
|
||||
|
||||
(rebased for 3.7.x by Michał Górny)
|
||||
---
|
||||
aiohttp/http_parser.py | 25 +++++++++++++++++++++----
|
||||
docs/client_quickstart.rst | 2 +-
|
||||
docs/index.rst | 2 +-
|
||||
setup.py | 2 +-
|
||||
4 files changed, 24 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/aiohttp/http_parser.py b/aiohttp/http_parser.py
|
||||
index 71ba815a..56ecead4 100644
|
||||
--- a/aiohttp/http_parser.py
|
||||
+++ b/aiohttp/http_parser.py
|
||||
@@ -821,10 +821,27 @@ class DeflateBuffer:
|
||||
if encoding == "br":
|
||||
if not HAS_BROTLI: # pragma: no cover
|
||||
raise ContentEncodingError(
|
||||
- "Can not decode content-encoding: brotli (br). "
|
||||
- "Please install `brotlipy`"
|
||||
- )
|
||||
- self.decompressor = brotli.Decompressor()
|
||||
+ 'Can not decode content-encoding: brotli (br). '
|
||||
+ 'Please install `Brotli`')
|
||||
+
|
||||
+ class BrotliDecoder:
|
||||
+ # Supports both 'brotlipy' and 'Brotli' packages
|
||||
+ # since they share an import name. The top branches
|
||||
+ # are for 'brotlipy' and bottom branches for 'Brotli'
|
||||
+ def __init__(self) -> None:
|
||||
+ self._obj = brotli.Decompressor()
|
||||
+
|
||||
+ def decompress(self, data: bytes) -> bytes:
|
||||
+ if hasattr(self._obj, "decompress"):
|
||||
+ return self._obj.decompress(data)
|
||||
+ return self._obj.process(data)
|
||||
+
|
||||
+ def flush(self) -> bytes:
|
||||
+ if hasattr(self._obj, "flush"):
|
||||
+ return self._obj.flush()
|
||||
+ return b""
|
||||
+
|
||||
+ self.decompressor = BrotliDecoder() # type: Any
|
||||
else:
|
||||
zlib_mode = 16 + zlib.MAX_WBITS if encoding == "gzip" else zlib.MAX_WBITS
|
||||
self.decompressor = zlib.decompressobj(wbits=zlib_mode)
|
||||
diff --git a/docs/client_quickstart.rst b/docs/client_quickstart.rst
|
||||
index 95588cb6..b9146584 100644
|
||||
--- a/docs/client_quickstart.rst
|
||||
+++ b/docs/client_quickstart.rst
|
||||
@@ -174,7 +174,7 @@ The ``gzip`` and ``deflate`` transfer-encodings are automatically
|
||||
decoded for you.
|
||||
|
||||
You can enable ``brotli`` transfer-encodings support,
|
||||
-just install `brotlipy <https://github.com/python-hyper/brotlipy>`_.
|
||||
+just install `Brotli <https://pypi.org/project/Brotli>`_.
|
||||
|
||||
JSON Request
|
||||
============
|
||||
diff --git a/docs/index.rst b/docs/index.rst
|
||||
index 13fe723b..4091c001 100644
|
||||
--- a/docs/index.rst
|
||||
+++ b/docs/index.rst
|
||||
@@ -52,7 +52,7 @@ Installing speedups altogether
|
||||
------------------------------
|
||||
|
||||
The following will get you ``aiohttp`` along with :term:`chardet`,
|
||||
-:term:`aiodns` and ``brotlipy`` in one bundle. No need to type
|
||||
+:term:`aiodns` and ``Brotli`` in one bundle. No need to type
|
||||
separate commands anymore!
|
||||
|
||||
.. code-block:: bash
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 54462ba7..7a184817 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -137,7 +137,7 @@ args = dict(
|
||||
extras_require={
|
||||
"speedups": [
|
||||
"aiodns",
|
||||
- "brotlipy",
|
||||
+ "Brotli",
|
||||
"cchardet",
|
||||
],
|
||||
},
|
||||
--
|
||||
2.32.0
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
commit ec87d9f2b6541599dd7fc8aaebf0fdfbb812ade7
|
||||
Author: Louis Sautier <sautier.louis@gmail.com>
|
||||
Date: Tue Jul 20 23:37:27 2021 +0200
|
||||
|
||||
Remove deprecated loop argument from asyncio.sleep/gather calls
|
||||
|
||||
diff --git a/aiohttp/web.py b/aiohttp/web.py
|
||||
index 557e3c3b..52dfdf93 100644
|
||||
--- a/aiohttp/web.py
|
||||
+++ b/aiohttp/web.py
|
||||
@@ -441,7 +441,7 @@ def _cancel_tasks(
|
||||
task.cancel()
|
||||
|
||||
loop.run_until_complete(
|
||||
- asyncio.gather(*to_cancel, loop=loop, return_exceptions=True)
|
||||
+ asyncio.gather(*to_cancel, return_exceptions=True)
|
||||
)
|
||||
|
||||
for task in to_cancel:
|
||||
diff --git a/tests/test_locks.py b/tests/test_locks.py
|
||||
index 55fd2330..5f434eac 100644
|
||||
--- a/tests/test_locks.py
|
||||
+++ b/tests/test_locks.py
|
||||
@@ -18,7 +18,7 @@ class TestEventResultOrError:
|
||||
return 1
|
||||
|
||||
t = loop.create_task(c())
|
||||
- await asyncio.sleep(0, loop=loop)
|
||||
+ await asyncio.sleep(0)
|
||||
e = Exception()
|
||||
ev.set(exc=e)
|
||||
assert (await t) == e
|
||||
@@ -31,7 +31,7 @@ class TestEventResultOrError:
|
||||
return 1
|
||||
|
||||
t = loop.create_task(c())
|
||||
- await asyncio.sleep(0, loop=loop)
|
||||
+ await asyncio.sleep(0)
|
||||
ev.set()
|
||||
assert (await t) == 1
|
||||
|
||||
@@ -43,7 +43,7 @@ class TestEventResultOrError:
|
||||
|
||||
t1 = loop.create_task(c())
|
||||
t2 = loop.create_task(c())
|
||||
- await asyncio.sleep(0, loop=loop)
|
||||
+ await asyncio.sleep(0)
|
||||
ev.cancel()
|
||||
ev.set()
|
||||
|
||||
diff --git a/tests/test_proxy_functional.py b/tests/test_proxy_functional.py
|
||||
index 68763cd4..65c773a1 100644
|
||||
--- a/tests/test_proxy_functional.py
|
||||
+++ b/tests/test_proxy_functional.py
|
||||
@@ -238,7 +238,7 @@ async def test_proxy_http_multi_conn_limit(proxy_test_server, loop) -> None:
|
||||
resp = await sess.get(url, proxy=proxy.url)
|
||||
|
||||
current_pid = pid
|
||||
- await asyncio.sleep(0.2, loop=loop)
|
||||
+ await asyncio.sleep(0.2)
|
||||
assert current_pid == pid
|
||||
|
||||
await resp.release()
|
||||
@@ -443,7 +443,7 @@ async def xtest_proxy_https_multi_conn_limit(proxy_test_server, loop):
|
||||
resp = await sess.get(url, proxy=proxy.url)
|
||||
|
||||
current_pid = pid
|
||||
- await asyncio.sleep(0.2, loop=loop)
|
||||
+ await asyncio.sleep(0.2)
|
||||
assert current_pid == pid
|
||||
|
||||
await resp.release()
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
From bc142f906b3e7c63f0b1492fe3eacb7f00e9fb89 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
|
||||
Date: Mon, 1 Nov 2021 12:37:40 +0100
|
||||
Subject: [PATCH] Fix setup.cfg not to install "examples" top-level package
|
||||
|
||||
---
|
||||
setup.cfg | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/setup.cfg b/setup.cfg
|
||||
index 491df546..fa82b6b4 100644
|
||||
--- a/setup.cfg
|
||||
+++ b/setup.cfg
|
||||
@@ -62,6 +62,10 @@ speedups =
|
||||
Brotli
|
||||
cchardet
|
||||
|
||||
+[options.packages.find]
|
||||
+exclude =
|
||||
+ examples
|
||||
+
|
||||
[options.package_data]
|
||||
# Ref:
|
||||
# https://setuptools.readthedocs.io/en/latest/setuptools.html#options
|
||||
--
|
||||
2.33.1
|
||||
|
||||
Reference in New Issue
Block a user