[PATCH python-team 00/15] Some further python fixes

  • Open
  • quality assurance status badge
Details
2 participants
  • Nicolas Graves
  • Sharlatan Hellseher
Owner
unassigned
Submitted by
Nicolas Graves
Severity
normal

Debbugs page

N
N
Nicolas Graves wrote on 7 Mar 10:48 -0800
(address . guix-patches@gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250307185027.11928-1-ngraves@ngraves.fr
We might want to check out with Chris if nothing is broken with an
update of patchwork.

Nicolas Graves (12):
gnu: gunicorn: Migrate 'check phase to pyproject-build-system.
gnu: python-unyt: Avoid deprecation failure in tests.
gnu: python-carbon: Update to 1.1.10.
gnu: Add python-rrdtool.
gnu: python-h2: Fix test-flags.
gnu: graphite-web: Update to 1.1.10-2.49c28e2.
gnu: python-nptyping: Ignore failing test.
gnu: python-cfn-lint: Update to 1.28.0.
gnu: patchwork: Update to 3.2.1.
gnu: Remove python-django-3.2.
gnu: python-uqbar: Update to 7.0.0.
gnu: Remove python-sphinx-autodoc-typehints-5.

Nicolas Graves via Guix-patches via (3):
gnu: python-sphinx-panels: Update input to python-sphinx-5.
gnu: python-numpy-documentation: Update python-sphinx native-input.
gnu: Remove python-sphinx-4.

gnu/packages/django.scm | 20 +----
gnu/packages/graphviz.scm | 11 +--
gnu/packages/monitoring.scm | 128 ++++++++++++++++++++++----------
gnu/packages/patchutils.scm | 6 +-
gnu/packages/python-check.scm | 2 +
gnu/packages/python-science.scm | 3 +
gnu/packages/python-web.scm | 26 +++----
gnu/packages/python-xyz.scm | 14 +++-
gnu/packages/sphinx.scm | 36 +++------
9 files changed, 132 insertions(+), 114 deletions(-)

--
2.48.1
N
N
Nicolas Graves wrote on 7 Mar 11:15 -0800
[PATCH 03/15] gnu: python-carbon: Update to 1.1.10.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250307191522.22228-3-ngraves@ngraves.fr
* gnu/packages/monitoring.scm (python-carbon): Update to 1.1.10.
---
gnu/packages/monitoring.scm | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)

Toggle diff (35 lines)
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index 9813b5ca67..01b554d9aa 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -433,23 +433,24 @@ (define-public python-whisper
(define-public python-carbon
(package
(name "python-carbon")
- (version "1.1.8")
+ (version "1.1.10")
(source
(origin
(method url-fetch)
(uri (pypi-uri "carbon" version))
(sha256
(base32
- "1wb91fipk1niciffq5xwqbh8g7rl7ghdam4m97cjbig12i5qr4cm"))))
- (build-system python-build-system)
+ "0p6yjxif5ly5wkllnaw41w2zy9y0nffgfk91v861fn6c26lmnfy1"))))
+ (build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; Don't install to /opt
(add-after 'unpack 'do-not-install-to-/opt
(lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t)))))
+ (native-inputs (list python-setuptools python-wheel))
(propagated-inputs
- (list python-cachetools python-txamqp python-urllib3 python-whisper))
+ (list python-cachetools python-twisted python-txamqp python-urllib3))
(home-page "https://graphiteapp.org/")
(synopsis "Backend data caching and persistence daemon for Graphite")
(description "Carbon is a backend data caching and persistence daemon for
--
2.48.1
N
N
Nicolas Graves wrote on 7 Mar 11:15 -0800
[PATCH 02/15] gnu: python-unyt: Avoid deprecation failure in tests.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250307191522.22228-2-ngraves@ngraves.fr
* gnu/packages/python-science.scm (python-unyt)[arguments]
{test-flags}: Ignore failing test.
---
gnu/packages/python-science.scm | 3 +++
1 file changed, 3 insertions(+)

Toggle diff (16 lines)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 2fa57f0ab5..ca259356cf 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -2526,6 +2526,9 @@ (define-public python-unyt
(sha256
(base32 "0jrq2vhan2h280h6cw1sm5hys2nzmf19w4py64k3nrkc320z9mni"))))
(build-system pyproject-build-system)
+ (arguments
+ ;; This is a Numpy DeprecationWarning, remove it on next update.
+ (list #:test-flags ''("-k" "not test_h5_io")))
;; Pint is optional, but we do not propagate it due to its size.
(native-inputs
(list python-pint
--
2.48.1
N
N
Nicolas Graves wrote on 7 Mar 11:14 -0800
[PATCH 01/15] gnu: gunicorn: Migrate 'check phase to pyproject-build-system.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250307191522.22228-1-ngraves@ngraves.fr
* gnu/packages/python-web.scm (gunicorn)[arguments]
{phases}: Remove 'check phase and migrate its flags to...
{test-flags}: ...here.
---
gnu/packages/python-web.scm | 16 +++++-----------
1 file changed, 5 insertions(+), 11 deletions(-)

Toggle diff (35 lines)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 7495616f2e..4765ab2358 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -7304,23 +7304,17 @@ (define-public gunicorn
(outputs '("out" "doc"))
(build-system pyproject-build-system)
(arguments
- `(#:phases
+ `(#:test-flags
+ ;; Disable the geventlet tests because eventlet uses dnspython, which
+ ;; does not work in the build container due to lack of /etc/resolv.conf
+ '("--ignore=tests/workers/test_geventlet.py")
+ #:phases
(modify-phases %standard-phases
(add-after 'build 'build-doc
(lambda _
(invoke "make" "-C" "docs" "PAPER=a4" "html" "info")
(delete-file "docs/build/texinfo/Makefile")
(delete-file "docs/build/texinfo/Gunicorn.texi")))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (if tests?
- (begin
- (invoke "pytest" "-vv"
- ;; Disable the geventlet tests because eventlet uses
- ;; dnspython, which does not work in the build
- ;; container due to lack of /etc/resolv.conf, etc.
- "--ignore=tests/workers/test_geventlet.py"))
- (format #t "test suite not run~%"))))
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((doc (string-append (assoc-ref outputs "doc")
--
2.48.1
N
N
Nicolas Graves wrote on 7 Mar 11:15 -0800
[PATCH 04/15] gnu: Add python-rrdtool.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250307191522.22228-4-ngraves@ngraves.fr
* gnu/packages/monitoring.scm (python-rrdtool): New variable.
---
gnu/packages/monitoring.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index 01b554d9aa..b75500fc08 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2022 Mathieu Laparie <mlaparie@disr.it>
+;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -839,6 +840,25 @@ (define-public pw
@end itemize")
(license license:bsd-2)))
+(define-public python-rrdtool
+ (package
+ (name "python-rrdtool")
+ (version "0.1.16")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "rrdtool" version))
+ (sha256
+ (base32 "0l8lbarzfwbwnq9jm9gv4mmrxgjlb9hbz27sa8b703qa7s5zy2jz"))))
+ (build-system pyproject-build-system)
+ (arguments (list #:tests? #f)) ; No tests in pypi archive
+ (inputs (list rrdtool))
+ (native-inputs (list python-setuptools python-wheel))
+ (home-page "https://github.com/commx/python-rrdtool")
+ (synopsis "Python bindings for rrdtool")
+ (description "This package provides Python bindings for rrdtool.")
+ (license license:lgpl2.1)))
+
(define-public python-statsd
(package
(name "python-statsd")
--
2.48.1
N
N
Nicolas Graves wrote on 7 Mar 11:15 -0800
[PATCH 05/15] gnu: python-h2: Fix test-flags.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250307191522.22228-5-ngraves@ngraves.fr
* gnu/packages/python-web.scm (python-h2)[arguments]{test-flags}:
Fix quoting.
---
gnu/packages/python-web.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (19 lines)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 4765ab2358..2438fba134 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -2483,9 +2483,9 @@ (define-public python-h2
(string-join
(list "not test_remotesettingschanged_repr"
;; This test exceededs the Hypothesis deadline.
- ,@(if (target-riscv64?)
- `("test_changing_max_frame_size")
- '())
+ #$@(if (target-riscv64?)
+ #~("test_changing_max_frame_size")
+ #~())
"test_streamreset_repr"
"test_settingsacknowledged_repr"
"test_connectionterminated_repr[None-None]"
--
2.48.1
N
N
Nicolas Graves wrote on 7 Mar 11:15 -0800
[PATCH 06/15] gnu: graphite-web: Update to 1.1.10-2.49c28e2.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250307191522.22228-6-ngraves@ngraves.fr
* gnu/packages/monitoring.scm (graphite-web): Update to 1.1.10-2.49c28e2.
---
gnu/packages/monitoring.scm | 99 +++++++++++++++++++++++--------------
1 file changed, 62 insertions(+), 37 deletions(-)

Toggle diff (121 lines)
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index b75500fc08..1009c32783 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -69,6 +69,7 @@ (define-module (gnu packages monitoring)
#:use-module (gnu packages prometheus)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
+ #:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rrdtool)
@@ -461,45 +462,69 @@ (define-public python-carbon
(license license:asl2.0)))
(define-public graphite-web
- (package
- (name "graphite-web")
- (version "1.1.10")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "graphite-web" version))
- (sha256
- (base32
- "0nnk3kwn0b6bq9xnmv9bac6hpcbdgpgwf283c1ck5nm80panh61z"))))
- (build-system python-build-system)
- (arguments
- `(#:tests? #f ;XXX: not in PyPI release & requires database
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "setup.py"
- ;; Allow newer versions of django-tagging.
- (("django-tagging==") "django-tagging>=")
- ;; And Django.
- (("Django>=1\\.8,<3\\.1") "Django>=1.8,<4"))))
- ;; Don't install to /opt
- (add-after 'unpack 'do-not-install-to-/opt
- (lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t)))))
- (propagated-inputs
- (list python-cairocffi
- python-django-3.2
- python-django-tagging
- python-pyparsing
- python-pytz
- python-six
- python-urllib3))
- (home-page "https://graphiteapp.org/")
- (synopsis "Scalable realtime graphing system")
- (description "Graphite is a scalable real-time graphing system that does
+ (let ((commit "49c28e2015d605ad9ec93524f7076dd924a4731a")
+ (revision "2"))
+ (package
+ (name "graphite-web")
+ (version (git-version "1.1.10" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/graphite-project/graphite-web")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0bcc6jh7gyp8f54dzy4zza1z46gk3530r952pi86irf834z106sg"))))
+ (build-system pyproject-build-system)
+ (arguments
+ `(#:tests? #f ;XXX: Requires database, unable to run now
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "setup.py"
+ ;; Allow newer versions of django-tagging.
+ (("django-tagging==") "django-tagging>=")
+ ;; And Django.
+ (("Django>=3\\.2,<4") "Django>=4,<5"))))
+ ;; Don't install to /opt
+ (add-after 'unpack 'do-not-install-to-/opt
+ (lambda _ (setenv "GRAPHITE_NO_PREFIX" "1")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (mkdir-p "storage/log/webapp")
+ (with-directory-excursion "webapp"
+ (invoke "./manage.py" "test" "--pythonpath=." "tests"
+ "-k" (string-join
+ (list
+ "not test_dashboard_save_temporary_xss_key"
+ "test_dashboard_save_temporary_xss_name")
+ " and not ")))))))))
+ (native-inputs
+ (list python-carbon
+ python-mock
+ python-pytest
+ python-rrdtool
+ python-setuptools
+ python-tzdata
+ python-wheel
+ python-whisper))
+ (propagated-inputs
+ (list python-cairocffi
+ python-django-4.2
+ python-django-tagging
+ python-pyparsing
+ python-pytz
+ python-six
+ python-urllib3))
+ (home-page "https://graphiteapp.org/")
+ (synopsis "Scalable realtime graphing system")
+ (description "Graphite is a scalable real-time graphing system that does
two things: store numeric time-series data, and render graphs of this data on
demand.")
- (license license:asl2.0)))
+ (license license:asl2.0))))
(define-public python-prometheus-client
(package
--
2.48.1
N
N
Nicolas Graves wrote on 7 Mar 11:15 -0800
[PATCH 08/15] gnu: python-cfn-lint: Update to 1.28.0.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250307191522.22228-8-ngraves@ngraves.fr
* gnu/packages/python-web.scm (python-cfn-lint): Update to 1.28.0.
---
gnu/packages/python-web.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 2438fba134..77a4e5c8f1 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -1659,7 +1659,7 @@ (define-public python-cbor2
(define-public python-cfn-lint
(package
(name "python-cfn-lint")
- (version "1.22.1")
+ (version "1.28.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1668,7 +1668,7 @@ (define-public python-cfn-lint
(file-name (git-file-name name version))
(sha256
(base32
- "1zz121r9yv1irwdbk07s7958fh43h3r3q39qcj0gv4kpgb0vdf32"))))
+ "0n1v05516s0zy64v1a7f7pj5h9lscvbkkwnlgmys7g8lydlgf0v4"))))
(build-system pyproject-build-system)
(arguments
(list
--
2.48.1
N
N
Nicolas Graves wrote on 7 Mar 11:15 -0800
[PATCH 07/15] gnu: python-nptyping: Ignore failing test.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250307191522.22228-7-ngraves@ngraves.fr
* gnu/packages/python-check.scm (python-nptyping)[arguments]
{test-flags}: Ignore failing test.
---
gnu/packages/python-check.scm | 2 ++
1 file changed, 2 insertions(+)

Toggle diff (15 lines)
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index c969499521..1138e287f1 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -2601,6 +2601,8 @@ (define-public python-nptyping
(list
#:test-flags
#~(list
+ ;; This one started failing with the last update of Numpy.
+ "--ignore=tests/test_beartype.py"
;; Multiple failures due to undefined names (typing package must be
;; too outdated, or perhaps they use a newer pandas).
"--ignore=tests/test_mypy.py"
--
2.48.1
N
N
Nicolas Graves wrote on 7 Mar 11:15 -0800
[PATCH 09/15] gnu: patchwork: Update to 3.2.1.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250307191522.22228-9-ngraves@ngraves.fr
* gnu/packages/patchutils.scm (patchwork): Update to 3.2.1.
---
gnu/packages/patchutils.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm
index 3cd3507b07..b2b84046b4 100644
--- a/gnu/packages/patchutils.scm
+++ b/gnu/packages/patchutils.scm
@@ -370,7 +370,7 @@ (define-public meld
(define-public patchwork
(package
(name "patchwork")
- (version "3.1.1")
+ (version "3.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -379,7 +379,7 @@ (define-public patchwork
(file-name (git-file-name name version))
(sha256
(base32
- "0is9d4gf93jcbyshyj2k3kjyrjnvimrm6bai6dbcx630md222j5w"))))
+ "04ikawdyhjwspxvhazbp5f5vym672y0jcw8rd2m75h9ipcpnyxim"))))
(build-system python-build-system)
(arguments
`(;; TODO: Tests require a running database
@@ -503,7 +503,7 @@ (define pythonpath
(inputs
(list python-wrapper))
(propagated-inputs
- (list python-django-3.2
+ (list python-django
;; TODO: Make this configurable
python-psycopg2
python-mysqlclient
--
2.48.1
N
N
Nicolas Graves wrote on 7 Mar 11:15 -0800
[PATCH 10/15] gnu: Remove python-django-3.2.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250307191522.22228-10-ngraves@ngraves.fr
* gnu/packages/django.scm (python-django-3.2): Delete variable.
---
gnu/packages/django.scm | 20 ++------------------
1 file changed, 2 insertions(+), 18 deletions(-)

Toggle diff (43 lines)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index cb9df0d2df..20522231ac 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -148,26 +148,10 @@ (define-public python-django-4.2
;; This CVE seems fixed since 4.2.1.
(lint-hidden-cve . ("CVE-2023-31047"))))))
-(define-public python-django-3.2
- (package
- (inherit python-django-4.2)
- (version "3.2.21")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "Django" version))
- (sha256
- (base32
- "0g3zm2glh76g31q06g6fwkwvkrphjj3mnap5sgk1hx3v9r44rpm5"))))
- (native-search-paths '()) ;no need for TZDIR
- (propagated-inputs
- (modify-inputs (package-propagated-inputs python-django-4.2)
- ;; Django 4.0 deprecated pytz in favor of Pythons built-in zoneinfo.
- (append python-pytz)))))
-
;; archivebox requires django>=3.1.3,<3.2
(define-public python-django-3.1.14
(package
- (inherit python-django-3.2)
+ (inherit python-django-4.2)
(version "3.1.14")
(source (origin
(method url-fetch)
@@ -176,7 +160,7 @@ (define-public python-django-3.1.14
(base32
"0ix3v2wlnplv78zxjrlw8z3hiap2d5mxvk0ny2fc65526shsb93j"))))
(propagated-inputs
- (modify-inputs (package-propagated-inputs python-django-3.2)
+ (modify-inputs (package-propagated-inputs python-django-4.2)
;; Django 4.0 deprecated pytz in favor of Pythons built-in zoneinfo.
(append python-pytz)))))
--
2.48.1
N
N
Nicolas Graves wrote on 7 Mar 11:15 -0800
[PATCH 11/15] gnu: python-uqbar: Update to 7.0.0.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250307191522.22228-11-ngraves@ngraves.fr
* gnu/packages/graphviz.scm (python-uqbar): Update to 7.0.0.
[propagated-inputs]: Replace python-sphinx-5 by python-sphinx,
recursively.
---
gnu/packages/graphviz.scm | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm
index defd53df73..c23369acc4 100644
--- a/gnu/packages/graphviz.scm
+++ b/gnu/packages/graphviz.scm
@@ -208,7 +208,7 @@ (define-public python-pygraphviz
(define-public python-uqbar
(package
(name "python-uqbar")
- (version "0.6.9")
+ (version "7.0.0")
(source
(origin
(method git-fetch)
@@ -217,7 +217,7 @@ (define-public python-uqbar
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "037qj3rymm6xzdpklddfhmfp2p1bq9fi3jrvxj6gmharphd5z869"))))
+ (base32 "0qa32d2z7bg3h26r18dv55g9lghw59wln7rkcciavyyjh553q430"))))
(build-system pyproject-build-system)
(arguments ; XXX: Disable failing tests.
(list #:test-flags '(list "tests" "-k" "not test_find_executable \
@@ -232,12 +232,7 @@ (define-public python-uqbar
python-setuptools
python-wheel))
(propagated-inputs
- (list python-black python-sphinx-5 python-unidecode
- (package/inherit python-sphinx-rtd-theme
- (propagated-inputs
- (modify-inputs
- (package-propagated-inputs python-sphinx-rtd-theme)
- (replace "python-sphinx" python-sphinx-5))))))
+ (list python-black python-sphinx python-unidecode python-sphinx-rtd-theme))
(home-page "https://github.com/josiah-wolf-oberholtzer/uqbar")
(synopsis "Tools for building documentation with Sphinx, Graphviz and LaTeX")
(description
--
2.48.1
N
N
Nicolas Graves wrote on 7 Mar 11:15 -0800
[PATCH 12/15] gnu: Remove python-sphinx-autodoc-typehints-5.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250307191522.22228-12-ngraves@ngraves.fr
* gnu/packages/sphinx.scm (python-sphinx-autodoc-typehints-5): Delete variable.
---
gnu/packages/sphinx.scm | 7 -------
1 file changed, 7 deletions(-)

Toggle diff (20 lines)
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 6847592a99..5f06cb04f5 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -1234,13 +1234,6 @@ (define-public python-sphinx-autodoc-typehints
documenting acceptable argument types and return value types of functions.")
(license license:expat)))
-(define-public python-sphinx-autodoc-typehints-5
- (package/inherit python-sphinx-autodoc-typehints
- (propagated-inputs
- (modify-inputs
- (package-propagated-inputs python-sphinx-autodoc-typehints)
- (replace "python-sphinx" python-sphinx-5)))))
-
(define-public python-sphinx-pytest
(package
(name "python-sphinx-pytest")
--
2.48.1
N
N
Nicolas Graves wrote on 7 Mar 11:15 -0800
[PATCH 14/15] gnu: python-numpy-documentation: Update python-sphinx native-input.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves via Guix-patches via)(address . guix-patches@gnu.org)
20250307191522.22228-14-ngraves@ngraves.fr
From: Nicolas Graves via Guix-patches via <guix-patches@gnu.org>

* gnu/packages/python-xyz.scm (python-numpy-documentation):
[arguments]{phases}: Add phase 'avoid-external-deps. Adapt phase
'install by removing sphinx.ext.autodoc extension.
[native-inputs]: Replace python-sphinx-4 by python-sphinx. Add
python-sphinx-design.
---
gnu/packages/python-xyz.scm | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)

Toggle diff (41 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index bacfac6c42..6054a88562 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9684,6 +9684,16 @@ (define-public python-numpy-documentation
#:tests? #f ;we're only generating the documentation
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'avoid-external-deps
+ (lambda _
+ ;; XXX: Avoid theme-switcher to avoid sphinx error
+ ;; TemplateNotFound('theme-switcher.html')
+ ;; XXX: Avoid version-switcher because it depends on the value
+ ;; of external https://numpy.org/doc/_static/versions.json
+ (substitute* "doc/source/conf.py"
+ (("\
+\"navbar_end\": \\[\"theme-switcher\", \"version-switcher\", ")
+ "\"navbar_end\": ["))))
(add-before 'build 'add-gnu-freefont-to-texmf
(lambda _
;; XXX: The Sphinx-generated tex output specifies the GNU
@@ -9729,6 +9739,7 @@ (define-public python-numpy-documentation
(("\"contents\"") "'index'")
;; Disable Sphinx extensions that produce broken Texinfo.
((".*'numpydoc'.*") "")
+ ((".*'sphinx.ext.autodoc'.*") "")
((".*'sphinx.ext.autosummary'.*") ""))
(invoke "make" "info" sphinxopts)
;; Install the HTML documentation.
@@ -9752,7 +9763,8 @@ (define-public python-numpy-documentation
python-pandas
python-pydata-sphinx-theme
python-scipy ;used by matplotlib
- python-sphinx-4
+ python-sphinx
+ python-sphinx-design
python-sphinx-panels
texinfo
(texlive-updmap.cfg
--
2.48.1
N
N
Nicolas Graves wrote on 7 Mar 11:15 -0800
[PATCH 13/15] gnu: python-sphinx-panels: Update input to python-sphinx-5.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves via Guix-patches via)(address . guix-patches@gnu.org)
20250307191522.22228-13-ngraves@ngraves.fr
From: Nicolas Graves via Guix-patches via <guix-patches@gnu.org>

* gnu/packages/sphinx.scm (python-sphinx-panels):
[arguments]{phases}: Add 'loosen-requirements phase.
[propagated-inputs]: Replace python-sphinx-4 by python-sphinx-5.
---
gnu/packages/sphinx.scm | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 5f06cb04f5..024bfe986a 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -608,7 +608,15 @@ (define-public python-sphinx-panels
(sha256
(base32 "1ivqz6yv96a2jp59kylg1gbkrmzq6zwilppz3ij0zrkjn25zb97k"))))
(build-system pyproject-build-system)
- (propagated-inputs (list python-docutils-0.15 python-sphinx-4))
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'loosen-requirements
+ (lambda _
+ (substitute* "setup.py"
+ (("sphinx>=2,<5")
+ "sphinx>=2,<6")))))))
+ (propagated-inputs (list python-docutils-0.15 python-sphinx-5))
(native-inputs
(list python-pytest
python-pytest-regressions
--
2.48.1
N
N
Nicolas Graves wrote on 7 Mar 11:15 -0800
[PATCH 15/15] gnu: Remove python-sphinx-4.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves via Guix-patches via)(address . guix-patches@gnu.org)
20250307191522.22228-15-ngraves@ngraves.fr
From: Nicolas Graves via Guix-patches via <guix-patches@gnu.org>

* gnu/packages/sphinx.scm (python-sphinx-4): Delete variable.
---
gnu/packages/sphinx.scm | 19 -------------------
1 file changed, 19 deletions(-)

Toggle diff (32 lines)
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 024bfe986a..58952049a1 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -267,25 +267,6 @@ (define-public python-sphinx-5
(texlive-updmap.cfg
(list texlive-cm-super texlive-tex-gyre))))))
-;; Some packages do not support Sphinx 5 yet. Remove when unused.
-(define-public python-sphinx-4
- (package
- (inherit python-sphinx-5)
- (version "4.5.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "Sphinx" version))
- (sha256
- (base32
- "1rp28jryxwy24y8vpacclqihbizyi6b1s6id86pibvm46ybcmy3v"))))
- (propagated-inputs
- (modify-inputs (package-propagated-inputs python-sphinx)
- (replace "python-docutils" python-docutils-0.15)))
- (native-inputs
- (modify-inputs (package-native-inputs python-sphinx)
- (delete python-flit-core)
- (append python-setuptools python-wheel)))))
-
(define-public python-sphinxcontrib-apidoc
(package
(name "python-sphinxcontrib-apidoc")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 01/24] gnu: gunicorn: Migrate 'check phase to pyproject-build-system.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-1-ngraves@ngraves.fr
* gnu/packages/python-web.scm (gunicorn)[arguments]
{phases}: Remove 'check phase and migrate its flags to...
{test-flags}: ...here.
---
gnu/packages/python-web.scm | 16 +++++-----------
1 file changed, 5 insertions(+), 11 deletions(-)

Toggle diff (35 lines)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 7495616f2e..4765ab2358 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -7304,23 +7304,17 @@ (define-public gunicorn
(outputs '("out" "doc"))
(build-system pyproject-build-system)
(arguments
- `(#:phases
+ `(#:test-flags
+ ;; Disable the geventlet tests because eventlet uses dnspython, which
+ ;; does not work in the build container due to lack of /etc/resolv.conf
+ '("--ignore=tests/workers/test_geventlet.py")
+ #:phases
(modify-phases %standard-phases
(add-after 'build 'build-doc
(lambda _
(invoke "make" "-C" "docs" "PAPER=a4" "html" "info")
(delete-file "docs/build/texinfo/Makefile")
(delete-file "docs/build/texinfo/Gunicorn.texi")))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (if tests?
- (begin
- (invoke "pytest" "-vv"
- ;; Disable the geventlet tests because eventlet uses
- ;; dnspython, which does not work in the build
- ;; container due to lack of /etc/resolv.conf, etc.
- "--ignore=tests/workers/test_geventlet.py"))
- (format #t "test suite not run~%"))))
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((doc (string-append (assoc-ref outputs "doc")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 02/24] gnu: python-unyt: Avoid deprecation failure in tests.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-2-ngraves@ngraves.fr
* gnu/packages/python-science.scm (python-unyt)[arguments]
{test-flags}: Ignore failing test.
---
gnu/packages/python-science.scm | 3 +++
1 file changed, 3 insertions(+)

Toggle diff (16 lines)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 2fa57f0ab5..ca259356cf 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -2526,6 +2526,9 @@ (define-public python-unyt
(sha256
(base32 "0jrq2vhan2h280h6cw1sm5hys2nzmf19w4py64k3nrkc320z9mni"))))
(build-system pyproject-build-system)
+ (arguments
+ ;; This is a Numpy DeprecationWarning, remove it on next update.
+ (list #:test-flags ''("-k" "not test_h5_io")))
;; Pint is optional, but we do not propagate it due to its size.
(native-inputs
(list python-pint
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 03/24] gnu: python-carbon: Update to 1.1.10.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-3-ngraves@ngraves.fr
* gnu/packages/monitoring.scm (python-carbon): Update to 1.1.10.
---
gnu/packages/monitoring.scm | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)

Toggle diff (35 lines)
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index 9813b5ca67..01b554d9aa 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -433,23 +433,24 @@ (define-public python-whisper
(define-public python-carbon
(package
(name "python-carbon")
- (version "1.1.8")
+ (version "1.1.10")
(source
(origin
(method url-fetch)
(uri (pypi-uri "carbon" version))
(sha256
(base32
- "1wb91fipk1niciffq5xwqbh8g7rl7ghdam4m97cjbig12i5qr4cm"))))
- (build-system python-build-system)
+ "0p6yjxif5ly5wkllnaw41w2zy9y0nffgfk91v861fn6c26lmnfy1"))))
+ (build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; Don't install to /opt
(add-after 'unpack 'do-not-install-to-/opt
(lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t)))))
+ (native-inputs (list python-setuptools python-wheel))
(propagated-inputs
- (list python-cachetools python-txamqp python-urllib3 python-whisper))
+ (list python-cachetools python-twisted python-txamqp python-urllib3))
(home-page "https://graphiteapp.org/")
(synopsis "Backend data caching and persistence daemon for Graphite")
(description "Carbon is a backend data caching and persistence daemon for
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 04/24] gnu: Add python-rrdtool.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-4-ngraves@ngraves.fr
* gnu/packages/monitoring.scm (python-rrdtool): New variable.
---
gnu/packages/monitoring.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index 01b554d9aa..b75500fc08 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2022 Mathieu Laparie <mlaparie@disr.it>
+;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -839,6 +840,25 @@ (define-public pw
@end itemize")
(license license:bsd-2)))
+(define-public python-rrdtool
+ (package
+ (name "python-rrdtool")
+ (version "0.1.16")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "rrdtool" version))
+ (sha256
+ (base32 "0l8lbarzfwbwnq9jm9gv4mmrxgjlb9hbz27sa8b703qa7s5zy2jz"))))
+ (build-system pyproject-build-system)
+ (arguments (list #:tests? #f)) ; No tests in pypi archive
+ (inputs (list rrdtool))
+ (native-inputs (list python-setuptools python-wheel))
+ (home-page "https://github.com/commx/python-rrdtool")
+ (synopsis "Python bindings for rrdtool")
+ (description "This package provides Python bindings for rrdtool.")
+ (license license:lgpl2.1)))
+
(define-public python-statsd
(package
(name "python-statsd")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 05/24] gnu: python-h2: Fix test-flags.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-5-ngraves@ngraves.fr
* gnu/packages/python-web.scm (python-h2)[arguments]{test-flags}:
Fix quoting.
---
gnu/packages/python-web.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (19 lines)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 4765ab2358..2438fba134 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -2483,9 +2483,9 @@ (define-public python-h2
(string-join
(list "not test_remotesettingschanged_repr"
;; This test exceededs the Hypothesis deadline.
- ,@(if (target-riscv64?)
- `("test_changing_max_frame_size")
- '())
+ #$@(if (target-riscv64?)
+ #~("test_changing_max_frame_size")
+ #~())
"test_streamreset_repr"
"test_settingsacknowledged_repr"
"test_connectionterminated_repr[None-None]"
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 06/24] gnu: graphite-web: Update to 1.1.10-2.49c28e2.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-6-ngraves@ngraves.fr
* gnu/packages/monitoring.scm (graphite-web): Update to 1.1.10-2.49c28e2.
---
gnu/packages/monitoring.scm | 99 +++++++++++++++++++++++--------------
1 file changed, 62 insertions(+), 37 deletions(-)

Toggle diff (121 lines)
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index b75500fc08..1009c32783 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -69,6 +69,7 @@ (define-module (gnu packages monitoring)
#:use-module (gnu packages prometheus)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
+ #:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rrdtool)
@@ -461,45 +462,69 @@ (define-public python-carbon
(license license:asl2.0)))
(define-public graphite-web
- (package
- (name "graphite-web")
- (version "1.1.10")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "graphite-web" version))
- (sha256
- (base32
- "0nnk3kwn0b6bq9xnmv9bac6hpcbdgpgwf283c1ck5nm80panh61z"))))
- (build-system python-build-system)
- (arguments
- `(#:tests? #f ;XXX: not in PyPI release & requires database
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "setup.py"
- ;; Allow newer versions of django-tagging.
- (("django-tagging==") "django-tagging>=")
- ;; And Django.
- (("Django>=1\\.8,<3\\.1") "Django>=1.8,<4"))))
- ;; Don't install to /opt
- (add-after 'unpack 'do-not-install-to-/opt
- (lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t)))))
- (propagated-inputs
- (list python-cairocffi
- python-django-3.2
- python-django-tagging
- python-pyparsing
- python-pytz
- python-six
- python-urllib3))
- (home-page "https://graphiteapp.org/")
- (synopsis "Scalable realtime graphing system")
- (description "Graphite is a scalable real-time graphing system that does
+ (let ((commit "49c28e2015d605ad9ec93524f7076dd924a4731a")
+ (revision "2"))
+ (package
+ (name "graphite-web")
+ (version (git-version "1.1.10" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/graphite-project/graphite-web")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0bcc6jh7gyp8f54dzy4zza1z46gk3530r952pi86irf834z106sg"))))
+ (build-system pyproject-build-system)
+ (arguments
+ `(#:tests? #f ;XXX: Requires database, unable to run now
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "setup.py"
+ ;; Allow newer versions of django-tagging.
+ (("django-tagging==") "django-tagging>=")
+ ;; And Django.
+ (("Django>=3\\.2,<4") "Django>=4,<5"))))
+ ;; Don't install to /opt
+ (add-after 'unpack 'do-not-install-to-/opt
+ (lambda _ (setenv "GRAPHITE_NO_PREFIX" "1")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (mkdir-p "storage/log/webapp")
+ (with-directory-excursion "webapp"
+ (invoke "./manage.py" "test" "--pythonpath=." "tests"
+ "-k" (string-join
+ (list
+ "not test_dashboard_save_temporary_xss_key"
+ "test_dashboard_save_temporary_xss_name")
+ " and not ")))))))))
+ (native-inputs
+ (list python-carbon
+ python-mock
+ python-pytest
+ python-rrdtool
+ python-setuptools
+ python-tzdata
+ python-wheel
+ python-whisper))
+ (propagated-inputs
+ (list python-cairocffi
+ python-django-4.2
+ python-django-tagging
+ python-pyparsing
+ python-pytz
+ python-six
+ python-urllib3))
+ (home-page "https://graphiteapp.org/")
+ (synopsis "Scalable realtime graphing system")
+ (description "Graphite is a scalable real-time graphing system that does
two things: store numeric time-series data, and render graphs of this data on
demand.")
- (license license:asl2.0)))
+ (license license:asl2.0))))
(define-public python-prometheus-client
(package
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 08/24] gnu: python-cfn-lint: Update to 1.28.0.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-8-ngraves@ngraves.fr
* gnu/packages/python-web.scm (python-cfn-lint): Update to 1.28.0.
---
gnu/packages/python-web.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 2438fba134..77a4e5c8f1 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -1659,7 +1659,7 @@ (define-public python-cbor2
(define-public python-cfn-lint
(package
(name "python-cfn-lint")
- (version "1.22.1")
+ (version "1.28.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1668,7 +1668,7 @@ (define-public python-cfn-lint
(file-name (git-file-name name version))
(sha256
(base32
- "1zz121r9yv1irwdbk07s7958fh43h3r3q39qcj0gv4kpgb0vdf32"))))
+ "0n1v05516s0zy64v1a7f7pj5h9lscvbkkwnlgmys7g8lydlgf0v4"))))
(build-system pyproject-build-system)
(arguments
(list
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 09/24] gnu: patchwork: Update to 3.2.1.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-9-ngraves@ngraves.fr
* gnu/packages/patchutils.scm (patchwork): Update to 3.2.1.
---
gnu/packages/patchutils.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm
index 3cd3507b07..b2b84046b4 100644
--- a/gnu/packages/patchutils.scm
+++ b/gnu/packages/patchutils.scm
@@ -370,7 +370,7 @@ (define-public meld
(define-public patchwork
(package
(name "patchwork")
- (version "3.1.1")
+ (version "3.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -379,7 +379,7 @@ (define-public patchwork
(file-name (git-file-name name version))
(sha256
(base32
- "0is9d4gf93jcbyshyj2k3kjyrjnvimrm6bai6dbcx630md222j5w"))))
+ "04ikawdyhjwspxvhazbp5f5vym672y0jcw8rd2m75h9ipcpnyxim"))))
(build-system python-build-system)
(arguments
`(;; TODO: Tests require a running database
@@ -503,7 +503,7 @@ (define pythonpath
(inputs
(list python-wrapper))
(propagated-inputs
- (list python-django-3.2
+ (list python-django
;; TODO: Make this configurable
python-psycopg2
python-mysqlclient
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 10/24] gnu: Remove python-django-3.2.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-10-ngraves@ngraves.fr
* gnu/packages/django.scm (python-django-3.2): Delete variable.
---
gnu/packages/django.scm | 20 ++------------------
1 file changed, 2 insertions(+), 18 deletions(-)

Toggle diff (43 lines)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index cb9df0d2df..20522231ac 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -148,26 +148,10 @@ (define-public python-django-4.2
;; This CVE seems fixed since 4.2.1.
(lint-hidden-cve . ("CVE-2023-31047"))))))
-(define-public python-django-3.2
- (package
- (inherit python-django-4.2)
- (version "3.2.21")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "Django" version))
- (sha256
- (base32
- "0g3zm2glh76g31q06g6fwkwvkrphjj3mnap5sgk1hx3v9r44rpm5"))))
- (native-search-paths '()) ;no need for TZDIR
- (propagated-inputs
- (modify-inputs (package-propagated-inputs python-django-4.2)
- ;; Django 4.0 deprecated pytz in favor of Pythons built-in zoneinfo.
- (append python-pytz)))))
-
;; archivebox requires django>=3.1.3,<3.2
(define-public python-django-3.1.14
(package
- (inherit python-django-3.2)
+ (inherit python-django-4.2)
(version "3.1.14")
(source (origin
(method url-fetch)
@@ -176,7 +160,7 @@ (define-public python-django-3.1.14
(base32
"0ix3v2wlnplv78zxjrlw8z3hiap2d5mxvk0ny2fc65526shsb93j"))))
(propagated-inputs
- (modify-inputs (package-propagated-inputs python-django-3.2)
+ (modify-inputs (package-propagated-inputs python-django-4.2)
;; Django 4.0 deprecated pytz in favor of Pythons built-in zoneinfo.
(append python-pytz)))))
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 07/24] gnu: python-nptyping: Ignore failing test.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-7-ngraves@ngraves.fr
* gnu/packages/python-check.scm (python-nptyping)[arguments]
{test-flags}: Ignore failing test.
---
gnu/packages/python-check.scm | 2 ++
1 file changed, 2 insertions(+)

Toggle diff (15 lines)
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index c969499521..1138e287f1 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -2601,6 +2601,8 @@ (define-public python-nptyping
(list
#:test-flags
#~(list
+ ;; This one started failing with the last update of Numpy.
+ "--ignore=tests/test_beartype.py"
;; Multiple failures due to undefined names (typing package must be
;; too outdated, or perhaps they use a newer pandas).
"--ignore=tests/test_mypy.py"
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 11/24] gnu: python-uqbar: Update to 7.0.0.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-11-ngraves@ngraves.fr
* gnu/packages/graphviz.scm (python-uqbar): Update to 7.0.0.
[propagated-inputs]: Replace python-sphinx-5 by python-sphinx,
recursively.
---
gnu/packages/graphviz.scm | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm
index defd53df73..c23369acc4 100644
--- a/gnu/packages/graphviz.scm
+++ b/gnu/packages/graphviz.scm
@@ -208,7 +208,7 @@ (define-public python-pygraphviz
(define-public python-uqbar
(package
(name "python-uqbar")
- (version "0.6.9")
+ (version "7.0.0")
(source
(origin
(method git-fetch)
@@ -217,7 +217,7 @@ (define-public python-uqbar
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "037qj3rymm6xzdpklddfhmfp2p1bq9fi3jrvxj6gmharphd5z869"))))
+ (base32 "0qa32d2z7bg3h26r18dv55g9lghw59wln7rkcciavyyjh553q430"))))
(build-system pyproject-build-system)
(arguments ; XXX: Disable failing tests.
(list #:test-flags '(list "tests" "-k" "not test_find_executable \
@@ -232,12 +232,7 @@ (define-public python-uqbar
python-setuptools
python-wheel))
(propagated-inputs
- (list python-black python-sphinx-5 python-unidecode
- (package/inherit python-sphinx-rtd-theme
- (propagated-inputs
- (modify-inputs
- (package-propagated-inputs python-sphinx-rtd-theme)
- (replace "python-sphinx" python-sphinx-5))))))
+ (list python-black python-sphinx python-unidecode python-sphinx-rtd-theme))
(home-page "https://github.com/josiah-wolf-oberholtzer/uqbar")
(synopsis "Tools for building documentation with Sphinx, Graphviz and LaTeX")
(description
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 12/24] gnu: Remove python-sphinx-autodoc-typehints-5.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-12-ngraves@ngraves.fr
* gnu/packages/sphinx.scm (python-sphinx-autodoc-typehints-5): Delete variable.
---
gnu/packages/sphinx.scm | 7 -------
1 file changed, 7 deletions(-)

Toggle diff (20 lines)
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 6847592a99..5f06cb04f5 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -1234,13 +1234,6 @@ (define-public python-sphinx-autodoc-typehints
documenting acceptable argument types and return value types of functions.")
(license license:expat)))
-(define-public python-sphinx-autodoc-typehints-5
- (package/inherit python-sphinx-autodoc-typehints
- (propagated-inputs
- (modify-inputs
- (package-propagated-inputs python-sphinx-autodoc-typehints)
- (replace "python-sphinx" python-sphinx-5)))))
-
(define-public python-sphinx-pytest
(package
(name "python-sphinx-pytest")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 13/24] gnu: python-sphinx-panels: Update input to python-sphinx-5.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-13-ngraves@ngraves.fr
* gnu/packages/sphinx.scm (python-sphinx-panels):
[arguments]{phases}: Add 'loosen-requirements phase.
[propagated-inputs]: Replace python-sphinx-4 by python-sphinx-5.
---
gnu/packages/sphinx.scm | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 5f06cb04f5..024bfe986a 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -608,7 +608,15 @@ (define-public python-sphinx-panels
(sha256
(base32 "1ivqz6yv96a2jp59kylg1gbkrmzq6zwilppz3ij0zrkjn25zb97k"))))
(build-system pyproject-build-system)
- (propagated-inputs (list python-docutils-0.15 python-sphinx-4))
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'loosen-requirements
+ (lambda _
+ (substitute* "setup.py"
+ (("sphinx>=2,<5")
+ "sphinx>=2,<6")))))))
+ (propagated-inputs (list python-docutils-0.15 python-sphinx-5))
(native-inputs
(list python-pytest
python-pytest-regressions
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 14/24] gnu: python-numpy-documentation: Update python-sphinx native-input.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-14-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-numpy-documentation):
[arguments]{phases}: Add phase 'avoid-external-deps. Adapt phase
'install by removing sphinx.ext.autodoc extension.
[native-inputs]: Replace python-sphinx-4 by python-sphinx. Add
python-sphinx-design.
---
gnu/packages/python-xyz.scm | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)

Toggle diff (41 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index bacfac6c42..6054a88562 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9684,6 +9684,16 @@ (define-public python-numpy-documentation
#:tests? #f ;we're only generating the documentation
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'avoid-external-deps
+ (lambda _
+ ;; XXX: Avoid theme-switcher to avoid sphinx error
+ ;; TemplateNotFound('theme-switcher.html')
+ ;; XXX: Avoid version-switcher because it depends on the value
+ ;; of external https://numpy.org/doc/_static/versions.json
+ (substitute* "doc/source/conf.py"
+ (("\
+\"navbar_end\": \\[\"theme-switcher\", \"version-switcher\", ")
+ "\"navbar_end\": ["))))
(add-before 'build 'add-gnu-freefont-to-texmf
(lambda _
;; XXX: The Sphinx-generated tex output specifies the GNU
@@ -9729,6 +9739,7 @@ (define-public python-numpy-documentation
(("\"contents\"") "'index'")
;; Disable Sphinx extensions that produce broken Texinfo.
((".*'numpydoc'.*") "")
+ ((".*'sphinx.ext.autodoc'.*") "")
((".*'sphinx.ext.autosummary'.*") ""))
(invoke "make" "info" sphinxopts)
;; Install the HTML documentation.
@@ -9752,7 +9763,8 @@ (define-public python-numpy-documentation
python-pandas
python-pydata-sphinx-theme
python-scipy ;used by matplotlib
- python-sphinx-4
+ python-sphinx
+ python-sphinx-design
python-sphinx-panels
texinfo
(texlive-updmap.cfg
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 15/24] gnu: Remove python-sphinx-4.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-15-ngraves@ngraves.fr
* gnu/packages/sphinx.scm (python-sphinx-4): Delete variable.
---
gnu/packages/sphinx.scm | 19 -------------------
1 file changed, 19 deletions(-)

Toggle diff (32 lines)
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 024bfe986a..58952049a1 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -267,25 +267,6 @@ (define-public python-sphinx-5
(texlive-updmap.cfg
(list texlive-cm-super texlive-tex-gyre))))))
-;; Some packages do not support Sphinx 5 yet. Remove when unused.
-(define-public python-sphinx-4
- (package
- (inherit python-sphinx-5)
- (version "4.5.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "Sphinx" version))
- (sha256
- (base32
- "1rp28jryxwy24y8vpacclqihbizyi6b1s6id86pibvm46ybcmy3v"))))
- (propagated-inputs
- (modify-inputs (package-propagated-inputs python-sphinx)
- (replace "python-docutils" python-docutils-0.15)))
- (native-inputs
- (modify-inputs (package-native-inputs python-sphinx)
- (delete python-flit-core)
- (append python-setuptools python-wheel)))))
-
(define-public python-sphinxcontrib-apidoc
(package
(name "python-sphinxcontrib-apidoc")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 16/24] gnu: Remove python-anyjson.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-16-ngraves@ngraves.fr
This package is a leaf package in Guix, is stale for 13 years, and its
upstream repository is not even up anymore.

* gnu/packages/python-xyz.scm (python-anyjson): Delete variable.
---
gnu/packages/python-xyz.scm | 28 ----------------------------
1 file changed, 28 deletions(-)

Toggle diff (41 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6054a88562..558131fee6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -21048,34 +21048,6 @@ (define-public python-pyquery
fast xml and html manipulation.")
(license license:bsd-3)))
-(define-public python-anyjson
- (package
- (name "python-anyjson")
- (version "0.3.3")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "anyjson" version))
- (sha256
- (base32
- "1fjph4alvcscsl5d4b6qpv1yh31jy05jxi1l0xff7lws7j32v09p"))))
- (build-system python-build-system)
- (arguments
- `(;; We could possibly get tests working, but on Python 3 it's not so easy.
- ;; Very strangely, 2to3 is run *during setup.py install* (or bdist, or
- ;; whatever) so this transformation needs to be done before the tests
- ;; can be run. Maybe we could add a build step to transform beforehand
- ;; but it could be annoying/difficult.
- #:tests? #f))
- (native-inputs (list python-setuptools-57)) ;for use_2to3 support
- (home-page "https://bitbucket.org/runeh/anyjson/")
- (synopsis
- "Wraps best available JSON implementation in a common interface")
- (description
- "Anyjson loads whichever is the fastest JSON module installed
-and provides a uniform API regardless of which JSON implementation is used.")
- (license license:bsd-3)))
-
(define-public python-amqp
(package
(name "python-amqp")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 17/24] gnu: Remove python-parameterizedtestcase.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-17-ngraves@ngraves.fr
This package is a leaf package in Guix, has been abandonned for 11
years (aside from a License change).

* gnu/packages/python-check.scm (python-parameterizedtestcase): Delete variable.
---
gnu/packages/python-check.scm | 19 -------------------
1 file changed, 19 deletions(-)

Toggle diff (32 lines)
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 1138e287f1..d8fa37b9f6 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -2925,25 +2925,6 @@ (define-public python-pandas-vet
in an opinionated way.")
(license license:expat)))
-(define-public python-parameterizedtestcase
- (package
- (name "python-parameterizedtestcase")
- (version "0.1.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "parameterizedtestcase" version))
- (sha256
- (base32 "0zhjmsd16xacg4vd7zb75kw8q9khn52wvad634v1bvz7swaivk2c"))))
- (build-system python-build-system)
- (native-inputs (list python-setuptools-57)) ;for use_2to3
- (home-page
- "https://github.com/msabramo/python_unittest_parameterized_test_case")
- (synopsis "Parameterized tests for Python's unittest module")
- (description "This package provides parameterized tests for Python's
-@code{unittest} module taking inspiration from pytest.")
- (license license:expat)))
-
(define-public python-pytest-rerunfailures
(package
(name "python-pytest-rerunfailures")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 18/24] gnu: python-pyvcf: Rename package to python-pyvcf3.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-18-ngraves@ngraves.fr
* gnu/packages/bioinformatics.scm (python-pyvcf): Define in terms of
'deprecated-package'.
(python-pyvcf3): New variable, formerly known as "python-pyvcf".
---
gnu/packages/bioinformatics.scm | 65 +++++++++++----------------------
1 file changed, 21 insertions(+), 44 deletions(-)

Toggle diff (86 lines)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 6f4c5053b6..c593c37d35 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -23715,50 +23715,27 @@ (define-public tombo
;; Some parts may be BSD-3-licensed.
(license license:mpl2.0)))
-(define-public python-pyvcf
- (let ((commit "476169cd457ba0caa6b998b301a4d91e975251d9")
- (revision "0"))
- (package
- (name "python-pyvcf")
- (version (git-version "0.6.8" revision commit))
- ;; Use git, because the PyPI tarballs lack test data.
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jamescasbon/PyVCF.git")
- ;; Latest release is not tagged.
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0qf9lwj7r2hjjp4bd4vc7nayrhblfm4qcqs4dbd43a6p4bj2jv5p"))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-sample-script
- (lambda _
- ;; Add Python 3 compatibility to this sample script.
- (substitute* "scripts/vcf_sample_filter.py"
- (("print (.*)\n" _ arg)
- (string-append "print(" arg ")\n")))))
- (add-after 'install 'remove-installed-tests
- ;; Do not install test files.
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (delete-file-recursively (string-append
- (site-packages inputs outputs)
- "/vcf/test")))))))
- (native-inputs
- ;; Older setuptools is needed for use_2to3.
- (list python-cython python-setuptools-57))
- (propagated-inputs
- (list python-pysam python-rpy2))
- (home-page "https://github.com/jamescasbon/PyVCF")
- (synopsis "Variant Call Format parser for Python")
- (description "This package provides a @acronym{VCF,Variant Call Format}
+;; This is a fork of the original unmaintained python-pyvcf.
+(define-public python-pyvcf3
+ (package
+ (name "python-pyvcf3")
+ (version "1.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "PyVCF3" version))
+ (sha256
+ (base32 "0783pb2p5qx3vgwksc9b9vxbpdq7ax6znff9wa3h80cpicfdf5jb"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-setuptools))
+ (native-inputs (list python-setuptools python-wheel))
+ (home-page "https://github.com/dridk/PyVCF3")
+ (synopsis "Variant Call Format parser for Python")
+ (description "This package provides a @acronym{VCF,Variant Call Format}
parser for Python.")
- (license license:expat))))
+ (license license:expat)))
+
+(define-deprecated/public-alias python-pyvcf python-pyvcf3)
(define-public nanosv
(package
@@ -23772,7 +23749,7 @@ (define-public nanosv
"1wl2daj0bwrl8fx5xi8j8hfs3mp3vg3qycy66538n032v1qkc6xg"))))
(build-system python-build-system)
(inputs
- (list python-configparser python-pysam python-pyvcf))
+ (list python-configparser python-pysam python-pyvcf3))
(home-page "https://github.com/mroosmalen/nanosv")
(synopsis "Structural variation detection tool for Oxford Nanopore data")
(description "NanoSV is a software package that can be used to identify
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 19/24] gnu: gdal: Update to 3.10.2.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-19-ngraves@ngraves.fr
* gnu/packages/geo.scm (gdal): Update to 3.10.2.
[source]: Bundle zlib back, as it's now using a custom fork.
[arguments]: Add 'patch-runpath phase and {modules} in order to patch
the runpaths of the swig generated python bindings. Improve style.
[inputs]: Add gcc:lib, hdf5, librasterlite2, libspatialite.
[native-inputs]: Add bison.
---
gnu/packages/geo.scm | 66 ++++++++++++++++++++++++++++++--------------
1 file changed, 45 insertions(+), 21 deletions(-)

Toggle diff (106 lines)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 251ef5ced9..7e9b1da2e3 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -1408,46 +1408,69 @@ (define-public pdal
(define-public gdal
(package
(name "gdal")
- (version "3.6.1")
+ (version "3.10.2")
(source (origin
(method url-fetch)
(uri (string-append
- "http://download.osgeo.org/gdal/" version "/gdal-"
- version ".tar.gz"))
+ "http://download.osgeo.org/gdal/" version "/gdal-"
+ version ".tar.gz"))
(sha256
(base32
- "1qckwnygszxkkq40bf87s3m1sab6jj9jyakdvskh0qf7dq8zjarf"))
+ "1nmh92vbcrp9qnld98vkxsvaw0mrska06kxxbn7n6kgbh6mhlwfa"))
(modules '((guix build utils)))
(snippet
- `(begin
- ;; TODO: frmts contains a lot more bundled code.
- (for-each delete-file-recursively
- ;; bundled code
- '("frmts/png/libpng"
- "frmts/gif/giflib"
- "frmts/jpeg/libjpeg"
- "frmts/jpeg/libjpeg12"
- "frmts/gtiff/libtiff"
- "frmts/gtiff/libgeotiff"
- "frmts/zlib"
- "ogr/ogrsf_frmts/geojson/libjson"))))))
+ `(begin
+ ;; TODO: frmts contains a lot more bundled code.
+ (for-each delete-file-recursively
+ ;; bundled code
+ '("frmts/png/libpng"
+ "frmts/gif/giflib"
+ "frmts/jpeg/libjpeg"
+ "frmts/jpeg/libjpeg12"
+ "frmts/gtiff/libtiff"
+ "frmts/gtiff/libgeotiff"
+ "ogr/ogrsf_frmts/geojson/libjson"))))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f
- #:configure-flags
- (list "-DGDAL_USE_INTERNAL_LIBS=WHEN_NO_EXTERNAL"
- "-DGDAL_USE_JPEG12_INTERNAL=OFF")))
+ (list
+ #:tests? #f
+ #:configure-flags '(list "-DGDAL_USE_INTERNAL_LIBS=WHEN_NO_EXTERNAL"
+ "-DGDAL_USE_JPEG12_INTERNAL=OFF")
+ #:modules '((guix build cmake-build-system)
+ (guix build gremlin)
+ (guix build utils)
+ (srfi srfi-26))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'strip 'patch-runpath
+ (lambda* (#:key inputs #:allow-other-keys)
+ (for-each
+ (cut set-file-runpath <>
+ (list (string-append #$output "/lib")
+ (dirname (search-input-file
+ inputs "/lib/libgcc_s.so"))
+ (dirname (search-input-file
+ inputs "/lib/libc.so.6"))))
+ (find-files
+ #$output
+ (lambda (file stat)
+ (and (string-suffix? ".so" file)
+ (string-contains file "site-packages"))))))))))
(inputs
(list curl
expat
freexl
+ `(,gcc "lib")
geos
giflib
+ hdf5
json-c
libgeotiff
libjpeg-turbo
libjxl
libpng
+ librasterlite2
+ libspatialite
libtiff
libwebp
lz4
@@ -1463,7 +1486,8 @@ (define-public gdal
zlib
zstd))
(native-inputs
- (list pkg-config
+ (list bison
+ pkg-config
python))
(propagated-inputs
(list python-numpy))
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 21/24] gnu: sphinx-5: Ignore failing test.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-21-ngraves@ngraves.fr
* gnu/packages/sphinx.scm (sphinx-5)[arguments]{test-flags}: Ignore
test test_autodoc_default_options (also ignored in sphinx@6).
---
gnu/packages/sphinx.scm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

Toggle diff (18 lines)
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 239a2cc780..4b3e598e38 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -197,7 +197,10 @@ (define-public python-sphinx-5
" and not test_viewcode"
;; These fail with pygments 2.10+. They are harmless.
" and not test_additional_targets_should_not_be_translated"
- " and not test_additional_targets_should_be_translated"))
+ " and not test_additional_targets_should_be_translated"
+ ;; As in Sphinx@6:
+ ;; AssertionError: assert...list of weak references to the object...
+ " and not test_autodoc_default_options"))
#:phases
'(modify-phases %standard-phases
(add-before 'check 'pre-check
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 20/24] gnu: python-docutils-0.15: Update to 0.16.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-20-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-docutils-0.15): Update to 0.16.
[native-inputs]: Replace python-setuptools-57 by python-setuptools.
* gnu/packages/python-web.scm (awscli)[inputs]: Update accordingly.
* gnu/packages/sphinx.scm (python-sphinx-panels)[propagated-inputs]:
Update accordingly.
---
gnu/packages/python-web.scm | 2 +-
gnu/packages/python-xyz.scm | 10 +++++-----
gnu/packages/sphinx.scm | 2 +-
3 files changed, 7 insertions(+), 7 deletions(-)

Toggle diff (59 lines)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 77a4e5c8f1..42f98df644 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -5165,7 +5165,7 @@ (define-public awscli
(list groff-minimal
python-botocore
python-colorama
- python-docutils-0.15
+ python-docutils-0.16
python-pyyaml
python-rsa
python-s3transfer))
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 558131fee6..72906d7b37 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7835,21 +7835,21 @@ (define-public python-docutils
;; licensed under the PFSL, BSD 2-clause, and GPLv3+ licenses.
(license (list license:public-domain license:psfl license:bsd-2 license:gpl3+))))
-;; awscli refuses to be built with docutils < 0.16.
-(define-public python-docutils-0.15
+;; awscli refuses to be built with docutils < 0.17.
+(define-public python-docutils-0.16
(package
(inherit python-docutils)
- (version "0.15")
+ (version "0.16")
(source (origin
(method url-fetch)
(uri (pypi-uri "docutils" version))
(sha256
(base32
- "0ja8q6mdj6xv62jjw3phv8j5nfqi5x8hnfy4pqfcjcgz4b34k8sl"))))
+ "1z3qliszqca9m719q3qhdkh0ghh90g500avzdgi7pl77x5h3mpn2"))))
;; tests contain Python 2 syntax.
(arguments '(#:tests? #false))
(native-inputs
- (list python-setuptools-57))))
+ (list python-setuptools))))
(define-public python-docx
(package
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 58952049a1..239a2cc780 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -597,7 +597,7 @@ (define-public python-sphinx-panels
(substitute* "setup.py"
(("sphinx>=2,<5")
"sphinx>=2,<6")))))))
- (propagated-inputs (list python-docutils-0.15 python-sphinx-5))
+ (propagated-inputs (list python-docutils-0.16 python-sphinx-5))
(native-inputs
(list python-pytest
python-pytest-regressions
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 22/24] gnu: python-importlib-resources: Update python-setuptools input.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-22-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-importlib-resource)
[native-inputs]: Replace python-setuptools-57 by python-setuptools.
---
gnu/packages/python-xyz.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 72906d7b37..ace13dd419 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12913,7 +12913,7 @@ (define-public python-importlib-resources
python-pytest-enabler
python-pytest-flake8
python-pytest-mypy
- python-setuptools-57
+ python-setuptools
python-setuptools-scm))
(propagated-inputs
(list python-zipp))
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 23/24] gnu: python-louvain: Use pyproject-build-system.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-23-ngraves@ngraves.fr
* gnu/packages/graph.scm (python-louvain)
[build-system]: Switch from python-build-system to
pyproject-build-system.
[native-inputs]: Replace python-setuptools-57 by
python-setuptools. Add python-wheel.
---
gnu/packages/graph.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (18 lines)
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index f29a71c0d7..22fbf07229 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -388,9 +388,9 @@ (define-public python-louvain
(patches (search-patches "python-louvain-fix-test.patch"))
(sha256
(base32 "0sx53l555rwq0z7if8agirjgw4ddp8r9b949wwz8vlig03sjvfmp"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(native-inputs
- (list python-setuptools-57)) ;for use_2to3 support
+ (list python-setuptools python-wheel))
(propagated-inputs
(list python-networkx python-numpy))
(home-page "https://github.com/taynaud/python-louvain")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 15:11 -0700
[PATCH v2 24/24] gnu: Remove python-setuptools-57.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250309221153.334-24-ngraves@ngraves.fr
* gnu/packages/python-build.scm (python-setuptools-57): Delete variable.
---
gnu/packages/python-build.scm | 12 ------------
1 file changed, 12 deletions(-)

Toggle diff (25 lines)
diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index 6bea44fee6..85115afe25 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -344,18 +344,6 @@ (define-public python-setuptools
license:asl2.0 ;packaging is dual ASL2/BSD-2
license:bsd-2))))
-;; This is the last version with use_2to3 support.
-(define-public python-setuptools-57
- (package
- (inherit python-setuptools)
- (version "57.5.0")
- (source (origin
- (inherit (package-source python-setuptools))
- (uri (pypi-uri "setuptools" version))
- (sha256
- (base32
- "091sp8lrin7qllrhhx7y0iiv5gdb1d3l8a1ip5knk77ma1njdlyr"))))))
-
(define-public python-wheel
(package
(name "python-wheel")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 01/40] gnu: gunicorn: Migrate 'check phase to pyproject-build-system.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-1-ngraves@ngraves.fr
* gnu/packages/python-web.scm (gunicorn)[arguments]
{phases}: Remove 'check phase and migrate its flags to...
{test-flags}: ...here.
---
gnu/packages/python-web.scm | 16 +++++-----------
1 file changed, 5 insertions(+), 11 deletions(-)

Toggle diff (35 lines)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 7495616f2e..4765ab2358 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -7304,23 +7304,17 @@ (define-public gunicorn
(outputs '("out" "doc"))
(build-system pyproject-build-system)
(arguments
- `(#:phases
+ `(#:test-flags
+ ;; Disable the geventlet tests because eventlet uses dnspython, which
+ ;; does not work in the build container due to lack of /etc/resolv.conf
+ '("--ignore=tests/workers/test_geventlet.py")
+ #:phases
(modify-phases %standard-phases
(add-after 'build 'build-doc
(lambda _
(invoke "make" "-C" "docs" "PAPER=a4" "html" "info")
(delete-file "docs/build/texinfo/Makefile")
(delete-file "docs/build/texinfo/Gunicorn.texi")))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (if tests?
- (begin
- (invoke "pytest" "-vv"
- ;; Disable the geventlet tests because eventlet uses
- ;; dnspython, which does not work in the build
- ;; container due to lack of /etc/resolv.conf, etc.
- "--ignore=tests/workers/test_geventlet.py"))
- (format #t "test suite not run~%"))))
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((doc (string-append (assoc-ref outputs "doc")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 03/40] gnu: python-carbon: Update to 1.1.10.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-3-ngraves@ngraves.fr
* gnu/packages/monitoring.scm (python-carbon): Update to 1.1.10.
---
gnu/packages/monitoring.scm | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)

Toggle diff (35 lines)
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index 9813b5ca67..01b554d9aa 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -433,23 +433,24 @@ (define-public python-whisper
(define-public python-carbon
(package
(name "python-carbon")
- (version "1.1.8")
+ (version "1.1.10")
(source
(origin
(method url-fetch)
(uri (pypi-uri "carbon" version))
(sha256
(base32
- "1wb91fipk1niciffq5xwqbh8g7rl7ghdam4m97cjbig12i5qr4cm"))))
- (build-system python-build-system)
+ "0p6yjxif5ly5wkllnaw41w2zy9y0nffgfk91v861fn6c26lmnfy1"))))
+ (build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; Don't install to /opt
(add-after 'unpack 'do-not-install-to-/opt
(lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t)))))
+ (native-inputs (list python-setuptools python-wheel))
(propagated-inputs
- (list python-cachetools python-txamqp python-urllib3 python-whisper))
+ (list python-cachetools python-twisted python-txamqp python-urllib3))
(home-page "https://graphiteapp.org/")
(synopsis "Backend data caching and persistence daemon for Graphite")
(description "Carbon is a backend data caching and persistence daemon for
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 05/40] gnu: python-h2: Fix test-flags.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-5-ngraves@ngraves.fr
* gnu/packages/python-web.scm (python-h2)[arguments]{test-flags}:
Fix quoting.
---
gnu/packages/python-web.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (19 lines)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 4765ab2358..2438fba134 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -2483,9 +2483,9 @@ (define-public python-h2
(string-join
(list "not test_remotesettingschanged_repr"
;; This test exceededs the Hypothesis deadline.
- ,@(if (target-riscv64?)
- `("test_changing_max_frame_size")
- '())
+ #$@(if (target-riscv64?)
+ #~("test_changing_max_frame_size")
+ #~())
"test_streamreset_repr"
"test_settingsacknowledged_repr"
"test_connectionterminated_repr[None-None]"
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 02/40] gnu: python-unyt: Avoid deprecation failure in tests.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-2-ngraves@ngraves.fr
* gnu/packages/python-science.scm (python-unyt)[arguments]
{test-flags}: Ignore failing test.
---
gnu/packages/python-science.scm | 3 +++
1 file changed, 3 insertions(+)

Toggle diff (16 lines)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 2fa57f0ab5..ca259356cf 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -2526,6 +2526,9 @@ (define-public python-unyt
(sha256
(base32 "0jrq2vhan2h280h6cw1sm5hys2nzmf19w4py64k3nrkc320z9mni"))))
(build-system pyproject-build-system)
+ (arguments
+ ;; This is a Numpy DeprecationWarning, remove it on next update.
+ (list #:test-flags ''("-k" "not test_h5_io")))
;; Pint is optional, but we do not propagate it due to its size.
(native-inputs
(list python-pint
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 04/40] gnu: Add python-rrdtool.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-4-ngraves@ngraves.fr
* gnu/packages/monitoring.scm (python-rrdtool): New variable.
---
gnu/packages/monitoring.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index 01b554d9aa..b75500fc08 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2022 Mathieu Laparie <mlaparie@disr.it>
+;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -839,6 +840,25 @@ (define-public pw
@end itemize")
(license license:bsd-2)))
+(define-public python-rrdtool
+ (package
+ (name "python-rrdtool")
+ (version "0.1.16")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "rrdtool" version))
+ (sha256
+ (base32 "0l8lbarzfwbwnq9jm9gv4mmrxgjlb9hbz27sa8b703qa7s5zy2jz"))))
+ (build-system pyproject-build-system)
+ (arguments (list #:tests? #f)) ; No tests in pypi archive
+ (inputs (list rrdtool))
+ (native-inputs (list python-setuptools python-wheel))
+ (home-page "https://github.com/commx/python-rrdtool")
+ (synopsis "Python bindings for rrdtool")
+ (description "This package provides Python bindings for rrdtool.")
+ (license license:lgpl2.1)))
+
(define-public python-statsd
(package
(name "python-statsd")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 06/40] gnu: graphite-web: Update to 1.1.10-2.49c28e2.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-6-ngraves@ngraves.fr
* gnu/packages/monitoring.scm (graphite-web): Update to 1.1.10-2.49c28e2.
---
gnu/packages/monitoring.scm | 99 +++++++++++++++++++++++--------------
1 file changed, 62 insertions(+), 37 deletions(-)

Toggle diff (121 lines)
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index b75500fc08..1009c32783 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -69,6 +69,7 @@ (define-module (gnu packages monitoring)
#:use-module (gnu packages prometheus)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
+ #:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rrdtool)
@@ -461,45 +462,69 @@ (define-public python-carbon
(license license:asl2.0)))
(define-public graphite-web
- (package
- (name "graphite-web")
- (version "1.1.10")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "graphite-web" version))
- (sha256
- (base32
- "0nnk3kwn0b6bq9xnmv9bac6hpcbdgpgwf283c1ck5nm80panh61z"))))
- (build-system python-build-system)
- (arguments
- `(#:tests? #f ;XXX: not in PyPI release & requires database
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "setup.py"
- ;; Allow newer versions of django-tagging.
- (("django-tagging==") "django-tagging>=")
- ;; And Django.
- (("Django>=1\\.8,<3\\.1") "Django>=1.8,<4"))))
- ;; Don't install to /opt
- (add-after 'unpack 'do-not-install-to-/opt
- (lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t)))))
- (propagated-inputs
- (list python-cairocffi
- python-django-3.2
- python-django-tagging
- python-pyparsing
- python-pytz
- python-six
- python-urllib3))
- (home-page "https://graphiteapp.org/")
- (synopsis "Scalable realtime graphing system")
- (description "Graphite is a scalable real-time graphing system that does
+ (let ((commit "49c28e2015d605ad9ec93524f7076dd924a4731a")
+ (revision "2"))
+ (package
+ (name "graphite-web")
+ (version (git-version "1.1.10" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/graphite-project/graphite-web")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0bcc6jh7gyp8f54dzy4zza1z46gk3530r952pi86irf834z106sg"))))
+ (build-system pyproject-build-system)
+ (arguments
+ `(#:tests? #f ;XXX: Requires database, unable to run now
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "setup.py"
+ ;; Allow newer versions of django-tagging.
+ (("django-tagging==") "django-tagging>=")
+ ;; And Django.
+ (("Django>=3\\.2,<4") "Django>=4,<5"))))
+ ;; Don't install to /opt
+ (add-after 'unpack 'do-not-install-to-/opt
+ (lambda _ (setenv "GRAPHITE_NO_PREFIX" "1")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (mkdir-p "storage/log/webapp")
+ (with-directory-excursion "webapp"
+ (invoke "./manage.py" "test" "--pythonpath=." "tests"
+ "-k" (string-join
+ (list
+ "not test_dashboard_save_temporary_xss_key"
+ "test_dashboard_save_temporary_xss_name")
+ " and not ")))))))))
+ (native-inputs
+ (list python-carbon
+ python-mock
+ python-pytest
+ python-rrdtool
+ python-setuptools
+ python-tzdata
+ python-wheel
+ python-whisper))
+ (propagated-inputs
+ (list python-cairocffi
+ python-django-4.2
+ python-django-tagging
+ python-pyparsing
+ python-pytz
+ python-six
+ python-urllib3))
+ (home-page "https://graphiteapp.org/")
+ (synopsis "Scalable realtime graphing system")
+ (description "Graphite is a scalable real-time graphing system that does
two things: store numeric time-series data, and render graphs of this data on
demand.")
- (license license:asl2.0)))
+ (license license:asl2.0))))
(define-public python-prometheus-client
(package
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 08/40] gnu: python-cfn-lint: Update to 1.28.0.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-8-ngraves@ngraves.fr
* gnu/packages/python-web.scm (python-cfn-lint): Update to 1.28.0.
---
gnu/packages/python-web.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 2438fba134..77a4e5c8f1 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -1659,7 +1659,7 @@ (define-public python-cbor2
(define-public python-cfn-lint
(package
(name "python-cfn-lint")
- (version "1.22.1")
+ (version "1.28.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1668,7 +1668,7 @@ (define-public python-cfn-lint
(file-name (git-file-name name version))
(sha256
(base32
- "1zz121r9yv1irwdbk07s7958fh43h3r3q39qcj0gv4kpgb0vdf32"))))
+ "0n1v05516s0zy64v1a7f7pj5h9lscvbkkwnlgmys7g8lydlgf0v4"))))
(build-system pyproject-build-system)
(arguments
(list
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 07/40] gnu: python-nptyping: Ignore failing test.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-7-ngraves@ngraves.fr
* gnu/packages/python-check.scm (python-nptyping)[arguments]
{test-flags}: Ignore failing test.
---
gnu/packages/python-check.scm | 2 ++
1 file changed, 2 insertions(+)

Toggle diff (15 lines)
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index c969499521..1138e287f1 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -2601,6 +2601,8 @@ (define-public python-nptyping
(list
#:test-flags
#~(list
+ ;; This one started failing with the last update of Numpy.
+ "--ignore=tests/test_beartype.py"
;; Multiple failures due to undefined names (typing package must be
;; too outdated, or perhaps they use a newer pandas).
"--ignore=tests/test_mypy.py"
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 09/40] gnu: patchwork: Update to 3.2.1.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-9-ngraves@ngraves.fr
* gnu/packages/patchutils.scm (patchwork): Update to 3.2.1.
---
gnu/packages/patchutils.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm
index 3cd3507b07..b2b84046b4 100644
--- a/gnu/packages/patchutils.scm
+++ b/gnu/packages/patchutils.scm
@@ -370,7 +370,7 @@ (define-public meld
(define-public patchwork
(package
(name "patchwork")
- (version "3.1.1")
+ (version "3.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -379,7 +379,7 @@ (define-public patchwork
(file-name (git-file-name name version))
(sha256
(base32
- "0is9d4gf93jcbyshyj2k3kjyrjnvimrm6bai6dbcx630md222j5w"))))
+ "04ikawdyhjwspxvhazbp5f5vym672y0jcw8rd2m75h9ipcpnyxim"))))
(build-system python-build-system)
(arguments
`(;; TODO: Tests require a running database
@@ -503,7 +503,7 @@ (define pythonpath
(inputs
(list python-wrapper))
(propagated-inputs
- (list python-django-3.2
+ (list python-django
;; TODO: Make this configurable
python-psycopg2
python-mysqlclient
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 10/40] gnu: Remove python-django-3.2.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-10-ngraves@ngraves.fr
* gnu/packages/django.scm (python-django-3.2): Delete variable.
---
gnu/packages/django.scm | 20 ++------------------
1 file changed, 2 insertions(+), 18 deletions(-)

Toggle diff (43 lines)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index cb9df0d2df..20522231ac 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -148,26 +148,10 @@ (define-public python-django-4.2
;; This CVE seems fixed since 4.2.1.
(lint-hidden-cve . ("CVE-2023-31047"))))))
-(define-public python-django-3.2
- (package
- (inherit python-django-4.2)
- (version "3.2.21")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "Django" version))
- (sha256
- (base32
- "0g3zm2glh76g31q06g6fwkwvkrphjj3mnap5sgk1hx3v9r44rpm5"))))
- (native-search-paths '()) ;no need for TZDIR
- (propagated-inputs
- (modify-inputs (package-propagated-inputs python-django-4.2)
- ;; Django 4.0 deprecated pytz in favor of Pythons built-in zoneinfo.
- (append python-pytz)))))
-
;; archivebox requires django>=3.1.3,<3.2
(define-public python-django-3.1.14
(package
- (inherit python-django-3.2)
+ (inherit python-django-4.2)
(version "3.1.14")
(source (origin
(method url-fetch)
@@ -176,7 +160,7 @@ (define-public python-django-3.1.14
(base32
"0ix3v2wlnplv78zxjrlw8z3hiap2d5mxvk0ny2fc65526shsb93j"))))
(propagated-inputs
- (modify-inputs (package-propagated-inputs python-django-3.2)
+ (modify-inputs (package-propagated-inputs python-django-4.2)
;; Django 4.0 deprecated pytz in favor of Pythons built-in zoneinfo.
(append python-pytz)))))
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 11/40] gnu: python-uqbar: Update to 7.0.0.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-11-ngraves@ngraves.fr
* gnu/packages/graphviz.scm (python-uqbar): Update to 7.0.0.
[propagated-inputs]: Replace python-sphinx-5 by python-sphinx,
recursively.
---
gnu/packages/graphviz.scm | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm
index defd53df73..c23369acc4 100644
--- a/gnu/packages/graphviz.scm
+++ b/gnu/packages/graphviz.scm
@@ -208,7 +208,7 @@ (define-public python-pygraphviz
(define-public python-uqbar
(package
(name "python-uqbar")
- (version "0.6.9")
+ (version "7.0.0")
(source
(origin
(method git-fetch)
@@ -217,7 +217,7 @@ (define-public python-uqbar
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "037qj3rymm6xzdpklddfhmfp2p1bq9fi3jrvxj6gmharphd5z869"))))
+ (base32 "0qa32d2z7bg3h26r18dv55g9lghw59wln7rkcciavyyjh553q430"))))
(build-system pyproject-build-system)
(arguments ; XXX: Disable failing tests.
(list #:test-flags '(list "tests" "-k" "not test_find_executable \
@@ -232,12 +232,7 @@ (define-public python-uqbar
python-setuptools
python-wheel))
(propagated-inputs
- (list python-black python-sphinx-5 python-unidecode
- (package/inherit python-sphinx-rtd-theme
- (propagated-inputs
- (modify-inputs
- (package-propagated-inputs python-sphinx-rtd-theme)
- (replace "python-sphinx" python-sphinx-5))))))
+ (list python-black python-sphinx python-unidecode python-sphinx-rtd-theme))
(home-page "https://github.com/josiah-wolf-oberholtzer/uqbar")
(synopsis "Tools for building documentation with Sphinx, Graphviz and LaTeX")
(description
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 12/40] gnu: Remove python-sphinx-autodoc-typehints-5.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-12-ngraves@ngraves.fr
* gnu/packages/sphinx.scm (python-sphinx-autodoc-typehints-5): Delete variable.
---
gnu/packages/sphinx.scm | 7 -------
1 file changed, 7 deletions(-)

Toggle diff (20 lines)
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 6847592a99..5f06cb04f5 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -1234,13 +1234,6 @@ (define-public python-sphinx-autodoc-typehints
documenting acceptable argument types and return value types of functions.")
(license license:expat)))
-(define-public python-sphinx-autodoc-typehints-5
- (package/inherit python-sphinx-autodoc-typehints
- (propagated-inputs
- (modify-inputs
- (package-propagated-inputs python-sphinx-autodoc-typehints)
- (replace "python-sphinx" python-sphinx-5)))))
-
(define-public python-sphinx-pytest
(package
(name "python-sphinx-pytest")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 13/40] gnu: python-sphinx-panels: Update input to python-sphinx-5.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-13-ngraves@ngraves.fr
* gnu/packages/sphinx.scm (python-sphinx-panels):
[arguments]{phases}: Add 'loosen-requirements phase.
[propagated-inputs]: Replace python-sphinx-4 by python-sphinx-5.
---
gnu/packages/sphinx.scm | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 5f06cb04f5..024bfe986a 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -608,7 +608,15 @@ (define-public python-sphinx-panels
(sha256
(base32 "1ivqz6yv96a2jp59kylg1gbkrmzq6zwilppz3ij0zrkjn25zb97k"))))
(build-system pyproject-build-system)
- (propagated-inputs (list python-docutils-0.15 python-sphinx-4))
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'loosen-requirements
+ (lambda _
+ (substitute* "setup.py"
+ (("sphinx>=2,<5")
+ "sphinx>=2,<6")))))))
+ (propagated-inputs (list python-docutils-0.15 python-sphinx-5))
(native-inputs
(list python-pytest
python-pytest-regressions
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 14/40] gnu: python-numpy-documentation: Update python-sphinx native-input.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-14-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-numpy-documentation):
[arguments]{phases}: Add phase 'avoid-external-deps. Adapt phase
'install by removing sphinx.ext.autodoc extension.
[native-inputs]: Replace python-sphinx-4 by python-sphinx. Add
python-sphinx-design.
---
gnu/packages/python-xyz.scm | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)

Toggle diff (41 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index bacfac6c42..6054a88562 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9684,6 +9684,16 @@ (define-public python-numpy-documentation
#:tests? #f ;we're only generating the documentation
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'avoid-external-deps
+ (lambda _
+ ;; XXX: Avoid theme-switcher to avoid sphinx error
+ ;; TemplateNotFound('theme-switcher.html')
+ ;; XXX: Avoid version-switcher because it depends on the value
+ ;; of external https://numpy.org/doc/_static/versions.json
+ (substitute* "doc/source/conf.py"
+ (("\
+\"navbar_end\": \\[\"theme-switcher\", \"version-switcher\", ")
+ "\"navbar_end\": ["))))
(add-before 'build 'add-gnu-freefont-to-texmf
(lambda _
;; XXX: The Sphinx-generated tex output specifies the GNU
@@ -9729,6 +9739,7 @@ (define-public python-numpy-documentation
(("\"contents\"") "'index'")
;; Disable Sphinx extensions that produce broken Texinfo.
((".*'numpydoc'.*") "")
+ ((".*'sphinx.ext.autodoc'.*") "")
((".*'sphinx.ext.autosummary'.*") ""))
(invoke "make" "info" sphinxopts)
;; Install the HTML documentation.
@@ -9752,7 +9763,8 @@ (define-public python-numpy-documentation
python-pandas
python-pydata-sphinx-theme
python-scipy ;used by matplotlib
- python-sphinx-4
+ python-sphinx
+ python-sphinx-design
python-sphinx-panels
texinfo
(texlive-updmap.cfg
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 15/40] gnu: Remove python-sphinx-4.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-15-ngraves@ngraves.fr
* gnu/packages/sphinx.scm (python-sphinx-4): Delete variable.
---
gnu/packages/sphinx.scm | 19 -------------------
1 file changed, 19 deletions(-)

Toggle diff (32 lines)
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 024bfe986a..58952049a1 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -267,25 +267,6 @@ (define-public python-sphinx-5
(texlive-updmap.cfg
(list texlive-cm-super texlive-tex-gyre))))))
-;; Some packages do not support Sphinx 5 yet. Remove when unused.
-(define-public python-sphinx-4
- (package
- (inherit python-sphinx-5)
- (version "4.5.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "Sphinx" version))
- (sha256
- (base32
- "1rp28jryxwy24y8vpacclqihbizyi6b1s6id86pibvm46ybcmy3v"))))
- (propagated-inputs
- (modify-inputs (package-propagated-inputs python-sphinx)
- (replace "python-docutils" python-docutils-0.15)))
- (native-inputs
- (modify-inputs (package-native-inputs python-sphinx)
- (delete python-flit-core)
- (append python-setuptools python-wheel)))))
-
(define-public python-sphinxcontrib-apidoc
(package
(name "python-sphinxcontrib-apidoc")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 16/40] gnu: Remove python-anyjson.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-16-ngraves@ngraves.fr
This package is a leaf package in Guix, is stale for 13 years, and its
upstream repository is not even up anymore.

* gnu/packages/python-xyz.scm (python-anyjson): Delete variable.
---
gnu/packages/python-xyz.scm | 28 ----------------------------
1 file changed, 28 deletions(-)

Toggle diff (41 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6054a88562..558131fee6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -21048,34 +21048,6 @@ (define-public python-pyquery
fast xml and html manipulation.")
(license license:bsd-3)))
-(define-public python-anyjson
- (package
- (name "python-anyjson")
- (version "0.3.3")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "anyjson" version))
- (sha256
- (base32
- "1fjph4alvcscsl5d4b6qpv1yh31jy05jxi1l0xff7lws7j32v09p"))))
- (build-system python-build-system)
- (arguments
- `(;; We could possibly get tests working, but on Python 3 it's not so easy.
- ;; Very strangely, 2to3 is run *during setup.py install* (or bdist, or
- ;; whatever) so this transformation needs to be done before the tests
- ;; can be run. Maybe we could add a build step to transform beforehand
- ;; but it could be annoying/difficult.
- #:tests? #f))
- (native-inputs (list python-setuptools-57)) ;for use_2to3 support
- (home-page "https://bitbucket.org/runeh/anyjson/")
- (synopsis
- "Wraps best available JSON implementation in a common interface")
- (description
- "Anyjson loads whichever is the fastest JSON module installed
-and provides a uniform API regardless of which JSON implementation is used.")
- (license license:bsd-3)))
-
(define-public python-amqp
(package
(name "python-amqp")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 17/40] gnu: Remove python-parameterizedtestcase.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-17-ngraves@ngraves.fr
This package is a leaf package in Guix, has been abandonned for 11
years (aside from a License change).

* gnu/packages/python-check.scm (python-parameterizedtestcase): Delete variable.
---
gnu/packages/python-check.scm | 19 -------------------
1 file changed, 19 deletions(-)

Toggle diff (32 lines)
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 1138e287f1..d8fa37b9f6 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -2925,25 +2925,6 @@ (define-public python-pandas-vet
in an opinionated way.")
(license license:expat)))
-(define-public python-parameterizedtestcase
- (package
- (name "python-parameterizedtestcase")
- (version "0.1.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "parameterizedtestcase" version))
- (sha256
- (base32 "0zhjmsd16xacg4vd7zb75kw8q9khn52wvad634v1bvz7swaivk2c"))))
- (build-system python-build-system)
- (native-inputs (list python-setuptools-57)) ;for use_2to3
- (home-page
- "https://github.com/msabramo/python_unittest_parameterized_test_case")
- (synopsis "Parameterized tests for Python's unittest module")
- (description "This package provides parameterized tests for Python's
-@code{unittest} module taking inspiration from pytest.")
- (license license:expat)))
-
(define-public python-pytest-rerunfailures
(package
(name "python-pytest-rerunfailures")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 18/40] gnu: python-pyvcf: Rename package to python-pyvcf3.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-18-ngraves@ngraves.fr
* gnu/packages/bioinformatics.scm (python-pyvcf): Define in terms of
'deprecated-package'.
(python-pyvcf3): New variable, formerly known as "python-pyvcf".
---
gnu/packages/bioinformatics.scm | 65 +++++++++++----------------------
1 file changed, 21 insertions(+), 44 deletions(-)

Toggle diff (86 lines)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 6f4c5053b6..c593c37d35 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -23715,50 +23715,27 @@ (define-public tombo
;; Some parts may be BSD-3-licensed.
(license license:mpl2.0)))
-(define-public python-pyvcf
- (let ((commit "476169cd457ba0caa6b998b301a4d91e975251d9")
- (revision "0"))
- (package
- (name "python-pyvcf")
- (version (git-version "0.6.8" revision commit))
- ;; Use git, because the PyPI tarballs lack test data.
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jamescasbon/PyVCF.git")
- ;; Latest release is not tagged.
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0qf9lwj7r2hjjp4bd4vc7nayrhblfm4qcqs4dbd43a6p4bj2jv5p"))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-sample-script
- (lambda _
- ;; Add Python 3 compatibility to this sample script.
- (substitute* "scripts/vcf_sample_filter.py"
- (("print (.*)\n" _ arg)
- (string-append "print(" arg ")\n")))))
- (add-after 'install 'remove-installed-tests
- ;; Do not install test files.
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (delete-file-recursively (string-append
- (site-packages inputs outputs)
- "/vcf/test")))))))
- (native-inputs
- ;; Older setuptools is needed for use_2to3.
- (list python-cython python-setuptools-57))
- (propagated-inputs
- (list python-pysam python-rpy2))
- (home-page "https://github.com/jamescasbon/PyVCF")
- (synopsis "Variant Call Format parser for Python")
- (description "This package provides a @acronym{VCF,Variant Call Format}
+;; This is a fork of the original unmaintained python-pyvcf.
+(define-public python-pyvcf3
+ (package
+ (name "python-pyvcf3")
+ (version "1.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "PyVCF3" version))
+ (sha256
+ (base32 "0783pb2p5qx3vgwksc9b9vxbpdq7ax6znff9wa3h80cpicfdf5jb"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-setuptools))
+ (native-inputs (list python-setuptools python-wheel))
+ (home-page "https://github.com/dridk/PyVCF3")
+ (synopsis "Variant Call Format parser for Python")
+ (description "This package provides a @acronym{VCF,Variant Call Format}
parser for Python.")
- (license license:expat))))
+ (license license:expat)))
+
+(define-deprecated/public-alias python-pyvcf python-pyvcf3)
(define-public nanosv
(package
@@ -23772,7 +23749,7 @@ (define-public nanosv
"1wl2daj0bwrl8fx5xi8j8hfs3mp3vg3qycy66538n032v1qkc6xg"))))
(build-system python-build-system)
(inputs
- (list python-configparser python-pysam python-pyvcf))
+ (list python-configparser python-pysam python-pyvcf3))
(home-page "https://github.com/mroosmalen/nanosv")
(synopsis "Structural variation detection tool for Oxford Nanopore data")
(description "NanoSV is a software package that can be used to identify
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 19/40] gnu: gdal: Update to 3.10.2.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-19-ngraves@ngraves.fr
* gnu/packages/geo.scm (gdal): Update to 3.10.2.
[source]: Bundle zlib back, as it's now using a custom fork.
[arguments]: Add 'patch-runpath phase and {modules} in order to patch
the runpaths of the swig generated python bindings. Improve style.
[inputs]: Add gcc:lib, hdf5, librasterlite2, libspatialite.
[native-inputs]: Add bison.
---
gnu/packages/geo.scm | 66 ++++++++++++++++++++++++++++++--------------
1 file changed, 45 insertions(+), 21 deletions(-)

Toggle diff (106 lines)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 251ef5ced9..7e9b1da2e3 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -1408,46 +1408,69 @@ (define-public pdal
(define-public gdal
(package
(name "gdal")
- (version "3.6.1")
+ (version "3.10.2")
(source (origin
(method url-fetch)
(uri (string-append
- "http://download.osgeo.org/gdal/" version "/gdal-"
- version ".tar.gz"))
+ "http://download.osgeo.org/gdal/" version "/gdal-"
+ version ".tar.gz"))
(sha256
(base32
- "1qckwnygszxkkq40bf87s3m1sab6jj9jyakdvskh0qf7dq8zjarf"))
+ "1nmh92vbcrp9qnld98vkxsvaw0mrska06kxxbn7n6kgbh6mhlwfa"))
(modules '((guix build utils)))
(snippet
- `(begin
- ;; TODO: frmts contains a lot more bundled code.
- (for-each delete-file-recursively
- ;; bundled code
- '("frmts/png/libpng"
- "frmts/gif/giflib"
- "frmts/jpeg/libjpeg"
- "frmts/jpeg/libjpeg12"
- "frmts/gtiff/libtiff"
- "frmts/gtiff/libgeotiff"
- "frmts/zlib"
- "ogr/ogrsf_frmts/geojson/libjson"))))))
+ `(begin
+ ;; TODO: frmts contains a lot more bundled code.
+ (for-each delete-file-recursively
+ ;; bundled code
+ '("frmts/png/libpng"
+ "frmts/gif/giflib"
+ "frmts/jpeg/libjpeg"
+ "frmts/jpeg/libjpeg12"
+ "frmts/gtiff/libtiff"
+ "frmts/gtiff/libgeotiff"
+ "ogr/ogrsf_frmts/geojson/libjson"))))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f
- #:configure-flags
- (list "-DGDAL_USE_INTERNAL_LIBS=WHEN_NO_EXTERNAL"
- "-DGDAL_USE_JPEG12_INTERNAL=OFF")))
+ (list
+ #:tests? #f
+ #:configure-flags '(list "-DGDAL_USE_INTERNAL_LIBS=WHEN_NO_EXTERNAL"
+ "-DGDAL_USE_JPEG12_INTERNAL=OFF")
+ #:modules '((guix build cmake-build-system)
+ (guix build gremlin)
+ (guix build utils)
+ (srfi srfi-26))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'strip 'patch-runpath
+ (lambda* (#:key inputs #:allow-other-keys)
+ (for-each
+ (cut set-file-runpath <>
+ (list (string-append #$output "/lib")
+ (dirname (search-input-file
+ inputs "/lib/libgcc_s.so"))
+ (dirname (search-input-file
+ inputs "/lib/libc.so.6"))))
+ (find-files
+ #$output
+ (lambda (file stat)
+ (and (string-suffix? ".so" file)
+ (string-contains file "site-packages"))))))))))
(inputs
(list curl
expat
freexl
+ `(,gcc "lib")
geos
giflib
+ hdf5
json-c
libgeotiff
libjpeg-turbo
libjxl
libpng
+ librasterlite2
+ libspatialite
libtiff
libwebp
lz4
@@ -1463,7 +1486,8 @@ (define-public gdal
zlib
zstd))
(native-inputs
- (list pkg-config
+ (list bison
+ pkg-config
python))
(propagated-inputs
(list python-numpy))
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 21/40] gnu: sphinx-5: Ignore failing test.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-21-ngraves@ngraves.fr
* gnu/packages/sphinx.scm (sphinx-5)[arguments]{test-flags}: Ignore
test test_autodoc_default_options (also ignored in sphinx@6).
---
gnu/packages/sphinx.scm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

Toggle diff (18 lines)
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 239a2cc780..4b3e598e38 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -197,7 +197,10 @@ (define-public python-sphinx-5
" and not test_viewcode"
;; These fail with pygments 2.10+. They are harmless.
" and not test_additional_targets_should_not_be_translated"
- " and not test_additional_targets_should_be_translated"))
+ " and not test_additional_targets_should_be_translated"
+ ;; As in Sphinx@6:
+ ;; AssertionError: assert...list of weak references to the object...
+ " and not test_autodoc_default_options"))
#:phases
'(modify-phases %standard-phases
(add-before 'check 'pre-check
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 20/40] gnu: python-docutils-0.15: Update to 0.16.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-20-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-docutils-0.15): Update to 0.16.
[native-inputs]: Replace python-setuptools-57 by python-setuptools.
* gnu/packages/python-web.scm (awscli)[inputs]: Update accordingly.
* gnu/packages/sphinx.scm (python-sphinx-panels)[propagated-inputs]:
Update accordingly.
---
gnu/packages/python-web.scm | 2 +-
gnu/packages/python-xyz.scm | 10 +++++-----
gnu/packages/sphinx.scm | 2 +-
3 files changed, 7 insertions(+), 7 deletions(-)

Toggle diff (59 lines)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 77a4e5c8f1..42f98df644 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -5165,7 +5165,7 @@ (define-public awscli
(list groff-minimal
python-botocore
python-colorama
- python-docutils-0.15
+ python-docutils-0.16
python-pyyaml
python-rsa
python-s3transfer))
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 558131fee6..72906d7b37 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7835,21 +7835,21 @@ (define-public python-docutils
;; licensed under the PFSL, BSD 2-clause, and GPLv3+ licenses.
(license (list license:public-domain license:psfl license:bsd-2 license:gpl3+))))
-;; awscli refuses to be built with docutils < 0.16.
-(define-public python-docutils-0.15
+;; awscli refuses to be built with docutils < 0.17.
+(define-public python-docutils-0.16
(package
(inherit python-docutils)
- (version "0.15")
+ (version "0.16")
(source (origin
(method url-fetch)
(uri (pypi-uri "docutils" version))
(sha256
(base32
- "0ja8q6mdj6xv62jjw3phv8j5nfqi5x8hnfy4pqfcjcgz4b34k8sl"))))
+ "1z3qliszqca9m719q3qhdkh0ghh90g500avzdgi7pl77x5h3mpn2"))))
;; tests contain Python 2 syntax.
(arguments '(#:tests? #false))
(native-inputs
- (list python-setuptools-57))))
+ (list python-setuptools))))
(define-public python-docx
(package
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 58952049a1..239a2cc780 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -597,7 +597,7 @@ (define-public python-sphinx-panels
(substitute* "setup.py"
(("sphinx>=2,<5")
"sphinx>=2,<6")))))))
- (propagated-inputs (list python-docutils-0.15 python-sphinx-5))
+ (propagated-inputs (list python-docutils-0.16 python-sphinx-5))
(native-inputs
(list python-pytest
python-pytest-regressions
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 22/40] gnu: python-importlib-resources: Update python-setuptools input.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-22-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-importlib-resource)
[native-inputs]: Replace python-setuptools-57 by python-setuptools.
---
gnu/packages/python-xyz.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 72906d7b37..ace13dd419 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12913,7 +12913,7 @@ (define-public python-importlib-resources
python-pytest-enabler
python-pytest-flake8
python-pytest-mypy
- python-setuptools-57
+ python-setuptools
python-setuptools-scm))
(propagated-inputs
(list python-zipp))
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 23/40] gnu: python-louvain: Use pyproject-build-system.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-23-ngraves@ngraves.fr
* gnu/packages/graph.scm (python-louvain)
[build-system]: Switch from python-build-system to
pyproject-build-system.
[native-inputs]: Replace python-setuptools-57 by
python-setuptools. Add python-wheel.
---
gnu/packages/graph.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (18 lines)
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index f29a71c0d7..22fbf07229 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -388,9 +388,9 @@ (define-public python-louvain
(patches (search-patches "python-louvain-fix-test.patch"))
(sha256
(base32 "0sx53l555rwq0z7if8agirjgw4ddp8r9b949wwz8vlig03sjvfmp"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(native-inputs
- (list python-setuptools-57)) ;for use_2to3 support
+ (list python-setuptools python-wheel))
(propagated-inputs
(list python-networkx python-numpy))
(home-page "https://github.com/taynaud/python-louvain")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 24/40] gnu: Remove python-setuptools-57.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-24-ngraves@ngraves.fr
* gnu/packages/python-build.scm (python-setuptools-57): Delete variable.
---
gnu/packages/python-build.scm | 12 ------------
1 file changed, 12 deletions(-)

Toggle diff (25 lines)
diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index 6bea44fee6..85115afe25 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -344,18 +344,6 @@ (define-public python-setuptools
license:asl2.0 ;packaging is dual ASL2/BSD-2
license:bsd-2))))
-;; This is the last version with use_2to3 support.
-(define-public python-setuptools-57
- (package
- (inherit python-setuptools)
- (version "57.5.0")
- (source (origin
- (inherit (package-source python-setuptools))
- (uri (pypi-uri "setuptools" version))
- (sha256
- (base32
- "091sp8lrin7qllrhhx7y0iiv5gdb1d3l8a1ip5knk77ma1njdlyr"))))))
-
(define-public python-wheel
(package
(name "python-wheel")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 25/40] gnu: python-dpath: Update to 2.2.0.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-25-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-dpath): Update to 2.2.0.
[source]: Switch to git-fetch.
[build-system]: Switch from python-build-system to
pyproject-build-system.
[native-inputs]: Remove python-mock. Replace python-nose by
python-nose2. Add python-setuptools and python-wheel.
---
gnu/packages/python-xyz.scm | 27 ++++++++++++---------------
1 file changed, 12 insertions(+), 15 deletions(-)

Toggle diff (44 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ace13dd419..58b2436f7a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -34488,25 +34488,22 @@ (define-public python-dparse
(define-public python-dpath
(package
(name "python-dpath")
- (version "2.0.1")
+ (version "2.2.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "dpath" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/akesterson/dpath-python")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "1ymi9ssk7i0mx3mviplf4csfvzibdd6wyj4qzj6s487n9xgnp85y"))))
- (build-system python-build-system)
+ (base32 "1rxgkn2dzakwdw5idkx0092yrmf46zcqx3xp87xksvxpzbsvz4nf"))))
+ (build-system pyproject-build-system)
(native-inputs
- (list python-hypothesis python-mock python-nose))
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (add-installed-pythonpath inputs outputs)
- ;; This invocation is taken from tox.ini.
- (invoke "nosetests" "-d" "-v" "tests/"))))))
+ (list python-hypothesis
+ python-nose2
+ python-setuptools
+ python-wheel))
(home-page "https://github.com/akesterson/dpath-python")
(synopsis "File-system-like pathing and searching for dictionaries")
(description
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 26/40] gnu: python-yte: Update to 1.7.0.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-26-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-yte): Update to 1.7.0.
---
gnu/packages/python-xyz.scm | 26 ++++++++++++++++----------
1 file changed, 16 insertions(+), 10 deletions(-)

Toggle diff (43 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 58b2436f7a..347dee36bc 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -15319,20 +15319,26 @@ (define-public python-plac
(define-public python-yte
(package
(name "python-yte")
- (version "1.2.0")
+ (version "1.7.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "yte" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/koesterlab/yte")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "07hm1warpqi4ifqgkaz5sg887x4a44yhxafmpf835ywnpchg4s03"))))
- (build-system python-build-system)
+ (base32 "01hxl47bfb0jp2rh6qb6wrm6m8p5rfk21gksqb8qxxv9a037dnsv"))))
+ (build-system pyproject-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-HOME
- (lambda _ (setenv "HOME" "/tmp"))))))
- (propagated-inputs (list python-plac python-pyyaml))
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "tests.py")))))))
+ (native-inputs (list python-numpy python-poetry-core python-pytest))
+ (propagated-inputs (list python-dpath python-plac python-pyyaml))
(home-page "https://github.com/koesterlab/yte")
(synopsis "YAML template engine with Python expressions")
(description
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 27/40] gnu: Add python-argparse-dataclass.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-27-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-argparse-dataclass): New variable.
---
gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 347dee36bc..c6d90fe1ac 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19682,6 +19682,24 @@ (define-public python-connection-pool
connection pool.")
(license license:expat)))
+(define-public python-argparse-dataclass
+ (package
+ (name "python-argparse-dataclass")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "argparse_dataclass" version))
+ (sha256
+ (base32 "0zr9r4n00x2wi5kyzw3bxvrdp5k113jw7f9p4f414bsaj4f69aq9"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-setuptools python-wheel))
+ (home-page "https://github.com/mivade/argparse_dataclass")
+ (synopsis "Declarative CLIs with argparse and dataclasses")
+ (description
+ "This package provides declarative CLIs with argparse and dataclasses.")
+ (license license:expat)))
+
(define-public python-argparse-manpage
(package
(name "python-argparse-manpage")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 28/40] gnu: Add python-snakemake-interface-common.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-28-ngraves@ngraves.fr
* gnu/packages/python-science.scm (python-snakemake-interface-common):
New variable.
---
gnu/packages/python-science.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index ca259356cf..d0a354a8c6 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -933,6 +933,35 @@ (define-public python-scikit-survival
cross-validation.")
(license license:gpl3+))))
+(define-public python-snakemake-interface-common
+ (package
+ (name "python-snakemake-interface-common")
+ (version "1.17.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/snakemake/snakemake-interface-common")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "19fyqs048zdvrmq5sdayzch850kwsyv2x6xn57cjjzcm4zpjrh9w"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python3" "tests/tests.py")))))))
+ (native-inputs (list python-poetry-core python-pytest))
+ (propagated-inputs (list python-argparse-dataclass python-configargparse))
+ (home-page "https://github.com/snakemake/snakemake-interface-common")
+ (synopsis "Common functions and classes for Snakemake and its plugins")
+ (description "This package provides common functions and classes
+for Snakemake and its plugins.")
+ (license license:expat)))
+
(define-public python-tdda
(package
(name "python-tdda")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 29/40] gnu: Add python-snakemake-interface-executor-plugins.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-29-ngraves@ngraves.fr
* gnu/packages/python-science.scm
(python-snakemake-interface-executor-plugins): New variable.
---
gnu/packages/python-science.scm | 34 +++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index d0a354a8c6..54b04abf71 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -962,6 +962,40 @@ (define-public python-snakemake-interface-common
for Snakemake and its plugins.")
(license license:expat)))
+(define-public python-snakemake-interface-executor-plugins
+ (package
+ (name "python-snakemake-interface-executor-plugins")
+ (version "9.3.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "\
+https://github.com/snakemake/snakemake-interface-executor-plugins")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1kjjcgkk1rbavb687x5ayw35ayhsnhpg9262k317x911wqpsj2fm"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python3" "tests/tests.py")))))))
+ (propagated-inputs (list python-argparse-dataclass
+ python-snakemake-interface-common
+ python-throttler))
+ (native-inputs (list python-poetry-core python-pytest))
+ (home-page "\
+https://github.com/snakemake/python-snakemake-interface-executor-plugins")
+ (synopsis "Interface for Snakemake executor plugins")
+ (description
+ "This package provides a stable interface for interactions between Snakemake and
+its executor plugins.")
+ (license license:expat)))
+
(define-public python-tdda
(package
(name "python-tdda")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 30/40] gnu: Add python-snakemake-interface-report-plugins.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-30-ngraves@ngraves.fr
* gnu/packages/python-science.scm
(python-snakemake-interface-report-plugins): New variable.
---
gnu/packages/python-science.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 54b04abf71..41ce2a3689 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -996,6 +996,38 @@ (define-public python-snakemake-interface-executor-plugins
its executor plugins.")
(license license:expat)))
+(define-public python-snakemake-interface-report-plugins
+ (package
+ (name "python-snakemake-interface-report-plugins")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "\
+https://github.com/snakemake/snakemake-interface-report-plugins")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0i6z9vk6nv2m3jsym0glrb7h9isdlfza2yq14vbqcslybdi9ykfa"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f ;XXX: Circular dependency on snakemake
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python3" "tests/tests.py")))))))
+ (propagated-inputs (list python-snakemake-interface-common python-pytest))
+ (native-inputs (list python-poetry-core))
+ (home-page "\
+https://github.com/snakemake/python-snakemake-interface-report-plugins")
+ (synopsis "Interface for Snakemake report plugins")
+ (description "This package provides a stable interface for interactions
+between Snakemake and its report plugins.")
+ (license license:expat)))
+
(define-public python-tdda
(package
(name "python-tdda")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 32/40] gnu: Add python-snakemake-interface-storage-plugins.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-32-ngraves@ngraves.fr
* gnu/packages/python-science.scm
(python-snakemake-interface-storage-plugins): New variable.
---
gnu/packages/python-science.scm | 34 +++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 3ac753f55e..ac16401254 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -1060,6 +1060,40 @@ (define-public python-snakemake-interface-software-deployment-plugins
its software deployment plugins.")
(license license:expat)))
+(define-public python-snakemake-interface-storage-plugins
+ (package
+ (name "python-snakemake-interface-storage-plugins")
+ (version "3.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "\
+https://github.com/snakemake/snakemake-interface-storage-plugins")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05n5xgwagb01nyzi8xfvp0nvdfl24lxidgksm7k86p68n1rijd5a"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f ;XXX: Circular dependency on snakemake
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python3" "tests/tests.py")))))))
+ (propagated-inputs (list python-reretry python-snakemake-interface-common
+ python-throttler python-wrapt))
+ (native-inputs (list python-poetry-core python-pytest))
+ (home-page
+ "https://github.com/snakemake/snakemake-interface-storage-plugins")
+ (synopsis "Interface for Snakemake storage plugins")
+ (description
+ "This package provides a stable interface for interactions between
+Snakemake and its storage plugins.")
+ (license license:expat)))
+
(define-public python-tdda
(package
(name "python-tdda")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 31/40] gnu: Add python-snakemake-interface-software-deployment-plugins.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-31-ngraves@ngraves.fr
* gnu/packages/python-science.scm
(python-snakemake-interface-software-deployment-plugins): New variable.
---
gnu/packages/python-science.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 41ce2a3689..3ac753f55e 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -1028,6 +1028,38 @@ (define-public python-snakemake-interface-report-plugins
between Snakemake and its report plugins.")
(license license:expat)))
+(define-public python-snakemake-interface-software-deployment-plugins
+ (package
+ (name "python-snakemake-interface-software-deployment-plugins")
+ (version "0.6.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/snakemake/snakemake-interface-software-deployment-plugins")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0b4kkznfyfck9f92pkimhyl13ljisfn67rsilm1a5inq2ywpmxba"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python3" "tests/tests.py")))))))
+ (propagated-inputs (list python-argparse-dataclass
+ python-snakemake-interface-common))
+ (native-inputs (list python-poetry-core))
+ (home-page "\
+https://github.com/snakemake/snakemake-interface-software-deployment-plugins")
+ (synopsis "Interface for Snakemake software deployment plugins")
+ (description
+ "This package provides a stable interface for interactions between Snakemake and
+its software deployment plugins.")
+ (license license:expat)))
+
(define-public python-tdda
(package
(name "python-tdda")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 33/40] gnu: Add python-throttler.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-33-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-throttler): New variable.
---
gnu/packages/python-xyz.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c6d90fe1ac..540ea1b379 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -14869,6 +14869,33 @@ (define-public python-three-merge
approach.")
(license license:expat)))
+(define-public python-throttler
+ (package
+ (name "python-throttler")
+ (version "1.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/uburuntu/throttler")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1gn21x0zkm7rr7qijlz7nvw7z0mm1j2r0r2lslg7wln1z36gjkbw"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-aiohttp
+ python-pytest
+ python-pytest-asyncio
+ python-pytest-cov
+ python-setuptools
+ python-wheel))
+ (home-page "https://github.com/uburuntu/throttler")
+ (synopsis "Throttling with asyncio support in Python")
+ (description
+ "This package provides a zero-dependency Python package for easy
+throttling with asyncio support.")
+ (license license:expat)))
+
(define-public snakemake
(package
(name "snakemake")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 34/40] gnu: Add python-reretry.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-34-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-reretry): New variable.
---
gnu/packages/python-xyz.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 540ea1b379..a12edc7ab0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7895,6 +7895,25 @@ (define-public python-repoze-lru
"This package provides a tiny LRU cache implementation and decorator.")
(license license:bsd-4)))
+(define-public python-reretry
+ (package
+ (name "python-reretry")
+ (version "0.11.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "reretry" version))
+ (sha256
+ (base32 "1qrjsjzah8gw1bciqn8bhrj80fjjg13qg8jks7qs4bjipv71yygj"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-setuptools python-wheel))
+ (home-page "https://github.com/leshchenko1979/reretry")
+ (synopsis "Python decorator for retrying on exceptions")
+ (description
+ "This provides an easy to use, but functional decorator for retrying on
+exceptions.")
+ (license license:asl2.0)))
+
(define-public python-restructuredtext-lint
(package
(name "python-restructuredtext-lint")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 35/40] gnu: Add python-conda-inject.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-35-ngraves@ngraves.fr
* gnu/packages/package-management.scm (python-conda-inject): New variable.
---
gnu/packages/package-management.scm | 32 +++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index da50de8788..13cc7aa073 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -1123,6 +1123,38 @@ (define-public python-anaconda-client
environments.")
(license license:bsd-3)))
+(define-public python-conda-inject
+ (package
+ (name "python-conda-inject")
+ (version "1.3.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/koesterlab/conda-inject")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1aig9l676wc2sjb20y7rdqf0hfcfjhh92yfiy82mf7kfnv7rp3rk"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python3" "tests/tests.py")))))))
+ (propagated-inputs (list python-pyyaml))
+ (native-inputs (list python-poetry-core python-pytest))
+ (home-page "https://github.com/koesterlab/conda-inject")
+ (synopsis
+ "Inject a conda environment into the current python environment")
+ (description
+ "This package provides helper functions for injecting a conda
+environment into the current python environment (by modifying @code{sys.path},
+without actually changing the current python environment).")
+ (license license:expat)))
+
(define-public python-conda-package-handling
(package
(name "python-conda-package-handling")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 36/40] gnu: Add snakemake.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-36-ngraves@ngraves.fr
* gnu/packages/python-science.scm (snakemake): New variable.
---
gnu/packages/python-science.scm | 122 ++++++++++++++++++++++++++++++++
1 file changed, 122 insertions(+)

Toggle diff (156 lines)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index ac16401254..7ccd991478 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -27,6 +27,7 @@
;;; Copyright © 2024 Marco Baggio <marco.baggio@mdc-berlin.de>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2024 Rick Huijzer <ikbenrickhuyzer@gmail.com>
+;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -67,6 +68,7 @@ (define-module (gnu packages python-science)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages pcre)
+ #:use-module (gnu packages package-management)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@@ -82,6 +84,7 @@ (define-module (gnu packages python-science)
#:use-module (gnu packages ssh)
#:use-module (gnu packages statistics)
#:use-module (gnu packages time)
+ #:use-module (gnu packages version-control)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
@@ -4410,6 +4413,125 @@ (define-public python-libneuroml
neuronal models")
(license license:bsd-3)))
+(define-public snakemake
+ (package
+ (name "snakemake")
+ (version "8.29.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "snakemake" version))
+ (sha256
+ (base32 "1ilpmrjmnc529p4gw2x23ik1d8b5pm6k1dhq08dknvfjsf3vgyjr"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list
+ ;; XXX: Unclear why these tests fail.
+ "--ignore=tests/test_report_href/test_script.py"
+ "--ignore=tests/test_script_py/scripts/test_explicit_import.py"
+ "--ignore=tests/test_output_index.py"
+ ;; We don't care about testing old python@3.7 on Guix.
+ "--ignore=tests/test_conda_python_3_7_script/test_script.py"
+ ;; Those require additional snakemake plugins.
+ "--ignore=tests/test_api.py"
+ "--ignore=tests/test_executor_test_suite.py"
+ ;; We don't care about lints.
+ "--ignore=tests/test_linting.py"
+ ;; These tests attempt to change S3 buckets on AWS and fail
+ ;; because there are no AWS credentials.
+ "--ignore=tests/test_tibanna"
+ ;; It's a similar story with this test, which requires access
+ ;; to the Google Storage service.
+ "--ignore=tests/test_google_lifesciences")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'avoid-assets-download
+ (lambda _
+ (substitute* "setup.py"
+ (("^from assets import Assets") "")
+ (("^Assets\\.deploy\\(\\)") ""))))
+ ;; For cluster execution Snakemake will call Python. Since there is
+ ;; no suitable GUIX_PYTHONPATH set, cluster execution will fail. We
+ ;; fix this by calling the snakemake wrapper instead.
+ (add-after 'unpack 'call-wrapper-not-wrapped-snakemake
+ (lambda _
+ (substitute* "snakemake/executors/__init__.py"
+ (("self\\.get_python_executable\\(\\),")
+ "")
+ (("\"-m snakemake\"")
+ (string-append "\"" #$output
+ "/bin/snakemake" "\""))
+ ;; The snakemake command produced by format_job_exec contains
+ ;; references to /gnu/store. Prior to patching above that's
+ ;; just a reference to Python; after patching it's a reference
+ ;; to the snakemake executable.
+ ;;
+ ;; In Tibanna execution mode Snakemake arranges for a certain
+ ;; Docker image to be deployed to AWS. It then passes its own
+ ;; command line to Tibanna. This is misguided because it only
+ ;; ever works if the local Snakemake command was run inside
+ ;; the same Docker image. In the case of using Guix this is
+ ;; never correct, so we need to replace the store reference.
+ (("tibanna_args.command = command")
+ (string-append
+ "tibanna_args.command = command.replace('"
+ #$output "/bin/snakemake', 'python3 -m snakemake')")))))
+ (add-after 'unpack 'patch-version
+ (lambda _
+ (substitute* "setup.py"
+ (("version=versioneer.get_version\\(\\)")
+ (format #f "version=~s" #$version)))
+ (substitute* '("snakemake/_version.py"
+ "versioneer.py")
+ (("0\\+unknown") #$version))))
+ (add-before 'check 'pre-check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "HOME" "/tmp")))))))
+ (inputs
+ (list python-appdirs
+ python-conda-inject
+ python-configargparse
+ python-connection-pool
+ python-docutils
+ python-dpath
+ python-gitpython
+ python-humanfriendly
+ python-immutables
+ python-jinja2
+ python-jsonschema
+ python-nbformat
+ python-packaging
+ python-psutil
+ python-pulp
+ python-pyyaml
+ python-requests
+ python-reretry
+ python-smart-open
+ python-snakemake-interface-common
+ python-snakemake-interface-executor-plugins
+ python-snakemake-interface-report-plugins
+ python-snakemake-interface-storage-plugins
+ python-tabulate
+ python-throttler
+ python-wrapt
+ python-yte))
+ (native-inputs
+ (list python-numpy
+ python-pandas
+ python-setuptools
+ python-tomli
+ python-wheel))
+ (home-page "https://snakemake.readthedocs.io")
+ (synopsis "Python-based execution environment for make-like workflows")
+ (description
+ "Snakemake aims to reduce the complexity of creating workflows by
+providing a clean and modern domain specific specification language (DSL) in
+Python style, together with a fast and comfortable execution environment.")
+ (license license:expat)))
+
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; of a merge conflict, place them above by existing packages with similar
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 37/40] gnu: python-ratelimiter: Update to 1.2.0-0.da78a45.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-37-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (python-ratelimiter): Update to 1.2.0-0.da78a45.
[native-inputs]: Add python-pytest, python-pytest-asyncio,
python-setuptools, python-wheel.
[arguments]{phases}: Add 'patch phase.
---
gnu/packages/python-xyz.scm | 62 ++++++++++++++++++++++++++-----------
1 file changed, 44 insertions(+), 18 deletions(-)

Toggle diff (76 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a12edc7ab0..81b8386049 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -27885,25 +27885,51 @@ (define-public python-tracerite
(license license:unlicense)))
(define-public python-ratelimiter
- (package
- (name "python-ratelimiter")
- (version "1.2.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "ratelimiter" version))
- (sha256
- (base32
- "1dhz85mj5bqd2mij84ncs6pz32hgidr79hay4aqfmzaa4rbb497p"))))
- (build-system python-build-system)
- (arguments
- '(#:tests? #f)) ; There are no tests in the pypi archive.
- (home-page "https://github.com/RazerM/ratelimiter")
- (synopsis "Simple rate limiting object")
- (description
- "The @code{ratelimiter} module ensures that an operation will not be
+ ;; Latest commit of the archived repository.
+ (let ((commit "da78a45867c3a204083c6ea8ee74f6b3e78ef524")
+ (revision "0"))
+ (package
+ (name "python-ratelimiter")
+ (version (git-version "1.2.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/RazerM/ratelimiter")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1dhfp170wzbn2pfgha5bacc8cmibs5vq4cdgpbibqbwpxm797xrb"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda _
+ ;; Patch for pytest@7 support
+ ;; Taken from /pull/13
+ (substitute* "tests/conftest.py"
+ (("pytest\\.collect\\.File")
+ "pytest.File"))
+ ;; Patch for python@3.8+ support
+ ;; Taken from /pull/11
+ (substitute* "ratelimiter/_async.py"
+ (("with await self\\._alock:")
+ "async with self._alock:")
+ (("__aexit__ = asyncio\\.coroutine\\(.*\\)") "\
+async def __aexit__(self, exc_type, exc_value, traceback):
+ return super(AsyncRateLimiter, self).\
+__exit__(exc_type, exc_value, traceback)")))))))
+ (native-inputs (list python-pytest
+ python-pytest-asyncio
+ python-setuptools
+ python-wheel))
+ (home-page "https://github.com/RazerM/ratelimiter")
+ (synopsis "Simple rate limiting object")
+ (description
+ "The @code{ratelimiter} module ensures that an operation will not be
executed more than a given number of times during a given period.")
- (license license:asl2.0)))
+ (license license:asl2.0))))
(define-public python-jsonrpclib-pelix
(package
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 38/40] gnu: snakemake-7: Move to (gnu packages python-science).
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-38-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (snakemake-7): Move from here…
* gnu/packages/python-science.scm (snakemake-7): …to here.
Inherit from snakemake@8.
---
gnu/packages/python-science.scm | 70 +++++++++++++++++++++
gnu/packages/python-xyz.scm | 104 --------------------------------
2 files changed, 70 insertions(+), 104 deletions(-)

Toggle diff (198 lines)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 7ccd991478..5acead6523 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -4532,6 +4532,76 @@ (define-public snakemake
Python style, together with a fast and comfortable execution environment.")
(license license:expat)))
+(define-public snakemake-7
+ (package
+ (inherit snakemake)
+ (name "snakemake")
+ (version "7.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/snakemake/snakemake")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1qrqbmx4cbis0wxr6dl2rdjv9v627sbirsz6v5c31vlbqwkvs04q"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (substitute-keyword-arguments (package-arguments snakemake)
+ ((#:test-flags test-flags)
+ #~(list
+ ;; We don't care about lints.
+ "--ignore=tests/test_linting.py"
+ ;; These tests attempt to change S3 buckets on AWS and fail
+ ;; because there are no AWS credentials.
+ "--ignore=tests/test_tibanna.py"
+ ;; It's a similar story with this test, which requires access
+ ;; to the Google Storage service.
+ "--ignore=tests/test_google_lifesciences.py"))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (delete 'avoid-assets-download)
+ ;; No longer needed with 7.15.2+
+ (add-after 'unpack 'tabulate-compatibility
+ (lambda _
+ (substitute* "snakemake/dag.py"
+ (("\"job\": rule,")
+ "\"job\": rule.name,"))))))))
+ (propagated-inputs
+ (list python-appdirs
+ python-configargparse
+ python-connection-pool
+ python-datrie
+ python-docutils
+ python-filelock
+ python-gitpython
+ python-jinja2
+ python-jsonschema
+ python-nbformat
+ python-networkx
+ python-psutil
+ python-pulp
+ python-pyyaml
+ python-py-tes
+ python-ratelimiter
+ python-requests
+ python-retry
+ python-smart-open
+ python-stopit
+ python-tabulate
+ python-toposort
+ python-wrapt
+ python-yte))
+ (native-inputs
+ (list git-minimal
+ python-wrapper
+ python-pytest
+ python-pandas
+ python-requests-mock
+ python-setuptools
+ python-wheel))))
+
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; of a merge conflict, place them above by existing packages with similar
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 81b8386049..740e6cfd33 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -15082,110 +15082,6 @@ (define-public snakemake-6
python-setuptools
python-wheel))))
-(define-public snakemake-7
- (package
- (inherit snakemake-6)
- (name "snakemake")
- (version "7.7.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/snakemake/snakemake")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1qrqbmx4cbis0wxr6dl2rdjv9v627sbirsz6v5c31vlbqwkvs04q"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- ;; For cluster execution Snakemake will call Python. Since there is
- ;; no suitable GUIX_PYTHONPATH set, cluster execution will fail. We
- ;; fix this by calling the snakemake wrapper instead.
- (add-after 'unpack 'call-wrapper-not-wrapped-snakemake
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "snakemake/executors/__init__.py"
- (("self\\.get_python_executable\\(\\),")
- "")
- (("\"-m snakemake\"")
- (string-append "\"" #$output
- "/bin/snakemake" "\""))
- ;; The snakemake command produced by format_job_exec contains
- ;; references to /gnu/store. Prior to patching above that's
- ;; just a reference to Python; after patching it's a reference
- ;; to the snakemake executable.
- ;;
- ;; In Tibanna execution mode Snakemake arranges for a certain
- ;; Docker image to be deployed to AWS. It then passes its own
- ;; command line to Tibanna. This is misguided because it only
- ;; ever works if the local Snakemake command was run inside
- ;; the same Docker image. In the case of using Guix this is
- ;; never correct, so we need to replace the store reference.
- (("tibanna_args.command = command")
- (string-append
- "tibanna_args.command = command.replace('"
- #$output "/bin/snakemake', 'python3 -m snakemake')")))))
- ;; No longer needed with 7.15.2+
- (add-after 'unpack 'tabulate-compatibility
- (lambda _
- (substitute* "snakemake/dag.py"
- (("\"job\": rule,")
- "\"job\": rule.name,"))))
- (add-after 'unpack 'patch-version
- (lambda _
- (substitute* "setup.py"
- (("version=versioneer.get_version\\(\\)")
- (format #f "version=~s" #$version)))
- (substitute* '("snakemake/_version.py"
- "versioneer.py")
- (("0\\+unknown") #$version))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "HOME" "/tmp")
- ;; This test attempts to change S3 buckets on AWS and fails
- ;; because there are no AWS credentials.
- (delete-file "tests/test_tibanna.py")
- ;; It's a similar story with this test, which requires access
- ;; to the Google Storage service.
- (delete-file "tests/test_google_lifesciences.py")
- (invoke "pytest")))))))
- (propagated-inputs
- (list python-appdirs
- python-configargparse
- python-connection-pool
- python-datrie
- python-docutils
- python-filelock
- python-gitpython
- python-jinja2
- python-jsonschema
- python-nbformat
- python-networkx
- python-psutil
- python-pulp
- python-pyyaml
- python-py-tes
- python-ratelimiter
- python-requests
- python-retry
- python-smart-open
- python-stopit
- python-tabulate
- python-toposort
- python-wrapt
- python-yte))
- (native-inputs
- (list git-minimal
- python-wrapper
- python-pytest
- python-pandas
- python-requests-mock
- python-setuptools
- python-wheel))))
-
(define-public python-pyqrcode
(package
(name "python-pyqrcode")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 39/40] gnu: snakemake-6: Move to (gnu packages python-science).
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-39-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (snakemake-6): Move from here…
* gnu/packages/python-science.scm (snakemake-6): …to here.
Inherit from snakemake-7.
---
gnu/packages/python-science.scm | 19 ++++++++
gnu/packages/python-xyz.scm | 83 ---------------------------------
2 files changed, 19 insertions(+), 83 deletions(-)

Toggle diff (126 lines)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 5acead6523..509e77b765 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -4602,6 +4602,25 @@ (define-public snakemake-7
python-setuptools
python-wheel))))
+(define-public snakemake-6
+ (package
+ (inherit snakemake-7)
+ (name "snakemake")
+ (version "6.15.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/snakemake/snakemake")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "09yrpi9f86r9yvcm2dfjs5zy87c4j31bxama77kfd6y8yfrrjlai"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs
+ (modify-inputs (package-propagated-inputs snakemake-7)
+ (delete "python-retry" "python-yte")))))
+
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; of a merge conflict, place them above by existing packages with similar
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 740e6cfd33..fa73a189ce 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -14999,89 +14999,6 @@ (define-public snakemake
Python style, together with a fast and comfortable execution environment.")
(license license:expat)))
-(define-public snakemake-6
- (package
- (inherit snakemake)
- (name "snakemake")
- (version "6.15.5")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/snakemake/snakemake")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "09yrpi9f86r9yvcm2dfjs5zy87c4j31bxama77kfd6y8yfrrjlai"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- ;; For cluster execution Snakemake will call Python. Since there is
- ;; no suitable GUIX_PYTHONPATH set, cluster execution will fail. We
- ;; fix this by calling the snakemake wrapper instead.
-
- ;; XXX: There is another instance of sys.executable on line 692, but
- ;; it is not clear how to patch it.
- (add-after 'unpack 'call-wrapper-not-wrapped-snakemake
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "snakemake/executors/__init__.py"
- (("\\{sys.executable\\} -m snakemake")
- (string-append #$output "/bin/snakemake")))))
- (add-after 'unpack 'tabulate-compatibility
- (lambda _
- (substitute* "snakemake/dag.py"
- (("\"job\": rule,")
- "\"job\": rule.name,"))))
- (add-after 'unpack 'patch-version
- (lambda _
- (substitute* "setup.py"
- (("version=versioneer.get_version\\(\\)")
- (format #f "version=~s" #$version)))
- (substitute* '("snakemake/_version.py"
- "versioneer.py")
- (("0\\+unknown") #$version))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "HOME" "/tmp")
- ;; This test attempts to change S3 buckets on AWS and fails
- ;; because there are no AWS credentials.
- (delete-file "tests/test_tibanna.py")
- (invoke "pytest")))))))
- (propagated-inputs
- (list python-appdirs
- python-configargparse
- python-connection-pool
- python-datrie
- python-docutils
- python-filelock
- python-gitpython
- python-jinja2
- python-jsonschema
- python-nbformat
- python-networkx
- python-psutil
- python-pulp
- python-pyyaml
- python-py-tes
- python-ratelimiter
- python-requests
- python-smart-open
- python-stopit
- python-tabulate
- python-toposort
- python-wrapt))
- (native-inputs
- (list git-minimal
- python-wrapper
- python-pytest
- python-pandas
- python-requests-mock
- python-setuptools
- python-wheel))))
-
(define-public python-pyqrcode
(package
(name "python-pyqrcode")
--
2.48.1
N
N
Nicolas Graves wrote on 9 Mar 19:16 -0700
[PATCH v3 40/40] gnu: Remove snakemake.
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250310021652.17530-40-ngraves@ngraves.fr
* gnu/packages/python-xyz.scm (snakemake): Delete variable.
---
gnu/packages/python-xyz.scm | 84 -------------------------------------
1 file changed, 84 deletions(-)

Toggle diff (97 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index fa73a189ce..91c662c35c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -14915,90 +14915,6 @@ (define-public python-throttler
throttling with asyncio support.")
(license license:expat)))
-(define-public snakemake
- (package
- (name "snakemake")
- (version "5.32.2")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/snakemake/snakemake")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0nxp4z81vykv07kv2b6zrwk7ns8s10zqsb7vcignp8695yq3nlcm"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- '(list
- ;; We have no TES support.
- "--ignore=tests/test_tes.py"
- ;; This test attempts to change S3 buckets on AWS and fails
- ;; because there are no AWS credentials.
- "--ignore=tests/test_tibanna.py"
- ;; It's a similar story with this test, which requires access
- ;; to the Google Storage service.
- "--ignore=tests/test_google_lifesciences.py")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'tabulate-compatibility
- (lambda _
- (substitute* "snakemake/dag.py"
- (("\"job\": rule,")
- "\"job\": rule.name,"))))
- (add-after 'unpack 'patch-version
- (lambda _
- (substitute* "setup.py"
- (("version=versioneer.get_version\\(\\)")
- (format #f "version=~s" #$version)))
- (substitute* '("snakemake/_version.py"
- "versioneer.py")
- (("0\\+unknown") #$version))))
- ;; For cluster execution Snakemake will call Python. Since there is
- ;; no suitable PYTHONPATH set, cluster execution will fail. We fix
- ;; this by calling the snakemake wrapper instead.
- (add-after 'unpack 'call-wrapper-not-wrapped-snakemake
- (lambda _
- (substitute* "snakemake/executors/__init__.py"
- (("\\{sys.executable\\} -m snakemake")
- (string-append #$output "/bin/snakemake")))))
- (add-before 'check 'pre-check
- (lambda _ (setenv "HOME" "/tmp"))))))
- (propagated-inputs
- (list python-appdirs
- python-configargparse
- python-datrie
- python-docutils
- python-gitpython
- python-jinja2
- python-jsonschema
- python-nbformat
- python-networkx
- python-psutil
- python-pulp
- python-pyyaml
- python-ratelimiter
- python-requests
- python-toposort
- python-wrapt))
- (native-inputs
- (list git-minimal
- python-wrapper
- python-pytest
- python-pandas
- python-requests-mock
- python-setuptools
- python-wheel))
- (home-page "https://snakemake.readthedocs.io")
- (synopsis "Python-based execution environment for make-like workflows")
- (description
- "Snakemake aims to reduce the complexity of creating workflows by
-providing a clean and modern domain specific specification language (DSL) in
-Python style, together with a fast and comfortable execution environment.")
- (license license:expat)))
-
(define-public python-pyqrcode
(package
(name "python-pyqrcode")
--
2.48.1
S
S
Sharlatan Hellseher wrote on 12 Mar 12:30 -0700
[PATCH python-team 00/15] Some further python fixes
(address . 76835@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
8734fiqc6b.fsf@gmail.com
Hi

While nothing is working right now (mumi and patchwork) I'm about to
pull v3 patches like this:

Toggle snippet (5 lines)
seq 1 79 | while read -r i; do curl https://issues.guix.gnu.org/issue/76835/raw/$i -o $i & done

grep -ow "PATCH.v3..." -r . | sed -e 's/PATCH//' -e 's/v3 /v3-0/' -e 's/: / /' | while read -r of nf; do cp $of $nf; done

--
Oleg
-----BEGIN PGP SIGNATURE-----

iQJKBAEBCgA0FiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmfR4NwWHHNoYXJsYXRh
bnVzQGdtYWlsLmNvbQAKCRB21ye/9izStQC8D/0VNbMZMdMscd3AIZJHmfnvWN59
L0vaF6JRaHZ2KBh2WmnCoS45bncG1qz4TDTnZAOH6L0HCYf8hOai4nyi0XVnyTc+
PSP0RBMyZ3uLNvu25sD9E8fZgV7hcnzfNs7DF5+4peUZqict1PBjSRsHF1kzhOZ9
ZLHEpCihwhb/C5DrR9W3xgGVOh1qgK1QTJxI+HIZRuhbkuFzANNbxX3Vhiip1HrH
BPIxjCgp1psu/+xbpnkfhzQd4Qt8jZO4zJU2Qjc+bR4mV05xTF8c41JKawOCkgE7
YXsQzxq5oFHF2KFT1Jfiza72Mkrrg6T5nBS/3TIUxH2EHIf1KOqtZEa5FRibwBkg
i6GvpOVtfyp3zeePU2uM8bkrb80mpfjc+gd8EqtFZ+3j6MdTOm0KTUO6jnCMr/aW
5h6OTJCPEHlbGrFzOMLk69jQ4XfQux+WDVGZXoAOnq/O2ZgKqsTM5PPHMfwlJDj3
21tBwGjQ/7+1kpfsqjrcXl7dKt6TPUG3n74lypVRnHV6uQi44NrJLXkodWiY3qgQ
wc0s8Q7hjEpuQQ0D6F5zPVc1msZp1AwvZSX+pbmJW/nCFW8A5QYr5wQERfQ02jvQ
gKAN8Nm1mZiCP+czCNqtoxF97U3x/nHHn/lrhBTSrKUBXOLQDmuXi8CaCyiZuUH6
1Dl5sljgQCgAdB4/aQ==
=SewZ
-----END PGP SIGNATURE-----

?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 76835@patchwise.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 76835
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch