summaryrefslogtreecommitdiff
path: root/gnu/packages/music.scm
diff options
context:
space:
mode:
authorBonfaceKilz <me@bonfacemunyoki.com>2021-04-14 23:55:02 +0300
committerEfraim Flashner <efraim@flashner.co.il>2021-04-15 14:26:45 +0300
commit27396a13c848629366fdcc5b17ea22c43d6589fe (patch)
tree9ae85c996c70e6d81bd1948f580513501d6c4730 /gnu/packages/music.scm
parent565ecf84575b10c0e70a7e5628bbde87baf1bc95 (diff)
gnu: Add python-abjad.
* gnu/packages/music.scm (python-abjad): New variable. Co-authored-by: jgart <jgart@dismail.de> Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r--gnu/packages/music.scm54
1 files changed, 54 insertions, 0 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 2b5f43cb14..265b8fdccf 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -36,6 +36,7 @@
;;; Copyright © 2021 Leo Prikler <leo.prikler@student.tugraz.at>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -136,6 +137,7 @@
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio) ;libsndfile
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-check)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
@@ -143,6 +145,7 @@
#:use-module (gnu packages readline)
#:use-module (gnu packages rsync)
#:use-module (gnu packages sdl)
+ #:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages stb)
#:use-module (gnu packages tcl)
@@ -1499,6 +1502,57 @@ Guile.")
;; more than an hour of silence, so double the max silent time.
(properties `((max-silent-time . 7200)))))
+(define-public python-abjad
+ (package
+ (name "python-abjad")
+ (version "3.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Abjad/abjad")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1dzf5v7pawbzkb4qxp4s5z4r3gibkk705pag83yvgzkx6fd6jf2g"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda _
+ (substitute* "setup.py"
+ (("uqbar>=0.5.1, <0.5.0") "uqbar>=0.5.0"))
+ #t))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; See: https://stackoverflow.com/a/34140498
+ (invoke "python" "-m" "pytest" "tests")
+ #t))))))
+ (native-inputs
+ `(("lilypond" ,lilypond)
+ ("python-black" ,python-black)
+ ("python-flake8" ,python-flake8)
+ ("python-iniconfig" ,python-iniconfig)
+ ("python-isort" ,python-isort)
+ ("python-mypy" ,python-mypy)
+ ("python-ply" ,python-ply)
+ ("python-pytest" ,python-pytest-6)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-sphinx-autodoc-typehints" ,python-sphinx-autodoc-typehints)))
+ (propagated-inputs
+ `(("python-quicktions" ,python-quicktions)
+ ("python-roman" ,python-roman)
+ ("python-six" ,python-six)
+ ("python-uqbar" ,python-uqbar)))
+ (home-page "https://abjad.github.io")
+ (synopsis "Python API for building LilyPond files")
+ (description
+ "This package provides a Python API for building LilyPond files.")
+ (license license:expat)))
+
(define-public non-sequencer
;; The latest tagged release is three years old and uses a custom build
;; system, so we take the last commit.