Subject: [PATCH 32/38] gnu: python-rq-scheduler: Update to 0.14.

From: Nicolas Graves <[email-masked]>
Date: Fri, 4 Apr 2025 21:17:04 +0200

* gnu/packages/databases.scm (python-rq-scheduler): Update to 0.14.
[build-system]: Switch to pyproject.
[arguments]{test-flags}: Ignore failing tests.  They fail because of
mcron's requirements to be run with root when -u flag is used.
{phases}: Remove 'check phase replacement.
[native-inputs]: Add python-crontab, python-freezegun, python-pytest,
python-setuptools, python-wheel.  Remove which.
---
 gnu/packages/databases.scm | 37 +++++++++++++++++++++++--------------
 1 file changed, 23 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 4ecf237115..1aebf982ae 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -4647,7 +4647,7 @@ (define-public python-rq
 (define-public python-rq-scheduler
   (package
     (name "python-rq-scheduler")
-    (version "0.10.0")
+    (version "0.14")
     (home-page "https://github.com/rq/rq-scheduler")
     (source (origin
               (method git-fetch)
@@ -4657,21 +4657,30 @@ (define-public python-rq-scheduler
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0xg6yazqs5kbr2ayvhvljs1h5vgx5k5dds613fmhswln7gglf9hk"))))
-    (build-system python-build-system)
+                "09fh9m2vcl1jndq35xp1x0j8ih009r71qmhn2pkl93fykrqfavyn"))))
+    (build-system pyproject-build-system)
     (arguments
-     '(#:phases (modify-phases %standard-phases
-                  (add-before 'check 'start-redis
-                    (lambda _
-                      (invoke "redis-server" "--daemonize" "yes")))
-                  (replace 'check
-                    (lambda _
-                      (substitute* "run_tests.py"
-                        (("/usr/bin/env")
-                         (which "env")))
-                      (invoke "./run_tests.py"))))))
+     (list
+      #:test-flags
+      #~(list "-k" (string-append "not test_cron"
+                                  " and not test_job_creation_with"
+                                  " and not test_job_with_crontab"))
+      #:phases #~(modify-phases %standard-phases
+                   (add-before 'check 'start-redis
+                     (lambda _
+                       (invoke "redis-server" "--daemonize" "yes")))
+                   (add-after 'unpack 'loosen-requirements
+                     (lambda _
+                       (substitute* "setup.py"
+                         (("crontab>=[0-9.]*")
+                          "python-crontab")))))))
     (native-inputs
-     (list redis which))
+     (list python-crontab
+           python-freezegun
+           python-pytest
+           python-setuptools
+           python-wheel
+           redis))
     (propagated-inputs
      (list python-croniter python-rq))
     (synopsis "Job scheduling capabilities for RQ (Redis Queue)")
-- 
2.49.0