Subject: [PATCH 13/26] gnu: taxtastic: Update to 0.11.1.

From: Nicolas Graves <[email-masked]>
Date: Mon, 31 Mar 2025 08:18:41 +0200

* gnu/packages/bioinformatics.scm (taxtastic): Update to 0.11.1.
[build-system]: Switch to pyproject-build-system.
[arguments]{test-flags}: Ignore failing test.
{phases}: Improve style with gexp. Update phase
'prepare-directory. Improve phase 'check with test-flags inclusion.
[native-inputs]: Add python-setuptools, python-wheel.
[propagated-inputs]: Sort inputs. Replace python-psycopg2 by both
python-psycopg and python-psycopg2-binary. Add python-sqlparse.
---
 gnu/packages/bioinformatics.scm | 69 ++++++++++++++++++---------------
 1 file changed, 37 insertions(+), 32 deletions(-)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 0f59f73448..1215e67117 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -12414,7 +12414,7 @@ (define-public stringtie
 (define-public taxtastic
   (package
     (name "taxtastic")
-    (version "0.9.2")
+    (version "0.11.1")
     (source (origin
               ;; The Pypi version does not include tests.
               (method git-fetch)
@@ -12424,42 +12424,47 @@ (define-public taxtastic
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1k6wg9ych1j3srnhdny1y4470qlhfg730rb3rm3pq7l7gw62vmgb"))))
-    (build-system python-build-system)
+                "18h3vlyx9qp7xymd8ra6jn5h0vzlpzgcd75kslqyv2qcg1a7scc4"))))
+    (build-system pyproject-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'prepare-directory
-           (lambda _
-             ;; This test fails, but the error is not caught by the test
-             ;; framework, so the tests fail...
-             (substitute* "tests/test_taxit.py"
-               (("self.cmd_fails\\(''\\)")
-                "self.cmd_fails('nothing')"))
-             ;; This version file is expected to be created with git describe.
-             (mkdir-p "taxtastic/data")
-             (with-output-to-file "taxtastic/data/ver"
-               (lambda () (display ,version)))))
-         (replace 'check
-           ;; Note, this fails to run with "-v" as it tries to write to a
-           ;; closed output stream.
-           (lambda* (#:key tests? #:allow-other-keys)
-             (when tests?
-               (invoke "python" "-m" "unittest"))))
-         ;; This fails because it cannot find psycopg2 even though it is
-         ;; available.
-         (delete 'sanity-check))))
+     (list
+      #:test-flags #~(list "-k" "not test_new_nodes02")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'prepare-directory
+            (lambda _
+              ;; This package is unknown to pypi.
+              (substitute* '("requirements.txt" "setup.py")
+                ((".*psycopg-binary.*") ""))
+              ;; This test fails, but the error is not caught by the test
+              ;; framework, so the tests fail...
+              (substitute* "tests/test_taxit.py"
+                (("self.cmd_fails\\(''\\)")
+                 "self.cmd_fails('nothing')"))
+              ;; This version file is expected to be created with git describe.
+              (mkdir-p "taxtastic/data")
+              (with-output-to-file "taxtastic/data/ver"
+                (lambda () (display #$version)))))
+          (replace 'check
+            ;; Note, this fails to run with "-v" as it tries to write to a
+            ;; closed output stream.
+            (lambda* (#:key tests? test-flags #:allow-other-keys)
+              (when tests?
+                (apply invoke "python" "-m" "unittest" test-flags)))))))
+    (native-inputs
+     (list python-setuptools python-wheel))
     (propagated-inputs
-     (list python-sqlalchemy
+     (list python-biopython
            python-decorator
-           python-biopython
-           python-pandas
-           python-psycopg2
+           python-dendropy
            python-fastalite
-           python-pyyaml
-           python-six
            python-jinja2
-           python-dendropy))
+           python-pandas
+           python-psycopg
+           python-psycopg2-binary
+           python-pyyaml
+           python-sqlalchemy-2
+           python-sqlparse))
     (home-page "https://github.com/fhcrc/taxtastic")
     (synopsis "Tools for taxonomic naming and annotation")
     (description
-- 
2.49.0