diff options
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r-- | gnu/packages/music.scm | 178 |
1 files changed, 108 insertions, 70 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 84ccad9641..119f49ab8d 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2017 nikita <nikita@n0.is> ;;; Copyright © 2017 Rodger Fox <thylakoid@openmailbox.org> -;;; Copyright © 2017–2023 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2017–2024 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2017, 2018, 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017–2022 Tobias Geerinckx-Rice <me@tobias.gr> @@ -54,6 +54,7 @@ ;;; Copyright © 2023 Antero Mejr <antero@mailbox.org> ;;; Copyright © 2023, 2024 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream> +;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -867,7 +868,7 @@ settings (aliasing, linear interpolation and cubic interpolation).") (define-public hydrogen (package (name "hydrogen") - (version "1.2.0") + (version "1.2.3") (source (origin (method git-fetch) @@ -876,7 +877,7 @@ settings (aliasing, linear interpolation and cubic interpolation).") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0v4ir1my8zndw5rvz6jr42ysprwycgxrlsc53070y3620n699nha")))) + (base32 "0qb16yn3igs95silvngwy5mjwlzsyz5axwbd3lz6pjhwbf81rn7d")))) (build-system cmake-build-system) (arguments `(#:test-target "tests" @@ -1508,7 +1509,7 @@ and auto-mapping slices to MIDI note numbers.") (define-public lilypond (package (name "lilypond") - (version "2.24.1") + (version "2.24.3") (source (origin (method url-fetch) @@ -1516,7 +1517,7 @@ and auto-mapping slices to MIDI note numbers.") "v" (version-major+minor version) "/" "lilypond-" version ".tar.gz")) (sha256 - (base32 "028m31fjcfgsq3f8ahz4hp2r36shsvkq1fjjibqdcp2aas3r1ifm")))) + (base32 "1gj4xjc9842wnqvqj08lkykpz2r72mqqw3x1fk6s9xbsxxv5y06z")))) (build-system gnu-build-system) (arguments (list #:tests? #f ;out-test/collated-files.html fails @@ -3040,38 +3041,63 @@ main purpose is to liberate raw audio rendering from audio and MIDI drivers.") using a system-independent interface.") (license license:expat))) -(define-public python-pyportmidi +(define-public portmidi-2 (package - (name "python-pyportmidi") - (version (package-version portmidi)) - (source (package-source portmidi)) - (build-system python-build-system) + (name "portmidi") + (version "2.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/PortMidi/portmidi") + (commit "b808babecdc5d05205467dab5c1006c5ac0fdfd4"))) + (sha256 + (base32 "05a3dfpgbpcg08p8a3acjrrd1qy5hvvray2kz2asygy1vf3mx85s")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) (arguments - `(#:tests? #f ; no tests included - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'enter-dir - (lambda _ (chdir "pm_python") #t)) - (add-after 'enter-dir 'fix-setup.py - (lambda _ - (substitute* "setup.py" - ;; Use Python 3 syntax - (("print (\".*\")" _ text) - (string-append "print(" text ")\n")) - ;; TODO.txt and CHANGES.txt don't exist - (("CHANGES =.*") "CHANGES = \"\"\n") - (("TODO =.*") "TODO = \"\"\n")) - #t))))) - (inputs - (list portmidi alsa-lib)) - (native-inputs - (list python-cython unzip)) - (home-page "https://portmedia.sourceforge.net/portmidi/") - (synopsis "Python bindings to PortMidi") + `(#:tests? #f ;Tests are interactive and can be found in the + #:configure-flags ;pm_tests/ directory of the build tree. + (list "-DBUILD_PORTMIDI_TESTS=On") + #:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-version + (lambda _ + (substitute* "CMakeLists.txt" + (("2.0.3") + (version)))))))) + (inputs (list alsa-lib)) + (native-inputs (list unzip)) + (home-page "https://github.com/PortMidi/") + (synopsis "Library for MIDI I/O") (description - "This package provides Python bindings to the PortMidi library.") + "PortMidi is a library supporting real-time input and output of MIDI data +using a system-independent interface.") (license license:expat))) +(define-public python-pyportmidi + (let ((commit "d9e5ee00b208b09618fa0d4a5bbce3c9c077b386") + (revision "0")) + (package + (name "python-pyportmidi") + (version (git-version "0.0.7" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/PortMidi/pm_python") + (commit commit))) + (sha256 + (base32 "1jvp9na8d1hw46w9ybhkimbavfb3ysw7hp30cbk6dj40k5y5vgvz")) + (file-name (git-file-name name version)))) + (build-system python-build-system) + (inputs (list portmidi-2 alsa-lib)) + (native-inputs (list python-cython)) + (home-page "https://github.com/PortMidi") + (synopsis "Python bindings to PortMidi") + (description + "This package provides Python bindings to the PortMidi library.") + (license license:expat)))) + (define-public frescobaldi (package (name "frescobaldi") @@ -3080,32 +3106,39 @@ using a system-independent interface.") (origin (method url-fetch) (uri (string-append - "https://github.com/wbsoft/frescobaldi/releases/download/v" + "https://github.com/frescobaldi/frescobaldi/releases/download/v" version "/frescobaldi-" version ".tar.gz")) (sha256 (base32 "1n60gfnf6x0l1bac088g9adzx0lskbl9knd4y1ynr3y0zcs0kfcz")))) (build-system python-build-system) (arguments (list - #:tests? #f ;no tests included - #:phases - #~(modify-phases %standard-phases - (add-before 'build 'generate-translations - (lambda _ - (invoke "make" "-C" "i18n"))) - (add-before 'build 'generate-metadata - (lambda _ - (invoke "make" "-C" "linux")))))) - (inputs - (list lilypond - poppler - portmidi - python-ly - python-poppler-qt5 - python-pyportmidi - python-pyqt - python-sip - qpageview)) + #:tests? #f ;no tests included + #:phases #~(modify-phases %standard-phases + (add-before 'build 'generate-translations + (lambda _ + (invoke "make" "-C" "i18n"))) + (add-before 'build 'generate-metadata + (lambda _ + (invoke "make" "-C" "linux"))) + (add-after 'install 'wrap-executable + (lambda _ + ;; Ensure that icons are found at runtime. + (wrap-program (string-append #$output + "/bin/frescobaldi") + `("QT_PLUGIN_PATH" prefix + ,(list (getenv "QT_PLUGIN_PATH"))))))))) + (inputs (list bash-minimal + lilypond + poppler + portmidi-2 + python-ly + python-poppler-qt5 + python-pyportmidi + python-pyqt + python-sip + qpageview + qtsvg-5)) (home-page "https://www.frescobaldi.org/") (synopsis "LilyPond sheet music text editor") (description @@ -5015,7 +5048,7 @@ includes LV2 plugins and a JACK standalone client.") (define-public musescore (package (name "musescore") - (version "4.1.1") + (version "4.2.1") (source (origin (method git-fetch) @@ -5024,7 +5057,7 @@ includes LV2 plugins and a JACK standalone client.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "12h26k9qnsq027gdpch579nchwrqva1ymwm2fj5xmlh0aayrwy4d")) + (base32 "0rc5ma1k0cjllfl86apbyj61sh0691lsmqnvqicyn0zi53z8w9v0")) (modules '((guix build utils))) (snippet '(begin @@ -5157,7 +5190,7 @@ studio.") (define-public gsequencer (package (name "gsequencer") - (version "6.1.3") + (version "6.5.2") (source (origin (method git-fetch) @@ -5166,7 +5199,7 @@ studio.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1h5zw9047qmhhc6n4ny11id1h1p8322wadl7p8j65bwrz8kbfx99")))) + (base32 "16rkwb60v7igixligkcm86l8l8vab1bhmwg8m7ihb051ryqixa3i")))) (build-system glib-or-gtk-build-system) (arguments `(#:phases @@ -5252,7 +5285,7 @@ specification and header.") (define-public rosegarden (package (name "rosegarden") - (version "23.06") + (version "23.12") (source (origin (method url-fetch) @@ -5260,7 +5293,7 @@ specification and header.") (version-major+minor version) "/" "rosegarden-" version ".tar.xz")) (sha256 - (base32 "1k3j5p6lx3w6pbsh95xiyfj8g8ysmvd18v0wmx7kdb3vyj5mfd0z")))) + (base32 "0clkzrs931dypvqcn5hzx2v3bq9gc439g71phahgwkh4c1jfcmrz")))) (build-system cmake-build-system) (arguments (list @@ -7214,22 +7247,27 @@ It is provided as an LV2 plugin and as a standalone Jack application.") (uri (git-reference (url "https://github.com/jackaudio/a2jmidid") (commit version))) + (modules '((guix build utils))) + (snippet + ;; Fix build for for riscv64-linux, same as: + ;; https://github.com/jackaudio/a2jmidid/pull/18 + '(substitute* "sigsegv.c" + (("!defined[(]__aarch64__[)]") + "!defined(__arch64__) && !defined(__riscv)"))) (sha256 (base32 "1x6rcl3f4nklnx4p5jln9a7fpj9y7agjxs9rw7cccmwnski7pnsq")) (file-name (git-file-name name version)))) (arguments - `(#:tests? #f ; No tests. - #:phases - (modify-phases %standard-phases - (add-after 'install 'wrap-programs - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin/"))) - (substitute* (string-append bin "a2j") - (("a2j_control") (string-append bin "a2j_control"))) - (wrap-program (string-append bin "a2j_control") - `("PYTHONPATH" prefix (,(getenv "GUIX_PYTHONPATH")))) - #t)))))) + (list #:tests? #f ; No tests. + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'wrap-programs + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((bin (string-append #$output "/bin/"))) + (substitute* (string-append bin "a2j") + (("a2j_control") (string-append bin "a2j_control"))) + (wrap-program (string-append bin "a2j_control") + `("PYTHONPATH" prefix (,(getenv "GUIX_PYTHONPATH")))))))))) (build-system meson-build-system) (inputs (list alsa-lib |