gnu: python-anyio: Update to 4.12.1.

* gnu/packages/patches/python-anyio-unuse-exceptiongroup-in-test.patch:
  New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/python-xyz.scm (python-anyio): Update to 4.12.1.
  [source] <patches>: Add patch.
  [arguments] <#:test-flags>: Unskip a test removed upstream.
  [native-inputs]: Add python-blockbuster.
  [home-page]: Change to the documentation website.

Change-Id: I3b73ec261817186b2b6a153eb844ff86dfdd28af
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
This commit is contained in:
Nguyễn Gia Phong 2026-01-20 22:07:03 +09:00 committed by Sharlatan Hellseher
parent 52a19c04c9
commit 1df17332f2
No known key found for this signature in database
GPG key ID: 76D727BFF62CD2B5
3 changed files with 58 additions and 7 deletions

View file

@ -2059,6 +2059,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-3.12-fix-tests.patch \
%D%/packages/patches/python-accupy-use-matplotx.patch \
%D%/packages/patches/python-accupy-fix-use-of-perfplot.patch \
%D%/packages/patches/python-anyio-unuse-exceptiongroup-in-test.patch \
%D%/packages/patches/python-bed-reader-use-store-samples.patch \
%D%/packages/patches/python-chai-drop-python2.patch \
%D%/packages/patches/python-clarabel-blas.patch \

View file

@ -0,0 +1,48 @@
commit 0df0045987436d9eef2c477ecc13ebea65205e1f
Author: Nguyễn Gia Phong <cnx@loang.net>
Date: 2026-01-21 13:23:43 +0900
Unuse exceptiongroup in test
diff --git a/pyproject.toml b/pyproject.toml
index dd1c0a3460a9..963da45d4ee8 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -48,7 +48,7 @@ pytest11 = {anyio = "anyio.pytest_plugin"}
test = [
"blockbuster >= 1.5.23",
"coverage[toml] >= 7",
- "exceptiongroup >= 1.2.0",
+ "exceptiongroup >= 1.2.0; python_version < '3.11'",
"hypothesis >= 4.18.2",
"psutil >= 5.9",
"pytest >= 7.0",
diff --git a/tests/test_taskgroups.py b/tests/test_taskgroups.py
index b747f7291a4c..036ab9fcbeca 100644
--- a/tests/test_taskgroups.py
+++ b/tests/test_taskgroups.py
@@ -11,7 +11,6 @@ from typing import Any, NoReturn, cast
from unittest import mock
import pytest
-from exceptiongroup import catch
from pytest import FixtureRequest, MonkeyPatch
import anyio
@@ -1550,13 +1549,12 @@ async def test_cancel_before_entering_task_group() -> None:
async def test_reraise_cancelled_in_excgroup() -> None:
- def handler(excgrp: BaseExceptionGroup) -> None:
- raise
-
with CancelScope() as scope:
scope.cancel()
- with catch({get_cancelled_exc_class(): handler}):
+ try:
await anyio.sleep_forever()
+ except* get_cancelled_exc_class():
+ raise
async def test_cancel_child_task_when_host_is_shielded() -> None:

View file

@ -28843,18 +28843,21 @@ register custom encoders and decoders.")
(define-public python-anyio
(package
(name "python-anyio")
(version "4.10.0")
(version "4.12.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "anyio" version))
(sha256
(base32
"19ivjwk60cyxc5cm7699f3007rp8wxqq6nxahx2p8fb0r4sswgrz"))))
"00ypzqzllinhj2x3ai5x5bvkdb0109nw59rdjdfg1lw59hxcrks1"))
(patches
;; Patch uses Python 3.11 except* syntax so can yet be upstreamed.
(search-patches "python-anyio-unuse-exceptiongroup-in-test.patch"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 1462 passed, 47 skipped, 665 deselected, 6 xfailed
;; tests: 1580 passed, 67 skipped, 700 deselected, 4 xfailed
#:test-flags
#~(list "-p" "no:asyncio"
"-m" "not network"
@ -28862,8 +28865,6 @@ register custom encoders and decoders.")
(string-join
(list
"not test_is_block_device"
;; AssertionError
"test_anyio_fixture_adoption_does_not_persist"
#$@(cond
((or (target-aarch64?)
(target-riscv64?))
@ -28905,7 +28906,8 @@ register custom encoders and decoders.")
python-sniffio
python-typing-extensions))
(native-inputs
(list python-psutil
(list python-blockbuster
python-psutil
python-pytest
python-pytest-mock
python-setuptools
@ -28914,7 +28916,7 @@ register custom encoders and decoders.")
python-trustme
python-truststore
python-uvloop))
(home-page "https://github.com/agronholm/anyio")
(home-page "https://anyio.readthedocs.io")
(synopsis "Compatibility layer for multiple asynchronous event loops")
(description
"AnyIO is an asynchronous networking and concurrency library that works