aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorapoorv569 <apoorvs569@gmail.com>2025-03-27 18:20:23 +0100
committerDanny Milosavljevic <dannym@friendly-machines.com>2025-03-30 00:31:45 +0100
commitd15f90b70aba42169d09d69fbea14050984441fe (patch)
treed1dabaa586e3dad1adff52a969efe90d1311904d
parented5e4b7135ee52d8667d3b06215d4adf8851f4cb (diff)
downloadguix-d15f90b70aba42169d09d69fbea14050984441fe.tar.gz
guix-d15f90b70aba42169d09d69fbea14050984441fe.zip
gnu: Add firefly-synth.
* gnu/packages/music.scm (firefly-synth): New variable. Change-Id: I785cd7458f80d470f69e65084df30d897c424fe6 Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
-rw-r--r--gnu/packages/music.scm78
1 files changed, 78 insertions, 0 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 24a8c61c84..e46a228599 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -8120,6 +8120,84 @@ tries to match each block with one in its brain to play in realtime.")
visuals based on audio performances or existing tracks.")
(license license:gpl2+)))
+(define-public firefly-synth
+ (package
+ (name "firefly-synth")
+ (version "1.9.9")
+ (source
+ (origin
+ (method git-fetch)
+ ;; TODO: unbundle Submodule 'lib/JUCE' (https://github.com/sjoerdvankreel/JUCE.git) registered for path 'lib/JUCE'
+ ;; TODO: unbundle Submodule 'lib/MTS-ESP' (https://github.com/sjoerdvankreel/MTS-ESP.git) registered for path 'lib/MTS-ESP'
+ ;; TODO: unbundle Submodule 'lib/clap' (https://github.com/sjoerdvankreel/clap.git) registered for path 'lib/clap'
+ ;; TODO: unbundle Submodule 'lib/clap-helpers' (https://github.com/sjoerdvankreel/clap-helpers.git) registered for path 'lib/clap-helpers'
+ ;; TODO: unbundle Submodule 'lib/readerwriterqueue' (https://github.com/sjoerdvankreel/readerwriterqueue.git) registered for path 'lib/readerwriterqueue'
+ ;; TODO: unbundle Submodule 'lib/sse2neon' (https://github.com/sjoerdvankreel/sse2neon) registered for path 'lib/sse2neon'
+ ;; TODO: unbundle Submodule 'lib/vst3/base' (https://github.com/sjoerdvankreel/vst3_base.git) registered for path 'lib/vst3/base'
+ ;; TODO: unbundle Submodule 'lib/vst3/cmake' (https://github.com/sjoerdvankreel/vst3_cmake.git) registered for path 'lib/vst3/cmake'
+ ;; TODO: unbundle Submodule 'lib/vst3/pluginterfaces' (https://github.com/sjoerdvankreel/vst3_pluginterfaces.git) registered for path 'lib/vst3/pluginterfaces'
+ ;; TODO: unbundle Submodule 'lib/vst3/public.sdk' (https://github.com/sjoerdvankreel/vst3_public_sdk.git) registered for path 'lib/vst3/public.sdk'
+ (uri (git-reference
+ (url "https://github.com/sjoerdvankreel/firefly-synth")
+ (recursive? #t)
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "1gkrmq942i3gsd7r3ilnz2rs3xxb4sv5kq36f9gdasrxxz65wyg8"))
+ (file-name (git-file-name name version))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:tests? #f ;; No test target
+ #:build-type "Release"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'plugin-base-ref-gen
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out")))
+ (with-directory-excursion
+ "../source/dist/Release/linux"
+ (system*
+ "./plugin_base.ref_gen"
+ "firefly_synth_1.vst3/Contents/x86_64-linux/firefly_synth_1.so"
+ "../../../param_reference.html")))))
+ (add-after 'plugin-base-ref-gen 'copy-plugin-artefacts
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (src (assoc-ref inputs "source"))
+ (clap (string-append out "/lib/clap"))
+ (vst3 (string-append out "/lib/vst3")))
+ ;; Make clap and vst3 directories
+ (mkdir-p clap)
+ (mkdir-p vst3)
+ (with-directory-excursion
+ "../source/dist/Release/linux"
+ ;; Install clap.
+ (copy-recursively
+ "firefly_synth_1.clap"
+ (string-append clap "/firefly_synth_1.clap"))
+ (copy-recursively
+ "firefly_synth_fx_1.clap"
+ (string-append clap "/firefly_synth_fx_1.clap"))
+ ;; Install vst3.
+ (copy-recursively
+ "firefly_synth_1.vst3"
+ (string-append vst3 "/firefly_synth_1.vst3"))
+ (copy-recursively
+ "firefly_synth_fx_1.vst3"
+ (string-append vst3 "/firefly_synth_fx_1.vst3")))))))))
+ (inputs (list libxrandr
+ libxinerama
+ libxcursor
+ freetype
+ fontconfig
+ mesa
+ alsa-lib))
+ (native-inputs (list pkg-config))
+ (home-page "https://github.com/sjoerdvankreel/firefly-synth")
+ (synopsis "Semi-modular synthesizer and FX plugin, VST3 and CLAP")
+ (description "A semi-modular software synthesizer and fx plugin")
+ (license license:gpl3)))
+
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; of a merge conflict, place them above by existing packages with similar