summaryrefslogtreecommitdiff
path: root/gnu/packages/music.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r--gnu/packages/music.scm242
1 files changed, 173 insertions, 69 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 35d75d274a..879d90b241 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -73,11 +73,13 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages build-tools)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages code)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages cpp)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
@@ -145,6 +147,7 @@
#:use-module (gnu packages vim) ;for 'xxd'
#:use-module (gnu packages web)
#:use-module (gnu packages wxwidgets)
+ #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xiph)
@@ -775,6 +778,75 @@ are helpful when working in problem spaces where timing is important (such as
audio and video).")
(license license:bsd-2)))
+(define-public surge-synth
+ (package
+ (name "surge-synth")
+ (version "1.7.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/surge-synthesizer/surge")
+ (commit (string-append "release_" version))
+ (recursive? #t))) ; build system expects modules to be there
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1jhk8iaqh89dnci4446b47315v2lc8gclraygk8m9jl20zpjxl0l"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; no tests included
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'replace-python
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "CMakeLists.txt"
+ ((" python ")
+ (string-append " " (assoc-ref inputs "python")
+ "/bin/python3 ")))
+ #t))
+ (add-after 'unpack 'fix-data-directory-name
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "src/common/SurgeStorage.cpp"
+ (("/usr") (assoc-ref outputs "out")))
+ #t))
+ (replace 'install ; no install target
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((src (assoc-ref inputs "source"))
+ (out (assoc-ref outputs "out"))
+ (share (string-append out "/share"))
+ (lib (string-append out "/lib"))
+ (lv2 (string-append lib "/lv2"))
+ (vst3 (string-append lib "/vst3")))
+ (mkdir-p lv2)
+ (mkdir-p vst3)
+ ;; Install LV2 plugin.
+ (copy-recursively "surge_products/Surge.lv2"
+ (string-append lv2 "/Surge.lv2"))
+ ;; Install VST3 plugin.
+ (copy-recursively "surge_products/Surge.vst3"
+ (string-append vst3 "/Surge.vst3"))
+ ;; Install data.
+ (copy-recursively (string-append src "/resources/data")
+ (string-append share "/Surge"))
+ #t))))))
+ (inputs
+ `(("cairo" ,cairo)
+ ("libxkbcommon" ,libxkbcommon)
+ ("python" ,python)
+ ("xcb-util" ,xcb-util)
+ ("xcb-util-cursor" ,xcb-util-cursor)
+ ("xcb-util-keysyms" ,xcb-util-keysyms)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://surge-synthesizer.github.io/")
+ (synopsis "Synthesizer plugin")
+ (description
+ "Surge is a subtractive hybrid digital synthesizer. Each patch contains
+two @dfn{scenes} which are separate instances of the entire synthesis
+engine (except effects) that can be used for layering or split patches.")
+ (license license:gpl3+)))
+
(define-public klick
(package
(name "klick")
@@ -1231,7 +1303,7 @@ device supports.")
(define-public bsequencer
(package
(name "bsequencer")
- (version "1.6.0")
+ (version "1.8.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1240,7 +1312,7 @@ device supports.")
(file-name (git-file-name name version))
(sha256
(base32
- "0w21kzq695xy4i1r6xvvh7sad5m0rlmdgc7ykmrlzfsm1252dz80"))))
+ "0w7iwzz2r4a699fi24qk71vv2k3jpl9ylzlgmvyc3rlgad0m01k1"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@@ -1319,9 +1391,9 @@ B.Choppr is the successor of B.Slizr.")
(base32
"0kl6hrxmqrdf0195bfnzsa2h1073fgiqrfhg2276fm1954sm994v"))))
(inputs
- `(("cairo", cairo)
- ("libsndfile", libsndfile)
- ("lv2", lv2)))
+ `(("cairo" ,cairo)
+ ("libsndfile" ,libsndfile)
+ ("lv2" ,lv2)))
(synopsis "Pattern-controlled audio stream/sample re-sequencer LV2 plugin")
(description "B.Jumblr is a pattern-controlled audio stream / sample
re-sequencer LV2 plugin.")
@@ -1344,11 +1416,11 @@ re-sequencer LV2 plugin.")
(base32
"1c09acqrbd387ba41f8ch1qykdap5h6cg9if5pgd16i4dmjnpghj"))))
(inputs
- `(("cairo", cairo)
+ `(("cairo" ,cairo)
("fontconfig" ,fontconfig)
- ("libsndfile", libsndfile)
+ ("libsndfile" ,libsndfile)
("libx11" ,libx11)
- ("lv2", lv2)))
+ ("lv2" ,lv2)))
(home-page "https://github.com/sjaehn/BSchaffl")
(synopsis "Pattern-controlled MIDI amp & time stretch LV2 plugin")
(description "This package provides an LV2 plugin that allows for
@@ -1982,7 +2054,7 @@ export.")
(define-public pd
(package
(name "pd")
- (version "0.51-1")
+ (version "0.51-2")
(source (origin
(method url-fetch)
(uri
@@ -1990,7 +2062,7 @@ export.")
version ".src.tar.gz"))
(sha256
(base32
- "0imbha9h96vqa967cbmdj7kkx7zrs054n5w2bjnifxdzws3qbxf6"))))
+ "1jgklcnaxypc8hr5j6mng8dd4na4ygfdixsfch8b86glssddi6mh"))))
(build-system gnu-build-system)
(arguments
(let ((wish (string-append "wish" (version-major+minor
@@ -2603,14 +2675,14 @@ from the command line.")
(define-public qtractor
(package
(name "qtractor")
- (version "0.9.16")
+ (version "0.9.17")
(source (origin
(method url-fetch)
(uri (string-append "https://downloads.sourceforge.net/qtractor/"
"qtractor-" version ".tar.gz"))
(sha256
(base32
- "1l19g7cvgb7gfjmaihnd899k5hhxyf4sz22380y830xjfs2fvqxc"))))
+ "0mcfli3wffz5a9pkpcxli03ysyrr53ij3569m81ck9h8pr7yng4b"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; no "check" target
@@ -2844,7 +2916,7 @@ event-based scripts for scrobbling, notifications, etc.")
(define-public picard
(package
(name "picard")
- (version "2.1.3")
+ (version "2.4.4")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2852,7 +2924,8 @@ event-based scripts for scrobbling, notifications, etc.")
"picard/picard-" version ".tar.gz"))
(sha256
(base32
- "19w5k3bf4886gdycxjds9nkjvir0gwy2r5cqkz0lbls4ikk4y14f"))))
+ "1c5l7i43jaj3s4wklc0cba6nn2x9cmpcggk4q4h9m1bci2xilsiy"))
+ (patches (search-patches "picard-fix-id3-rename-test.patch"))))
(build-system python-build-system)
(arguments
'(#:use-setuptools? #f
@@ -2871,7 +2944,8 @@ event-based scripts for scrobbling, notifications, etc.")
(assoc-ref inputs "chromaprint") "/bin/fpcalc")))
#t)))))
(native-inputs
- `(("gettext" ,gettext-minimal)))
+ `(("gettext" ,gettext-minimal)
+ ("python-dateutil" ,python-dateutil)))
(inputs
`(("chromaprint" ,chromaprint)
("python-discid" ,python-discid)
@@ -2887,16 +2961,18 @@ formats, looking up tracks through metadata and audio fingerprints.")
(define-public python-mutagen
(package
(name "python-mutagen")
- (version "1.38")
+ (version "1.45.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "mutagen" version))
(sha256
(base32
- "0rl7sxn1rcjl48fwga3dqf9f6pzspsny4ngxyf6pp337mrq0z693"))))
+ "1qdk6i8gyhbi1c4j5jmbfpac3q8sff2ysri1pnp7nb9wzcp615v3"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ `(("python-pytest" ,python-pytest)
+ ("python-hypothesis" ,python-hypothesis)
+ ("python-flake8" ,python-flake8)))
(home-page "https://bitbucket.org/lazka/mutagen")
(synopsis "Read and write audio tags")
(description "Mutagen is a Python module to handle audio metadata. It
@@ -4158,7 +4234,7 @@ sample library.")
(define-public muse-sequencer
(package
(name "muse-sequencer")
- (version "3.0.0")
+ (version "3.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4170,19 +4246,30 @@ sample library.")
(file-name (git-file-name name version))
(sha256
(base32
- "1nninz8qyqlxxjdnrm79y3gr3056pga9l2fsqh674jd3cjvafya3"))))
+ "1rasp2v1ds2aw296lbf27rzw0l9fjl0cvbvw85d5ycvh6wkm301p"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there is no test target
#:configure-flags
- (list "-DENABLE_LV2_SUPPLIED=OFF"
- "-DENABLE_RTAUDIO=OFF" ; FIXME: not packaged
- "-DENABLE_INSTPATCH=OFF" ; FIXME: not packaged
- "-DENABLE_VST_NATIVE=OFF")
+ (list "-DENABLE_INSTPATCH=OFF" ; FIXME: not packaged
+ "-DENABLE_VST_NATIVE=OFF"
+ (string-append "-DCMAKE_EXE_LINKER_FLAGS="
+ "-Wl,-rpath="
+ (assoc-ref %outputs "out") "/lib/muse-"
+ ,(version-major+minor version) "/modules")
+ (string-append "-DCMAKE_SHARED_LINKER_FLAGS="
+ "-Wl,-rpath="
+ (assoc-ref %outputs "out") "/lib/muse-"
+ ,(version-major+minor version) "/modules"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
- (lambda _ (chdir "muse3"))))))
+ (lambda _ (chdir "muse3") #t))
+ (add-after 'chdir 'fix-include
+ (lambda _
+ (substitute* "muse/driver/rtaudio.h"
+ (("rtaudio/RtAudio.h") "RtAudio.h"))
+ #t)))))
(inputs
`(("alsa-lib" ,alsa-lib)
("lash" ,lash)
@@ -4195,10 +4282,14 @@ sample library.")
("sord" ,sord)
("libsndfile" ,libsndfile)
("libsamplerate" ,libsamplerate)
+ ("lrdf" ,lrdf)
("fluidsynth" ,fluidsynth)
("pcre" ,pcre)
+ ("pulseaudio" ,pulseaudio) ; required by rtaudio
("qtbase" ,qtbase)
- ("qtsvg" ,qtsvg)))
+ ("qtsvg" ,qtsvg)
+ ("rtaudio" ,rtaudio)
+ ("rubberband" ,rubberband)))
(native-inputs
`(("pkg-config" ,pkg-config)
("qttools" ,qttools)))
@@ -4988,7 +5079,7 @@ and reverb.")
(define-public lsp-plugins
(package
(name "lsp-plugins")
- (version "1.1.24")
+ (version "1.1.26")
(source
(origin
(method git-fetch)
@@ -4997,7 +5088,7 @@ and reverb.")
(commit (string-append "lsp-plugins-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0rzgzkg6wvhjcf664i16nz4v30drgv80s34bhdflcjzx2x7ix5zk"))))
+ (base32 "1apw8zh3a3il4smkjji6bih4vbsymj0hjs10fgkrd4nazqkjvgyd"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@@ -5008,18 +5099,18 @@ and reverb.")
(string-append "ETC_PATH=" (assoc-ref %outputs "out") "/etc"))
#:phases
(modify-phases %standard-phases
- (delete 'configure)) ; no configure
+ (delete 'configure)) ; no configure script
#:test-target "test"))
(inputs
- `(("cairo", cairo)
- ("hicolor-icon-theme", hicolor-icon-theme)
- ("jack", jack-1)
- ("ladspa", ladspa)
- ("libsndfile", libsndfile)
- ("lv2", lv2)
- ("mesa", mesa)))
+ `(("cairo" ,cairo)
+ ("hicolor-icon-theme" ,hicolor-icon-theme)
+ ("jack" ,jack-1)
+ ("ladspa" ,ladspa)
+ ("libsndfile" ,libsndfile)
+ ("lv2" ,lv2)
+ ("mesa" ,mesa)))
(native-inputs
- `(("pkg-config", pkg-config)))
+ `(("pkg-config" ,pkg-config)))
(synopsis "Audio plugin collection")
(description "LSP (Linux Studio Plugins) is a collection of audio
plugins available as LADSPA/LV2 plugins and as standalone JACK
@@ -5129,12 +5220,12 @@ as a whole to realisticly reproduce the features and flaws of the real deal.")
`(("pkg-config" ,pkg-config)
("xxd" ,xxd)))
(inputs
- `(("cairo", cairo)
- ("fftw", fftw)
- ("fftwf", fftwf)
- ("jack", jack-1)
- ("lv2", lv2)
- ("mesa", mesa)))
+ `(("cairo" ,cairo)
+ ("fftw" ,fftw)
+ ("fftwf" ,fftwf)
+ ("jack" ,jack-1)
+ ("lv2" ,lv2)
+ ("mesa" ,mesa)))
(synopsis "Realtime graphical spectrum analyzer")
(description "Spectacle is a real-time spectral analyzer using the
short-time Fourier transform, available as LV2 audio plugin and JACK client.")
@@ -5250,7 +5341,7 @@ ZaMultiComp, ZaMultiCompX2 and ZamSynth.")
(define-public geonkick
(package
(name "geonkick")
- (version "2.3.7")
+ (version "2.3.8")
(source
(origin
(method git-fetch)
@@ -5259,8 +5350,7 @@ ZaMultiComp, ZaMultiCompX2 and ZamSynth.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "1wdcbwiyy6i5agq5lffkyilyc8mv1cc4mp9h0nybn240vb2flqc2"))))
+ (base32 "07809yy2q7dd6fcp0yndlg1vw2ca2zisnsplb3xrxvzdvrqlw910"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no tests included
@@ -5428,12 +5518,12 @@ MIDI drums and comes as two separate drumkits: Black Pearl and Red Zeppelin.")
("freetype2" ,freetype)
("hicolor-icon-theme" ,hicolor-icon-theme)
("libxcursor" ,libxcursor)
- ("libxinerama", libxinerama)
- ("jack", jack-1)
+ ("libxinerama" ,libxinerama)
+ ("jack" ,jack-1)
("mesa" ,mesa)))
(native-inputs
`(("pkg-config" ,pkg-config)
- ("lv2", lv2)))
+ ("lv2" ,lv2)))
(home-page "https://tytel.org/helm/")
(synopsis "Polyphonic synth with lots of modulation")
(description "Helm is a cross-platform polyphonic synthesizer available standalone
@@ -5442,8 +5532,13 @@ and as an LV2 plugin.")
(define-public zrythm
(package
+ ;; Zrythm contains trademarks and comes with a trademark policy found in
+ ;; TRADMARKS.md inside the release distribution. The trademark policy
+ ;; allows verbatim re-distribution, and it also allows FSF-approved
+ ;; distros to make necessary changes to integrate the software into the
+ ;; distribution.
(name "zrythm")
- (version "0.8.333")
+ (version "0.8.911")
(source
(origin
(method url-fetch)
@@ -5451,13 +5546,19 @@ and as an LV2 plugin.")
version ".tar.xz"))
(sha256
(base32
- "0x2kxr5zz058jpy6k6ymj0fi2gqfcgrlv4qkwz9443hjy5345iwb"))))
+ "1xyp70sjc2k5pfdqbwqa988v86da0rmmyl8ry86bqv4ja80sc6g9"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
+ #:meson ,meson-0.55
#:configure-flags
- `("-Denable_tests=true" "-Dmanpage=true"
- "-Dinstall_dseg_font=false" "-Denable_ffmpeg=true")
+ `("-Dtests=true"
+ "-Dmanpage=true"
+ "-Ddseg_font=false"
+ "-Dgraphviz=enabled" ; for exporting routing graphs
+ "-Dguile=enabled" ; for Guile scripting
+ "-Djack=enabled" ; for JACK audio/MIDI backend
+ "-Dsdl=enabled") ; for SDL audio backend (which uses ALSA)
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-xdg-open
@@ -5470,7 +5571,6 @@ and as an LV2 plugin.")
`(("alsa-lib" ,alsa-lib)
("jack" ,jack-1)
("font-dseg" ,font-dseg)
- ("ffmpeg" ,ffmpeg)
("fftw" ,fftw)
("fftwf" ,fftwf)
("gettext" ,gettext-minimal)
@@ -5479,19 +5579,23 @@ and as an LV2 plugin.")
("gtk+" ,gtk+)
("gtksourceview" ,gtksourceview)
("guile" ,guile-2.2)
+ ("libaudec" ,libaudec)
("libcyaml" ,libcyaml)
("libsamplerate" ,libsamplerate)
("libsndfile" ,libsndfile)
("libyaml" ,libyaml)
("lilv" ,lilv)
+ ("lv2" ,lv2)
+ ("reproc" ,reproc)
+ ("rubberband" ,rubberband)
+ ("rtmidi" ,rtmidi)
+ ("sdl2" ,sdl2)
("xdg-utils" ,xdg-utils)
- ("rubberband" ,rubberband)))
+ ("zstd" ,zstd "lib")))
(native-inputs
`(("pkg-config" ,pkg-config)
("help2man" ,help2man)
- ("libaudec" ,libaudec)
- ("lv2" ,lv2)
- ("glib" ,glib "bin"))) ;for 'glib-compile-resources'
+ ("glib" ,glib "bin"))) ; for 'glib-compile-resources'
(synopsis "Digital audio workstation focusing on usability")
(description "Zrythm is a digital audio workstation designed to be
featureful and easy to use. It offers unlimited automation options, LV2
@@ -5744,9 +5848,9 @@ plugin and a standalone JACK application.")
"/lib/lv2")
"install"))))))
(inputs
- `(("lv2", lv2)))
+ `(("lv2" ,lv2)))
(native-inputs
- `(("pkg-config", pkg-config)))
+ `(("pkg-config" ,pkg-config)))
(synopsis "Audio plugin collection")
(description "TAP (Tom's Audio Processing) plugins is a collection of
audio effect plugins originally released as LADSPA plugins. This package
@@ -5802,9 +5906,9 @@ plugin and a standalone JACK application.")
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
- `(("jack", jack-1)
- ("lv2", lv2)
- ("mesa", mesa)))
+ `(("jack" ,jack-1)
+ ("lv2" ,lv2)
+ ("mesa" ,mesa)))
(synopsis "Waveshaper plugin")
(description "Wolf Shaper is a waveshaper plugin with a graph editor.
It is provided as an LV2 plugin and as a standalone Jack application.")
@@ -5884,12 +5988,12 @@ It is provided as an LV2 plugin and as a standalone Jack application.")
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
- `(("cairo", cairo)
- ("glu", glu)
- ("jack", jack-1)
- ("lv2", lv2)
- ("mesa", mesa)
- ("pango", pango)))
+ `(("cairo" ,cairo)
+ ("glu" ,glu)
+ ("jack" ,jack-1)
+ ("lv2" ,lv2)
+ ("mesa" ,mesa)
+ ("pango" ,pango)))
(synopsis "Audio plugin collection")
(description "Shiru plugins is a collection of audio plugins created
by Shiru, ported to LV2 by the Linux MAO project using the DISTRHO plugin