summary refs log tree commit diff
path: root/gnu/packages/music.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2021-07-31 17:09:21 +0200
committerRicardo Wurmus <rekado@elephly.net>2021-07-31 18:40:57 +0200
commit145e897530d300a923c9a12a0f003a372491d873 (patch)
tree5054d9d7e589e4bc18deb2b811b45f792adeb360 /gnu/packages/music.scm
parent94ece4f8f7c80133d759d302b11351b69919209c (diff)
downloadguix-145e897530d300a923c9a12a0f003a372491d873.tar.gz
gnu: Add sfizz.
* gnu/packages/music.scm (sfizz): New variable.
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r--gnu/packages/music.scm46
1 files changed, 46 insertions, 0 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 5d919d6cc3..9c69204610 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -81,6 +81,7 @@
   #:use-module (gnu packages apr)
   #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages assembly)
   #:use-module (gnu packages backup)
   #:use-module (gnu packages base) ;libbdf
   #:use-module (gnu packages bash)
@@ -4886,6 +4887,51 @@ implementation library that is easy to integrate into other projects.  A
 standalone JACK client and an LV2 plugin is also available.")
     (license license:lgpl2.1+)))
 
+(define-public sfizz
+  (package
+    (name "sfizz")
+    (version "1.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/sfztools/sfizz"
+                                  "/releases/download/" version
+                                  "/sfizz-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1pk67xvyqkvhjz2q5hbj5v0mnfvdvvl8vl5bsh6ymwiq3glkd41l"))
+              (modules '((guix build utils)))
+              (snippet
+               ;; TODO: pugixml is bundled, but can only be removed in
+               ;; versions after 1.0.0.
+               '(for-each delete-file-recursively
+                          '("external/abseil-cpp"
+                            "external/simde"
+                            "plugins/editor/external/vstgui4"
+                            "plugins/vst")))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags
+       (list "-DSFIZZ_LV2_UI=OFF"
+             "-DSFIZZ_VST=OFF"
+             "-DSFIZZ_VST2=OFF"
+             "-DSFIZZ_TESTS=ON"
+             "-DSFIZZ_USE_SYSTEM_ABSEIL=ON")))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("abseil-cpp" ,abseil-cpp)
+       ("glib" ,glib)
+       ("jack" ,jack-2)
+       ("lv2" ,lv2)
+       ("libsamplerate" ,libsamplerate)
+       ("pugixml" ,pugixml)
+       ("simde" ,simde)))
+    (home-page "https://sfz.tools/sfizz/")
+    (synopsis "SFZ parser and synth library")
+    (description "Sfizz provides an SFZ parser and synth C++ library.  It
+includes LV2 plugins and a JACK standalone client.")
+    (license license:bsd-2)))
+
 (define-public musescore
   (package
     (name "musescore")