commit:     5fb9e4e83712855d2797f0f2020e86297f61eb30
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 28 06:40:17 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Sep 28 07:42:17 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5fb9e4e8

dev-python/uvicorn: Bump to 0.31.0

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/uvicorn/Manifest                        |  1 +
 .../uvicorn/files/uvicorn-0.31.0-ws-0.13.patch     | 25 +++++++
 dev-python/uvicorn/uvicorn-0.31.0.ebuild           | 80 ++++++++++++++++++++++
 3 files changed, 106 insertions(+)

diff --git a/dev-python/uvicorn/Manifest b/dev-python/uvicorn/Manifest
index 0e8b8104d1c5..f28ac7d5fec0 100644
--- a/dev-python/uvicorn/Manifest
+++ b/dev-python/uvicorn/Manifest
@@ -1 +1,2 @@
 DIST uvicorn-0.30.6.gh.tar.gz 724296 BLAKE2B 
c95ee6764947e51958da2e62627d20bfbef48f065832f6214c7c05b9daf344b76eb6b0ec4ccbc3ebc2502b9f2cc77157dcf90e824cec0a8adc62601ceb4abf0c
 SHA512 
d4c4410648509b14e18c3c86a33df4152e951703d287153a26ad35f4dce35eb594b940d3773cb444119b9bfa72ae3885c54d84b1a09c0c6069b80941f453c2e8
+DIST uvicorn-0.31.0.gh.tar.gz 728288 BLAKE2B 
8cdc15895be8689cb38c402beac415463b185d2402484e16cac28d51e4ef7359a23e084163761abe62483a02d987555dda628938c5b93cdf19e5759372598557
 SHA512 
d1d8875681ecb81febac2eb1d00d245f421bfb3d06c91be831daf11411c94368707afde8781147752bcd327fa3eb83cff1635f24b9d57107675e69c12885950d

diff --git a/dev-python/uvicorn/files/uvicorn-0.31.0-ws-0.13.patch 
b/dev-python/uvicorn/files/uvicorn-0.31.0-ws-0.13.patch
new file mode 100644
index 000000000000..c0e89b47b801
--- /dev/null
+++ b/dev-python/uvicorn/files/uvicorn-0.31.0-ws-0.13.patch
@@ -0,0 +1,25 @@
+From c5966796a772d1e6504fd5c7f3e4678ede1a5a29 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <[email protected]>
+Date: Sat, 28 Sep 2024 08:50:03 +0200
+Subject: [PATCH] Update test_websocket.py::test_invalid_upgrade for
+ websockets==0.13*
+
+Update the expected messages in
+`tests/protocols/test_websocket.py::test_invalid_upgrade[websockets-h11]`
+to cover the new variant emitted by websockets==0.13*.
+---
+ tests/protocols/test_websocket.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tests/protocols/test_websocket.py 
b/tests/protocols/test_websocket.py
+index 074c01d03..78c65d635 100644
+--- a/tests/protocols/test_websocket.py
++++ b/tests/protocols/test_websocket.py
+@@ -114,6 +114,7 @@ def app(scope: Scope):
+                     "missing or empty sec-websocket-key header",  # wsproto
+                     "failed to open a websocket connection: missing " 
"sec-websocket-key header",
+                     "failed to open a websocket connection: missing or empty 
" "sec-websocket-key header",
++                    "failed to open a websocket connection: missing 
sec-websocket-key header; 'sec-websocket-key'",
+                 ]
+             )
+ 

diff --git a/dev-python/uvicorn/uvicorn-0.31.0.ebuild 
b/dev-python/uvicorn/uvicorn-0.31.0.ebuild
new file mode 100644
index 000000000000..6aaf8d360663
--- /dev/null
+++ b/dev-python/uvicorn/uvicorn-0.31.0.ebuild
@@ -0,0 +1,80 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Lightning-fast ASGI server implementation"
+HOMEPAGE="
+       https://www.uvicorn.org/
+       https://github.com/encode/uvicorn/
+       https://pypi.org/project/uvicorn/
+"
+# as of 0.28.0, no tests in sdist
+SRC_URI="
+       https://github.com/encode/uvicorn/archive/${PV}.tar.gz
+               -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv 
~s390 ~sparc ~x86"
+IUSE="test-rust"
+
+RDEPEND="
+       >=dev-python/asgiref-3.4.0[${PYTHON_USEDEP}]
+       >=dev-python/click-7.0[${PYTHON_USEDEP}]
+       >=dev-python/h11-0.8[${PYTHON_USEDEP}]
+       $(python_gen_cond_dep '
+               >=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}]
+       ' 3.10)
+"
+BDEPEND="
+       test? (
+               dev-python/a2wsgi[${PYTHON_USEDEP}]
+               dev-python/httpx[${PYTHON_USEDEP}]
+               dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+               dev-python/pytest-mock[${PYTHON_USEDEP}]
+               dev-python/python-dotenv[${PYTHON_USEDEP}]
+               dev-python/pyyaml[${PYTHON_USEDEP}]
+               >=dev-python/websockets-10.4[${PYTHON_USEDEP}]
+               dev-python/wsproto[${PYTHON_USEDEP}]
+               test-rust? (
+                       dev-python/cryptography[${PYTHON_USEDEP}]
+                       dev-python/trustme[${PYTHON_USEDEP}]
+                       dev-python/watchfiles[${PYTHON_USEDEP}]
+               )
+       )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+       # https://github.com/encode/uvicorn/pull/2470
+       "${FILESDIR}/${P}-ws-0.13.patch"
+)
+
+python_test() {
+       local EPYTEST_DESELECT=(
+               # too long path for unix socket
+               
tests/test_config.py::test_bind_unix_socket_works_with_reload_or_workers
+       )
+       case ${EPYTHON} in
+               pypy3)
+                       # TODO
+                       EPYTEST_DESELECT+=(
+                               
tests/middleware/test_logging.py::test_running_log_using_fd
+                       )
+                       ;;
+       esac
+
+       epytest
+}
+
+pkg_postinst() {
+       optfeature "auto reload on file changes" dev-python/watchfiles
+}

Reply via email to