[bug#72666] Add firefly-synth package
Commit Message
This is a patch to add a new package, `firefly-synth` to `gnu/packages/music.scm`.
Comments
Hi,
You sent a patch to add firefly-synth, a couple of things:
1. Looks like there's a new release, can you update the patch?
https://github.com/sjoerdvankreel/firefly-synth/releases/tag/v1.9.6
2. You added it to the end of music.scm please don't put it there as it makes
diffs more difficult. See if there's an alphabetical location in the file if at all possible.
3. Please send patches 'in-line' so that the automated QA system can pick them up.
I think the manual now has an updated section on how to use git send-email which might help.
https://guix.gnu.org/manual/devel/en/html_node/Sending-a-Patch-Series.html#Single-Patches-1
Thanks,
Futurile
@Steve George Hi, could please tell me what you mean by send patch "in-line"? as in copy paste the patch in the Email body and not as an attachment?
I tried to update the package definition to latest, but for some reason its failing to build now.
- (let ((commit "b4ba5a90461d698000df73ebff736570667e42ac")
+ (let ((commit "371c28ca14967e9c5dcaadf5921152ecc40241d0")
- (version (git-version "1.8.5" revision commit))
+ (version (git-version "1.9.9" revision commit))
- (base32 "1j6cap45608jdybgj3zsqlfbzmqpqxl29jk7ikk3x7d29jaxw84r"))
+ (base32 "0yyjalg7shl8ya9990jppqgfagdln363bak4xvayrr45s477diyx"))
these are the only things I changed, but it fails with this error,
```
[ 43%] Building CXX object plugin_base/CMakeFiles/plugin_base.juce.dir/__/lib/JUCE/modules/juce_graphics/juce_graphics.cpp.o <http://juce.dir/__/lib/JUCE/modules/juce_graphics/juce_graphics.cpp.o>
cd /tmp/guix-build-firefly-synth-1.9.9-1.371c28c.drv-0/build/plugin_base && /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/bin/c++ -DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1 -DJUCE_LINUX=1 -DJUCE_MODAL_LOOPS_PERMITTED=0 -DJUCE_MODULE_AVAILABLE_juce_audio_basics=1 -DJUCE_MODULE_AVAILABLE_juce_audio_formats=1 -DJUCE_MODULE_AVAILABLE_juce_core=1 -DJUCE_MODULE_AVAILABLE_juce_cryptography=1 -DJUCE_MODULE_AVAILABLE_juce_data_structures=1 -DJUCE_MODULE_AVAILABLE_juce_dsp=1 -DJUCE_MODULE_AVAILABLE_juce_events=1 -DJUCE_MODULE_AVAILABLE_juce_graphics=1 -DJUCE_MODULE_AVAILABLE_juce_gui_basics=1 -DJUCE_USE_CURL=0 -DLINUX=1 -DNDEBUG=1 -D_NDEBUG=1 -I/tmp/guix-build-firefly-synth-1.9.9-1.371c28c.drv-0/source/plugin_base/src/plugin_base.juce -isystem /tmp/guix-build-firefly-synth-1.9.9-1.371c28c.drv-0/source/lib/JUCE/modules -isystem /tmp/guix-build-firefly-synth-1.9.9-1.371c28c.drv-0/source/lib/MTS-ESP -Wno-multichar -Wl,--no-undefined -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -DRELEASE=1 -DJUCE_DEBUG=0 -fPIC -DSMTG_RENAME_ASSERT=1 -Wsuggest-override -Wl,--no-undefined -fvisibility=hidden -fvisibility-inlines-hidden -Wno-suggest-override -std=c++20 -MD -MT plugin_base/CMakeFiles/plugin_base.juce.dir/__/lib/JUCE/modules/juce_graphics/juce_graphics.cpp.o <http://juce.dir/__/lib/JUCE/modules/juce_graphics/juce_graphics.cpp.o> -MF CMakeFiles/plugin_base.juce.dir/__/lib/JUCE/modules/juce_graphics/juce_graphics.cpp.o.d <http://juce.dir/__/lib/JUCE/modules/juce_graphics/juce_graphics.cpp.o.d> -o CMakeFiles/plugin_base.juce.dir/__/lib/JUCE/modules/juce_graphics/juce_graphics.cpp.o <http://juce.dir/__/lib/JUCE/modules/juce_graphics/juce_graphics.cpp.o> -c /tmp/guix-build-firefly-synth-1.9.9-1.371c28c.drv-0/source/lib/JUCE/modules/juce_graphics/juce_graphics.cpp
/tmp/guix-build-firefly-synth-1.9.9-1.371c28c.drv-0/source/lib/JUCE/modules/juce_graphics/juce_graphics.cpp:115:11: fatal error: ft2build.h: No such file or directory
115 | #include <ft2build.h>
| ^~~~~~~~~~~~
compilation terminated.
make[2]: *** [plugin_base/CMakeFiles/plugin_base.juce.dir/build.make:163 <http://juce.dir/build.make:163>: plugin_base/CMakeFiles/plugin_base.juce.dir/__/lib/JUCE/modules/juce_graphics/juce_graphics.cpp.o <http://juce.dir/__/lib/JUCE/modules/juce_graphics/juce_graphics.cpp.o>] Error 1
make -f lib/vst3/public.sdk/CMakeFiles/sdk_hosting.dir/build.make <http://public.sdk/CMakeFiles/sdk_hosting.dir/build.make> lib/vst3/public.sdk/CMakeFiles/sdk_hosting.dir/depend <http://public.sdk/CMakeFiles/sdk_hosting.dir/depend>
make[2]: *** Waiting for unfinished jobs....
make[2]: Entering directory '/tmp/guix-build-firefly-synth-1.9.9-1.371c28c.drv-0/build'
cd /tmp/guix-build-firefly-synth-1.9.9-1.371c28c.drv-0/build && /gnu/store/2lxfijiqqljxdxr2ppqqrn5czkh4r1rq-cmake-minimal-3.24.2/bin/cmake -E cmake_depends "Unix Makefiles" /tmp/guix-build-firefly-synth-1.9.9-1.371c28c.drv-0/source /tmp/guix-build-firefly-synth-1.9.9-1.371c28c.drv-0/source/lib/vst3/public.sdk /tmp/guix-build-firefly-synth-1.9.9-1.371c28c.drv-0/build /tmp/guix-build-firefly-synth-1.9.9-1.371c28c.drv-0/build/lib/vst3/public.sdk /tmp/guix-build-firefly-synth-1.9.9-1.371c28c.drv-0/build/lib/vst3/public.sdk/CMakeFiles/sdk_hosting.dir/DependInfo.cmake <http://public.sdk/CMakeFiles/sdk_hosting.dir/DependInfo.cmake> --color=
make[2]: Leaving directory '/tmp/guix-build-firefly-synth-1.9.9-1.371c28c.drv-0/build'
make -f lib/vst3/public.sdk/CMakeFiles/sdk_hosting.dir/build.make <http://public.sdk/CMakeFiles/sdk_hosting.dir/build.make> lib/vst3/public.sdk/CMakeFiles/sdk_hosting.dir/build <http://public.sdk/CMakeFiles/sdk_hosting.dir/build>
make[2]: Entering directory '/tmp/guix-build-firefly-synth-1.9.9-1.371c28c.drv-0/build'
[ 44%] Building CXX object lib/vst3/public.sdk/CMakeFiles/sdk_hosting.dir/source/vst/hosting/connectionproxy.cpp.o <http://public.sdk/CMakeFiles/sdk_hosting.dir/source/vst/hosting/connectionproxy.cpp.o>
cd /tmp/guix-build-firefly-synth-1.9.9-1.371c28c.drv-0/build/lib/vst3/public.sdk && /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/bin/c++ -DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1 -I/tmp/guix-build-firefly-synth-1.9.9-1.371c28c.drv-0/source/lib/vst3/public.sdk/.. -I/tmp/guix-build-firefly-synth-1.9.9-1.371c28c.drv-0/source/lib/vst3/base/.. -I/tmp/guix-build-firefly-synth-1.9.9-1.371c28c.drv-0/source/lib/vst3/pluginterfaces/.. -Wno-multichar -O3 -DNDEBUG -DRELEASE=1 -fPIC -DSMTG_RENAME_ASSERT=1 -Wsuggest-override -DRELEASE=1 -MD -MT lib/vst3/public.sdk/CMakeFiles/sdk_hosting.dir/source/vst/hosting/connectionproxy.cpp.o <http://public.sdk/CMakeFiles/sdk_hosting.dir/source/vst/hosting/connectionproxy.cpp.o> -MF CMakeFiles/sdk_hosting.dir/source/vst/hosting/connectionproxy.cpp.o.d -o CMakeFiles/sdk_hosting.dir/source/vst/hosting/connectionproxy.cpp.o -c /tmp/guix-build-firefly-synth-1.9.9-1.371c28c.drv-0/source/lib/vst3/public.sdk/source/vst/hosting/connectionproxy.cpp <http://public.sdk/source/vst/hosting/connectionproxy.cpp>
```
not sure why, as I do already have `freetype` as a input.
From 5d08a4fee0ac8906780c43f340d01e9d0b82c03b Mon Sep 17 00:00:00 2001
From: apoorv569 <apoorvs569@gmail.com>
Date: Fri, 16 Aug 2024 15:37:25 +0530
Subject: [PATCH 13/13] Add firefly-synth package
---
gnu/packages/music.scm | 70 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 70 insertions(+)
@@ -8577,6 +8577,76 @@ (define-public bitrot-plugins
"Audio effect plugins (LV2, VST2, LADSPA) for glitch effects")
(license license:asl2.0))))
+(define-public firefly-synth
+ (let ((commit "b4ba5a90461d698000df73ebff736570667e42ac")
+ (revision "1"))
+ (package
+ (name "firefly-synth")
+ (version (git-version "1.8.5" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sjoerdvankreel/firefly-synth")
+ (recursive? #t)
+ (commit commit)))
+ (sha256
+ (base32 "1j6cap45608jdybgj3zsqlfbzmqpqxl29jk7ikk3x7d29jaxw84r"))
+ (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
+ 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
--
2.45.2