diff options
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r-- | gnu/packages/music.scm | 205 |
1 files changed, 172 insertions, 33 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 5dfa320d2c..ac4333168c 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -17,11 +17,12 @@ ;;; Copyright © 2018 nee <nee.git@hidamari.blue> ;;; Copyright © 2018 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> -;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com> ;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org> +;;; Copyright © 2019 raingloom <raingloom@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -776,6 +777,11 @@ audio and video).") #:tests? #f ; no "check" target #:phases (modify-phases %standard-phases + (add-after 'unpack 'be-permissive + (lambda _ + (substitute* "SConstruct" + (("'-Wall'") "'-Wall', '-fpermissive'")) + #t)) (add-after 'unpack 'replace-removed-scons-syntax (lambda _ (substitute* "SConstruct" @@ -1023,14 +1029,6 @@ Guile.") (%current-system)))) '("--disable-sse") '())) - #:phases - (modify-phases %standard-phases - (add-before - 'configure 'set-flags - (lambda _ - ;; Compile with C++11, required by libsigc++. - (setenv "CXXFLAGS" "-std=c++11") - #t))) #:python ,python-2)) (inputs `(("jack" ,jack-1) @@ -1543,7 +1541,7 @@ reverb effects.") (define-public setbfree (package (name "setbfree") - (version "0.8.8") + (version "0.8.9") (source (origin (method git-fetch) (uri (git-reference @@ -1552,7 +1550,7 @@ reverb effects.") (file-name (git-file-name name version)) (sha256 (base32 - "15dr1nyj69wc9jnjq5z8ril90a3c0mcrii4zjyz0z3h7dhia3382")))) + "1lpsa64xvwa9xbbp8zcwxy5w0daffc7fziny2pizabqh7m9xqjl2")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" target @@ -1790,7 +1788,7 @@ export.") (define-public pd (package (name "pd") - (version "0.49-0") + (version "0.50-0") (source (origin (method url-fetch) (uri @@ -1798,10 +1796,10 @@ export.") version ".src.tar.gz")) (sha256 (base32 - "18rzqbpgnnvyslap7k0ly87aw1bbxkb0rk5agpr423ibs9slxq6j")))) + "0hg4n5b55f650qsc0mjx559072dp7vfza7w0pvk6rk2l831cvsps")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no "check" target + `(#:tests? #f ; no "check" target #:configure-flags (list "--enable-jack" @@ -2007,14 +2005,14 @@ browser.") (define-public drumstick (package (name "drumstick") - (version "1.1.2") + (version "1.1.3") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/drumstick/" version "/drumstick-" version ".tar.bz2")) (sha256 (base32 - "0kljqyqj7s1i2z52i24x7ail1bywn6dcxxfbad5c59drm8wv94bp")))) + "1n9wvg79yvkygrkc8xd8pgrd3d7hqmr7gh24dccf0px23lla9b3m")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; no test target @@ -2050,6 +2048,52 @@ multiplatform realtime MIDI I/O library is also provided with various output backends, including ALSA, OSS, Network and FluidSynth.") (license license:gpl2+))) +(define-public vmpk + (package + (name "vmpk") + (version "0.7.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/vmpk/vmpk/" + version "/vmpk-" version ".tar.bz2")) + (sha256 + (base32 + "1i3hnvdgz46n4k5v0q4jhgh7nkh0s390ix4nqr69z0q3026yp0p6")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; no test target + #:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-docbook + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "cmake_admin/CreateManpages.cmake" + (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl") + (string-append (assoc-ref inputs "docbook-xsl") + "/xml/xsl/docbook-xsl-" + ,(package-version docbook-xsl) + "/manpages/docbook.xsl"))) + #t))))) + (inputs + `(("drumstick" ,drumstick) + ("qtbase" ,qtbase) + ("qtsvg" ,qtsvg) + ("qttools" ,qttools) + ("qtx11extras" ,qtx11extras))) + (native-inputs + `(("libxslt" ,libxslt) ;for xsltproc + ("docbook-xsl" ,docbook-xsl) + ("pkg-config" ,pkg-config))) + (home-page "http://vmpk.sourceforge.net") + (synopsis "Virtual MIDI piano keyboard") + (description + "Virtual MIDI Piano Keyboard is a MIDI events generator and receiver. It +doesn't produce any sound by itself, but can be used to drive a MIDI +synthesizer (either hardware or software, internal or external). You can use +the computer's keyboard to play MIDI notes, and also the mouse. You can use +the Virtual MIDI Piano Keyboard to display the played MIDI notes from another +instrument or MIDI file player.") + (license license:gpl3+))) + (define-public zynaddsubfx (package (name "zynaddsubfx") @@ -2099,7 +2143,7 @@ capabilities, custom envelopes, effects, etc.") (define-public yoshimi (package (name "yoshimi") - (version "1.5.10.2") + (version "1.6.0.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/yoshimi/" @@ -2107,10 +2151,10 @@ capabilities, custom envelopes, effects, etc.") "/yoshimi-" version ".tar.bz2")) (sha256 (base32 - "1rr99qkq80s8l2iv3x4ccxan07m15dvmd5s9b10386bfjbwbya01")))) + "140f2k4akj39pny8c7i794q125415gyvmy4rday0il5ncp3glik4")))) (build-system cmake-build-system) (arguments - `(#:tests? #f ; there are no tests + `(#:tests? #f ; there are no tests #:configure-flags (list (string-append "-DCMAKE_INSTALL_DATAROOTDIR=" (assoc-ref %outputs "out") "/share")) @@ -2750,7 +2794,7 @@ websites such as Libre.fm.") (add-before 'build 'change-directory (lambda _ (chdir "instantmusic-0.1") #t)) - (add-before 'check 'fix-file-permissions + (add-before 'install 'fix-file-permissions (lambda _ ;; Fix some read-only files that would cause a build failure (for-each (cut chmod <> #o644) @@ -2766,14 +2810,13 @@ Songs can be searched by artist, name or even by a part of the song text.") (define-public beets (package (name "beets") - (version "1.4.7") + (version "1.4.9") (source (origin (method url-fetch) (uri (pypi-uri "beets" version)) - (patches (search-patches "beets-python-3.7-fix.patch")) (sha256 (base32 - "0w3gz69s9gf5ih69d4sddgh7ndj7658m621bp742zldvjakdncrs")))) + "0m40rjimvfgy1dv04p8f8d5dvi2855v4ix99a9xr900cmcn476yj")))) (build-system python-build-system) (arguments `(#:phases @@ -2782,12 +2825,6 @@ Songs can be searched by artist, name or even by a part of the song text.") (lambda _ (setenv "HOME" (string-append (getcwd) "/tmp")) #t)) - (add-after 'unpack 'make-python3.7-compatible - (lambda _ - ;; See <https://github.com/beetbox/beets/issues/2978>. - (substitute* "beets/autotag/hooks.py" - (("re\\._pattern_type") "re.Pattern")) - #t)) (replace 'check (lambda _ (invoke "nosetests" "-v")))))) @@ -2811,7 +2848,7 @@ Songs can be searched by artist, name or even by a part of the song text.") ("python-mutagen" ,python-mutagen) ("python-pyyaml" ,python-pyyaml) ("python-unidecode" ,python-unidecode))) - (home-page "http://beets.io") + (home-page "https://beets.io") (synopsis "Music organizer") (description "The purpose of beets is to get your music collection right once and for all. It catalogs your collection, automatically improving its @@ -2951,8 +2988,7 @@ with a number of bugfixes and changes to improve IT playback.") (patches (search-patches "sooperlooper-build-with-wx-30.patch")))) (build-system gnu-build-system) (arguments - `(#:make-flags (list "CXXFLAGS=-std=gnu++11") - #:phases + `(#:phases (modify-phases %standard-phases (add-after 'unpack 'add-sigc++-includes (lambda* (#:key inputs #:allow-other-keys) @@ -2964,7 +3000,8 @@ with a number of bugfixes and changes to improve IT playback.") sig "/lib/sigc++-2.0/include:" xml "/include/libxml2/:" cwd "/libs/pbd:" - cwd "/libs/midi++"))) + cwd "/libs/midi++:" + (or (getenv "CPATH") "")))) (substitute* '("src/control_osc.hpp" "src/gui/app_frame.hpp" "src/gui/config_panel.hpp" @@ -4483,3 +4520,105 @@ discard bad quality ones. controller.") (home-page "https://github.com/charlesfleche/lpd8editor") (license license:expat))) + +(define-public fmit + (package + (name "fmit") + (version "1.2.13") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gillesdegottex/fmit/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1qyskam053pvlap1av80rgp12pzhr92rs88vqs6s0ia3ypnixcc6")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'qmake + (lambda _ + (let ((out (assoc-ref %outputs "out"))) + (invoke "qmake" + "fmit.pro" + (string-append "PREFIX=" out) + (string-append "PREFIXSHORTCUT=" out) + "CONFIG+=acs_qt acs_alsa acs_jack acs_portaudio")))) + (add-after 'install 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/fmit") + `("QT_PLUGIN_PATH" ":" prefix + ,(map (lambda (label) + (string-append (assoc-ref inputs label) + "/lib/qt5/plugins")) + '("qtbase" "qtmultimedia" "qtsvg"))) + `("QML2_IMPORT_PATH" ":" prefix + ,(map (lambda (label) + (string-append (assoc-ref inputs label) + "/lib/qt5/qml")) + '("qtmultimedia")))) + #t)))))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("fftw" ,fftw) + ("jack" ,jack-1) + ("portaudio" ,portaudio) + ("qtbase" ,qtbase) + ("qtmultimedia" ,qtmultimedia) + ("qtsvg" ,qtsvg))) + (native-inputs + `(("gettext" ,gnu-gettext) + ("hicolor-icon-theme" ,hicolor-icon-theme) + ("itstool" ,itstool) + ("qttools" ,qttools))) + (synopsis "Musical instrument tuner") + (description "FMIT is a graphical utility for tuning musical instruments, +with error and volume history, and advanced features.") + (home-page "https://gillesdegottex.github.io/fmit/") + ;; Most of the code is under GPL2+, but some abstract or helper classes + ;; are under LGPL2.1. + (license (list license:gpl2+ license:lgpl2.1)))) + +(define-public mloop + (let ((commit "adebff98b0b4dc5872a03acb82e89c77cb29c127") + (revision "0")) + (package + (name "mloop") + (version (git-version "0.0.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "http://git.fuzzle.org/mloop") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "175gxvg5slq0bllcx1c381rjlq3xpxww8c3kpiw5i2kfr4m52myz")))) + (build-system waf-build-system) + (arguments + `(#:python ,python-2 + #:tests? #f)) ; no "check" target + (inputs + `(("jack" ,jack-1) + ("ncurses" ,ncurses))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://fuzzle.org/~petern/mloop.html") + (synopsis "Live MIDI looper") + (description "mloop is a live MIDI looping system, using jack-midi. +Loops are recorded, optionally with beat quantization, and can then be played +back, either once or looping. A 'note cache' system is implemented to +remember which notes are pressed and their velocities. This allows for a loop +to start off with the currently pressed notes, making seamless loops much +easier to perform. Features include: + +@itemize +@item Quantisation; end a loop on a beat exactly. +@item Delayed recording; wait for a MIDI event before starting a loop record. +@item Adjust tempo; Playback speed of loops can be adjusted on the fly. +@end itemize\n") + (license license:gpl2)))) |