Add FluidPlug

  • Open
  • quality assurance status badge
Details
2 participants
  • Gabriel Wicki
  • paul
Owner
unassigned
Submitted by
paul
Severity
normal
P
(address . guix-patches@gnu.org)
52cde204-a305-9783-a60d-17ee34a7d9ee@autistici.org
Hi Guixers,

I'm sending a patch series to add the FluidPlug [0] LV2 plugin set . The
patchset contains also a commit to create a fluidplug team and adding
myself to it, I'm not sure it is suitable for Guix. If it isn't please
feel free to ignore that commit. Thank you for your time.


giacomo


G
G
Giacomo Leidi wrote on 6 Mar 21:20 +0100
[PATCH 2/3] gnu: Add fluidplug plugins.
(address . 69593@debbugs.gnu.org)(name . Giacomo Leidi)(address . goodoldpaul@autistici.org)
49f7e067bf879d67cab4ea41af309b0e36e008ae.1709756446.git.goodoldpaul@autistici.org
* gnu/packages/fluidplug.scm (fluidplug-plugin->package): New variable;
(fluidplug-airfont320-lv2): new variable;
(fluidplug-avl-drumkits-perc-lv2): new variable;
(fluidplug-black-pearl-4a-lv2): new variable;
(fluidplug-black-pearl-4b-lv2): new variable;
(fluidplug-black-pearl-5-lv2): new variable;
(fluidplug-red-zeppelin-4-lv2): new variable;
(fluidplug-red-zeppelin-5-lv2): new variable;
(fluidplug-fluidgm-lv2): new variable;
(fluidplug-fluidbass-lv2): new variable;
(fluidplug-fluidbrass-lv2): new variable;
(fluidplug-fluidchromperc-lv2): new variable;
(fluidplug-fluiddrums-lv2): new variable;
(fluidplug-fluidensemble-lv2): new variable;
(fluidplug-fluidethnic-lv2): new variable;
(fluidplug-fluidguitars-lv2): new variable;
(fluidplug-fluidorgans-lv2): new variable;
(fluidplug-fluidpercussion-lv2): new variable;
(fluidplug-fluidpianos-lv2): new variable;
(fluidplug-fluidpipes-lv2): new variable;
(fluidplug-fluidreeds-lv2): new variable;
(fluidplug-fluidsoundfx-lv2): new variable;
(fluidplug-fluidstrings-lv2): new variable;
(fluidplug-fluidsynthfx-lv2): new variable;
(fluidplug-fluidsynthleads-lv2): new variable;
(fluidplug-fluidsynthpads-lv2): new variable.

Change-Id: If67aa88f6dd1e7c889ea7e42c418e1157699312b
---
gnu/packages/fluidplug.scm | 126 +++++++++++++++++++++++++++++++++++++
1 file changed, 126 insertions(+)

Toggle diff (136 lines)
diff --git a/gnu/packages/fluidplug.scm b/gnu/packages/fluidplug.scm
index b45d3a85b5..4838b09dcc 100644
--- a/gnu/packages/fluidplug.scm
+++ b/gnu/packages/fluidplug.scm
@@ -317,3 +317,129 @@ (define-public fluidplug-lv2
(license
(delete-duplicates
(map fluidplug-plugin-license fluidplug-plugins))))))
+
+(define (fluidplug-plugin->package record)
+ (package
+ (inherit fluidplug-lv2)
+ (name (fluidplug-plugin->package-name record))
+ (arguments
+ (substitute-keyword-arguments (package-arguments fluidplug-lv2)
+ ((#:make-flags make-flags)
+ #~(list (string-append "DESTDIR=" #$output)
+ "PREFIX="))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (replace 'unpack-plugin
+ (lambda _
+ (symlink #$(fluidplug-plugin->origin record)
+ #$(fluidplug-plugin->local-path record))))
+ (replace 'build
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke `("make" ,@make-flags
+ #$(fluidplug-plugin-name record)))))
+ (replace 'install
+ (lambda _
+ (let* ((plugin-directory
+ (string-append #$(fluidplug-plugin-name record)
+ ".lv2"))
+ (lib (string-append #$output "/lib/lv2"))
+ (share/doc (string-append #$output "/share/doc"))
+ (plugin-lib (string-append lib "/" plugin-directory)))
+
+ ;; Install plugin
+ (for-each
+ (lambda (f)
+ (install-file f plugin-lib))
+ (find-files plugin-directory
+ "^.*\\.(sf2|so|ttl)$"))
+
+ ;; Install license
+ (for-each
+ (lambda (f)
+ (install-file f share/doc))
+ (find-files plugin-directory "(README|License\\.pdf)"))
+
+ ;; Install UI
+ (copy-recursively (string-append plugin-directory "/modgui")
+ (string-append plugin-lib "/modgui")))))))))
+ (description
+ (string-append (package-description fluidplug-lv2) "
+
+This package provides the @code{" (fluidplug-plugin-name record)
+"} LV2 plugin."))
+ (license (fluidplug-plugin-license record))))
+
+(define-public fluidplug-airfont320-lv2
+ (fluidplug-plugin->package airfont320-fluidplug-plugin))
+
+(define-public fluidplug-avl-drumkits-perc-lv2
+ (fluidplug-plugin->package avl-drumkits-perc-fluidplug-plugin))
+
+(define-public fluidplug-black-pearl-4a-lv2
+ (fluidplug-plugin->package black-pearl-4a-fluidplug-plugin))
+
+(define-public fluidplug-black-pearl-4b-lv2
+ (fluidplug-plugin->package black-pearl-4b-fluidplug-plugin))
+
+(define-public fluidplug-black-pearl-5-lv2
+ (fluidplug-plugin->package black-pearl-5-fluidplug-plugin))
+
+(define-public fluidplug-red-zeppelin-4-lv2
+ (fluidplug-plugin->package red-zeppelin-4-fluidplug-plugin))
+
+(define-public fluidplug-red-zeppelin-5-lv2
+ (fluidplug-plugin->package red-zeppelin-5-fluidplug-plugin))
+
+(define-public fluidplug-fluidgm-lv2
+ (fluidplug-plugin->package fluidgm-fluidplug-plugin))
+
+(define-public fluidplug-fluidbass-lv2
+ (fluidplug-plugin->package fluidbass-fluidplug-plugin))
+
+(define-public fluidplug-fluidbrass-lv2
+ (fluidplug-plugin->package fluidbrass-fluidplug-plugin))
+
+(define-public fluidplug-fluidchromperc-lv2
+ (fluidplug-plugin->package fluidchromperc-fluidplug-plugin))
+
+(define-public fluidplug-fluiddrums-lv2
+ (fluidplug-plugin->package fluiddrums-fluidplug-plugin))
+
+(define-public fluidplug-fluidensemble-lv2
+ (fluidplug-plugin->package fluidensemble-fluidplug-plugin))
+
+(define-public fluidplug-fluidethnic-lv2
+ (fluidplug-plugin->package fluidethnic-fluidplug-plugin))
+
+(define-public fluidplug-fluidguitars-lv2
+ (fluidplug-plugin->package fluidguitars-fluidplug-plugin))
+
+(define-public fluidplug-fluidorgans-lv2
+ (fluidplug-plugin->package fluidorgans-fluidplug-plugin))
+
+(define-public fluidplug-fluidpercussion-lv2
+ (fluidplug-plugin->package fluidpercussion-fluidplug-plugin))
+
+(define-public fluidplug-fluidpianos-lv2
+ (fluidplug-plugin->package fluidpianos-fluidplug-plugin))
+
+(define-public fluidplug-fluidpipes-lv2
+ (fluidplug-plugin->package fluidpipes-fluidplug-plugin))
+
+(define-public fluidplug-fluidreeds-lv2
+ (fluidplug-plugin->package fluidreeds-fluidplug-plugin))
+
+(define-public fluidplug-fluidsoundfx-lv2
+ (fluidplug-plugin->package fluidsoundfx-fluidplug-plugin))
+
+(define-public fluidplug-fluidstrings-lv2
+ (fluidplug-plugin->package fluidstrings-fluidplug-plugin))
+
+(define-public fluidplug-fluidsynthfx-lv2
+ (fluidplug-plugin->package fluidsynthfx-fluidplug-plugin))
+
+(define-public fluidplug-fluidsynthleads-lv2
+ (fluidplug-plugin->package fluidsynthleads-fluidplug-plugin))
+
+(define-public fluidplug-fluidsynthpads-lv2
+ (fluidplug-plugin->package fluidsynthpads-fluidplug-plugin))
--
2.41.0
G
G
Giacomo Leidi wrote on 6 Mar 21:20 +0100
[PATCH 1/3] gnu: Add fluidplug-lv2.
(address . 69593@debbugs.gnu.org)(name . Giacomo Leidi)(address . goodoldpaul@autistici.org)
3747d738067368c29d71f921d3f31452902858be.1709756446.git.goodoldpaul@autistici.org
* gnu/packages/fluidplug.scm: New file;
* gnu/local.mk: Add it.

Change-Id: Iec61d692010f9d7635de2cf27c32e1356225ca09
---
gnu/local.mk | 1 +
gnu/packages/fluidplug.scm | 319 +++++++++++++++++++++++++++++++++++++
2 files changed, 320 insertions(+)
create mode 100644 gnu/packages/fluidplug.scm

Toggle diff (341 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 83937db4c8..16fa6dc1e1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -277,6 +277,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/flashing-tools.scm \
%D%/packages/flex.scm \
%D%/packages/fltk.scm \
+ %D%/packages/fluidplug.scm \
%D%/packages/fonts.scm \
%D%/packages/fontutils.scm \
%D%/packages/fpga.scm \
diff --git a/gnu/packages/fluidplug.scm b/gnu/packages/fluidplug.scm
new file mode 100644
index 0000000000..b45d3a85b5
--- /dev/null
+++ b/gnu/packages/fluidplug.scm
@@ -0,0 +1,319 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Giacomo Leidi <goodoldpaul@autistici.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages fluidplug)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix download)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses)
+ #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix records)
+ #:use-module (guix utils)
+ #:use-module (gnu packages audio)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (srfi srfi-1)
+ #:export (fluidplug-plugin
+ fluidplug-plugin?
+ fluidplug-plugin-name
+ fluidplug-plugin-path
+ fluidplug-plugin-hash
+ fluidplug-plugin-license))
+
+(define-record-type* <fluidplug-plugin>
+ fluidplug-plugin make-fluidplug-plugin
+ fluidplug-plugin?
+ (name fluidplug-plugin-name) ;string
+ (hash fluidplug-plugin-hash) ;string
+ (path fluidplug-plugin-path) ;string
+ (license fluidplug-plugin-license ;license
+ (default license:cc-by-sa4.0)))
+
+(define (fluidplug-plugin->package-name record)
+ (string-append "fluidplug-"
+ (string-downcase
+ (string-replace-substring
+ (fluidplug-plugin-name record) "_" "-"))
+ "-lv2"))
+
+(define (fluidplug-plugin->origin record)
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://download.linuxaudio.org/"
+ "musical-instrument-libraries/sf2/"
+ (fluidplug-plugin-path record)))
+ (sha256
+ (base32 (fluidplug-plugin-hash record)))))
+
+(define (fluidplug-plugin->local-path record)
+ (string-append "./" (fluidplug-plugin-name record) ".lv2/"
+ (basename (fluidplug-plugin-path record))))
+
+(define airfont320-fluidplug-plugin
+ (fluidplug-plugin
+ (name "AirFont320")
+ (path "airfont_a340u.tar.7z")
+ (hash "1x4xzm4khq823i4p18ydbkjza2nv3hzwyxp7vf3gzqs374jdcqbw")
+ (license license:gpl2)))
+
+(define avl-drumkits-perc-fluidplug-plugin
+ (fluidplug-plugin
+ (name "AVL_Drumkits_Perc")
+ (path "AVL-Drumkits-1.1-SF2-splitted/AVL_Drumkits_Perc_1.1.tar.7z")
+ (hash "0l1zvzw9dg922wf9llcl9zlw5ybjmayg7yqacp253xcr2jz1hn7m")
+ (license license:cc-by-sa3.0)))
+
+(define black-pearl-4a-fluidplug-plugin
+ (fluidplug-plugin
+ (name "Black_Pearl_4A")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_4A-1.1.tar.7z")
+ (hash "0flzlg5m2r3df8dchydzg3xllcv7ignr7hx6qxzy51s6gzrlbzli")
+ (license license:cc-by-sa3.0)))
+
+(define black-pearl-4b-fluidplug-plugin
+ (fluidplug-plugin
+ (name "Black_Pearl_4B")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_4B-1.1.tar.7z")
+ (hash "1z5q8z4k81xnbcv0gpc2xgrzqm9fg4n2yly1kaw82q7sm29vi0z9")
+ (license license:cc-by-sa3.0)))
+
+(define black-pearl-5-fluidplug-plugin
+ (fluidplug-plugin
+ (name "Black_Pearl_5")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_5-1.1.tar.7z")
+ (hash "0mg41wc912sfj2mydn86ychwk21l3ngbn7k3qsm6jgf1ipmsip9y")
+ (license license:cc-by-sa3.0)))
+
+(define red-zeppelin-4-fluidplug-plugin
+ (fluidplug-plugin
+ (name "Red_Zeppelin_4")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Red_Zeppelin_4-1.1.tar.7z")
+ (hash "0pcswg4hlyn8j6nghbwvxa71ibp6r0wxcbxjzxs4iim43vpxc659")
+ (license license:cc-by-sa3.0)))
+
+(define red-zeppelin-5-fluidplug-plugin
+ (fluidplug-plugin
+ (name "Red_Zeppelin_5")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Red_Zeppelin_5-1.1.tar.7z")
+ (hash "18hhmi1d1i7gr2rp4wn28pnfwl825rmhmjnvxvvcwdmis6nad4gm")
+ (license license:cc-by-sa3.0)))
+
+(define fluidgm-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidGM")
+ (path "fluidr3.tar.7z")
+ (hash "00ka1b2pxn0g2g0hm7kdg5w785pfx8f9585238d183wjdkc3a8m6")
+ (license license:expat)))
+
+(define fluidbass-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidBass")
+ (path "fluidr3-splitted/fluidr3gm_bass.sf2.tar.7z")
+ (hash "1zhixrxkwvmn6xkpy9f8zkrwxmaqwdcx0jz7zg8lc2amqkx9wqan")))
+
+(define fluidbrass-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidBrass")
+ (path "fluidr3-splitted/fluidr3gm_brass.sf2.tar.7z")
+ (hash "027l3q4q9011xzbzsrsp5nj3h05w9dj7d8b943xzck7q4sp9alkp")))
+
+(define fluidchromperc-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidChromPerc")
+ (path "fluidr3-splitted/fluidr3gm_chromaticpercussion.sf2.tar.7z")
+ (hash "1233fh36wlifrawh57v8vycxc0g4pbvy3qr9f596g9n7mm4h51f7")))
+
+(define fluiddrums-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidDrums")
+ (path "fluidr3-splitted/fluidr3gm_drums.sf2.tar.7z")
+ (hash "01pv3aj52pz8xy29acprwkb69jxhrn64kx7w29ch5bl091lccqgr")))
+
+(define fluidensemble-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidEnsemble")
+ (path "fluidr3-splitted/fluidr3gm_ensemble.sf2.tar.7z")
+ (hash "0rswcgzapcjmwddh2hgicym27hqz3p43r2s8j7hy1s40hzk3nbax")))
+
+(define fluidethnic-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidEthnic")
+ (path "fluidr3-splitted/fluidr3gm_ethnic.sf2.tar.7z")
+ (hash "0z1z37wn6lw1n919bkpfirachg5wwddi7f0g4l9vimazv34ds1b1")))
+
+(define fluidguitars-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidGuitars")
+ (path "fluidr3-splitted/fluidr3gm_guitar.sf2.tar.7z")
+ (hash "1d5jxx4sgbyh9sqmfksggcsri9hal7mw83a6h1vqb9xf59gnmx1i")))
+
+(define fluidorgans-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidOrgans")
+ (path "fluidr3-splitted/fluidr3gm_organ.sf2.tar.7z")
+ (hash "12zlq28cmr2hsgn1319hidzcm8yifx6vsqsqk544z3qkhc8cg4fr")))
+
+(define fluidpercussion-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidPercussion")
+ (path "fluidr3-splitted/fluidr3gm_percussive.sf2.tar.7z")
+ (hash "1gql0g1zk09n6r90mav47khdc406jhmg5iql6i2zjmg9l7yg65n3")))
+
+(define fluidpianos-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidPianos")
+ (path "fluidr3-splitted/fluidr3gm_piano.sf2.tar.7z")
+ (hash "06a817xvx7qj8plr1vhpanbdr97cbmzky0pp6xhff916s5k0jg2r")))
+
+(define fluidpipes-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidPipes")
+ (path "fluidr3-splitted/fluidr3gm_pipe.sf2.tar.7z")
+ (hash "09wzvsabcif27687g71g4m75zz08zpwpm2dzwh8a7xsfi5qdynf2")))
+
+(define fluidreeds-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidReeds")
+ (path "fluidr3-splitted/fluidr3gm_reed.sf2.tar.7z")
+ (hash "1yb0whi67wz7ag6hcfdns69m1ic3fq6firvbb893ilnx8h17yjak")))
+
+(define fluidsoundfx-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidSoundFX")
+ (path "fluidr3-splitted/fluidr3gm_soundeffects.sf2.tar.7z")
+ (hash "0sg8gca9735gy0pna63vgsfnabk54dl30n1lnhcf976n7y0npzfx")))
+
+(define fluidstrings-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidStrings")
+ (path "fluidr3-splitted/fluidr3gm_strings.sf2.tar.7z")
+ (hash "1nnxr62i3p3hhdpwlly62c4cvf7f3dzq818fmlnlxp25215h17bs")))
+
+(define fluidsynthfx-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidSynthFX")
+ (path "fluidr3-splitted/fluidr3gm_syntheffects.sf2.tar.7z")
+ (hash "0rlq58v9m6wjk45kxmza54y8fkj1b8y1zg00r80nwyqz6rylgjh4")))
+
+(define fluidsynthleads-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidSynthLeads")
+ (path "fluidr3-splitted/fluidr3gm_synthlead.sf2.tar.7z")
+ (hash "0axi5dyqf8zh1gn82qq0jpzr0cgbsjn4xm0yrlqld4k6h9ggj475")))
+
+(define fluidsynthpads-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidSynthPads")
+ (path "fluidr3-splitted/fluidr3gm_synthpad.sf2.tar.7z")
+ (hash "1q4pd6ymb08yc6rz68wlidjp5kp7pygc2aw45djw9wr8id6pnadi")))
+
+(define-public fluidplug-plugins
+ (list airfont320-fluidplug-plugin
+ avl-drumkits-perc-fluidplug-plugin
+ black-pearl-4a-fluidplug-plugin
+ black-pearl-4b-fluidplug-plugin
+ black-pearl-5-fluidplug-plugin
+ red-zeppelin-4-fluidplug-plugin
+ red-zeppelin-5-fluidplug-plugin
+ fluidgm-fluidplug-plugin
+ fluidbass-fluidplug-plugin
+ fluidbrass-fluidplug-plugin
+ fluidchromperc-fluidplug-plugin
+ fluiddrums-fluidplug-plugin
+ fluidensemble-fluidplug-plugin
+ fluidethnic-fluidplug-plugin
+ fluidguitars-fluidplug-plugin
+ fluidorgans-fluidplug-plugin
+ fluidpercussion-fluidplug-plugin
+ fluidpianos-fluidplug-plugin
+ fluidpipes-fluidplug-plugin
+ fluidreeds-fluidplug-plugin
+ fluidsoundfx-fluidplug-plugin
+ fluidstrings-fluidplug-plugin
+ fluidsynthfx-fluidplug-plugin
+ fluidsynthleads-fluidplug-plugin
+ fluidsynthpads-fluidplug-plugin))
+
+(define-public fluidplug-lv2
+ (let ((version "0.0.5")
+ (revision "0")
+ (commit "38d7d0d5259c89199be3cf56768edf0d41bfd881"))
+ (package
+ (name "fluidplug-lv2")
+ (version (git-version version revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/falkTX/FluidPlug")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0k4wjcvpgf4nk4d5b40x5zckfgp22b4i3npcahqbr16hh21cjfjj"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; SoundFonts can't be downloaded at build time
+ ;; in Guix, so it is disabled.
+ (substitute* "Makefile"
+ (("wget") "# wget"))
+ #t))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ ;; There are no tests.
+ #:tests? #f
+ #:make-flags #~(list (string-append "DESTDIR=" #$output)
+ "PREFIX=")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'unpack-plugin
+ (lambda _
+ (use-modules (srfi srfi-1))
+ (for-each
+ (lambda (p)
+ (define source (first p))
+ (define target (second p))
+ (symlink source target))
+ '(#$@(map
+ (lambda (p)
+ (list (fluidplug-plugin->origin p)
+ (fluidplug-plugin->local-path p)))
+ fluidplug-plugins)))))
+ (delete 'configure)
+ (add-before 'build 'setenv
+ (lambda _
+ (setenv "CC" "gcc"))))))
+ (native-inputs
+ (list lv2 gnu-make p7zip pkg-config))
+ (inputs (list fluidsynth))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "LV2_PATH")
+ (files '("lib/lv2")))))
+ (synopsis
+ "SoundFonts as LV2 plugins via FluidSynth")
+ (description
+ "@code{FluidPlug} provides SoundFonts as LV2 plugins via FluidSynth.")
+ (home-page "https://github.com/falkTX/FluidPlug")
+ (license
+ (delete-duplicates
+ (map fluidplug-plugin-license fluidplug-plugins))))))

base-commit: f18d13b5f89c161c6ee88d15ecdaa8d973ee4503
--
2.41.0
G
G
Giacomo Leidi wrote on 6 Mar 21:20 +0100
[PATCH 3/3] teams: Add FluidPlug team.
(address . 69593@debbugs.gnu.org)(name . Giacomo Leidi)(address . goodoldpaul@autistici.org)
c9167bfa9416bbb4262cbcd7cb96f321f9f4349b.1709756446.git.goodoldpaul@autistici.org
* etc/teams.scm (fluidplug): New team; add Giacomo to it.

Change-Id: I78af3e3ab865a9a740d69598c3149e7ad0270893
---
etc/teams.scm | 10 ++++++++++
1 file changed, 10 insertions(+)

Toggle diff (30 lines)
diff --git a/etc/teams.scm b/etc/teams.scm
index e2da31a2b4..bfcc8c8dad 100755
--- a/etc/teams.scm
+++ b/etc/teams.scm
@@ -567,6 +567,12 @@ (define-team zig
"guix/build/zig-build-system.scm"
"guix/build-system/zig.scm")))
+(define-team fluidplug
+ (team 'fluidplug
+ #:name "FluidPlug"
+ #:description "FluidPlug LV2 plugins"
+ #:scope (list "gnu/packages/fluidplug.scm")))
+
(define-member (person "Eric Bavier"
"bavier@posteo.net")
@@ -724,6 +730,10 @@ (define-member (person "Mark H Weaver"
"mhw@netris.org")
mozilla)
+(define-member (person "Giacomo Leidi"
+ "goodoldpaul@autistici.org")
+ fluidplug)
+
(define (find-team name)
(or (hash-ref %teams (string->symbol name))
--
2.41.0
P
Re: [bug#69593] Add FluidPlug
(address . 69593@debbugs.gnu.org)
ab5836fa-aad6-81bb-0d0c-25e09653235c@autistici.org
Hello Guixers,

I'm sending an updated patchset rebased on current master.


Thank you for your work,


giacomo
G
G
Giacomo Leidi wrote on 3 Apr 00:37 +0200
[PATCH v2 1/3] gnu: Add fluidplug-lv2.
(address . 69593@debbugs.gnu.org)(name . Giacomo Leidi)(address . goodoldpaul@autistici.org)
c3420b9e65ce0e7ad52fdb7c5a19963f04c24fec.1712097478.git.goodoldpaul@autistici.org
* gnu/packages/fluidplug.scm: New file;
* gnu/local.mk: Add it.

Change-Id: Iec61d692010f9d7635de2cf27c32e1356225ca09
---
gnu/local.mk | 1 +
gnu/packages/fluidplug.scm | 319 +++++++++++++++++++++++++++++++++++++
2 files changed, 320 insertions(+)
create mode 100644 gnu/packages/fluidplug.scm

Toggle diff (341 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index f2b480bded..6d554c0116 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -278,6 +278,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/flashing-tools.scm \
%D%/packages/flex.scm \
%D%/packages/fltk.scm \
+ %D%/packages/fluidplug.scm \
%D%/packages/fonts.scm \
%D%/packages/fontutils.scm \
%D%/packages/fpga.scm \
diff --git a/gnu/packages/fluidplug.scm b/gnu/packages/fluidplug.scm
new file mode 100644
index 0000000000..b45d3a85b5
--- /dev/null
+++ b/gnu/packages/fluidplug.scm
@@ -0,0 +1,319 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Giacomo Leidi <goodoldpaul@autistici.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages fluidplug)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix download)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses)
+ #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix records)
+ #:use-module (guix utils)
+ #:use-module (gnu packages audio)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (srfi srfi-1)
+ #:export (fluidplug-plugin
+ fluidplug-plugin?
+ fluidplug-plugin-name
+ fluidplug-plugin-path
+ fluidplug-plugin-hash
+ fluidplug-plugin-license))
+
+(define-record-type* <fluidplug-plugin>
+ fluidplug-plugin make-fluidplug-plugin
+ fluidplug-plugin?
+ (name fluidplug-plugin-name) ;string
+ (hash fluidplug-plugin-hash) ;string
+ (path fluidplug-plugin-path) ;string
+ (license fluidplug-plugin-license ;license
+ (default license:cc-by-sa4.0)))
+
+(define (fluidplug-plugin->package-name record)
+ (string-append "fluidplug-"
+ (string-downcase
+ (string-replace-substring
+ (fluidplug-plugin-name record) "_" "-"))
+ "-lv2"))
+
+(define (fluidplug-plugin->origin record)
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://download.linuxaudio.org/"
+ "musical-instrument-libraries/sf2/"
+ (fluidplug-plugin-path record)))
+ (sha256
+ (base32 (fluidplug-plugin-hash record)))))
+
+(define (fluidplug-plugin->local-path record)
+ (string-append "./" (fluidplug-plugin-name record) ".lv2/"
+ (basename (fluidplug-plugin-path record))))
+
+(define airfont320-fluidplug-plugin
+ (fluidplug-plugin
+ (name "AirFont320")
+ (path "airfont_a340u.tar.7z")
+ (hash "1x4xzm4khq823i4p18ydbkjza2nv3hzwyxp7vf3gzqs374jdcqbw")
+ (license license:gpl2)))
+
+(define avl-drumkits-perc-fluidplug-plugin
+ (fluidplug-plugin
+ (name "AVL_Drumkits_Perc")
+ (path "AVL-Drumkits-1.1-SF2-splitted/AVL_Drumkits_Perc_1.1.tar.7z")
+ (hash "0l1zvzw9dg922wf9llcl9zlw5ybjmayg7yqacp253xcr2jz1hn7m")
+ (license license:cc-by-sa3.0)))
+
+(define black-pearl-4a-fluidplug-plugin
+ (fluidplug-plugin
+ (name "Black_Pearl_4A")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_4A-1.1.tar.7z")
+ (hash "0flzlg5m2r3df8dchydzg3xllcv7ignr7hx6qxzy51s6gzrlbzli")
+ (license license:cc-by-sa3.0)))
+
+(define black-pearl-4b-fluidplug-plugin
+ (fluidplug-plugin
+ (name "Black_Pearl_4B")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_4B-1.1.tar.7z")
+ (hash "1z5q8z4k81xnbcv0gpc2xgrzqm9fg4n2yly1kaw82q7sm29vi0z9")
+ (license license:cc-by-sa3.0)))
+
+(define black-pearl-5-fluidplug-plugin
+ (fluidplug-plugin
+ (name "Black_Pearl_5")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_5-1.1.tar.7z")
+ (hash "0mg41wc912sfj2mydn86ychwk21l3ngbn7k3qsm6jgf1ipmsip9y")
+ (license license:cc-by-sa3.0)))
+
+(define red-zeppelin-4-fluidplug-plugin
+ (fluidplug-plugin
+ (name "Red_Zeppelin_4")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Red_Zeppelin_4-1.1.tar.7z")
+ (hash "0pcswg4hlyn8j6nghbwvxa71ibp6r0wxcbxjzxs4iim43vpxc659")
+ (license license:cc-by-sa3.0)))
+
+(define red-zeppelin-5-fluidplug-plugin
+ (fluidplug-plugin
+ (name "Red_Zeppelin_5")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Red_Zeppelin_5-1.1.tar.7z")
+ (hash "18hhmi1d1i7gr2rp4wn28pnfwl825rmhmjnvxvvcwdmis6nad4gm")
+ (license license:cc-by-sa3.0)))
+
+(define fluidgm-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidGM")
+ (path "fluidr3.tar.7z")
+ (hash "00ka1b2pxn0g2g0hm7kdg5w785pfx8f9585238d183wjdkc3a8m6")
+ (license license:expat)))
+
+(define fluidbass-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidBass")
+ (path "fluidr3-splitted/fluidr3gm_bass.sf2.tar.7z")
+ (hash "1zhixrxkwvmn6xkpy9f8zkrwxmaqwdcx0jz7zg8lc2amqkx9wqan")))
+
+(define fluidbrass-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidBrass")
+ (path "fluidr3-splitted/fluidr3gm_brass.sf2.tar.7z")
+ (hash "027l3q4q9011xzbzsrsp5nj3h05w9dj7d8b943xzck7q4sp9alkp")))
+
+(define fluidchromperc-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidChromPerc")
+ (path "fluidr3-splitted/fluidr3gm_chromaticpercussion.sf2.tar.7z")
+ (hash "1233fh36wlifrawh57v8vycxc0g4pbvy3qr9f596g9n7mm4h51f7")))
+
+(define fluiddrums-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidDrums")
+ (path "fluidr3-splitted/fluidr3gm_drums.sf2.tar.7z")
+ (hash "01pv3aj52pz8xy29acprwkb69jxhrn64kx7w29ch5bl091lccqgr")))
+
+(define fluidensemble-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidEnsemble")
+ (path "fluidr3-splitted/fluidr3gm_ensemble.sf2.tar.7z")
+ (hash "0rswcgzapcjmwddh2hgicym27hqz3p43r2s8j7hy1s40hzk3nbax")))
+
+(define fluidethnic-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidEthnic")
+ (path "fluidr3-splitted/fluidr3gm_ethnic.sf2.tar.7z")
+ (hash "0z1z37wn6lw1n919bkpfirachg5wwddi7f0g4l9vimazv34ds1b1")))
+
+(define fluidguitars-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidGuitars")
+ (path "fluidr3-splitted/fluidr3gm_guitar.sf2.tar.7z")
+ (hash "1d5jxx4sgbyh9sqmfksggcsri9hal7mw83a6h1vqb9xf59gnmx1i")))
+
+(define fluidorgans-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidOrgans")
+ (path "fluidr3-splitted/fluidr3gm_organ.sf2.tar.7z")
+ (hash "12zlq28cmr2hsgn1319hidzcm8yifx6vsqsqk544z3qkhc8cg4fr")))
+
+(define fluidpercussion-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidPercussion")
+ (path "fluidr3-splitted/fluidr3gm_percussive.sf2.tar.7z")
+ (hash "1gql0g1zk09n6r90mav47khdc406jhmg5iql6i2zjmg9l7yg65n3")))
+
+(define fluidpianos-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidPianos")
+ (path "fluidr3-splitted/fluidr3gm_piano.sf2.tar.7z")
+ (hash "06a817xvx7qj8plr1vhpanbdr97cbmzky0pp6xhff916s5k0jg2r")))
+
+(define fluidpipes-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidPipes")
+ (path "fluidr3-splitted/fluidr3gm_pipe.sf2.tar.7z")
+ (hash "09wzvsabcif27687g71g4m75zz08zpwpm2dzwh8a7xsfi5qdynf2")))
+
+(define fluidreeds-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidReeds")
+ (path "fluidr3-splitted/fluidr3gm_reed.sf2.tar.7z")
+ (hash "1yb0whi67wz7ag6hcfdns69m1ic3fq6firvbb893ilnx8h17yjak")))
+
+(define fluidsoundfx-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidSoundFX")
+ (path "fluidr3-splitted/fluidr3gm_soundeffects.sf2.tar.7z")
+ (hash "0sg8gca9735gy0pna63vgsfnabk54dl30n1lnhcf976n7y0npzfx")))
+
+(define fluidstrings-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidStrings")
+ (path "fluidr3-splitted/fluidr3gm_strings.sf2.tar.7z")
+ (hash "1nnxr62i3p3hhdpwlly62c4cvf7f3dzq818fmlnlxp25215h17bs")))
+
+(define fluidsynthfx-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidSynthFX")
+ (path "fluidr3-splitted/fluidr3gm_syntheffects.sf2.tar.7z")
+ (hash "0rlq58v9m6wjk45kxmza54y8fkj1b8y1zg00r80nwyqz6rylgjh4")))
+
+(define fluidsynthleads-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidSynthLeads")
+ (path "fluidr3-splitted/fluidr3gm_synthlead.sf2.tar.7z")
+ (hash "0axi5dyqf8zh1gn82qq0jpzr0cgbsjn4xm0yrlqld4k6h9ggj475")))
+
+(define fluidsynthpads-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidSynthPads")
+ (path "fluidr3-splitted/fluidr3gm_synthpad.sf2.tar.7z")
+ (hash "1q4pd6ymb08yc6rz68wlidjp5kp7pygc2aw45djw9wr8id6pnadi")))
+
+(define-public fluidplug-plugins
+ (list airfont320-fluidplug-plugin
+ avl-drumkits-perc-fluidplug-plugin
+ black-pearl-4a-fluidplug-plugin
+ black-pearl-4b-fluidplug-plugin
+ black-pearl-5-fluidplug-plugin
+ red-zeppelin-4-fluidplug-plugin
+ red-zeppelin-5-fluidplug-plugin
+ fluidgm-fluidplug-plugin
+ fluidbass-fluidplug-plugin
+ fluidbrass-fluidplug-plugin
+ fluidchromperc-fluidplug-plugin
+ fluiddrums-fluidplug-plugin
+ fluidensemble-fluidplug-plugin
+ fluidethnic-fluidplug-plugin
+ fluidguitars-fluidplug-plugin
+ fluidorgans-fluidplug-plugin
+ fluidpercussion-fluidplug-plugin
+ fluidpianos-fluidplug-plugin
+ fluidpipes-fluidplug-plugin
+ fluidreeds-fluidplug-plugin
+ fluidsoundfx-fluidplug-plugin
+ fluidstrings-fluidplug-plugin
+ fluidsynthfx-fluidplug-plugin
+ fluidsynthleads-fluidplug-plugin
+ fluidsynthpads-fluidplug-plugin))
+
+(define-public fluidplug-lv2
+ (let ((version "0.0.5")
+ (revision "0")
+ (commit "38d7d0d5259c89199be3cf56768edf0d41bfd881"))
+ (package
+ (name "fluidplug-lv2")
+ (version (git-version version revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/falkTX/FluidPlug")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0k4wjcvpgf4nk4d5b40x5zckfgp22b4i3npcahqbr16hh21cjfjj"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; SoundFonts can't be downloaded at build time
+ ;; in Guix, so it is disabled.
+ (substitute* "Makefile"
+ (("wget") "# wget"))
+ #t))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ ;; There are no tests.
+ #:tests? #f
+ #:make-flags #~(list (string-append "DESTDIR=" #$output)
+ "PREFIX=")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'unpack-plugin
+ (lambda _
+ (use-modules (srfi srfi-1))
+ (for-each
+ (lambda (p)
+ (define source (first p))
+ (define target (second p))
+ (symlink source target))
+ '(#$@(map
+ (lambda (p)
+ (list (fluidplug-plugin->origin p)
+ (fluidplug-plugin->local-path p)))
+ fluidplug-plugins)))))
+ (delete 'configure)
+ (add-before 'build 'setenv
+ (lambda _
+ (setenv "CC" "gcc"))))))
+ (native-inputs
+ (list lv2 gnu-make p7zip pkg-config))
+ (inputs (list fluidsynth))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "LV2_PATH")
+ (files '("lib/lv2")))))
+ (synopsis
+ "SoundFonts as LV2 plugins via FluidSynth")
+ (description
+ "@code{FluidPlug} provides SoundFonts as LV2 plugins via FluidSynth.")
+ (home-page "https://github.com/falkTX/FluidPlug")
+ (license
+ (delete-duplicates
+ (map fluidplug-plugin-license fluidplug-plugins))))))

base-commit: 7af70efd7633b0d70091762cf43ce01a86176e8e
--
2.41.0
G
G
Giacomo Leidi wrote on 3 Apr 00:37 +0200
[PATCH v2 3/3] teams: Add FluidPlug team.
(address . 69593@debbugs.gnu.org)(name . Giacomo Leidi)(address . goodoldpaul@autistici.org)
8b74dcb57cdca3e63523b9c3471e3686304c3634.1712097478.git.goodoldpaul@autistici.org
* etc/teams.scm (fluidplug): New team; add Giacomo to it.

Change-Id: I78af3e3ab865a9a740d69598c3149e7ad0270893
---
etc/teams.scm | 10 ++++++++++
1 file changed, 10 insertions(+)

Toggle diff (30 lines)
diff --git a/etc/teams.scm b/etc/teams.scm
index 570793b539..d2bef0a3cf 100755
--- a/etc/teams.scm
+++ b/etc/teams.scm
@@ -566,6 +566,12 @@ (define-team zig
"guix/build/zig-build-system.scm"
"guix/build-system/zig.scm")))
+(define-team fluidplug
+ (team 'fluidplug
+ #:name "FluidPlug"
+ #:description "FluidPlug LV2 plugins"
+ #:scope (list "gnu/packages/fluidplug.scm")))
+
(define-member (person "Eric Bavier"
"bavier@posteo.net")
@@ -731,6 +737,10 @@ (define-member (person "Adam Faiz"
"adam.faiz@disroot.org")
games)
+(define-member (person "Giacomo Leidi"
+ "goodoldpaul@autistici.org")
+ fluidplug)
+
(define (find-team name)
(or (hash-ref %teams (string->symbol name))
--
2.41.0
G
G
Giacomo Leidi wrote on 3 Apr 00:37 +0200
[PATCH v2 2/3] gnu: Add fluidplug plugins.
(address . 69593@debbugs.gnu.org)(name . Giacomo Leidi)(address . goodoldpaul@autistici.org)
349e43bfa0ef131b4760728ea9116c2f6d1fb06b.1712097478.git.goodoldpaul@autistici.org
* gnu/packages/fluidplug.scm (fluidplug-plugin->package): New variable;
(fluidplug-airfont320-lv2): new variable;
(fluidplug-avl-drumkits-perc-lv2): new variable;
(fluidplug-black-pearl-4a-lv2): new variable;
(fluidplug-black-pearl-4b-lv2): new variable;
(fluidplug-black-pearl-5-lv2): new variable;
(fluidplug-red-zeppelin-4-lv2): new variable;
(fluidplug-red-zeppelin-5-lv2): new variable;
(fluidplug-fluidgm-lv2): new variable;
(fluidplug-fluidbass-lv2): new variable;
(fluidplug-fluidbrass-lv2): new variable;
(fluidplug-fluidchromperc-lv2): new variable;
(fluidplug-fluiddrums-lv2): new variable;
(fluidplug-fluidensemble-lv2): new variable;
(fluidplug-fluidethnic-lv2): new variable;
(fluidplug-fluidguitars-lv2): new variable;
(fluidplug-fluidorgans-lv2): new variable;
(fluidplug-fluidpercussion-lv2): new variable;
(fluidplug-fluidpianos-lv2): new variable;
(fluidplug-fluidpipes-lv2): new variable;
(fluidplug-fluidreeds-lv2): new variable;
(fluidplug-fluidsoundfx-lv2): new variable;
(fluidplug-fluidstrings-lv2): new variable;
(fluidplug-fluidsynthfx-lv2): new variable;
(fluidplug-fluidsynthleads-lv2): new variable;
(fluidplug-fluidsynthpads-lv2): new variable.

Change-Id: If67aa88f6dd1e7c889ea7e42c418e1157699312b
---
gnu/packages/fluidplug.scm | 126 +++++++++++++++++++++++++++++++++++++
1 file changed, 126 insertions(+)

Toggle diff (136 lines)
diff --git a/gnu/packages/fluidplug.scm b/gnu/packages/fluidplug.scm
index b45d3a85b5..4838b09dcc 100644
--- a/gnu/packages/fluidplug.scm
+++ b/gnu/packages/fluidplug.scm
@@ -317,3 +317,129 @@ (define-public fluidplug-lv2
(license
(delete-duplicates
(map fluidplug-plugin-license fluidplug-plugins))))))
+
+(define (fluidplug-plugin->package record)
+ (package
+ (inherit fluidplug-lv2)
+ (name (fluidplug-plugin->package-name record))
+ (arguments
+ (substitute-keyword-arguments (package-arguments fluidplug-lv2)
+ ((#:make-flags make-flags)
+ #~(list (string-append "DESTDIR=" #$output)
+ "PREFIX="))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (replace 'unpack-plugin
+ (lambda _
+ (symlink #$(fluidplug-plugin->origin record)
+ #$(fluidplug-plugin->local-path record))))
+ (replace 'build
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke `("make" ,@make-flags
+ #$(fluidplug-plugin-name record)))))
+ (replace 'install
+ (lambda _
+ (let* ((plugin-directory
+ (string-append #$(fluidplug-plugin-name record)
+ ".lv2"))
+ (lib (string-append #$output "/lib/lv2"))
+ (share/doc (string-append #$output "/share/doc"))
+ (plugin-lib (string-append lib "/" plugin-directory)))
+
+ ;; Install plugin
+ (for-each
+ (lambda (f)
+ (install-file f plugin-lib))
+ (find-files plugin-directory
+ "^.*\\.(sf2|so|ttl)$"))
+
+ ;; Install license
+ (for-each
+ (lambda (f)
+ (install-file f share/doc))
+ (find-files plugin-directory "(README|License\\.pdf)"))
+
+ ;; Install UI
+ (copy-recursively (string-append plugin-directory "/modgui")
+ (string-append plugin-lib "/modgui")))))))))
+ (description
+ (string-append (package-description fluidplug-lv2) "
+
+This package provides the @code{" (fluidplug-plugin-name record)
+"} LV2 plugin."))
+ (license (fluidplug-plugin-license record))))
+
+(define-public fluidplug-airfont320-lv2
+ (fluidplug-plugin->package airfont320-fluidplug-plugin))
+
+(define-public fluidplug-avl-drumkits-perc-lv2
+ (fluidplug-plugin->package avl-drumkits-perc-fluidplug-plugin))
+
+(define-public fluidplug-black-pearl-4a-lv2
+ (fluidplug-plugin->package black-pearl-4a-fluidplug-plugin))
+
+(define-public fluidplug-black-pearl-4b-lv2
+ (fluidplug-plugin->package black-pearl-4b-fluidplug-plugin))
+
+(define-public fluidplug-black-pearl-5-lv2
+ (fluidplug-plugin->package black-pearl-5-fluidplug-plugin))
+
+(define-public fluidplug-red-zeppelin-4-lv2
+ (fluidplug-plugin->package red-zeppelin-4-fluidplug-plugin))
+
+(define-public fluidplug-red-zeppelin-5-lv2
+ (fluidplug-plugin->package red-zeppelin-5-fluidplug-plugin))
+
+(define-public fluidplug-fluidgm-lv2
+ (fluidplug-plugin->package fluidgm-fluidplug-plugin))
+
+(define-public fluidplug-fluidbass-lv2
+ (fluidplug-plugin->package fluidbass-fluidplug-plugin))
+
+(define-public fluidplug-fluidbrass-lv2
+ (fluidplug-plugin->package fluidbrass-fluidplug-plugin))
+
+(define-public fluidplug-fluidchromperc-lv2
+ (fluidplug-plugin->package fluidchromperc-fluidplug-plugin))
+
+(define-public fluidplug-fluiddrums-lv2
+ (fluidplug-plugin->package fluiddrums-fluidplug-plugin))
+
+(define-public fluidplug-fluidensemble-lv2
+ (fluidplug-plugin->package fluidensemble-fluidplug-plugin))
+
+(define-public fluidplug-fluidethnic-lv2
+ (fluidplug-plugin->package fluidethnic-fluidplug-plugin))
+
+(define-public fluidplug-fluidguitars-lv2
+ (fluidplug-plugin->package fluidguitars-fluidplug-plugin))
+
+(define-public fluidplug-fluidorgans-lv2
+ (fluidplug-plugin->package fluidorgans-fluidplug-plugin))
+
+(define-public fluidplug-fluidpercussion-lv2
+ (fluidplug-plugin->package fluidpercussion-fluidplug-plugin))
+
+(define-public fluidplug-fluidpianos-lv2
+ (fluidplug-plugin->package fluidpianos-fluidplug-plugin))
+
+(define-public fluidplug-fluidpipes-lv2
+ (fluidplug-plugin->package fluidpipes-fluidplug-plugin))
+
+(define-public fluidplug-fluidreeds-lv2
+ (fluidplug-plugin->package fluidreeds-fluidplug-plugin))
+
+(define-public fluidplug-fluidsoundfx-lv2
+ (fluidplug-plugin->package fluidsoundfx-fluidplug-plugin))
+
+(define-public fluidplug-fluidstrings-lv2
+ (fluidplug-plugin->package fluidstrings-fluidplug-plugin))
+
+(define-public fluidplug-fluidsynthfx-lv2
+ (fluidplug-plugin->package fluidsynthfx-fluidplug-plugin))
+
+(define-public fluidplug-fluidsynthleads-lv2
+ (fluidplug-plugin->package fluidsynthleads-fluidplug-plugin))
+
+(define-public fluidplug-fluidsynthpads-lv2
+ (fluidplug-plugin->package fluidsynthpads-fluidplug-plugin))
--
2.41.0
P
Re: [bug#69593] Add FluidPlug
(address . 69593@debbugs.gnu.org)(address . gabriel@erlikon.ch)
d0c119b2-388f-6f12-7a60-6ba3d6218c7f@autistici.org
Hello Guixers,

this is a friendly ping :) . CCing members of the audio team based on
aa9ac252206615713ab988d7068da9e14a9bccc0 .


Thank you for your work,


giacomo
P
(address . 69593@debbugs.gnu.org)(address . gabriel@erlikon.ch)
8dd8f171-30f6-85c7-bc48-a97b0e677844@autistici.org
Hi Guix,


this is a friendly ping :) sending an updated patchset based on current
master.


Thank you for your work,

giacomo
G
G
Giacomo Leidi wrote on 4 Sep 23:43 +0200
[PATCH v3 1/3] gnu: Add fluidplug-lv2.
(address . 69593@debbugs.gnu.org)(name . Giacomo Leidi)(address . goodoldpaul@autistici.org)
3cb25b3330272c20cb07f2c3585273b709111412.1725486196.git.goodoldpaul@autistici.org
* gnu/packages/fluidplug.scm: New file;
* gnu/local.mk: Add it.

Change-Id: Iec61d692010f9d7635de2cf27c32e1356225ca09
---
gnu/local.mk | 1 +
gnu/packages/fluidplug.scm | 319 +++++++++++++++++++++++++++++++++++++
2 files changed, 320 insertions(+)
create mode 100644 gnu/packages/fluidplug.scm

Toggle diff (341 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 8d8c552a4d..4439fdd8de 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -284,6 +284,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/flashing-tools.scm \
%D%/packages/flex.scm \
%D%/packages/fltk.scm \
+ %D%/packages/fluidplug.scm \
%D%/packages/fonts.scm \
%D%/packages/fontutils.scm \
%D%/packages/fpga.scm \
diff --git a/gnu/packages/fluidplug.scm b/gnu/packages/fluidplug.scm
new file mode 100644
index 0000000000..b45d3a85b5
--- /dev/null
+++ b/gnu/packages/fluidplug.scm
@@ -0,0 +1,319 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Giacomo Leidi <goodoldpaul@autistici.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages fluidplug)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix download)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses)
+ #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix records)
+ #:use-module (guix utils)
+ #:use-module (gnu packages audio)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (srfi srfi-1)
+ #:export (fluidplug-plugin
+ fluidplug-plugin?
+ fluidplug-plugin-name
+ fluidplug-plugin-path
+ fluidplug-plugin-hash
+ fluidplug-plugin-license))
+
+(define-record-type* <fluidplug-plugin>
+ fluidplug-plugin make-fluidplug-plugin
+ fluidplug-plugin?
+ (name fluidplug-plugin-name) ;string
+ (hash fluidplug-plugin-hash) ;string
+ (path fluidplug-plugin-path) ;string
+ (license fluidplug-plugin-license ;license
+ (default license:cc-by-sa4.0)))
+
+(define (fluidplug-plugin->package-name record)
+ (string-append "fluidplug-"
+ (string-downcase
+ (string-replace-substring
+ (fluidplug-plugin-name record) "_" "-"))
+ "-lv2"))
+
+(define (fluidplug-plugin->origin record)
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://download.linuxaudio.org/"
+ "musical-instrument-libraries/sf2/"
+ (fluidplug-plugin-path record)))
+ (sha256
+ (base32 (fluidplug-plugin-hash record)))))
+
+(define (fluidplug-plugin->local-path record)
+ (string-append "./" (fluidplug-plugin-name record) ".lv2/"
+ (basename (fluidplug-plugin-path record))))
+
+(define airfont320-fluidplug-plugin
+ (fluidplug-plugin
+ (name "AirFont320")
+ (path "airfont_a340u.tar.7z")
+ (hash "1x4xzm4khq823i4p18ydbkjza2nv3hzwyxp7vf3gzqs374jdcqbw")
+ (license license:gpl2)))
+
+(define avl-drumkits-perc-fluidplug-plugin
+ (fluidplug-plugin
+ (name "AVL_Drumkits_Perc")
+ (path "AVL-Drumkits-1.1-SF2-splitted/AVL_Drumkits_Perc_1.1.tar.7z")
+ (hash "0l1zvzw9dg922wf9llcl9zlw5ybjmayg7yqacp253xcr2jz1hn7m")
+ (license license:cc-by-sa3.0)))
+
+(define black-pearl-4a-fluidplug-plugin
+ (fluidplug-plugin
+ (name "Black_Pearl_4A")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_4A-1.1.tar.7z")
+ (hash "0flzlg5m2r3df8dchydzg3xllcv7ignr7hx6qxzy51s6gzrlbzli")
+ (license license:cc-by-sa3.0)))
+
+(define black-pearl-4b-fluidplug-plugin
+ (fluidplug-plugin
+ (name "Black_Pearl_4B")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_4B-1.1.tar.7z")
+ (hash "1z5q8z4k81xnbcv0gpc2xgrzqm9fg4n2yly1kaw82q7sm29vi0z9")
+ (license license:cc-by-sa3.0)))
+
+(define black-pearl-5-fluidplug-plugin
+ (fluidplug-plugin
+ (name "Black_Pearl_5")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_5-1.1.tar.7z")
+ (hash "0mg41wc912sfj2mydn86ychwk21l3ngbn7k3qsm6jgf1ipmsip9y")
+ (license license:cc-by-sa3.0)))
+
+(define red-zeppelin-4-fluidplug-plugin
+ (fluidplug-plugin
+ (name "Red_Zeppelin_4")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Red_Zeppelin_4-1.1.tar.7z")
+ (hash "0pcswg4hlyn8j6nghbwvxa71ibp6r0wxcbxjzxs4iim43vpxc659")
+ (license license:cc-by-sa3.0)))
+
+(define red-zeppelin-5-fluidplug-plugin
+ (fluidplug-plugin
+ (name "Red_Zeppelin_5")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Red_Zeppelin_5-1.1.tar.7z")
+ (hash "18hhmi1d1i7gr2rp4wn28pnfwl825rmhmjnvxvvcwdmis6nad4gm")
+ (license license:cc-by-sa3.0)))
+
+(define fluidgm-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidGM")
+ (path "fluidr3.tar.7z")
+ (hash "00ka1b2pxn0g2g0hm7kdg5w785pfx8f9585238d183wjdkc3a8m6")
+ (license license:expat)))
+
+(define fluidbass-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidBass")
+ (path "fluidr3-splitted/fluidr3gm_bass.sf2.tar.7z")
+ (hash "1zhixrxkwvmn6xkpy9f8zkrwxmaqwdcx0jz7zg8lc2amqkx9wqan")))
+
+(define fluidbrass-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidBrass")
+ (path "fluidr3-splitted/fluidr3gm_brass.sf2.tar.7z")
+ (hash "027l3q4q9011xzbzsrsp5nj3h05w9dj7d8b943xzck7q4sp9alkp")))
+
+(define fluidchromperc-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidChromPerc")
+ (path "fluidr3-splitted/fluidr3gm_chromaticpercussion.sf2.tar.7z")
+ (hash "1233fh36wlifrawh57v8vycxc0g4pbvy3qr9f596g9n7mm4h51f7")))
+
+(define fluiddrums-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidDrums")
+ (path "fluidr3-splitted/fluidr3gm_drums.sf2.tar.7z")
+ (hash "01pv3aj52pz8xy29acprwkb69jxhrn64kx7w29ch5bl091lccqgr")))
+
+(define fluidensemble-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidEnsemble")
+ (path "fluidr3-splitted/fluidr3gm_ensemble.sf2.tar.7z")
+ (hash "0rswcgzapcjmwddh2hgicym27hqz3p43r2s8j7hy1s40hzk3nbax")))
+
+(define fluidethnic-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidEthnic")
+ (path "fluidr3-splitted/fluidr3gm_ethnic.sf2.tar.7z")
+ (hash "0z1z37wn6lw1n919bkpfirachg5wwddi7f0g4l9vimazv34ds1b1")))
+
+(define fluidguitars-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidGuitars")
+ (path "fluidr3-splitted/fluidr3gm_guitar.sf2.tar.7z")
+ (hash "1d5jxx4sgbyh9sqmfksggcsri9hal7mw83a6h1vqb9xf59gnmx1i")))
+
+(define fluidorgans-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidOrgans")
+ (path "fluidr3-splitted/fluidr3gm_organ.sf2.tar.7z")
+ (hash "12zlq28cmr2hsgn1319hidzcm8yifx6vsqsqk544z3qkhc8cg4fr")))
+
+(define fluidpercussion-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidPercussion")
+ (path "fluidr3-splitted/fluidr3gm_percussive.sf2.tar.7z")
+ (hash "1gql0g1zk09n6r90mav47khdc406jhmg5iql6i2zjmg9l7yg65n3")))
+
+(define fluidpianos-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidPianos")
+ (path "fluidr3-splitted/fluidr3gm_piano.sf2.tar.7z")
+ (hash "06a817xvx7qj8plr1vhpanbdr97cbmzky0pp6xhff916s5k0jg2r")))
+
+(define fluidpipes-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidPipes")
+ (path "fluidr3-splitted/fluidr3gm_pipe.sf2.tar.7z")
+ (hash "09wzvsabcif27687g71g4m75zz08zpwpm2dzwh8a7xsfi5qdynf2")))
+
+(define fluidreeds-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidReeds")
+ (path "fluidr3-splitted/fluidr3gm_reed.sf2.tar.7z")
+ (hash "1yb0whi67wz7ag6hcfdns69m1ic3fq6firvbb893ilnx8h17yjak")))
+
+(define fluidsoundfx-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidSoundFX")
+ (path "fluidr3-splitted/fluidr3gm_soundeffects.sf2.tar.7z")
+ (hash "0sg8gca9735gy0pna63vgsfnabk54dl30n1lnhcf976n7y0npzfx")))
+
+(define fluidstrings-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidStrings")
+ (path "fluidr3-splitted/fluidr3gm_strings.sf2.tar.7z")
+ (hash "1nnxr62i3p3hhdpwlly62c4cvf7f3dzq818fmlnlxp25215h17bs")))
+
+(define fluidsynthfx-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidSynthFX")
+ (path "fluidr3-splitted/fluidr3gm_syntheffects.sf2.tar.7z")
+ (hash "0rlq58v9m6wjk45kxmza54y8fkj1b8y1zg00r80nwyqz6rylgjh4")))
+
+(define fluidsynthleads-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidSynthLeads")
+ (path "fluidr3-splitted/fluidr3gm_synthlead.sf2.tar.7z")
+ (hash "0axi5dyqf8zh1gn82qq0jpzr0cgbsjn4xm0yrlqld4k6h9ggj475")))
+
+(define fluidsynthpads-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidSynthPads")
+ (path "fluidr3-splitted/fluidr3gm_synthpad.sf2.tar.7z")
+ (hash "1q4pd6ymb08yc6rz68wlidjp5kp7pygc2aw45djw9wr8id6pnadi")))
+
+(define-public fluidplug-plugins
+ (list airfont320-fluidplug-plugin
+ avl-drumkits-perc-fluidplug-plugin
+ black-pearl-4a-fluidplug-plugin
+ black-pearl-4b-fluidplug-plugin
+ black-pearl-5-fluidplug-plugin
+ red-zeppelin-4-fluidplug-plugin
+ red-zeppelin-5-fluidplug-plugin
+ fluidgm-fluidplug-plugin
+ fluidbass-fluidplug-plugin
+ fluidbrass-fluidplug-plugin
+ fluidchromperc-fluidplug-plugin
+ fluiddrums-fluidplug-plugin
+ fluidensemble-fluidplug-plugin
+ fluidethnic-fluidplug-plugin
+ fluidguitars-fluidplug-plugin
+ fluidorgans-fluidplug-plugin
+ fluidpercussion-fluidplug-plugin
+ fluidpianos-fluidplug-plugin
+ fluidpipes-fluidplug-plugin
+ fluidreeds-fluidplug-plugin
+ fluidsoundfx-fluidplug-plugin
+ fluidstrings-fluidplug-plugin
+ fluidsynthfx-fluidplug-plugin
+ fluidsynthleads-fluidplug-plugin
+ fluidsynthpads-fluidplug-plugin))
+
+(define-public fluidplug-lv2
+ (let ((version "0.0.5")
+ (revision "0")
+ (commit "38d7d0d5259c89199be3cf56768edf0d41bfd881"))
+ (package
+ (name "fluidplug-lv2")
+ (version (git-version version revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/falkTX/FluidPlug")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0k4wjcvpgf4nk4d5b40x5zckfgp22b4i3npcahqbr16hh21cjfjj"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; SoundFonts can't be downloaded at build time
+ ;; in Guix, so it is disabled.
+ (substitute* "Makefile"
+ (("wget") "# wget"))
+ #t))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ ;; There are no tests.
+ #:tests? #f
+ #:make-flags #~(list (string-append "DESTDIR=" #$output)
+ "PREFIX=")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'unpack-plugin
+ (lambda _
+ (use-modules (srfi srfi-1))
+ (for-each
+ (lambda (p)
+ (define source (first p))
+ (define target (second p))
+ (symlink source target))
+ '(#$@(map
+ (lambda (p)
+ (list (fluidplug-plugin->origin p)
+ (fluidplug-plugin->local-path p)))
+ fluidplug-plugins)))))
+ (delete 'configure)
+ (add-before 'build 'setenv
+ (lambda _
+ (setenv "CC" "gcc"))))))
+ (native-inputs
+ (list lv2 gnu-make p7zip pkg-config))
+ (inputs (list fluidsynth))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "LV2_PATH")
+ (files '("lib/lv2")))))
+ (synopsis
+ "SoundFonts as LV2 plugins via FluidSynth")
+ (description
+ "@code{FluidPlug} provides SoundFonts as LV2 plugins via FluidSynth.")
+ (home-page "https://github.com/falkTX/FluidPlug")
+ (license
+ (delete-duplicates
+ (map fluidplug-plugin-license fluidplug-plugins))))))

base-commit: 9a03ab25ba889be27b34d5cebea05d5ac3b0a033
--
2.45.2
G
G
Giacomo Leidi wrote on 4 Sep 23:43 +0200
[PATCH v3 2/3] gnu: Add fluidplug plugins.
(address . 69593@debbugs.gnu.org)(name . Giacomo Leidi)(address . goodoldpaul@autistici.org)
6182400bc47b7e99727cd052a0b22f1e74ccf1d2.1725486196.git.goodoldpaul@autistici.org
* gnu/packages/fluidplug.scm (fluidplug-plugin->package): New variable;
(fluidplug-airfont320-lv2): new variable;
(fluidplug-avl-drumkits-perc-lv2): new variable;
(fluidplug-black-pearl-4a-lv2): new variable;
(fluidplug-black-pearl-4b-lv2): new variable;
(fluidplug-black-pearl-5-lv2): new variable;
(fluidplug-red-zeppelin-4-lv2): new variable;
(fluidplug-red-zeppelin-5-lv2): new variable;
(fluidplug-fluidgm-lv2): new variable;
(fluidplug-fluidbass-lv2): new variable;
(fluidplug-fluidbrass-lv2): new variable;
(fluidplug-fluidchromperc-lv2): new variable;
(fluidplug-fluiddrums-lv2): new variable;
(fluidplug-fluidensemble-lv2): new variable;
(fluidplug-fluidethnic-lv2): new variable;
(fluidplug-fluidguitars-lv2): new variable;
(fluidplug-fluidorgans-lv2): new variable;
(fluidplug-fluidpercussion-lv2): new variable;
(fluidplug-fluidpianos-lv2): new variable;
(fluidplug-fluidpipes-lv2): new variable;
(fluidplug-fluidreeds-lv2): new variable;
(fluidplug-fluidsoundfx-lv2): new variable;
(fluidplug-fluidstrings-lv2): new variable;
(fluidplug-fluidsynthfx-lv2): new variable;
(fluidplug-fluidsynthleads-lv2): new variable;
(fluidplug-fluidsynthpads-lv2): new variable.

Change-Id: If67aa88f6dd1e7c889ea7e42c418e1157699312b
---
gnu/packages/fluidplug.scm | 126 +++++++++++++++++++++++++++++++++++++
1 file changed, 126 insertions(+)

Toggle diff (136 lines)
diff --git a/gnu/packages/fluidplug.scm b/gnu/packages/fluidplug.scm
index b45d3a85b5..4838b09dcc 100644
--- a/gnu/packages/fluidplug.scm
+++ b/gnu/packages/fluidplug.scm
@@ -317,3 +317,129 @@ (define-public fluidplug-lv2
(license
(delete-duplicates
(map fluidplug-plugin-license fluidplug-plugins))))))
+
+(define (fluidplug-plugin->package record)
+ (package
+ (inherit fluidplug-lv2)
+ (name (fluidplug-plugin->package-name record))
+ (arguments
+ (substitute-keyword-arguments (package-arguments fluidplug-lv2)
+ ((#:make-flags make-flags)
+ #~(list (string-append "DESTDIR=" #$output)
+ "PREFIX="))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (replace 'unpack-plugin
+ (lambda _
+ (symlink #$(fluidplug-plugin->origin record)
+ #$(fluidplug-plugin->local-path record))))
+ (replace 'build
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke `("make" ,@make-flags
+ #$(fluidplug-plugin-name record)))))
+ (replace 'install
+ (lambda _
+ (let* ((plugin-directory
+ (string-append #$(fluidplug-plugin-name record)
+ ".lv2"))
+ (lib (string-append #$output "/lib/lv2"))
+ (share/doc (string-append #$output "/share/doc"))
+ (plugin-lib (string-append lib "/" plugin-directory)))
+
+ ;; Install plugin
+ (for-each
+ (lambda (f)
+ (install-file f plugin-lib))
+ (find-files plugin-directory
+ "^.*\\.(sf2|so|ttl)$"))
+
+ ;; Install license
+ (for-each
+ (lambda (f)
+ (install-file f share/doc))
+ (find-files plugin-directory "(README|License\\.pdf)"))
+
+ ;; Install UI
+ (copy-recursively (string-append plugin-directory "/modgui")
+ (string-append plugin-lib "/modgui")))))))))
+ (description
+ (string-append (package-description fluidplug-lv2) "
+
+This package provides the @code{" (fluidplug-plugin-name record)
+"} LV2 plugin."))
+ (license (fluidplug-plugin-license record))))
+
+(define-public fluidplug-airfont320-lv2
+ (fluidplug-plugin->package airfont320-fluidplug-plugin))
+
+(define-public fluidplug-avl-drumkits-perc-lv2
+ (fluidplug-plugin->package avl-drumkits-perc-fluidplug-plugin))
+
+(define-public fluidplug-black-pearl-4a-lv2
+ (fluidplug-plugin->package black-pearl-4a-fluidplug-plugin))
+
+(define-public fluidplug-black-pearl-4b-lv2
+ (fluidplug-plugin->package black-pearl-4b-fluidplug-plugin))
+
+(define-public fluidplug-black-pearl-5-lv2
+ (fluidplug-plugin->package black-pearl-5-fluidplug-plugin))
+
+(define-public fluidplug-red-zeppelin-4-lv2
+ (fluidplug-plugin->package red-zeppelin-4-fluidplug-plugin))
+
+(define-public fluidplug-red-zeppelin-5-lv2
+ (fluidplug-plugin->package red-zeppelin-5-fluidplug-plugin))
+
+(define-public fluidplug-fluidgm-lv2
+ (fluidplug-plugin->package fluidgm-fluidplug-plugin))
+
+(define-public fluidplug-fluidbass-lv2
+ (fluidplug-plugin->package fluidbass-fluidplug-plugin))
+
+(define-public fluidplug-fluidbrass-lv2
+ (fluidplug-plugin->package fluidbrass-fluidplug-plugin))
+
+(define-public fluidplug-fluidchromperc-lv2
+ (fluidplug-plugin->package fluidchromperc-fluidplug-plugin))
+
+(define-public fluidplug-fluiddrums-lv2
+ (fluidplug-plugin->package fluiddrums-fluidplug-plugin))
+
+(define-public fluidplug-fluidensemble-lv2
+ (fluidplug-plugin->package fluidensemble-fluidplug-plugin))
+
+(define-public fluidplug-fluidethnic-lv2
+ (fluidplug-plugin->package fluidethnic-fluidplug-plugin))
+
+(define-public fluidplug-fluidguitars-lv2
+ (fluidplug-plugin->package fluidguitars-fluidplug-plugin))
+
+(define-public fluidplug-fluidorgans-lv2
+ (fluidplug-plugin->package fluidorgans-fluidplug-plugin))
+
+(define-public fluidplug-fluidpercussion-lv2
+ (fluidplug-plugin->package fluidpercussion-fluidplug-plugin))
+
+(define-public fluidplug-fluidpianos-lv2
+ (fluidplug-plugin->package fluidpianos-fluidplug-plugin))
+
+(define-public fluidplug-fluidpipes-lv2
+ (fluidplug-plugin->package fluidpipes-fluidplug-plugin))
+
+(define-public fluidplug-fluidreeds-lv2
+ (fluidplug-plugin->package fluidreeds-fluidplug-plugin))
+
+(define-public fluidplug-fluidsoundfx-lv2
+ (fluidplug-plugin->package fluidsoundfx-fluidplug-plugin))
+
+(define-public fluidplug-fluidstrings-lv2
+ (fluidplug-plugin->package fluidstrings-fluidplug-plugin))
+
+(define-public fluidplug-fluidsynthfx-lv2
+ (fluidplug-plugin->package fluidsynthfx-fluidplug-plugin))
+
+(define-public fluidplug-fluidsynthleads-lv2
+ (fluidplug-plugin->package fluidsynthleads-fluidplug-plugin))
+
+(define-public fluidplug-fluidsynthpads-lv2
+ (fluidplug-plugin->package fluidsynthpads-fluidplug-plugin))
--
2.45.2
G
G
Giacomo Leidi wrote on 4 Sep 23:43 +0200
[PATCH v3 3/3] teams: Add FluidPlug team.
(address . 69593@debbugs.gnu.org)(name . Giacomo Leidi)(address . goodoldpaul@autistici.org)
a5e8d58edd1ed9361e35ba8a5d2904dd26077a07.1725486196.git.goodoldpaul@autistici.org
* etc/teams.scm (fluidplug): New team; add Giacomo to it.

Change-Id: I78af3e3ab865a9a740d69598c3149e7ad0270893
---
etc/teams.scm | 10 ++++++++++
1 file changed, 10 insertions(+)

Toggle diff (30 lines)
diff --git a/etc/teams.scm b/etc/teams.scm
index 419365e147..270258a154 100755
--- a/etc/teams.scm
+++ b/etc/teams.scm
@@ -578,6 +578,12 @@ (define-team zig
"guix/build/zig-build-system.scm"
"guix/build-system/zig.scm")))
+(define-team fluidplug
+ (team 'fluidplug
+ #:name "FluidPlug"
+ #:description "FluidPlug LV2 plugins"
+ #:scope (list "gnu/packages/fluidplug.scm")))
+
(define-member (person "Eric Bavier"
"bavier@posteo.net")
@@ -748,6 +754,10 @@ (define-member (person "André Batista"
"nandre@riseup.net")
mozilla)
+(define-member (person "Giacomo Leidi"
+ "goodoldpaul@autistici.org")
+ fluidplug)
+
(define (find-team name)
(or (hash-ref %teams (string->symbol name))
--
2.45.2
P
Re: Add FluidPlug
(address . 69593@debbugs.gnu.org)
de59d0f1-2537-4ef0-b99d-d05afe60f957@autistici.org
Hi Guix , this is a friendly ping. I'm sending a patchset rebased on
current master.

Thank you for your work,

giacomo
G
G
Giacomo Leidi wrote on 21 Oct 00:54 +0200
[PATCH v3 2/3] gnu: Add fluidplug plugins.
(address . 69593@debbugs.gnu.org)(name . Giacomo Leidi)(address . goodoldpaul@autistici.org)
2bfd1724a0c370a5ceeb20bb1293ece0402e35db.1729464844.git.goodoldpaul@autistici.org
* gnu/packages/fluidplug.scm (fluidplug-plugin->package): New variable;
(fluidplug-airfont320-lv2): new variable;
(fluidplug-avl-drumkits-perc-lv2): new variable;
(fluidplug-black-pearl-4a-lv2): new variable;
(fluidplug-black-pearl-4b-lv2): new variable;
(fluidplug-black-pearl-5-lv2): new variable;
(fluidplug-red-zeppelin-4-lv2): new variable;
(fluidplug-red-zeppelin-5-lv2): new variable;
(fluidplug-fluidgm-lv2): new variable;
(fluidplug-fluidbass-lv2): new variable;
(fluidplug-fluidbrass-lv2): new variable;
(fluidplug-fluidchromperc-lv2): new variable;
(fluidplug-fluiddrums-lv2): new variable;
(fluidplug-fluidensemble-lv2): new variable;
(fluidplug-fluidethnic-lv2): new variable;
(fluidplug-fluidguitars-lv2): new variable;
(fluidplug-fluidorgans-lv2): new variable;
(fluidplug-fluidpercussion-lv2): new variable;
(fluidplug-fluidpianos-lv2): new variable;
(fluidplug-fluidpipes-lv2): new variable;
(fluidplug-fluidreeds-lv2): new variable;
(fluidplug-fluidsoundfx-lv2): new variable;
(fluidplug-fluidstrings-lv2): new variable;
(fluidplug-fluidsynthfx-lv2): new variable;
(fluidplug-fluidsynthleads-lv2): new variable;
(fluidplug-fluidsynthpads-lv2): new variable.

Change-Id: If67aa88f6dd1e7c889ea7e42c418e1157699312b
---
gnu/packages/fluidplug.scm | 126 +++++++++++++++++++++++++++++++++++++
1 file changed, 126 insertions(+)

Toggle diff (136 lines)
diff --git a/gnu/packages/fluidplug.scm b/gnu/packages/fluidplug.scm
index b45d3a85b5..4838b09dcc 100644
--- a/gnu/packages/fluidplug.scm
+++ b/gnu/packages/fluidplug.scm
@@ -317,3 +317,129 @@ (define-public fluidplug-lv2
(license
(delete-duplicates
(map fluidplug-plugin-license fluidplug-plugins))))))
+
+(define (fluidplug-plugin->package record)
+ (package
+ (inherit fluidplug-lv2)
+ (name (fluidplug-plugin->package-name record))
+ (arguments
+ (substitute-keyword-arguments (package-arguments fluidplug-lv2)
+ ((#:make-flags make-flags)
+ #~(list (string-append "DESTDIR=" #$output)
+ "PREFIX="))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (replace 'unpack-plugin
+ (lambda _
+ (symlink #$(fluidplug-plugin->origin record)
+ #$(fluidplug-plugin->local-path record))))
+ (replace 'build
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke `("make" ,@make-flags
+ #$(fluidplug-plugin-name record)))))
+ (replace 'install
+ (lambda _
+ (let* ((plugin-directory
+ (string-append #$(fluidplug-plugin-name record)
+ ".lv2"))
+ (lib (string-append #$output "/lib/lv2"))
+ (share/doc (string-append #$output "/share/doc"))
+ (plugin-lib (string-append lib "/" plugin-directory)))
+
+ ;; Install plugin
+ (for-each
+ (lambda (f)
+ (install-file f plugin-lib))
+ (find-files plugin-directory
+ "^.*\\.(sf2|so|ttl)$"))
+
+ ;; Install license
+ (for-each
+ (lambda (f)
+ (install-file f share/doc))
+ (find-files plugin-directory "(README|License\\.pdf)"))
+
+ ;; Install UI
+ (copy-recursively (string-append plugin-directory "/modgui")
+ (string-append plugin-lib "/modgui")))))))))
+ (description
+ (string-append (package-description fluidplug-lv2) "
+
+This package provides the @code{" (fluidplug-plugin-name record)
+"} LV2 plugin."))
+ (license (fluidplug-plugin-license record))))
+
+(define-public fluidplug-airfont320-lv2
+ (fluidplug-plugin->package airfont320-fluidplug-plugin))
+
+(define-public fluidplug-avl-drumkits-perc-lv2
+ (fluidplug-plugin->package avl-drumkits-perc-fluidplug-plugin))
+
+(define-public fluidplug-black-pearl-4a-lv2
+ (fluidplug-plugin->package black-pearl-4a-fluidplug-plugin))
+
+(define-public fluidplug-black-pearl-4b-lv2
+ (fluidplug-plugin->package black-pearl-4b-fluidplug-plugin))
+
+(define-public fluidplug-black-pearl-5-lv2
+ (fluidplug-plugin->package black-pearl-5-fluidplug-plugin))
+
+(define-public fluidplug-red-zeppelin-4-lv2
+ (fluidplug-plugin->package red-zeppelin-4-fluidplug-plugin))
+
+(define-public fluidplug-red-zeppelin-5-lv2
+ (fluidplug-plugin->package red-zeppelin-5-fluidplug-plugin))
+
+(define-public fluidplug-fluidgm-lv2
+ (fluidplug-plugin->package fluidgm-fluidplug-plugin))
+
+(define-public fluidplug-fluidbass-lv2
+ (fluidplug-plugin->package fluidbass-fluidplug-plugin))
+
+(define-public fluidplug-fluidbrass-lv2
+ (fluidplug-plugin->package fluidbrass-fluidplug-plugin))
+
+(define-public fluidplug-fluidchromperc-lv2
+ (fluidplug-plugin->package fluidchromperc-fluidplug-plugin))
+
+(define-public fluidplug-fluiddrums-lv2
+ (fluidplug-plugin->package fluiddrums-fluidplug-plugin))
+
+(define-public fluidplug-fluidensemble-lv2
+ (fluidplug-plugin->package fluidensemble-fluidplug-plugin))
+
+(define-public fluidplug-fluidethnic-lv2
+ (fluidplug-plugin->package fluidethnic-fluidplug-plugin))
+
+(define-public fluidplug-fluidguitars-lv2
+ (fluidplug-plugin->package fluidguitars-fluidplug-plugin))
+
+(define-public fluidplug-fluidorgans-lv2
+ (fluidplug-plugin->package fluidorgans-fluidplug-plugin))
+
+(define-public fluidplug-fluidpercussion-lv2
+ (fluidplug-plugin->package fluidpercussion-fluidplug-plugin))
+
+(define-public fluidplug-fluidpianos-lv2
+ (fluidplug-plugin->package fluidpianos-fluidplug-plugin))
+
+(define-public fluidplug-fluidpipes-lv2
+ (fluidplug-plugin->package fluidpipes-fluidplug-plugin))
+
+(define-public fluidplug-fluidreeds-lv2
+ (fluidplug-plugin->package fluidreeds-fluidplug-plugin))
+
+(define-public fluidplug-fluidsoundfx-lv2
+ (fluidplug-plugin->package fluidsoundfx-fluidplug-plugin))
+
+(define-public fluidplug-fluidstrings-lv2
+ (fluidplug-plugin->package fluidstrings-fluidplug-plugin))
+
+(define-public fluidplug-fluidsynthfx-lv2
+ (fluidplug-plugin->package fluidsynthfx-fluidplug-plugin))
+
+(define-public fluidplug-fluidsynthleads-lv2
+ (fluidplug-plugin->package fluidsynthleads-fluidplug-plugin))
+
+(define-public fluidplug-fluidsynthpads-lv2
+ (fluidplug-plugin->package fluidsynthpads-fluidplug-plugin))
--
2.46.0
G
G
Giacomo Leidi wrote on 21 Oct 00:54 +0200
[PATCH v3 1/3] gnu: Add fluidplug-lv2.
(address . 69593@debbugs.gnu.org)(name . Giacomo Leidi)(address . goodoldpaul@autistici.org)
dd5394e834fb79cdf4274b2249df19f54839713b.1729464844.git.goodoldpaul@autistici.org
* gnu/packages/fluidplug.scm: New file;
* gnu/local.mk: Add it.

Change-Id: Iec61d692010f9d7635de2cf27c32e1356225ca09
---
gnu/local.mk | 1 +
gnu/packages/fluidplug.scm | 319 +++++++++++++++++++++++++++++++++++++
2 files changed, 320 insertions(+)
create mode 100644 gnu/packages/fluidplug.scm

Toggle diff (341 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 89a795bfbd..481cea0c84 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -286,6 +286,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/flashing-tools.scm \
%D%/packages/flex.scm \
%D%/packages/fltk.scm \
+ %D%/packages/fluidplug.scm \
%D%/packages/fonts.scm \
%D%/packages/fontutils.scm \
%D%/packages/fpga.scm \
diff --git a/gnu/packages/fluidplug.scm b/gnu/packages/fluidplug.scm
new file mode 100644
index 0000000000..b45d3a85b5
--- /dev/null
+++ b/gnu/packages/fluidplug.scm
@@ -0,0 +1,319 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Giacomo Leidi <goodoldpaul@autistici.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages fluidplug)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix download)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses)
+ #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix records)
+ #:use-module (guix utils)
+ #:use-module (gnu packages audio)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (srfi srfi-1)
+ #:export (fluidplug-plugin
+ fluidplug-plugin?
+ fluidplug-plugin-name
+ fluidplug-plugin-path
+ fluidplug-plugin-hash
+ fluidplug-plugin-license))
+
+(define-record-type* <fluidplug-plugin>
+ fluidplug-plugin make-fluidplug-plugin
+ fluidplug-plugin?
+ (name fluidplug-plugin-name) ;string
+ (hash fluidplug-plugin-hash) ;string
+ (path fluidplug-plugin-path) ;string
+ (license fluidplug-plugin-license ;license
+ (default license:cc-by-sa4.0)))
+
+(define (fluidplug-plugin->package-name record)
+ (string-append "fluidplug-"
+ (string-downcase
+ (string-replace-substring
+ (fluidplug-plugin-name record) "_" "-"))
+ "-lv2"))
+
+(define (fluidplug-plugin->origin record)
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://download.linuxaudio.org/"
+ "musical-instrument-libraries/sf2/"
+ (fluidplug-plugin-path record)))
+ (sha256
+ (base32 (fluidplug-plugin-hash record)))))
+
+(define (fluidplug-plugin->local-path record)
+ (string-append "./" (fluidplug-plugin-name record) ".lv2/"
+ (basename (fluidplug-plugin-path record))))
+
+(define airfont320-fluidplug-plugin
+ (fluidplug-plugin
+ (name "AirFont320")
+ (path "airfont_a340u.tar.7z")
+ (hash "1x4xzm4khq823i4p18ydbkjza2nv3hzwyxp7vf3gzqs374jdcqbw")
+ (license license:gpl2)))
+
+(define avl-drumkits-perc-fluidplug-plugin
+ (fluidplug-plugin
+ (name "AVL_Drumkits_Perc")
+ (path "AVL-Drumkits-1.1-SF2-splitted/AVL_Drumkits_Perc_1.1.tar.7z")
+ (hash "0l1zvzw9dg922wf9llcl9zlw5ybjmayg7yqacp253xcr2jz1hn7m")
+ (license license:cc-by-sa3.0)))
+
+(define black-pearl-4a-fluidplug-plugin
+ (fluidplug-plugin
+ (name "Black_Pearl_4A")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_4A-1.1.tar.7z")
+ (hash "0flzlg5m2r3df8dchydzg3xllcv7ignr7hx6qxzy51s6gzrlbzli")
+ (license license:cc-by-sa3.0)))
+
+(define black-pearl-4b-fluidplug-plugin
+ (fluidplug-plugin
+ (name "Black_Pearl_4B")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_4B-1.1.tar.7z")
+ (hash "1z5q8z4k81xnbcv0gpc2xgrzqm9fg4n2yly1kaw82q7sm29vi0z9")
+ (license license:cc-by-sa3.0)))
+
+(define black-pearl-5-fluidplug-plugin
+ (fluidplug-plugin
+ (name "Black_Pearl_5")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_5-1.1.tar.7z")
+ (hash "0mg41wc912sfj2mydn86ychwk21l3ngbn7k3qsm6jgf1ipmsip9y")
+ (license license:cc-by-sa3.0)))
+
+(define red-zeppelin-4-fluidplug-plugin
+ (fluidplug-plugin
+ (name "Red_Zeppelin_4")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Red_Zeppelin_4-1.1.tar.7z")
+ (hash "0pcswg4hlyn8j6nghbwvxa71ibp6r0wxcbxjzxs4iim43vpxc659")
+ (license license:cc-by-sa3.0)))
+
+(define red-zeppelin-5-fluidplug-plugin
+ (fluidplug-plugin
+ (name "Red_Zeppelin_5")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Red_Zeppelin_5-1.1.tar.7z")
+ (hash "18hhmi1d1i7gr2rp4wn28pnfwl825rmhmjnvxvvcwdmis6nad4gm")
+ (license license:cc-by-sa3.0)))
+
+(define fluidgm-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidGM")
+ (path "fluidr3.tar.7z")
+ (hash "00ka1b2pxn0g2g0hm7kdg5w785pfx8f9585238d183wjdkc3a8m6")
+ (license license:expat)))
+
+(define fluidbass-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidBass")
+ (path "fluidr3-splitted/fluidr3gm_bass.sf2.tar.7z")
+ (hash "1zhixrxkwvmn6xkpy9f8zkrwxmaqwdcx0jz7zg8lc2amqkx9wqan")))
+
+(define fluidbrass-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidBrass")
+ (path "fluidr3-splitted/fluidr3gm_brass.sf2.tar.7z")
+ (hash "027l3q4q9011xzbzsrsp5nj3h05w9dj7d8b943xzck7q4sp9alkp")))
+
+(define fluidchromperc-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidChromPerc")
+ (path "fluidr3-splitted/fluidr3gm_chromaticpercussion.sf2.tar.7z")
+ (hash "1233fh36wlifrawh57v8vycxc0g4pbvy3qr9f596g9n7mm4h51f7")))
+
+(define fluiddrums-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidDrums")
+ (path "fluidr3-splitted/fluidr3gm_drums.sf2.tar.7z")
+ (hash "01pv3aj52pz8xy29acprwkb69jxhrn64kx7w29ch5bl091lccqgr")))
+
+(define fluidensemble-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidEnsemble")
+ (path "fluidr3-splitted/fluidr3gm_ensemble.sf2.tar.7z")
+ (hash "0rswcgzapcjmwddh2hgicym27hqz3p43r2s8j7hy1s40hzk3nbax")))
+
+(define fluidethnic-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidEthnic")
+ (path "fluidr3-splitted/fluidr3gm_ethnic.sf2.tar.7z")
+ (hash "0z1z37wn6lw1n919bkpfirachg5wwddi7f0g4l9vimazv34ds1b1")))
+
+(define fluidguitars-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidGuitars")
+ (path "fluidr3-splitted/fluidr3gm_guitar.sf2.tar.7z")
+ (hash "1d5jxx4sgbyh9sqmfksggcsri9hal7mw83a6h1vqb9xf59gnmx1i")))
+
+(define fluidorgans-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidOrgans")
+ (path "fluidr3-splitted/fluidr3gm_organ.sf2.tar.7z")
+ (hash "12zlq28cmr2hsgn1319hidzcm8yifx6vsqsqk544z3qkhc8cg4fr")))
+
+(define fluidpercussion-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidPercussion")
+ (path "fluidr3-splitted/fluidr3gm_percussive.sf2.tar.7z")
+ (hash "1gql0g1zk09n6r90mav47khdc406jhmg5iql6i2zjmg9l7yg65n3")))
+
+(define fluidpianos-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidPianos")
+ (path "fluidr3-splitted/fluidr3gm_piano.sf2.tar.7z")
+ (hash "06a817xvx7qj8plr1vhpanbdr97cbmzky0pp6xhff916s5k0jg2r")))
+
+(define fluidpipes-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidPipes")
+ (path "fluidr3-splitted/fluidr3gm_pipe.sf2.tar.7z")
+ (hash "09wzvsabcif27687g71g4m75zz08zpwpm2dzwh8a7xsfi5qdynf2")))
+
+(define fluidreeds-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidReeds")
+ (path "fluidr3-splitted/fluidr3gm_reed.sf2.tar.7z")
+ (hash "1yb0whi67wz7ag6hcfdns69m1ic3fq6firvbb893ilnx8h17yjak")))
+
+(define fluidsoundfx-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidSoundFX")
+ (path "fluidr3-splitted/fluidr3gm_soundeffects.sf2.tar.7z")
+ (hash "0sg8gca9735gy0pna63vgsfnabk54dl30n1lnhcf976n7y0npzfx")))
+
+(define fluidstrings-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidStrings")
+ (path "fluidr3-splitted/fluidr3gm_strings.sf2.tar.7z")
+ (hash "1nnxr62i3p3hhdpwlly62c4cvf7f3dzq818fmlnlxp25215h17bs")))
+
+(define fluidsynthfx-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidSynthFX")
+ (path "fluidr3-splitted/fluidr3gm_syntheffects.sf2.tar.7z")
+ (hash "0rlq58v9m6wjk45kxmza54y8fkj1b8y1zg00r80nwyqz6rylgjh4")))
+
+(define fluidsynthleads-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidSynthLeads")
+ (path "fluidr3-splitted/fluidr3gm_synthlead.sf2.tar.7z")
+ (hash "0axi5dyqf8zh1gn82qq0jpzr0cgbsjn4xm0yrlqld4k6h9ggj475")))
+
+(define fluidsynthpads-fluidplug-plugin
+ (fluidplug-plugin
+ (name "FluidSynthPads")
+ (path "fluidr3-splitted/fluidr3gm_synthpad.sf2.tar.7z")
+ (hash "1q4pd6ymb08yc6rz68wlidjp5kp7pygc2aw45djw9wr8id6pnadi")))
+
+(define-public fluidplug-plugins
+ (list airfont320-fluidplug-plugin
+ avl-drumkits-perc-fluidplug-plugin
+ black-pearl-4a-fluidplug-plugin
+ black-pearl-4b-fluidplug-plugin
+ black-pearl-5-fluidplug-plugin
+ red-zeppelin-4-fluidplug-plugin
+ red-zeppelin-5-fluidplug-plugin
+ fluidgm-fluidplug-plugin
+ fluidbass-fluidplug-plugin
+ fluidbrass-fluidplug-plugin
+ fluidchromperc-fluidplug-plugin
+ fluiddrums-fluidplug-plugin
+ fluidensemble-fluidplug-plugin
+ fluidethnic-fluidplug-plugin
+ fluidguitars-fluidplug-plugin
+ fluidorgans-fluidplug-plugin
+ fluidpercussion-fluidplug-plugin
+ fluidpianos-fluidplug-plugin
+ fluidpipes-fluidplug-plugin
+ fluidreeds-fluidplug-plugin
+ fluidsoundfx-fluidplug-plugin
+ fluidstrings-fluidplug-plugin
+ fluidsynthfx-fluidplug-plugin
+ fluidsynthleads-fluidplug-plugin
+ fluidsynthpads-fluidplug-plugin))
+
+(define-public fluidplug-lv2
+ (let ((version "0.0.5")
+ (revision "0")
+ (commit "38d7d0d5259c89199be3cf56768edf0d41bfd881"))
+ (package
+ (name "fluidplug-lv2")
+ (version (git-version version revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/falkTX/FluidPlug")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0k4wjcvpgf4nk4d5b40x5zckfgp22b4i3npcahqbr16hh21cjfjj"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; SoundFonts can't be downloaded at build time
+ ;; in Guix, so it is disabled.
+ (substitute* "Makefile"
+ (("wget") "# wget"))
+ #t))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ ;; There are no tests.
+ #:tests? #f
+ #:make-flags #~(list (string-append "DESTDIR=" #$output)
+ "PREFIX=")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'unpack-plugin
+ (lambda _
+ (use-modules (srfi srfi-1))
+ (for-each
+ (lambda (p)
+ (define source (first p))
+ (define target (second p))
+ (symlink source target))
+ '(#$@(map
+ (lambda (p)
+ (list (fluidplug-plugin->origin p)
+ (fluidplug-plugin->local-path p)))
+ fluidplug-plugins)))))
+ (delete 'configure)
+ (add-before 'build 'setenv
+ (lambda _
+ (setenv "CC" "gcc"))))))
+ (native-inputs
+ (list lv2 gnu-make p7zip pkg-config))
+ (inputs (list fluidsynth))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "LV2_PATH")
+ (files '("lib/lv2")))))
+ (synopsis
+ "SoundFonts as LV2 plugins via FluidSynth")
+ (description
+ "@code{FluidPlug} provides SoundFonts as LV2 plugins via FluidSynth.")
+ (home-page "https://github.com/falkTX/FluidPlug")
+ (license
+ (delete-duplicates
+ (map fluidplug-plugin-license fluidplug-plugins))))))

base-commit: 5ab3c4c1e43ebb637551223791db0ea3519986e1
--
2.46.0
G
G
Giacomo Leidi wrote on 21 Oct 00:54 +0200
[PATCH v3 3/3] teams: Add FluidPlug team.
(address . 69593@debbugs.gnu.org)(name . Giacomo Leidi)(address . goodoldpaul@autistici.org)
25d23e3a60d1239b7f928d6189a8017efc36d8d4.1729464844.git.goodoldpaul@autistici.org
* etc/teams.scm (fluidplug): New team; add Giacomo to it.

Change-Id: I78af3e3ab865a9a740d69598c3149e7ad0270893
---
etc/teams.scm | 10 ++++++++++
1 file changed, 10 insertions(+)

Toggle diff (30 lines)
diff --git a/etc/teams.scm b/etc/teams.scm
index 1fb87e0947..81d92ce829 100755
--- a/etc/teams.scm
+++ b/etc/teams.scm
@@ -580,6 +580,12 @@ (define-team zig
"guix/build/zig-build-system.scm"
"guix/build-system/zig.scm")))
+(define-team fluidplug
+ (team 'fluidplug
+ #:name "FluidPlug"
+ #:description "FluidPlug LV2 plugins"
+ #:scope (list "gnu/packages/fluidplug.scm")))
+
(define-member (person "Eric Bavier"
"bavier@posteo.net")
@@ -750,6 +756,10 @@ (define-member (person "André Batista"
"nandre@riseup.net")
mozilla)
+(define-member (person "Giacomo Leidi"
+ "goodoldpaul@autistici.org")
+ fluidplug)
+
(define (find-team name)
(or (hash-ref %teams (string->symbol name))
--
2.46.0
G
G
Gabriel Wicki wrote on 26 Nov 22:04 +0100
Re: [bug#69593] Add FluidPlug
(name . paul)(address . goodoldpaul@autistici.org)(address . 69593@debbugs.gnu.org)
23xkrbku5rvjfi4hyus5u63374nw43rmwfutgs6acfpnjg2ybs@oaee42d6eaqx
Hi Giacomo!

First of all, thanks for this amazing patch and sorry for the long
delay.

A few assorted comments to your commit messages:
- fluidplug-plugin->package is a function, not a variable.
- you can sum the list of variables in the commit message like so:

(fluidplug-airfont320-lv2, fluidplug-avl-drumkits-perc-lv2,
fluidplug-black-pearl-4a-lv2, ...): New variables.

To the package definitions: great job! I like how you simplified the
definitions and create them programmatically! Really cool!

A couple of comments I do have, though:
- I personally wouldn't mix #:exports and define-public in the same
file - not sure whether there's some sort of Guix (or Guile)-wide
consensus on the issue.

- You might want to omit the "-fluidplug-plugin" part in each of the
plugin variable names. You do not export those names so I think you
can save some of these bytes (:

- Did you consider cross compilation? I've tried some rather naively,
but failed. Also building for aarch64 (natively) failed. Is this
package not supposed to work on other architectures except amd64? If
that is the case, please specify it

- Changing env var CC= should happen within the #:make-flags block
instead of its own build phase. And it shouldn't hard-code "gcc" but
rather #$(cc-for-target) to allow for cross-compilation.

- I think lv2 should be in `inputs', not in `native-inputs' (again,
considering cross-compilation) of the fluidplug-lv2 package.


Since I can not commit merging still needs some work by someone else.
But except for the lack of cross-compilation (and foreign native
compilation) I do not see any show-stoppers.

Have a nice week!

gabber
P
P
paul wrote 6 days ago
(name . Gabriel Wicki)(address . gabriel@erlikon.ch)(address . 69593@debbugs.gnu.org)
9c259478-93b0-4464-9517-6f27dae91590@autistici.org
Hi gabber!

Thank you for your detailed feedback, it was very helpful. I hadn't
considered cross compilation at all so thank you for bringing that up. I
was not able to cross compile the plugins for aarch64 since fluidsynth
itself is currently failing to cross compile, but I setup the package
for cross compilation and I was able to build with
--system=aarch64-linux the following store paths:

/gnu/store/3hczja8j7108mj4k3m304bbn8m4law15-fluidplug-fluidsynthpads-lv2-0.0.5-0.38d7d0d
/gnu/store/iniwffhk57184w1sdkvpks41ggddm7ns-fluidplug-fluidsynthleads-lv2-0.0.5-0.38d7d0d
/gnu/store/d06c2g7szd5qs81fc74m9gyb7qbyl9q8-fluidplug-fluidsynthfx-lv2-0.0.5-0.38d7d0d
/gnu/store/hlhgmppf2kj2vhqvs27s3nhb692xspkk-fluidplug-fluidstrings-lv2-0.0.5-0.38d7d0d
/gnu/store/iqwgsxm2y0mi5pm9sk0r5pdysiv9nh5z-fluidplug-fluidsoundfx-lv2-0.0.5-0.38d7d0d
/gnu/store/fyap3ah75mb08zbrlp6swx2avg4gm1n1-fluidplug-fluidreeds-lv2-0.0.5-0.38d7d0d
/gnu/store/k0xlhswwbk6k7lsfgdxmpxpil4mjy8z4-fluidplug-fluidpipes-lv2-0.0.5-0.38d7d0d
/gnu/store/g6gzpri28ns9p8a87mzgwwgppl5m5ina-fluidplug-fluidpianos-lv2-0.0.5-0.38d7d0d
/gnu/store/f3aiv82b6gz6pjkl5nq3kllrqpk85q0j-fluidplug-fluidpercussion-lv2-0.0.5-0.38d7d0d
/gnu/store/h3i4sry66zwndanfqf756142bjh4i2r8-fluidplug-fluidorgans-lv2-0.0.5-0.38d7d0d
/gnu/store/y440smx317wxihf4r86fa62xsxic676b-fluidplug-fluidguitars-lv2-0.0.5-0.38d7d0d
/gnu/store/64grrbvqi737mn12nr1ipm49zvaif93x-fluidplug-fluidethnic-lv2-0.0.5-0.38d7d0d
/gnu/store/jvizy86991z00vqzm53apbc7dy83y6c3-fluidplug-fluidensemble-lv2-0.0.5-0.38d7d0d
/gnu/store/2wbfswji4j7pjyzwbvqm0dg36cm98q7g-fluidplug-fluiddrums-lv2-0.0.5-0.38d7d0d
/gnu/store/zxkz8zp4mih4l9cbnwwmf9i4snqddwny-fluidplug-fluidchromperc-lv2-0.0.5-0.38d7d0d
/gnu/store/nq4ml9kay8gg7n16jns8xjwbjd459xlg-fluidplug-fluidbrass-lv2-0.0.5-0.38d7d0d
/gnu/store/nmk6m917irzyflnhvv160s8m9js7q2vn-fluidplug-fluidbass-lv2-0.0.5-0.38d7d0d
/gnu/store/sc3aywx99yf2shyv5j28hz4dyldf8cs5-fluidplug-fluidgm-lv2-0.0.5-0.38d7d0d
/gnu/store/xvc3ga0ai95hdmxsmvmlal23myqs2mjh-fluidplug-red-zeppelin-5-lv2-0.0.5-0.38d7d0d
/gnu/store/zd95nyvkaajai6qqld685h15gi4l2bia-fluidplug-red-zeppelin-4-lv2-0.0.5-0.38d7d0d
/gnu/store/5f4gavfvvx43dka1qrby7816fpvzl1a7-fluidplug-black-pearl-5-lv2-0.0.5-0.38d7d0d
/gnu/store/dr4ldfyjrq7y6271d693n3gjmcnkh64s-fluidplug-black-pearl-4b-lv2-0.0.5-0.38d7d0d
/gnu/store/gf5prac2pfzlrgazwxjcb46pz7n9hdr1-fluidplug-black-pearl-4a-lv2-0.0.5-0.38d7d0d
/gnu/store/0vk83yfs6305r47rpcmiv2yhzrnb2lz5-fluidplug-avl-drumkits-perc-lv2-0.0.5-0.38d7d0d
/gnu/store/nlbkhbnp4d0sakmh1vlpiiz4cqri998j-fluidplug-airfont320-lv2-0.0.5-0.38d7d0d
/gnu/store/7lf14xbcv7k11wp17rfqaxnanyn7045l-fluidplug-lv2-0.0.5-0.38d7d0d


I should have addressed all of your comments, please let me know if you
have any further feedback. I'm sending a rev4. Thank you!

cheers

giacomo
G
G
Giacomo Leidi wrote 6 days ago
[PATCH v4 2/3] gnu: Add fluidplug plugins.
(address . 69593@debbugs.gnu.org)(name . Giacomo Leidi)(address . goodoldpaul@autistici.org)
2fcb39d62cb98bbfb4f039acfb30817281467b9a.1733010518.git.goodoldpaul@autistici.org
* gnu/packages/fluidplug.scm (fluidplug-plugin->package): New procedure;
(fluidplug-airfont320-lv2, fluidplug-avl-drumkits-perc-lv2,
fluidplug-black-pearl-4a-lv2, fluidplug-black-pearl-4b-lv2,
fluidplug-black-pearl-5-lv2, fluidplug-red-zeppelin-4-lv2,
fluidplug-red-zeppelin-5-lv2, fluidplug-fluidgm-lv2,
fluidplug-fluidbass-lv2, fluidplug-fluidbrass-lv2,
fluidplug-fluidchromperc-lv2, fluidplug-fluiddrums-lv2,
fluidplug-fluidensemble-lv2, fluidplug-fluidethnic-lv2,
fluidplug-fluidguitars-lv2, fluidplug-fluidorgans-lv2,
fluidplug-fluidpercussion-lv2, fluidplug-fluidpianos-lv2,
fluidplug-fluidpipes-lv2, fluidplug-fluidreeds-lv2,
fluidplug-fluidsoundfx-lv2, fluidplug-fluidstrings-lv2,
fluidplug-fluidsynthfx-lv2, fluidplug-fluidsynthleads-lv2,
fluidplug-fluidsynthpads-lv2): New variables.

Change-Id: I3692e2ed462bf71abe56d07712b8846a4228ad90
---
gnu/packages/fluidplug.scm | 155 ++++++++++++++++++++++++++++++++++++-
1 file changed, 154 insertions(+), 1 deletion(-)

Toggle diff (172 lines)
diff --git a/gnu/packages/fluidplug.scm b/gnu/packages/fluidplug.scm
index 969e99e776..0d2d63753c 100644
--- a/gnu/packages/fluidplug.scm
+++ b/gnu/packages/fluidplug.scm
@@ -38,7 +38,34 @@ (define-module (gnu packages fluidplug)
fluidplug-plugin-hash
fluidplug-plugin-license
- fluidplug-lv2))
+ fluidplug-lv2
+
+ fluidplug-plugin->package
+ fluidplug-airfont320-lv2
+ fluidplug-avl-drumkits-perc-lv2
+ fluidplug-black-pearl-4a-lv2
+ fluidplug-black-pearl-4b-lv2
+ fluidplug-black-pearl-5-lv2
+ fluidplug-red-zeppelin-4-lv2
+ fluidplug-red-zeppelin-5-lv2
+ fluidplug-fluidgm-lv2
+ fluidplug-fluidbass-lv2
+ fluidplug-fluidbrass-lv2
+ fluidplug-fluidchromperc-lv2
+ fluidplug-fluiddrums-lv2
+ fluidplug-fluidensemble-lv2
+ fluidplug-fluidethnic-lv2
+ fluidplug-fluidguitars-lv2
+ fluidplug-fluidorgans-lv2
+ fluidplug-fluidpercussion-lv2
+ fluidplug-fluidpianos-lv2
+ fluidplug-fluidpipes-lv2
+ fluidplug-fluidreeds-lv2
+ fluidplug-fluidsoundfx-lv2
+ fluidplug-fluidstrings-lv2
+ fluidplug-fluidsynthfx-lv2
+ fluidplug-fluidsynthleads-lv2
+ fluidplug-fluidsynthpads-lv2))
(define-record-type* <fluidplug-plugin>
fluidplug-plugin make-fluidplug-plugin
@@ -328,3 +355,129 @@ (define fluidplug-lv2
(license
(delete-duplicates
(map fluidplug-plugin-license fluidplug-plugins))))))
+
+(define (fluidplug-plugin->package record)
+ (package
+ (inherit fluidplug-lv2)
+ (name (fluidplug-plugin->package-name record))
+ (arguments
+ (substitute-keyword-arguments (package-arguments fluidplug-lv2)
+ ((#:make-flags make-flags)
+ #~(list (string-append "DESTDIR=" #$output)
+ "PREFIX="))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (replace 'unpack-plugin
+ (lambda _
+ (symlink #$(fluidplug-plugin->origin record)
+ #$(fluidplug-plugin->local-path record))))
+ (replace 'build
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke `("make" ,@make-flags
+ #$(fluidplug-plugin-name record)))))
+ (replace 'install
+ (lambda _
+ (let* ((plugin-directory
+ (string-append #$(fluidplug-plugin-name record)
+ ".lv2"))
+ (lib (string-append #$output "/lib/lv2"))
+ (share/doc (string-append #$output "/share/doc"))
+ (plugin-lib (string-append lib "/" plugin-directory)))
+
+ ;; Install plugin
+ (for-each
+ (lambda (f)
+ (install-file f plugin-lib))
+ (find-files plugin-directory
+ "^.*\\.(sf2|so|ttl)$"))
+
+ ;; Install license
+ (for-each
+ (lambda (f)
+ (install-file f share/doc))
+ (find-files plugin-directory "(README|License\\.pdf)"))
+
+ ;; Install UI
+ (copy-recursively (string-append plugin-directory "/modgui")
+ (string-append plugin-lib "/modgui")))))))))
+ (description
+ (string-append (package-description fluidplug-lv2) "
+
+This package provides the @code{" (fluidplug-plugin-name record)
+"} LV2 plugin."))
+ (license (fluidplug-plugin-license record))))
+
+(define fluidplug-airfont320-lv2
+ (fluidplug-plugin->package airfont320))
+
+(define fluidplug-avl-drumkits-perc-lv2
+ (fluidplug-plugin->package avl-drumkits-perc))
+
+(define fluidplug-black-pearl-4a-lv2
+ (fluidplug-plugin->package black-pearl-4a))
+
+(define fluidplug-black-pearl-4b-lv2
+ (fluidplug-plugin->package black-pearl-4b))
+
+(define fluidplug-black-pearl-5-lv2
+ (fluidplug-plugin->package black-pearl-5))
+
+(define fluidplug-red-zeppelin-4-lv2
+ (fluidplug-plugin->package red-zeppelin-4))
+
+(define fluidplug-red-zeppelin-5-lv2
+ (fluidplug-plugin->package red-zeppelin-5))
+
+(define fluidplug-fluidgm-lv2
+ (fluidplug-plugin->package fluidgm))
+
+(define fluidplug-fluidbass-lv2
+ (fluidplug-plugin->package fluidbass))
+
+(define fluidplug-fluidbrass-lv2
+ (fluidplug-plugin->package fluidbrass))
+
+(define fluidplug-fluidchromperc-lv2
+ (fluidplug-plugin->package fluidchromperc))
+
+(define fluidplug-fluiddrums-lv2
+ (fluidplug-plugin->package fluiddrums))
+
+(define fluidplug-fluidensemble-lv2
+ (fluidplug-plugin->package fluidensemble))
+
+(define fluidplug-fluidethnic-lv2
+ (fluidplug-plugin->package fluidethnic))
+
+(define fluidplug-fluidguitars-lv2
+ (fluidplug-plugin->package fluidguitars))
+
+(define fluidplug-fluidorgans-lv2
+ (fluidplug-plugin->package fluidorgans))
+
+(define fluidplug-fluidpercussion-lv2
+ (fluidplug-plugin->package fluidpercussion))
+
+(define fluidplug-fluidpianos-lv2
+ (fluidplug-plugin->package fluidpianos))
+
+(define fluidplug-fluidpipes-lv2
+ (fluidplug-plugin->package fluidpipes))
+
+(define fluidplug-fluidreeds-lv2
+ (fluidplug-plugin->package fluidreeds))
+
+(define fluidplug-fluidsoundfx-lv2
+ (fluidplug-plugin->package fluidsoundfx))
+
+(define fluidplug-fluidstrings-lv2
+ (fluidplug-plugin->package fluidstrings))
+
+(define fluidplug-fluidsynthfx-lv2
+ (fluidplug-plugin->package fluidsynthfx))
+
+(define fluidplug-fluidsynthleads-lv2
+ (fluidplug-plugin->package fluidsynthleads))
+
+(define fluidplug-fluidsynthpads-lv2
+ (fluidplug-plugin->package fluidsynthpads))
--
2.46.0
G
G
Giacomo Leidi wrote 6 days ago
[PATCH v4 3/3] teams: Add FluidPlug team.
(address . 69593@debbugs.gnu.org)(name . Giacomo Leidi)(address . goodoldpaul@autistici.org)
411578ea8c8a00f58350630bd496ab3eadf21c2a.1733010518.git.goodoldpaul@autistici.org
* etc/teams.scm (fluidplug): New team; add Giacomo to it.

Change-Id: I78af3e3ab865a9a740d69598c3149e7ad0270893
---
etc/teams.scm | 10 ++++++++++
gnu/packages/fluidplug.scm | 3 ++-
2 files changed, 12 insertions(+), 1 deletion(-)

Toggle diff (44 lines)
diff --git a/etc/teams.scm b/etc/teams.scm
index 4f86dfb954..33f4ba9cba 100755
--- a/etc/teams.scm
+++ b/etc/teams.scm
@@ -610,6 +610,12 @@ (define-team zig
"guix/build/zig-build-system.scm"
"guix/build-system/zig.scm")))
+(define-team fluidplug
+ (team 'fluidplug
+ #:name "FluidPlug"
+ #:description "FluidPlug LV2 plugins"
+ #:scope (list "gnu/packages/fluidplug.scm")))
+
(define-member (person "Eric Bavier"
"bavier@posteo.net")
@@ -780,6 +786,10 @@ (define-member (person "André Batista"
"nandre@riseup.net")
mozilla)
+(define-member (person "Giacomo Leidi"
+ "goodoldpaul@autistici.org")
+ fluidplug)
+
(define (find-team name)
(or (hash-ref %teams (string->symbol name))
diff --git a/gnu/packages/fluidplug.scm b/gnu/packages/fluidplug.scm
index 0d2d63753c..358562a812 100644
--- a/gnu/packages/fluidplug.scm
+++ b/gnu/packages/fluidplug.scm
@@ -363,7 +363,8 @@ (define (fluidplug-plugin->package record)
(arguments
(substitute-keyword-arguments (package-arguments fluidplug-lv2)
((#:make-flags make-flags)
- #~(list (string-append "DESTDIR=" #$output)
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "DESTDIR=" #$output)
"PREFIX="))
((#:phases phases)
#~(modify-phases #$phases
--
2.46.0
G
G
Giacomo Leidi wrote 6 days ago
[PATCH v4 1/3] gnu: Add fluidplug-lv2.
(address . 69593@debbugs.gnu.org)(name . Giacomo Leidi)(address . goodoldpaul@autistici.org)
dac4440f98ab0f9f94e999d7d3607cdf9fefd7af.1733010518.git.goodoldpaul@autistici.org
* gnu/packages/fluidplug.scm: New file;
* gnu/local.mk: Add it.

Change-Id: Iec61d692010f9d7635de2cf27c32e1356225ca09
---
gnu/local.mk | 1 +
gnu/packages/fluidplug.scm | 330 +++++++++++++++++++++++++++++++++++++
2 files changed, 331 insertions(+)
create mode 100644 gnu/packages/fluidplug.scm

Toggle diff (352 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index c89fd88282..eb13eee9ff 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -289,6 +289,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/flashing-tools.scm \
%D%/packages/flex.scm \
%D%/packages/fltk.scm \
+ %D%/packages/fluidplug.scm \
%D%/packages/fonts.scm \
%D%/packages/fontutils.scm \
%D%/packages/fpga.scm \
diff --git a/gnu/packages/fluidplug.scm b/gnu/packages/fluidplug.scm
new file mode 100644
index 0000000000..969e99e776
--- /dev/null
+++ b/gnu/packages/fluidplug.scm
@@ -0,0 +1,330 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Giacomo Leidi <goodoldpaul@autistici.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages fluidplug)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix download)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses)
+ #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix records)
+ #:use-module (guix utils)
+ #:use-module (gnu packages audio)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (srfi srfi-1)
+ #:export (fluidplug-plugin
+ fluidplug-plugin?
+ fluidplug-plugin-name
+ fluidplug-plugin-path
+ fluidplug-plugin-hash
+ fluidplug-plugin-license
+
+ fluidplug-lv2))
+
+(define-record-type* <fluidplug-plugin>
+ fluidplug-plugin make-fluidplug-plugin
+ fluidplug-plugin?
+ (name fluidplug-plugin-name) ;string
+ (hash fluidplug-plugin-hash) ;string
+ (path fluidplug-plugin-path) ;string
+ (license fluidplug-plugin-license ;license
+ (default license:cc-by-sa4.0)))
+
+(define (fluidplug-plugin->package-name record)
+ (string-append "fluidplug-"
+ (string-downcase
+ (string-replace-substring
+ (fluidplug-plugin-name record) "_" "-"))
+ "-lv2"))
+
+(define (fluidplug-plugin->origin record)
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://download.linuxaudio.org/"
+ "musical-instrument-libraries/sf2/"
+ (fluidplug-plugin-path record)))
+ (sha256
+ (base32 (fluidplug-plugin-hash record)))))
+
+(define (fluidplug-plugin->local-path record)
+ (string-append "./" (fluidplug-plugin-name record) ".lv2/"
+ (basename (fluidplug-plugin-path record))))
+
+(define airfont320
+ (fluidplug-plugin
+ (name "AirFont320")
+ (path "airfont_a340u.tar.7z")
+ (hash "1x4xzm4khq823i4p18ydbkjza2nv3hzwyxp7vf3gzqs374jdcqbw")
+ (license license:gpl2)))
+
+(define avl-drumkits-perc
+ (fluidplug-plugin
+ (name "AVL_Drumkits_Perc")
+ (path "AVL-Drumkits-1.1-SF2-splitted/AVL_Drumkits_Perc_1.1.tar.7z")
+ (hash "0l1zvzw9dg922wf9llcl9zlw5ybjmayg7yqacp253xcr2jz1hn7m")
+ (license license:cc-by-sa3.0)))
+
+(define black-pearl-4a
+ (fluidplug-plugin
+ (name "Black_Pearl_4A")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_4A-1.1.tar.7z")
+ (hash "0flzlg5m2r3df8dchydzg3xllcv7ignr7hx6qxzy51s6gzrlbzli")
+ (license license:cc-by-sa3.0)))
+
+(define black-pearl-4b
+ (fluidplug-plugin
+ (name "Black_Pearl_4B")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_4B-1.1.tar.7z")
+ (hash "1z5q8z4k81xnbcv0gpc2xgrzqm9fg4n2yly1kaw82q7sm29vi0z9")
+ (license license:cc-by-sa3.0)))
+
+(define black-pearl-5
+ (fluidplug-plugin
+ (name "Black_Pearl_5")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_5-1.1.tar.7z")
+ (hash "0mg41wc912sfj2mydn86ychwk21l3ngbn7k3qsm6jgf1ipmsip9y")
+ (license license:cc-by-sa3.0)))
+
+(define red-zeppelin-4
+ (fluidplug-plugin
+ (name "Red_Zeppelin_4")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Red_Zeppelin_4-1.1.tar.7z")
+ (hash "0pcswg4hlyn8j6nghbwvxa71ibp6r0wxcbxjzxs4iim43vpxc659")
+ (license license:cc-by-sa3.0)))
+
+(define red-zeppelin-5
+ (fluidplug-plugin
+ (name "Red_Zeppelin_5")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Red_Zeppelin_5-1.1.tar.7z")
+ (hash "18hhmi1d1i7gr2rp4wn28pnfwl825rmhmjnvxvvcwdmis6nad4gm")
+ (license license:cc-by-sa3.0)))
+
+(define fluidgm
+ (fluidplug-plugin
+ (name "FluidGM")
+ (path "fluidr3.tar.7z")
+ (hash "00ka1b2pxn0g2g0hm7kdg5w785pfx8f9585238d183wjdkc3a8m6")
+ (license license:expat)))
+
+(define fluidbass
+ (fluidplug-plugin
+ (name "FluidBass")
+ (path "fluidr3-splitted/fluidr3gm_bass.sf2.tar.7z")
+ (hash "1zhixrxkwvmn6xkpy9f8zkrwxmaqwdcx0jz7zg8lc2amqkx9wqan")))
+
+(define fluidbrass
+ (fluidplug-plugin
+ (name "FluidBrass")
+ (path "fluidr3-splitted/fluidr3gm_brass.sf2.tar.7z")
+ (hash "027l3q4q9011xzbzsrsp5nj3h05w9dj7d8b943xzck7q4sp9alkp")))
+
+(define fluidchromperc
+ (fluidplug-plugin
+ (name "FluidChromPerc")
+ (path "fluidr3-splitted/fluidr3gm_chromaticpercussion.sf2.tar.7z")
+ (hash "1233fh36wlifrawh57v8vycxc0g4pbvy3qr9f596g9n7mm4h51f7")))
+
+(define fluiddrums
+ (fluidplug-plugin
+ (name "FluidDrums")
+ (path "fluidr3-splitted/fluidr3gm_drums.sf2.tar.7z")
+ (hash "01pv3aj52pz8xy29acprwkb69jxhrn64kx7w29ch5bl091lccqgr")))
+
+(define fluidensemble
+ (fluidplug-plugin
+ (name "FluidEnsemble")
+ (path "fluidr3-splitted/fluidr3gm_ensemble.sf2.tar.7z")
+ (hash "0rswcgzapcjmwddh2hgicym27hqz3p43r2s8j7hy1s40hzk3nbax")))
+
+(define fluidethnic
+ (fluidplug-plugin
+ (name "FluidEthnic")
+ (path "fluidr3-splitted/fluidr3gm_ethnic.sf2.tar.7z")
+ (hash "0z1z37wn6lw1n919bkpfirachg5wwddi7f0g4l9vimazv34ds1b1")))
+
+(define fluidguitars
+ (fluidplug-plugin
+ (name "FluidGuitars")
+ (path "fluidr3-splitted/fluidr3gm_guitar.sf2.tar.7z")
+ (hash "1d5jxx4sgbyh9sqmfksggcsri9hal7mw83a6h1vqb9xf59gnmx1i")))
+
+(define fluidorgans
+ (fluidplug-plugin
+ (name "FluidOrgans")
+ (path "fluidr3-splitted/fluidr3gm_organ.sf2.tar.7z")
+ (hash "12zlq28cmr2hsgn1319hidzcm8yifx6vsqsqk544z3qkhc8cg4fr")))
+
+(define fluidpercussion
+ (fluidplug-plugin
+ (name "FluidPercussion")
+ (path "fluidr3-splitted/fluidr3gm_percussive.sf2.tar.7z")
+ (hash "1gql0g1zk09n6r90mav47khdc406jhmg5iql6i2zjmg9l7yg65n3")))
+
+(define fluidpianos
+ (fluidplug-plugin
+ (name "FluidPianos")
+ (path "fluidr3-splitted/fluidr3gm_piano.sf2.tar.7z")
+ (hash "06a817xvx7qj8plr1vhpanbdr97cbmzky0pp6xhff916s5k0jg2r")))
+
+(define fluidpipes
+ (fluidplug-plugin
+ (name "FluidPipes")
+ (path "fluidr3-splitted/fluidr3gm_pipe.sf2.tar.7z")
+ (hash "09wzvsabcif27687g71g4m75zz08zpwpm2dzwh8a7xsfi5qdynf2")))
+
+(define fluidreeds
+ (fluidplug-plugin
+ (name "FluidReeds")
+ (path "fluidr3-splitted/fluidr3gm_reed.sf2.tar.7z")
+ (hash "1yb0whi67wz7ag6hcfdns69m1ic3fq6firvbb893ilnx8h17yjak")))
+
+(define fluidsoundfx
+ (fluidplug-plugin
+ (name "FluidSoundFX")
+ (path "fluidr3-splitted/fluidr3gm_soundeffects.sf2.tar.7z")
+ (hash "0sg8gca9735gy0pna63vgsfnabk54dl30n1lnhcf976n7y0npzfx")))
+
+(define fluidstrings
+ (fluidplug-plugin
+ (name "FluidStrings")
+ (path "fluidr3-splitted/fluidr3gm_strings.sf2.tar.7z")
+ (hash "1nnxr62i3p3hhdpwlly62c4cvf7f3dzq818fmlnlxp25215h17bs")))
+
+(define fluidsynthfx
+ (fluidplug-plugin
+ (name "FluidSynthFX")
+ (path "fluidr3-splitted/fluidr3gm_syntheffects.sf2.tar.7z")
+ (hash "0rlq58v9m6wjk45kxmza54y8fkj1b8y1zg00r80nwyqz6rylgjh4")))
+
+(define fluidsynthleads
+ (fluidplug-plugin
+ (name "FluidSynthLeads")
+ (path "fluidr3-splitted/fluidr3gm_synthlead.sf2.tar.7z")
+ (hash "0axi5dyqf8zh1gn82qq0jpzr0cgbsjn4xm0yrlqld4k6h9ggj475")))
+
+(define fluidsynthpads
+ (fluidplug-plugin
+ (name "FluidSynthPads")
+ (path "fluidr3-splitted/fluidr3gm_synthpad.sf2.tar.7z")
+ (hash "1q4pd6ymb08yc6rz68wlidjp5kp7pygc2aw45djw9wr8id6pnadi")))
+
+(define fluidplug-plugins
+ (list airfont320
+ avl-drumkits-perc
+ black-pearl-4a
+ black-pearl-4b
+ black-pearl-5
+ red-zeppelin-4
+ red-zeppelin-5
+ fluidgm
+ fluidbass
+ fluidbrass
+ fluidchromperc
+ fluiddrums
+ fluidensemble
+ fluidethnic
+ fluidguitars
+ fluidorgans
+ fluidpercussion
+ fluidpianos
+ fluidpipes
+ fluidreeds
+ fluidsoundfx
+ fluidstrings
+ fluidsynthfx
+ fluidsynthleads
+ fluidsynthpads))
+
+(define fluidplug-lv2
+ (let ((version "0.0.5")
+ (revision "0")
+ (commit "38d7d0d5259c89199be3cf56768edf0d41bfd881"))
+ (package
+ (name "fluidplug-lv2")
+ (version (git-version version revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/falkTX/FluidPlug")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0k4wjcvpgf4nk4d5b40x5zckfgp22b4i3npcahqbr16hh21cjfjj"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; SoundFonts can't be downloaded at build time
+ ;; in Guix, so it is disabled.
+ (substitute* "Makefile"
+ (("wget") "# wget"))
+ #t))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ ;; There are no tests.
+ #:tests? #f
+ #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "DESTDIR=" #$output)
+ "PREFIX=")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-makefile
+ (lambda _
+ ;; The CCFLAG variable is set to contain some x86_64
+ ;; optimizations by default, so we override the flag
+ ;; such that x86_64 flags are only added when the build
+ ;; target is an x86_64 system.
+ (let ((system #$(or (%current-target-system)
+ (%current-system))))
+ (unless (string-prefix? "x86_64" system)
+ (substitute* "Makefile.mk"
+ (("-msse -msse2 -mfpmath=sse") ""))))))
+ (add-after 'patch-makefile 'unpack-plugin
+ (lambda _
+ (use-modules (srfi srfi-1))
+ (for-each
+ (lambda (p)
+ (define source (first p))
+ (define target (second p))
+ (symlink source target))
+ '(#$@(map
+ (lambda (p)
+ (list (fluidplug-plugin->origin p)
+ (fluidplug-plugin->local-path p)))
+ fluidplug-plugins)))))
+ (delete 'configure))))
+ (native-inputs
+ (list gnu-make p7zip pkg-config))
+ (inputs (list fluidsynth lv2))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "LV2_PATH")
+ (files '("lib/lv2")))))
+ (synopsis
+ "SoundFonts as LV2 plugins via FluidSynth")
+ (description
+ "@code{FluidPlug} provides SoundFonts as LV2 plugins via FluidSynth.")
+ (home-page "https://github.com/falkTX/FluidPlug")
+ (license
+ (delete-duplicates
+ (map fluidplug-plugin-license fluidplug-plugins))))))

base-commit: 10e99250f49d40563619c849b0d4ada31f985991
--
2.46.0
P
P
paul wrote 6 days ago
Re: [bug#69593] Add FluidPlug
(address . 69593@debbugs.gnu.org)
7eef83ab-b57c-45c2-a116-64af2bc9fd56@autistici.org
Hi Guix,

I messed up some Git rebase, I'm sending a v5 with clean commits.


Apologies for the noise,

giacomo
G
G
Giacomo Leidi wrote 6 days ago
[PATCH v5 1/3] gnu: Add fluidplug-lv2.
(address . 69593@debbugs.gnu.org)(name . Giacomo Leidi)(address . goodoldpaul@autistici.org)
dac4440f98ab0f9f94e999d7d3607cdf9fefd7af.1733010833.git.goodoldpaul@autistici.org
* gnu/packages/fluidplug.scm: New file;
* gnu/local.mk: Add it.

Change-Id: Iec61d692010f9d7635de2cf27c32e1356225ca09
---
gnu/local.mk | 1 +
gnu/packages/fluidplug.scm | 330 +++++++++++++++++++++++++++++++++++++
2 files changed, 331 insertions(+)
create mode 100644 gnu/packages/fluidplug.scm

Toggle diff (352 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index c89fd88282..eb13eee9ff 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -289,6 +289,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/flashing-tools.scm \
%D%/packages/flex.scm \
%D%/packages/fltk.scm \
+ %D%/packages/fluidplug.scm \
%D%/packages/fonts.scm \
%D%/packages/fontutils.scm \
%D%/packages/fpga.scm \
diff --git a/gnu/packages/fluidplug.scm b/gnu/packages/fluidplug.scm
new file mode 100644
index 0000000000..969e99e776
--- /dev/null
+++ b/gnu/packages/fluidplug.scm
@@ -0,0 +1,330 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Giacomo Leidi <goodoldpaul@autistici.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages fluidplug)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix download)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses)
+ #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix records)
+ #:use-module (guix utils)
+ #:use-module (gnu packages audio)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (srfi srfi-1)
+ #:export (fluidplug-plugin
+ fluidplug-plugin?
+ fluidplug-plugin-name
+ fluidplug-plugin-path
+ fluidplug-plugin-hash
+ fluidplug-plugin-license
+
+ fluidplug-lv2))
+
+(define-record-type* <fluidplug-plugin>
+ fluidplug-plugin make-fluidplug-plugin
+ fluidplug-plugin?
+ (name fluidplug-plugin-name) ;string
+ (hash fluidplug-plugin-hash) ;string
+ (path fluidplug-plugin-path) ;string
+ (license fluidplug-plugin-license ;license
+ (default license:cc-by-sa4.0)))
+
+(define (fluidplug-plugin->package-name record)
+ (string-append "fluidplug-"
+ (string-downcase
+ (string-replace-substring
+ (fluidplug-plugin-name record) "_" "-"))
+ "-lv2"))
+
+(define (fluidplug-plugin->origin record)
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://download.linuxaudio.org/"
+ "musical-instrument-libraries/sf2/"
+ (fluidplug-plugin-path record)))
+ (sha256
+ (base32 (fluidplug-plugin-hash record)))))
+
+(define (fluidplug-plugin->local-path record)
+ (string-append "./" (fluidplug-plugin-name record) ".lv2/"
+ (basename (fluidplug-plugin-path record))))
+
+(define airfont320
+ (fluidplug-plugin
+ (name "AirFont320")
+ (path "airfont_a340u.tar.7z")
+ (hash "1x4xzm4khq823i4p18ydbkjza2nv3hzwyxp7vf3gzqs374jdcqbw")
+ (license license:gpl2)))
+
+(define avl-drumkits-perc
+ (fluidplug-plugin
+ (name "AVL_Drumkits_Perc")
+ (path "AVL-Drumkits-1.1-SF2-splitted/AVL_Drumkits_Perc_1.1.tar.7z")
+ (hash "0l1zvzw9dg922wf9llcl9zlw5ybjmayg7yqacp253xcr2jz1hn7m")
+ (license license:cc-by-sa3.0)))
+
+(define black-pearl-4a
+ (fluidplug-plugin
+ (name "Black_Pearl_4A")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_4A-1.1.tar.7z")
+ (hash "0flzlg5m2r3df8dchydzg3xllcv7ignr7hx6qxzy51s6gzrlbzli")
+ (license license:cc-by-sa3.0)))
+
+(define black-pearl-4b
+ (fluidplug-plugin
+ (name "Black_Pearl_4B")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_4B-1.1.tar.7z")
+ (hash "1z5q8z4k81xnbcv0gpc2xgrzqm9fg4n2yly1kaw82q7sm29vi0z9")
+ (license license:cc-by-sa3.0)))
+
+(define black-pearl-5
+ (fluidplug-plugin
+ (name "Black_Pearl_5")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_5-1.1.tar.7z")
+ (hash "0mg41wc912sfj2mydn86ychwk21l3ngbn7k3qsm6jgf1ipmsip9y")
+ (license license:cc-by-sa3.0)))
+
+(define red-zeppelin-4
+ (fluidplug-plugin
+ (name "Red_Zeppelin_4")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Red_Zeppelin_4-1.1.tar.7z")
+ (hash "0pcswg4hlyn8j6nghbwvxa71ibp6r0wxcbxjzxs4iim43vpxc659")
+ (license license:cc-by-sa3.0)))
+
+(define red-zeppelin-5
+ (fluidplug-plugin
+ (name "Red_Zeppelin_5")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Red_Zeppelin_5-1.1.tar.7z")
+ (hash "18hhmi1d1i7gr2rp4wn28pnfwl825rmhmjnvxvvcwdmis6nad4gm")
+ (license license:cc-by-sa3.0)))
+
+(define fluidgm
+ (fluidplug-plugin
+ (name "FluidGM")
+ (path "fluidr3.tar.7z")
+ (hash "00ka1b2pxn0g2g0hm7kdg5w785pfx8f9585238d183wjdkc3a8m6")
+ (license license:expat)))
+
+(define fluidbass
+ (fluidplug-plugin
+ (name "FluidBass")
+ (path "fluidr3-splitted/fluidr3gm_bass.sf2.tar.7z")
+ (hash "1zhixrxkwvmn6xkpy9f8zkrwxmaqwdcx0jz7zg8lc2amqkx9wqan")))
+
+(define fluidbrass
+ (fluidplug-plugin
+ (name "FluidBrass")
+ (path "fluidr3-splitted/fluidr3gm_brass.sf2.tar.7z")
+ (hash "027l3q4q9011xzbzsrsp5nj3h05w9dj7d8b943xzck7q4sp9alkp")))
+
+(define fluidchromperc
+ (fluidplug-plugin
+ (name "FluidChromPerc")
+ (path "fluidr3-splitted/fluidr3gm_chromaticpercussion.sf2.tar.7z")
+ (hash "1233fh36wlifrawh57v8vycxc0g4pbvy3qr9f596g9n7mm4h51f7")))
+
+(define fluiddrums
+ (fluidplug-plugin
+ (name "FluidDrums")
+ (path "fluidr3-splitted/fluidr3gm_drums.sf2.tar.7z")
+ (hash "01pv3aj52pz8xy29acprwkb69jxhrn64kx7w29ch5bl091lccqgr")))
+
+(define fluidensemble
+ (fluidplug-plugin
+ (name "FluidEnsemble")
+ (path "fluidr3-splitted/fluidr3gm_ensemble.sf2.tar.7z")
+ (hash "0rswcgzapcjmwddh2hgicym27hqz3p43r2s8j7hy1s40hzk3nbax")))
+
+(define fluidethnic
+ (fluidplug-plugin
+ (name "FluidEthnic")
+ (path "fluidr3-splitted/fluidr3gm_ethnic.sf2.tar.7z")
+ (hash "0z1z37wn6lw1n919bkpfirachg5wwddi7f0g4l9vimazv34ds1b1")))
+
+(define fluidguitars
+ (fluidplug-plugin
+ (name "FluidGuitars")
+ (path "fluidr3-splitted/fluidr3gm_guitar.sf2.tar.7z")
+ (hash "1d5jxx4sgbyh9sqmfksggcsri9hal7mw83a6h1vqb9xf59gnmx1i")))
+
+(define fluidorgans
+ (fluidplug-plugin
+ (name "FluidOrgans")
+ (path "fluidr3-splitted/fluidr3gm_organ.sf2.tar.7z")
+ (hash "12zlq28cmr2hsgn1319hidzcm8yifx6vsqsqk544z3qkhc8cg4fr")))
+
+(define fluidpercussion
+ (fluidplug-plugin
+ (name "FluidPercussion")
+ (path "fluidr3-splitted/fluidr3gm_percussive.sf2.tar.7z")
+ (hash "1gql0g1zk09n6r90mav47khdc406jhmg5iql6i2zjmg9l7yg65n3")))
+
+(define fluidpianos
+ (fluidplug-plugin
+ (name "FluidPianos")
+ (path "fluidr3-splitted/fluidr3gm_piano.sf2.tar.7z")
+ (hash "06a817xvx7qj8plr1vhpanbdr97cbmzky0pp6xhff916s5k0jg2r")))
+
+(define fluidpipes
+ (fluidplug-plugin
+ (name "FluidPipes")
+ (path "fluidr3-splitted/fluidr3gm_pipe.sf2.tar.7z")
+ (hash "09wzvsabcif27687g71g4m75zz08zpwpm2dzwh8a7xsfi5qdynf2")))
+
+(define fluidreeds
+ (fluidplug-plugin
+ (name "FluidReeds")
+ (path "fluidr3-splitted/fluidr3gm_reed.sf2.tar.7z")
+ (hash "1yb0whi67wz7ag6hcfdns69m1ic3fq6firvbb893ilnx8h17yjak")))
+
+(define fluidsoundfx
+ (fluidplug-plugin
+ (name "FluidSoundFX")
+ (path "fluidr3-splitted/fluidr3gm_soundeffects.sf2.tar.7z")
+ (hash "0sg8gca9735gy0pna63vgsfnabk54dl30n1lnhcf976n7y0npzfx")))
+
+(define fluidstrings
+ (fluidplug-plugin
+ (name "FluidStrings")
+ (path "fluidr3-splitted/fluidr3gm_strings.sf2.tar.7z")
+ (hash "1nnxr62i3p3hhdpwlly62c4cvf7f3dzq818fmlnlxp25215h17bs")))
+
+(define fluidsynthfx
+ (fluidplug-plugin
+ (name "FluidSynthFX")
+ (path "fluidr3-splitted/fluidr3gm_syntheffects.sf2.tar.7z")
+ (hash "0rlq58v9m6wjk45kxmza54y8fkj1b8y1zg00r80nwyqz6rylgjh4")))
+
+(define fluidsynthleads
+ (fluidplug-plugin
+ (name "FluidSynthLeads")
+ (path "fluidr3-splitted/fluidr3gm_synthlead.sf2.tar.7z")
+ (hash "0axi5dyqf8zh1gn82qq0jpzr0cgbsjn4xm0yrlqld4k6h9ggj475")))
+
+(define fluidsynthpads
+ (fluidplug-plugin
+ (name "FluidSynthPads")
+ (path "fluidr3-splitted/fluidr3gm_synthpad.sf2.tar.7z")
+ (hash "1q4pd6ymb08yc6rz68wlidjp5kp7pygc2aw45djw9wr8id6pnadi")))
+
+(define fluidplug-plugins
+ (list airfont320
+ avl-drumkits-perc
+ black-pearl-4a
+ black-pearl-4b
+ black-pearl-5
+ red-zeppelin-4
+ red-zeppelin-5
+ fluidgm
+ fluidbass
+ fluidbrass
+ fluidchromperc
+ fluiddrums
+ fluidensemble
+ fluidethnic
+ fluidguitars
+ fluidorgans
+ fluidpercussion
+ fluidpianos
+ fluidpipes
+ fluidreeds
+ fluidsoundfx
+ fluidstrings
+ fluidsynthfx
+ fluidsynthleads
+ fluidsynthpads))
+
+(define fluidplug-lv2
+ (let ((version "0.0.5")
+ (revision "0")
+ (commit "38d7d0d5259c89199be3cf56768edf0d41bfd881"))
+ (package
+ (name "fluidplug-lv2")
+ (version (git-version version revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/falkTX/FluidPlug")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0k4wjcvpgf4nk4d5b40x5zckfgp22b4i3npcahqbr16hh21cjfjj"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; SoundFonts can't be downloaded at build time
+ ;; in Guix, so it is disabled.
+ (substitute* "Makefile"
+ (("wget") "# wget"))
+ #t))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ ;; There are no tests.
+ #:tests? #f
+ #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "DESTDIR=" #$output)
+ "PREFIX=")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-makefile
+ (lambda _
+ ;; The CCFLAG variable is set to contain some x86_64
+ ;; optimizations by default, so we override the flag
+ ;; such that x86_64 flags are only added when the build
+ ;; target is an x86_64 system.
+ (let ((system #$(or (%current-target-system)
+ (%current-system))))
+ (unless (string-prefix? "x86_64" system)
+ (substitute* "Makefile.mk"
+ (("-msse -msse2 -mfpmath=sse") ""))))))
+ (add-after 'patch-makefile 'unpack-plugin
+ (lambda _
+ (use-modules (srfi srfi-1))
+ (for-each
+ (lambda (p)
+ (define source (first p))
+ (define target (second p))
+ (symlink source target))
+ '(#$@(map
+ (lambda (p)
+ (list (fluidplug-plugin->origin p)
+ (fluidplug-plugin->local-path p)))
+ fluidplug-plugins)))))
+ (delete 'configure))))
+ (native-inputs
+ (list gnu-make p7zip pkg-config))
+ (inputs (list fluidsynth lv2))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "LV2_PATH")
+ (files '("lib/lv2")))))
+ (synopsis
+ "SoundFonts as LV2 plugins via FluidSynth")
+ (description
+ "@code{FluidPlug} provides SoundFonts as LV2 plugins via FluidSynth.")
+ (home-page "https://github.com/falkTX/FluidPlug")
+ (license
+ (delete-duplicates
+ (map fluidplug-plugin-license fluidplug-plugins))))))

base-commit: 10e99250f49d40563619c849b0d4ada31f985991
--
2.46.0
G
G
Giacomo Leidi wrote 6 days ago
[PATCH v5 2/3] gnu: Add fluidplug plugins.
(address . 69593@debbugs.gnu.org)(name . Giacomo Leidi)(address . goodoldpaul@autistici.org)
2da9c72b8a23f4b8f270c2c4799ddef25174cf80.1733010833.git.goodoldpaul@autistici.org
* gnu/packages/fluidplug.scm (fluidplug-plugin->package): New procedure;
(fluidplug-airfont320-lv2, fluidplug-avl-drumkits-perc-lv2,
fluidplug-black-pearl-4a-lv2, fluidplug-black-pearl-4b-lv2,
fluidplug-black-pearl-5-lv2, fluidplug-red-zeppelin-4-lv2,
fluidplug-red-zeppelin-5-lv2, fluidplug-fluidgm-lv2,
fluidplug-fluidbass-lv2, fluidplug-fluidbrass-lv2,
fluidplug-fluidchromperc-lv2, fluidplug-fluiddrums-lv2,
fluidplug-fluidensemble-lv2, fluidplug-fluidethnic-lv2,
fluidplug-fluidguitars-lv2, fluidplug-fluidorgans-lv2,
fluidplug-fluidpercussion-lv2, fluidplug-fluidpianos-lv2,
fluidplug-fluidpipes-lv2, fluidplug-fluidreeds-lv2,
fluidplug-fluidsoundfx-lv2, fluidplug-fluidstrings-lv2,
fluidplug-fluidsynthfx-lv2, fluidplug-fluidsynthleads-lv2,
fluidplug-fluidsynthpads-lv2): New variables.

Change-Id: I3692e2ed462bf71abe56d07712b8846a4228ad90
---
gnu/packages/fluidplug.scm | 156 ++++++++++++++++++++++++++++++++++++-
1 file changed, 155 insertions(+), 1 deletion(-)

Toggle diff (173 lines)
diff --git a/gnu/packages/fluidplug.scm b/gnu/packages/fluidplug.scm
index 969e99e776..358562a812 100644
--- a/gnu/packages/fluidplug.scm
+++ b/gnu/packages/fluidplug.scm
@@ -38,7 +38,34 @@ (define-module (gnu packages fluidplug)
fluidplug-plugin-hash
fluidplug-plugin-license
- fluidplug-lv2))
+ fluidplug-lv2
+
+ fluidplug-plugin->package
+ fluidplug-airfont320-lv2
+ fluidplug-avl-drumkits-perc-lv2
+ fluidplug-black-pearl-4a-lv2
+ fluidplug-black-pearl-4b-lv2
+ fluidplug-black-pearl-5-lv2
+ fluidplug-red-zeppelin-4-lv2
+ fluidplug-red-zeppelin-5-lv2
+ fluidplug-fluidgm-lv2
+ fluidplug-fluidbass-lv2
+ fluidplug-fluidbrass-lv2
+ fluidplug-fluidchromperc-lv2
+ fluidplug-fluiddrums-lv2
+ fluidplug-fluidensemble-lv2
+ fluidplug-fluidethnic-lv2
+ fluidplug-fluidguitars-lv2
+ fluidplug-fluidorgans-lv2
+ fluidplug-fluidpercussion-lv2
+ fluidplug-fluidpianos-lv2
+ fluidplug-fluidpipes-lv2
+ fluidplug-fluidreeds-lv2
+ fluidplug-fluidsoundfx-lv2
+ fluidplug-fluidstrings-lv2
+ fluidplug-fluidsynthfx-lv2
+ fluidplug-fluidsynthleads-lv2
+ fluidplug-fluidsynthpads-lv2))
(define-record-type* <fluidplug-plugin>
fluidplug-plugin make-fluidplug-plugin
@@ -328,3 +355,130 @@ (define fluidplug-lv2
(license
(delete-duplicates
(map fluidplug-plugin-license fluidplug-plugins))))))
+
+(define (fluidplug-plugin->package record)
+ (package
+ (inherit fluidplug-lv2)
+ (name (fluidplug-plugin->package-name record))
+ (arguments
+ (substitute-keyword-arguments (package-arguments fluidplug-lv2)
+ ((#:make-flags make-flags)
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "DESTDIR=" #$output)
+ "PREFIX="))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (replace 'unpack-plugin
+ (lambda _
+ (symlink #$(fluidplug-plugin->origin record)
+ #$(fluidplug-plugin->local-path record))))
+ (replace 'build
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke `("make" ,@make-flags
+ #$(fluidplug-plugin-name record)))))
+ (replace 'install
+ (lambda _
+ (let* ((plugin-directory
+ (string-append #$(fluidplug-plugin-name record)
+ ".lv2"))
+ (lib (string-append #$output "/lib/lv2"))
+ (share/doc (string-append #$output "/share/doc"))
+ (plugin-lib (string-append lib "/" plugin-directory)))
+
+ ;; Install plugin
+ (for-each
+ (lambda (f)
+ (install-file f plugin-lib))
+ (find-files plugin-directory
+ "^.*\\.(sf2|so|ttl)$"))
+
+ ;; Install license
+ (for-each
+ (lambda (f)
+ (install-file f share/doc))
+ (find-files plugin-directory "(README|License\\.pdf)"))
+
+ ;; Install UI
+ (copy-recursively (string-append plugin-directory "/modgui")
+ (string-append plugin-lib "/modgui")))))))))
+ (description
+ (string-append (package-description fluidplug-lv2) "
+
+This package provides the @code{" (fluidplug-plugin-name record)
+"} LV2 plugin."))
+ (license (fluidplug-plugin-license record))))
+
+(define fluidplug-airfont320-lv2
+ (fluidplug-plugin->package airfont320))
+
+(define fluidplug-avl-drumkits-perc-lv2
+ (fluidplug-plugin->package avl-drumkits-perc))
+
+(define fluidplug-black-pearl-4a-lv2
+ (fluidplug-plugin->package black-pearl-4a))
+
+(define fluidplug-black-pearl-4b-lv2
+ (fluidplug-plugin->package black-pearl-4b))
+
+(define fluidplug-black-pearl-5-lv2
+ (fluidplug-plugin->package black-pearl-5))
+
+(define fluidplug-red-zeppelin-4-lv2
+ (fluidplug-plugin->package red-zeppelin-4))
+
+(define fluidplug-red-zeppelin-5-lv2
+ (fluidplug-plugin->package red-zeppelin-5))
+
+(define fluidplug-fluidgm-lv2
+ (fluidplug-plugin->package fluidgm))
+
+(define fluidplug-fluidbass-lv2
+ (fluidplug-plugin->package fluidbass))
+
+(define fluidplug-fluidbrass-lv2
+ (fluidplug-plugin->package fluidbrass))
+
+(define fluidplug-fluidchromperc-lv2
+ (fluidplug-plugin->package fluidchromperc))
+
+(define fluidplug-fluiddrums-lv2
+ (fluidplug-plugin->package fluiddrums))
+
+(define fluidplug-fluidensemble-lv2
+ (fluidplug-plugin->package fluidensemble))
+
+(define fluidplug-fluidethnic-lv2
+ (fluidplug-plugin->package fluidethnic))
+
+(define fluidplug-fluidguitars-lv2
+ (fluidplug-plugin->package fluidguitars))
+
+(define fluidplug-fluidorgans-lv2
+ (fluidplug-plugin->package fluidorgans))
+
+(define fluidplug-fluidpercussion-lv2
+ (fluidplug-plugin->package fluidpercussion))
+
+(define fluidplug-fluidpianos-lv2
+ (fluidplug-plugin->package fluidpianos))
+
+(define fluidplug-fluidpipes-lv2
+ (fluidplug-plugin->package fluidpipes))
+
+(define fluidplug-fluidreeds-lv2
+ (fluidplug-plugin->package fluidreeds))
+
+(define fluidplug-fluidsoundfx-lv2
+ (fluidplug-plugin->package fluidsoundfx))
+
+(define fluidplug-fluidstrings-lv2
+ (fluidplug-plugin->package fluidstrings))
+
+(define fluidplug-fluidsynthfx-lv2
+ (fluidplug-plugin->package fluidsynthfx))
+
+(define fluidplug-fluidsynthleads-lv2
+ (fluidplug-plugin->package fluidsynthleads))
+
+(define fluidplug-fluidsynthpads-lv2
+ (fluidplug-plugin->package fluidsynthpads))
--
2.46.0
G
G
Giacomo Leidi wrote 6 days ago
[PATCH v5 3/3] teams: Add FluidPlug team.
(address . 69593@debbugs.gnu.org)(name . Giacomo Leidi)(address . goodoldpaul@autistici.org)
b9fc7980687de9e3e6348ac61bf4c8cb3b98dccd.1733010833.git.goodoldpaul@autistici.org
* etc/teams.scm (fluidplug): New team; add Giacomo to it.

Change-Id: I8c530f1a3c985521e4bc436b62120888143c1ab0
---
etc/teams.scm | 10 ++++++++++
1 file changed, 10 insertions(+)

Toggle diff (30 lines)
diff --git a/etc/teams.scm b/etc/teams.scm
index 4f86dfb954..33f4ba9cba 100755
--- a/etc/teams.scm
+++ b/etc/teams.scm
@@ -610,6 +610,12 @@ (define-team zig
"guix/build/zig-build-system.scm"
"guix/build-system/zig.scm")))
+(define-team fluidplug
+ (team 'fluidplug
+ #:name "FluidPlug"
+ #:description "FluidPlug LV2 plugins"
+ #:scope (list "gnu/packages/fluidplug.scm")))
+
(define-member (person "Eric Bavier"
"bavier@posteo.net")
@@ -780,6 +786,10 @@ (define-member (person "André Batista"
"nandre@riseup.net")
mozilla)
+(define-member (person "Giacomo Leidi"
+ "goodoldpaul@autistici.org")
+ fluidplug)
+
(define (find-team name)
(or (hash-ref %teams (string->symbol name))
--
2.46.0
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 69593@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 69593
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch