Subject: [PATCH 6/6] gnu: python-xyz: Add python-abjad.

From: BonfaceKilz <[email-masked]>
Date: Sun, 4 Apr 2021 15:20:05 +0300

* gnu/packages/python-xyz.scm (python-abjad): New variable.

Co-authored-by: jgart <[email-masked]>
---
 gnu/packages/python-xyz.scm | 52 +++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e87ba6b6b6..baa8534d7a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -162,6 +162,7 @@
   #:use-module (gnu packages maths)
   #:use-module (gnu packages monitoring)
   #:use-module (gnu packages multiprecision)
+  #:use-module (gnu packages music)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages openstack)
@@ -24356,3 +24357,54 @@ iGoogle subscription lists.")
     (description
      "Fast fractions data type for rational numbers. Cythonized version of 'fractions.Fraction'.")
     (license license:psfl)))
+
+(define-public python-abjad
+  (package
+    (name "python-abjad")
+    (version "3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append
+         "https://github.com/Abjad/abjad/archive/refs/tags/v"
+         version ".tar.gz"))
+       (sha256
+        (base32
+         "0dvj40g8kq1jdp09gb2chxxb7959vxv5h4m8ywg4qigsw3f11xnx"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-source
+           (lambda _
+             (substitute* "setup.py"
+               (("uqbar>=0.4.4, <0.5.0") "uqbar>=0.4.4, <=0.5.1")
+               (("pytest>=5.4.3") "pytest>=5.3"))
+             #t))
+         (replace 'check
+           (lambda _
+             ;; See: https://stackoverflow.com/a/34140498
+             (invoke "python" "-m" "pytest" "tests")
+             #t)))))
+    (propagated-inputs
+     `(("lilypond" ,lilypond) ;; Required for tests to pass!
+       ("python-black" ,python-black)
+       ("python-flake8" ,python-flake8)
+       ("python-isort" ,python-isort)
+       ("python-mypy" ,python-mypy)
+       ("python-ply" ,python-ply)
+       ("python-pytest" ,python-pytest)
+       ("python-pytest-cov" ,python-pytest-cov)
+       ("python-quicktions" ,python-quicktions)
+       ("python-roman" ,python-roman)
+       ("python-six" ,python-six)
+       ("python-sphinx-autodoc-typehints"
+        ,python-sphinx-autodoc-typehints)
+       ("python-uqbar" ,python-uqbar)))
+    (home-page "https://abjad.github.io")
+    (synopsis
+     "Abjad is a Python API for building LilyPond files.")
+    (description
+     "Abjad is a Python API for building LilyPond files.")
+    (license license:expat)))
-- 
2.31.0