Subject: [PATCH] gnu: python-uqbar: Update to 0.5.9.

From: Troy Figiel <[email-masked]>
Date: Fri, 17 Nov 2023 21:48:02 +0100

* gnu/packages/graphviz.scm (python-uqbar): Update to 0.5.9.
[source]: Add patch for Python 3.10 compatibility.
[arguments]: Remove outdated patch phase.

Change-Id: I81d83efd69bd07fe12790981c48a6e82297908f0
---
 gnu/local.mk                                  |  1 +
 gnu/packages/graphviz.scm                     | 12 +++-------
 .../patches/python-uqbar-python3.10.patch     | 23 +++++++++++++++++++
 3 files changed, 27 insertions(+), 9 deletions(-)
 create mode 100644 gnu/packages/patches/python-uqbar-python3.10.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index fcd9024ce3..78a1d16102 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1766,6 +1766,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-sgmllib3k-assertions.patch	\
   %D%/packages/patches/python-telingo-fix-comparison.patch	\
   %D%/packages/patches/python-typeguard-python3.10.patch	\
+  %D%/packages/patches/python-uqbar-python3.10.patch	        \
   %D%/packages/patches/python-wxwidgets-type-errors.patch	\
   %D%/packages/patches/qtdeclarative-5-disable-qmlcache.patch	\
   %D%/packages/patches/qtdeclarative-disable-qmlcache.patch	\
diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm
index b91c365e3c..c5507e036c 100644
--- a/gnu/packages/graphviz.scm
+++ b/gnu/packages/graphviz.scm
@@ -195,7 +195,7 @@ (define-public python-pygraphviz
 (define-public python-uqbar
   (package
     (name "python-uqbar")
-    (version "0.5.6")
+    (version "0.5.9")
     (source
      (origin
        (method git-fetch)
@@ -205,18 +205,12 @@ (define-public python-uqbar
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1ml3x2mf7nlnvrh9lari5yk0sz2mmg39jwsbjxnpzhnw4kcwpdrs"))))
+         "0c573nzpm51qgz2g296f8pw8ys0i3r6daynxk06zagk5l5fgw9ar"))
+       (patches (search-patches "python-uqbar-python3.10.patch"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'patch
-           (lambda _
-             (substitute* "setup.py"
-               ;; Latest versions of sphink-rtd-theme require npm to build.
-               (("sphinx-rtd-theme >= 0.5.0") "sphinx-rtd-theme >= 0.2.4")
-               (("black") "black >= 19.10b0"))
-             #t))
          (replace 'check
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests?
diff --git a/gnu/packages/patches/python-uqbar-python3.10.patch b/gnu/packages/patches/python-uqbar-python3.10.patch
new file mode 100644
index 0000000000..164f0c0c64
--- /dev/null
+++ b/gnu/packages/patches/python-uqbar-python3.10.patch
@@ -0,0 +1,23 @@
+Since Python 3.10 the output of a CLI program created with argparse
+uses "options" instead of "optional arguments". This behaviour breaks
+the tests in python-uqbar.
+
+--- a/tests/test_cli.py
++++ b/tests/test_cli.py
+@@ -84,7 +84,7 @@ def test_call_help():
+ 
+         speak like a cat
+ 
+-        optional arguments:
++        options:
+           -h, --help  show this help message and exit
+           --version   show program's version number and exit
+           --loud      be adamant
+@@ -101,6 +101,6 @@ def test_help():
+         """
+         usage: vox-aggregator [-h] [--version] {help,list,birds,mammals} ...
+ 
+-        optional arguments:
++        options:
+           -h, --help            show this help message and exit
+           --version             show program's version number and exit
-- 
2.40.1