Subject: [PATCH] gnu: python-redis: Update to 5.2.0.
From: Ricardo Wurmus <[email-masked]>
To: [email-masked]
Cc: Ricardo Wurmus <[email-masked]>
Date: Mon, 2 Dec 2024 16:36:02 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/databases.scm (python-redis): Update to 5.2.0.
[arguments]: Update list of tests to skip; add phase 'relax-requirements.
[native-inputs]: Add python-numpy.

Change-Id: I789c511fb4a516e6cdad06dba695af9bb89f562d
---
 gnu/packages/databases.scm | 24 +++++++++++++++++++-----
 1 file changed, 19 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 94cb5bbd877..c7edada862c 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -4377,7 +4377,7 @@ (define-public python-fakeredis
 (define-public python-redis
   (package
     (name "python-redis")
-    (version "4.5.4")
+    (version "5.2.0")
     (source (origin
               ;; The PyPI archive lacks some test resources such as the TLS
               ;; certificates under docker/stunnel/keys.
@@ -4388,7 +4388,7 @@ (define-public python-redis
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0s5pswykjcyqbx471ib3gwy29xxa5ckgch9hy476x2s4pvhkbgmr"))))
+                "0f38s704gpm8ra6vdrqhicfq7m77in60kbgcmhvmviq9qj6v3505"))))
     (build-system pyproject-build-system)
     (arguments
      (list
@@ -4399,7 +4399,8 @@ (define-public python-redis
               ;; .github/workflows/install_and_test.sh).
               (string-append "not onlycluster "
                              "and not redismod "
-                             "and not ssl")
+                             "and not ssl "
+                             "and not graph")
               "-k" (string-append
                     ;; The autoclaim test fails with "AssertionError: assert
                     ;; [b'0-0', [], []] == [b'0-0', []]".
@@ -4408,9 +4409,21 @@ (define-public python-redis
                     ;; connecting to localhost:6380. Connection refused."
                     ;; (see: https://github.com/redis/redis-py/issues/2109).
                     "and not test_sync "
-                    "and not test_psync"))
+                    "and not test_psync "
+                    ;; Same with: "Error 111 connecting to
+                    ;; localhost:6479. Connection refused."
+                    "and not test_tfcall "
+                    "and not test_tfunction_load_delete "
+                    "and not test_tfunction_list"))
       #:phases
       #~(modify-phases %standard-phases
+          (add-after 'unpack 'relax-requirements
+            (lambda _
+              ;; FIXME Our version of python-async-timeout is just a little
+              ;; too old, but upgrading it would cause close to 1000 rebuilds.
+              (substitute* '("requirements.txt" "setup.py")
+                (("async-timeout>=4.0.3")
+                 "async-timeout>=4.0.2"))))
           ;; Tests require a running Redis server.
           (add-before 'check 'start-redis
             (lambda* (#:key tests? #:allow-other-keys)
@@ -4419,7 +4432,8 @@ (define-public python-redis
                         "--enable-debug-command" "yes"
                         "--enable-module-command" "local")))))))
     (native-inputs
-     (list python-pytest
+     (list python-numpy
+           python-pytest
            python-pytest-asyncio
            python-pytest-timeout
            redis))

base-commit: d97a67d41de142c0fbdba55e96bfc147482bfae2
-- 
2.46.0