summaryrefslogtreecommitdiff
path: root/dev-python/anyio
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-05-15 12:59:17 +0100
committerV3n3RiX <venerix@koprulu.sector>2025-05-15 12:59:17 +0100
commit317f7ab04be81dbdfa5b1c9c42729927c5bde946 (patch)
treeb90afe9d6ef62b771a6ddb9eb1968d6338ccd206 /dev-python/anyio
parent5e9cf59ef591ef814092c1f6f32d2ef2369d3882 (diff)
gentoo auto-resync : 15:05:2025 - 12:59:17HEADmaster
Diffstat (limited to 'dev-python/anyio')
-rw-r--r--dev-python/anyio/Manifest4
-rw-r--r--dev-python/anyio/anyio-4.8.0-r2.ebuild2
-rw-r--r--dev-python/anyio/anyio-4.8.0-r3.ebuild89
-rw-r--r--dev-python/anyio/files/anyio-4.8.0-py314.patch124
4 files changed, 217 insertions, 2 deletions
diff --git a/dev-python/anyio/Manifest b/dev-python/anyio/Manifest
index 99e37f546e84..fa8b0f97a78f 100644
--- a/dev-python/anyio/Manifest
+++ b/dev-python/anyio/Manifest
@@ -1,3 +1,5 @@
+AUX anyio-4.8.0-py314.patch 4855 BLAKE2B 180bdf9b8b4528e10c8349384fde0900039aa2fa2bf85d0de9066730c5aad4f5d5ac99ed9a6f3a70092c63930c37cc0ea268e6d4a18e3bbf628baf1e03bd03dc SHA512 6baea920efa72782940ffc7614013bf15edd7a4a0a3cc907c4b05ff162546327c49f4520e9d458ff50205ecf28defdcd3808ea1973255a763339c2c4fba8f179
DIST anyio-4.8.0.tar.gz 181126 BLAKE2B f33df2d5df27ff05d553544e1c4f351fa20d6f551d23b80d5f0beaa658c145c7b13d7d7da1c4c3c17e97ecfc595b3662dbc1c7bedbbda7471d1004090599c557 SHA512 939ae76eff4c91979f1ce2bdf3ef1f05f488931e7ae357632090855125656721099732a9a1e167755677757c2125287842e49fce19302f90615bd79b41cc9e67
-EBUILD anyio-4.8.0-r2.ebuild 2072 BLAKE2B c91eeafd25b65f0647dc654d49c597dde9cbfa4eb8a14a4be91fb57466173c379314890f84738eacbc5322030a1d092619e84af04101b2a54678125b4a8643dc SHA512 77e822b7f54d0ad47537dda2eedb2f351e7df0cdb882f2f58d3b2695338a51e5699a16c221a21c94c3846591329c9b2774d1f08985fa4a05d608242ade502872
+EBUILD anyio-4.8.0-r2.ebuild 2072 BLAKE2B 5c2387e5b7030330113efe49936da9f03a141b2b31bfd01e3af31988578661fc534f63249f18507386d22e57e682b8e91162b13947fb7a705a38d49396f56069 SHA512 bd2989709c728033c41ccf42b55c12c8ba8c73b2d9aec7ea4b691aee683db52bcd691058bd56800d5b3e097238e4d9f7e71fae68723abe56cacbcc3d1a72f802
+EBUILD anyio-4.8.0-r3.ebuild 2570 BLAKE2B 1b0e67356a9ff5bd14475d2ba48a6925943a82dda6c07906b5f98a350e4adeb11a445e01629359055ee1dd90e53982547efbb376f2cc43b88f987a42ed29414b SHA512 24c25d56fe57605d893eef98a944300eed620c5a33a781f1d0692cf029b647cc2c355cabb8b2c0ae61a8f80169d80eb24e2c0cc9e3d71e39c1be0d2e688fce97
MISC metadata.xml 1422 BLAKE2B 63acae587e7088e33ee5eb93a2a222899e54a5eb511118794f88e7c5a012d10983eb925427688a0b509b094e30a9cc9acc5f0c1765ea73e569161e0c30722000 SHA512 e0b540d5d739b7673a5a8682477f209f8b3648aad06a1c0610543a2e9dcbeca1cb1e52212d8088a5987a1c3bc3152cc5984ad5b5d0706fcdb5866b22de07b1eb
diff --git a/dev-python/anyio/anyio-4.8.0-r2.ebuild b/dev-python/anyio/anyio-4.8.0-r2.ebuild
index 734795bd8e7c..714d8c17ab48 100644
--- a/dev-python/anyio/anyio-4.8.0-r2.ebuild
+++ b/dev-python/anyio/anyio-4.8.0-r2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3_11 python3_{11..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
diff --git a/dev-python/anyio/anyio-4.8.0-r3.ebuild b/dev-python/anyio/anyio-4.8.0-r3.ebuild
new file mode 100644
index 000000000000..6ebf7a291939
--- /dev/null
+++ b/dev-python/anyio/anyio-4.8.0-r3.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Compatibility layer for multiple asynchronous event loop implementations"
+HOMEPAGE="
+ https://github.com/agronholm/anyio/
+ https://pypi.org/project/anyio/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/idna-2.8[${PYTHON_USEDEP}]
+ >=dev-python/sniffio-1.1[${PYTHON_USEDEP}]
+ >=dev-python/truststore-0.9.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}]
+ ' 3.{11..12})
+"
+# On amd64, let's get more test coverage by dragging in uvloop, but let's
+# not bother on other arches where uvloop may not be supported.
+BDEPEND="
+ >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/exceptiongroup-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-4.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/trio-0.26.1[${PYTHON_USEDEP}]
+ ' 3.{11..13})
+ amd64? (
+ $(python_gen_cond_dep '
+ >=dev-python/uvloop-0.21.0_beta1[${PYTHON_USEDEP}]
+ ' python3_{11..13})
+ )
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ '>=dev-python/sphinx-rtd-theme-1.2.2' \
+ dev-python/sphinxcontrib-jquery \
+ dev-python/sphinx-autodoc-typehints
+
+PATCHES=(
+ # https://github.com/agronholm/anyio/commit/f051fd45a1d34bae8dd70dba726e711e7a49deee
+ # https://github.com/agronholm/anyio/commit/e0e2531de14c54eed895c92b4c8e87b44f47634b
+ # https://github.com/agronholm/anyio/commit/8bad9c05d966f6edfa58f26257015cb657d4e5ef
+ "${FILESDIR}/${P}-py314.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires link-local IPv6 interface
+ tests/test_sockets.py::TestTCPListener::test_bind_link_local
+ )
+
+ case ${EPYTHON} in
+ pypy3.11)
+ EPYTEST_DESELECT+=(
+ # likely related to https://github.com/pypy/pypy/issues/5264
+ tests/test_debugging.py::test_main_task_name
+ )
+ ;;
+ esac
+
+ local filter=()
+ if ! has_version ">=dev-python/trio-0.26.1[${PYTHON_USEDEP}]"; then
+ filter+=( -k "not trio" )
+ EPYTEST_DESELECT+=(
+ tests/test_pytest_plugin.py::test_plugin
+ tests/test_pytest_plugin.py::test_autouse_async_fixture
+ tests/test_pytest_plugin.py::test_cancel_scope_in_asyncgen_fixture
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -m 'not network' "${filter[@]}"
+}
diff --git a/dev-python/anyio/files/anyio-4.8.0-py314.patch b/dev-python/anyio/files/anyio-4.8.0-py314.patch
new file mode 100644
index 000000000000..9e1ad2fb151c
--- /dev/null
+++ b/dev-python/anyio/files/anyio-4.8.0-py314.patch
@@ -0,0 +1,124 @@
+From f051fd45a1d34bae8dd70dba726e711e7a49deee Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= <alex.gronholm@nextday.fi>
+Date: Tue, 18 Mar 2025 14:38:12 +0200
+Subject: [PATCH] Fixed Path tests on Python 3.14.0a6
+
+---
+ src/anyio/_core/_fileio.py | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/src/anyio/_core/_fileio.py b/src/anyio/_core/_fileio.py
+index a0d61984..17459b79 100644
+--- a/src/anyio/_core/_fileio.py
++++ b/src/anyio/_core/_fileio.py
+@@ -421,13 +421,11 @@ async def copy(
+ target: str | os.PathLike[str],
+ *,
+ follow_symlinks: bool = True,
+- dirs_exist_ok: bool = False,
+ preserve_metadata: bool = False,
+ ) -> Path:
+ func = partial(
+ self._path.copy,
+ follow_symlinks=follow_symlinks,
+- dirs_exist_ok=dirs_exist_ok,
+ preserve_metadata=preserve_metadata,
+ )
+ return Path(await to_thread.run_sync(func, target))
+@@ -437,13 +435,11 @@ async def copy_into(
+ target_dir: str | os.PathLike[str],
+ *,
+ follow_symlinks: bool = True,
+- dirs_exist_ok: bool = False,
+ preserve_metadata: bool = False,
+ ) -> Path:
+ func = partial(
+ self._path.copy_into,
+ follow_symlinks=follow_symlinks,
+- dirs_exist_ok=dirs_exist_ok,
+ preserve_metadata=preserve_metadata,
+ )
+ return Path(await to_thread.run_sync(func, target_dir))
+@@ -616,7 +612,9 @@ async def read_text(
+ def relative_to(
+ self, *other: str | PathLike[str], walk_up: bool = False
+ ) -> Path:
+- return Path(self._path.relative_to(*other, walk_up=walk_up))
++ # relative_to() should work with any PathLike but it doesn't
++ others = [pathlib.Path(other) for other in other]
++ return Path(self._path.relative_to(*others, walk_up=walk_up))
+
+ else:
+
+From e0e2531de14c54eed895c92b4c8e87b44f47634b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= <alex.gronholm@nextday.fi>
+Date: Tue, 15 Apr 2025 00:54:22 +0300
+Subject: [PATCH] Fixed Path.copy() and Path.copy_info failing on Python
+ 3.14.0a7
+
+---
+ docs/versionhistory.rst | 1 +
+ src/anyio/_core/_fileio.py | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/anyio/_core/_fileio.py b/src/anyio/_core/_fileio.py
+index 17459b79..2eae029e 100644
+--- a/src/anyio/_core/_fileio.py
++++ b/src/anyio/_core/_fileio.py
+@@ -428,7 +428,7 @@ async def copy(
+ follow_symlinks=follow_symlinks,
+ preserve_metadata=preserve_metadata,
+ )
+- return Path(await to_thread.run_sync(func, target))
++ return Path(await to_thread.run_sync(func, pathlib.Path(target)))
+
+ async def copy_into(
+ self,
+@@ -442,7 +442,7 @@ async def copy_into(
+ follow_symlinks=follow_symlinks,
+ preserve_metadata=preserve_metadata,
+ )
+- return Path(await to_thread.run_sync(func, target_dir))
++ return Path(await to_thread.run_sync(func, pathlib.Path(target_dir)))
+
+ async def move(self, target: str | os.PathLike[str]) -> Path:
+ # Upstream does not handle anyio.Path properly as a PathLike
+From 8bad9c05d966f6edfa58f26257015cb657d4e5ef Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= <alex.gronholm@nextday.fi>
+Date: Sat, 15 Feb 2025 16:41:44 +0200
+Subject: [PATCH] Fixed test failures caused by Python 3.14.0a5
+
+---
+ docs/versionhistory.rst | 1 +
+ src/anyio/_core/_fileio.py | 15 ++++++++++-----
+ tests/test_fileio.py | 2 ++
+ 3 files changed, 13 insertions(+), 5 deletions(-)
+
+diff --git a/src/anyio/_core/_fileio.py b/src/anyio/_core/_fileio.py
+index 3728734c..350a873a 100644
+--- a/src/anyio/_core/_fileio.py
++++ b/src/anyio/_core/_fileio.py
+@@ -411,6 +412,10 @@ def match(self, path_pattern: str) -> bool:
+
+ if sys.version_info >= (3, 14):
+
++ @property
++ def info(self) -> Any: # TODO: add return type annotation when Typeshed gets it
++ return self._path.info
++
+ async def copy(
+ self,
+ target: str | os.PathLike[str],
+diff --git a/tests/test_fileio.py b/tests/test_fileio.py
+index d7a769bd..28830e6e 100644
+--- a/tests/test_fileio.py
++++ b/tests/test_fileio.py
+@@ -106,6 +106,8 @@ async def test_properties(self) -> None:
+ stdlib_properties.discard("__enter__")
+ stdlib_properties.discard("__exit__")
+ stdlib_properties.discard("__firstlineno__")
++ stdlib_properties.discard("__open_rb__")
++ stdlib_properties.discard("__open_wb__")
+
+ async_path = Path(path)
+ anyio_properties = {