summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2025-06-01 11:17:24 +0200
committerRicardo Wurmus <rekado@elephly.net>2025-06-01 11:17:40 +0200
commitb23e77464368732c731cb47974b1dc7bd43f3d99 (patch)
treeabe3f94cb4da6a725f2c47d7d0b831f996468287
parente29c57ab81517424b03579147910553d92246212 (diff)
gnu: Add fmsynth-lv2.
* gnu/packages/audio.scm (fmsynth-lv2): New variable. Change-Id: Ida808e1b79ee7a31350cb868566eb85fed68efe7
-rw-r--r--gnu/packages/audio.scm46
1 files changed, 46 insertions, 0 deletions
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 3521f12b6ee..f7a8e3a700f 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -408,6 +408,52 @@ Linux kernel.")
(home-page "https://github.com/tinyalsa/tinyalsa")
(license (license:non-copyleft "file:///NOTICE"))))
+(define-public fmsynth-lv2
+ (let ((commit "b989b5c0efd46b312ce4edd89808d34dc5135bb4")
+ (revision "0"))
+ (package
+ (name "fmsynth-lv2")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Themaister/libfmsynth")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0nck4ih0rxyr8b2vw6m119lybfnmzmas859m784i73ind3rcy44k"))))
+ (properties '((tunable? . #true)))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #false ;no check target
+ #:make-flags
+ #~(list "CC=gcc"
+ (string-append "INSTALL_DIR=" #$output "/lib/lv2"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'do-not-tune
+ (lambda _
+ (substitute* "GNUmakefile"
+ (("-march=native") ""))))
+ (add-after 'do-not-tune 'chdir
+ (lambda _ (chdir "lv2")))
+ (add-before 'install 'make-target-directory
+ (lambda _
+ (mkdir-p (string-append #$output "/lib/lv2"))))
+ (delete 'configure))))
+ (inputs (list gtkmm-2 lv2 lvtk))
+ (native-inputs (list pkg-config))
+ (home-page "https://github.com/Themaister/libfmsynth")
+ (synopsis "Frequency modulation synthesizer plugin")
+ (description
+ "fmsynth is an LV2 plugin which implements an @dfn{FM} (Frequency
+Modulation) synthesizer. Unlike most FM synth implementations in software,
+this FM synthesizer does not aim to emulate or replicate a particular
+synth (like DX7) or FM chip.")
+ (license license:expat))))
+
(define-public libgme
(package
(name "libgme")