guix_mirror_bot pushed a commit to branch python-team
in repository guix.

commit 3081b13a9e3e9c52a66160f15730b7bc96f91458
Author: Nguyễn Gia Phong <[email protected]>
AuthorDate: Tue Jan 20 22:07:03 2026 +0900

    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 <[email protected]>
---
 gnu/local.mk                                       |  1 +
 ...python-anyio-unuse-exceptiongroup-in-test.patch | 48 ++++++++++++++++++++++
 gnu/packages/python-xyz.scm                        | 16 ++++----
 3 files changed, 58 insertions(+), 7 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 0206284c52..7d5d3dd3b3 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2048,6 +2048,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              \
diff --git 
a/gnu/packages/patches/python-anyio-unuse-exceptiongroup-in-test.patch 
b/gnu/packages/patches/python-anyio-unuse-exceptiongroup-in-test.patch
new file mode 100644
index 0000000000..2fc358dbbf
--- /dev/null
+++ b/gnu/packages/patches/python-anyio-unuse-exceptiongroup-in-test.patch
@@ -0,0 +1,48 @@
+commit 0df0045987436d9eef2c477ecc13ebea65205e1f
+Author: Nguyễn Gia Phong <[email protected]>
+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:
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 370a7854c2..edb0cb3e4d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -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

Reply via email to