[bug#75420,python-team,05/11] gnu: python-aiohttp: Update to 3.10.11.
Commit Message
* gnu/packages/python-web.scm (python-aiohttp): Update to 3.10.11.
Change-Id: Icbc68e14192af07f0c5785721e68afb52b61ce33
---
gnu/packages/python-web.scm | 115 +++++++++++-------------------------
1 file changed, 34 insertions(+), 81 deletions(-)
@@ -669,114 +669,67 @@ (define-public python-aiosignal
(define-public python-aiohttp
(package
(name "python-aiohttp")
- (version "3.8.4")
+ (version "3.10.11")
(source
(origin
(method url-fetch)
(uri (pypi-uri "aiohttp" version))
(sha256
- (base32 "0p5bj6g7ca19gvwk8fz00k579ma9w9kd27ssh2zl3r61ca8ilbmz"))
- (snippet
- #~(begin
- (use-modules ((guix build utils)))
- ;; TODO: Unbundle the llhttp sources.
- ;; (delete-file-recursively "vendor")
- (delete-file "aiohttp/_helpers.c")
- (delete-file "aiohttp/_http_parser.c")
- (delete-file "aiohttp/_http_writer.c")
- (delete-file "aiohttp/_websocket.c")))))
- (build-system python-build-system)
+ (base32 "19rk9n9293r8sdqilpxj9brycm9v1jjqv71hzbh3jbmbvkrvihlx"))))
+ (build-system pyproject-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'fix-tests
- (lambda _
- ;; Disable brotli tests, because we’re not providing that
- ;; optional library.
- (substitute* "tests/test_http_parser.py"
- ((" async def test_feed_eof_no_err_brotli")
- " @pytest.mark.xfail\n async def test_feed_eof_no_err_brotli"))
- ;; Make sure the timestamp of this file is > 1990, because a few
- ;; tests like test_static_file_if_modified_since_past_date depend
- ;; on it.
- (let ((late-90s (* 60 60 24 365 30)))
- (utime "tests/data.unknown_mime_type" late-90s late-90s))
-
- ;; Disable test that attempts to access httpbin.org.
- (substitute* "tests/test_formdata.py"
- (("async def test_mark_formdata_as_processed.*" all)
- (string-append "@pytest.mark.xfail\n" all)))
-
- ;; Don't test the aiohttp pytest plugin to avoid a dependency loop.
- (delete-file "tests/test_pytest_plugin.py")))
- (add-before 'build 'cythonize
- (lambda _
- ;; Adapted from the Makefile.
- (with-directory-excursion "aiohttp"
- (for-each
- (lambda (file)
- (invoke "cython" "-3"
- file "-I" "."))
- (find-files "." "_.*\\.pyx$")))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(let ((skipped-tests
- (string-append
- ;; This test probably requires to be run with the
- ;; library loaded from the the build directory.
- "not test_c_parser_loaded and "
- ;; TODO: These tests fail with recent versions of Pytest
- ;; and the fix is difficult to backport:
- ;; https://github.com/aio-libs/aiohttp/pull/6872
- ;; Re-enable after 3.9.
- "not test_session_close_awaitable and "
- "not test_async_with_session and "
- "not test_close_run_until_complete_not_deprecated and "
- ;; Disable the following tests as they require
- ;; networking.
- "not TestDeflateBuffer and "
- "not test_client_session_timeout_zero and "
- "not test_empty_body and "
- "not test_mark_formdata_as_processed[pyloop] and "
- "not test_receive_runtime_err[pyloop] "
- ;; These tests fail for unknown reasons (see:
- ;; https://github.com/aio-libs/aiohttp/issues/7130)
- "and not test_no_warnings "
- "and not test_default_loop "
- "and not test_ctor_global_loop "
- "and not test_set_loop_default_loop ")))
+ (string-append
+ ;; Disable the following tests as they require
+ ;; networking.
+ "not test_host_header_ipv6[pyloop-True] and "
+ "not test_http_response_parser_strict_obs_line_folding[py-parser-pyloop] and "
+ "not test_http_response_parser_strict_obs_line_folding[c-parser-pyloop] and "
+ "not test_http_response_parser_strict_headers[c-parser-pyloop] and "
+ "not test_http_response_parser_bad_chunked_strict_py[pyloop] and "
+ "not test_http_response_parser_bad_chunked_strict_c[pyloop] and "
+ "not test_add_static_path_resolution "
+ ;; These tests fail for unknown reasons (see:
+ ;; https://github.com/aio-libs/aiohttp/issues/7130)
+ "and not test_no_warnings "
+ "and not test_default_loop "
+ "and not test_ctor_global_loop "
+ "and not test_set_loop_default_loop "
+ ;; This test depends on timing which makes it unstable.
+ "and not test_import_time ")))
(when tests?
- ;; This tests requires the 'proxy.py' module, not yet
- ;; packaged.
- (delete-file "tests/test_proxy_functional.py")
;; Sometimes tests fail when run in parallel.
(invoke "pytest" "-vv"
"-o" "addopts=''" "--ignore=aiohttp"
- ;; These tests cause errors (see:
- ;; https://github.com/aio-libs/aiohttp/issues/7130).
- "--ignore" "tests/test_web_sendfile_functional.py"
- "--ignore" "tests/test_web_urldispatcher.py"
+ ;; These tests require the 'proxy.py' module, not yet
+ ;; packaged.
+ "--ignore" "tests/test_proxy_functional.py"
+ ;; These tests require Docker.
+ "--ignore" "tests/autobahn/test_autobahn.py"
"-k" skipped-tests))))))))
(propagated-inputs
(list python-aiodns
+ python-aiohappyeyeballs
python-aiosignal
- python-attrs
- python-asynctest
python-async-timeout
- python-charset-normalizer
+ python-attrs
+ python-brotli
python-frozenlist
- python-idna-ssl
python-multidict
python-yarl))
(native-inputs
- (list gunicorn-bootstrap
- python-async-generator
- python-cython
+ (list python-filelock
python-freezegun
python-pytest
+ python-pytest-codspeed
python-pytest-mock
- python-pytest-xdist
- python-re-assert))
+ python-re-assert
+ python-setuptools
+ python-wheel))
(home-page "https://github.com/aio-libs/aiohttp/")
(synopsis "Async HTTP client/server framework (asyncio)")
(description "@code{aiohttp} is an asynchronous HTTP client/server