GNU bug report logs - #69593
Add FluidPlug

Previous Next

Package: guix-patches;

Reported by: paul <goodoldpaul <at> autistici.org>

Date: Wed, 6 Mar 2024 20:17:01 UTC

Severity: normal

Done: paul <goodoldpaul <at> autistici.org>

To reply to this bug, email your comments to 69593 AT debbugs.gnu.org.
There is no need to reopen the bug first.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Wed, 06 Mar 2024 20:17:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to paul <goodoldpaul <at> autistici.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Wed, 06 Mar 2024 20:17:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: paul <goodoldpaul <at> autistici.org>
To: guix-patches <at> gnu.org
Subject: Add FluidPlug
Date: Wed, 6 Mar 2024 21:16:00 +0100
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


[0]: https://github.com/falkTX/FluidPlug





Information forwarded to goodoldpaul <at> autistici.org, guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Wed, 06 Mar 2024 20:22:02 GMT) Full text and rfc822 format available.

Message #8 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: Giacomo Leidi <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul <at> autistici.org>
Subject: [PATCH 2/3] gnu: Add fluidplug plugins.
Date: Wed,  6 Mar 2024 21:20:45 +0100
* 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(+)

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





Information forwarded to goodoldpaul <at> autistici.org, guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Wed, 06 Mar 2024 20:22:02 GMT) Full text and rfc822 format available.

Message #11 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: Giacomo Leidi <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul <at> autistici.org>
Subject: [PATCH 1/3] gnu: Add fluidplug-lv2.
Date: Wed,  6 Mar 2024 21:20:44 +0100
* 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

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 <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Wed, 06 Mar 2024 20:22:02 GMT) Full text and rfc822 format available.

Message #14 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: Giacomo Leidi <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul <at> autistici.org>
Subject: [PATCH 3/3] teams: Add FluidPlug team.
Date: Wed,  6 Mar 2024 21:20:46 +0100
* etc/teams.scm (fluidplug): New team; add Giacomo to it.

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

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 <at> posteo.net")
@@ -724,6 +730,10 @@ (define-member (person "Mark H Weaver"
                        "mhw <at> netris.org")
   mozilla)
 
+(define-member (person "Giacomo Leidi"
+                       "goodoldpaul <at> autistici.org")
+  fluidplug)
+
 
 (define (find-team name)
   (or (hash-ref %teams (string->symbol name))
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Tue, 02 Apr 2024 22:38:02 GMT) Full text and rfc822 format available.

Message #17 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: paul <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Subject: Re: [bug#69593] Add FluidPlug
Date: Wed, 3 Apr 2024 00:37:14 +0200
Hello Guixers,

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


Thank you for your work,


giacomo





Information forwarded to goodoldpaul <at> autistici.org, guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Tue, 02 Apr 2024 22:39:01 GMT) Full text and rfc822 format available.

Message #20 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: Giacomo Leidi <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul <at> autistici.org>
Subject: [PATCH v2 1/3] gnu: Add fluidplug-lv2.
Date: Wed,  3 Apr 2024 00:37:56 +0200
* 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

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 <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Tue, 02 Apr 2024 22:39:02 GMT) Full text and rfc822 format available.

Message #23 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: Giacomo Leidi <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul <at> autistici.org>
Subject: [PATCH v2 3/3] teams: Add FluidPlug team.
Date: Wed,  3 Apr 2024 00:37:58 +0200
* etc/teams.scm (fluidplug): New team; add Giacomo to it.

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

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 <at> posteo.net")
@@ -731,6 +737,10 @@ (define-member (person "Adam Faiz"
                        "adam.faiz <at> disroot.org")
   games)
 
+(define-member (person "Giacomo Leidi"
+                       "goodoldpaul <at> autistici.org")
+  fluidplug)
+
 
 (define (find-team name)
   (or (hash-ref %teams (string->symbol name))
-- 
2.41.0





Information forwarded to goodoldpaul <at> autistici.org, guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Tue, 02 Apr 2024 22:39:02 GMT) Full text and rfc822 format available.

Message #26 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: Giacomo Leidi <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul <at> autistici.org>
Subject: [PATCH v2 2/3] gnu: Add fluidplug plugins.
Date: Wed,  3 Apr 2024 00:37:57 +0200
* 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(+)

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





Information forwarded to guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Fri, 03 May 2024 22:42:02 GMT) Full text and rfc822 format available.

Message #29 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: paul <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: gabriel <at> erlikon.ch
Subject: Re: [bug#69593] Add FluidPlug
Date: Sat, 4 May 2024 00:41:03 +0200
Hello Guixers,

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


Thank you for your work,


giacomo





Information forwarded to guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Wed, 04 Sep 2024 21:30:02 GMT) Full text and rfc822 format available.

Message #32 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: paul <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: gabriel <at> erlikon.ch
Subject: Re: [bug#69593] Add FluidPlug
Date: Wed, 4 Sep 2024 23:27:52 +0200
Hi Guix,


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


Thank you for your work,

giacomo





Information forwarded to goodoldpaul <at> autistici.org, guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Wed, 04 Sep 2024 21:45:02 GMT) Full text and rfc822 format available.

Message #35 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: Giacomo Leidi <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul <at> autistici.org>
Subject: [PATCH v3 1/3] gnu: Add fluidplug-lv2.
Date: Wed,  4 Sep 2024 23:43:14 +0200
* 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

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 <at> 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





Information forwarded to goodoldpaul <at> autistici.org, guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Wed, 04 Sep 2024 21:45:03 GMT) Full text and rfc822 format available.

Message #38 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: Giacomo Leidi <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul <at> autistici.org>
Subject: [PATCH v3 2/3] gnu: Add fluidplug plugins.
Date: Wed,  4 Sep 2024 23:43:15 +0200
* 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(+)

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





Information forwarded to guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Wed, 04 Sep 2024 21:45:03 GMT) Full text and rfc822 format available.

Message #41 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: Giacomo Leidi <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul <at> autistici.org>
Subject: [PATCH v3 3/3] teams: Add FluidPlug team.
Date: Wed,  4 Sep 2024 23:43:16 +0200
* etc/teams.scm (fluidplug): New team; add Giacomo to it.

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

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 <at> posteo.net")
@@ -748,6 +754,10 @@ (define-member (person "André Batista"
                        "nandre <at> riseup.net")
   mozilla)
 
+(define-member (person "Giacomo Leidi"
+                       "goodoldpaul <at> autistici.org")
+  fluidplug)
+
 
 (define (find-team name)
   (or (hash-ref %teams (string->symbol name))
-- 
2.45.2





Information forwarded to guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Sun, 20 Oct 2024 22:55:01 GMT) Full text and rfc822 format available.

Message #44 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: paul <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Subject: Re: Add FluidPlug
Date: Mon, 21 Oct 2024 00:54:00 +0200
Hi Guix , this is a friendly ping. I'm sending a patchset rebased on 
current master.

Thank you for your work,

giacomo





Information forwarded to goodoldpaul <at> autistici.org, guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Sun, 20 Oct 2024 22:55:02 GMT) Full text and rfc822 format available.

Message #47 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: Giacomo Leidi <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul <at> autistici.org>
Subject: [PATCH v3 2/3] gnu: Add fluidplug plugins.
Date: Mon, 21 Oct 2024 00:54:03 +0200
* 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(+)

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





Information forwarded to goodoldpaul <at> autistici.org, guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Sun, 20 Oct 2024 22:55:02 GMT) Full text and rfc822 format available.

Message #50 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: Giacomo Leidi <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul <at> autistici.org>
Subject: [PATCH v3 1/3] gnu: Add fluidplug-lv2.
Date: Mon, 21 Oct 2024 00:54:02 +0200
* 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

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 <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Sun, 20 Oct 2024 22:55:03 GMT) Full text and rfc822 format available.

Message #53 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: Giacomo Leidi <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul <at> autistici.org>
Subject: [PATCH v3 3/3] teams: Add FluidPlug team.
Date: Mon, 21 Oct 2024 00:54:04 +0200
* etc/teams.scm (fluidplug): New team; add Giacomo to it.

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

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 <at> posteo.net")
@@ -750,6 +756,10 @@ (define-member (person "André Batista"
                        "nandre <at> riseup.net")
   mozilla)
 
+(define-member (person "Giacomo Leidi"
+                       "goodoldpaul <at> autistici.org")
+  fluidplug)
+
 
 (define (find-team name)
   (or (hash-ref %teams (string->symbol name))
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Tue, 26 Nov 2024 21:06:02 GMT) Full text and rfc822 format available.

Message #56 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: Gabriel Wicki <gabriel <at> erlikon.ch>
To: paul <goodoldpaul <at> autistici.org>
Cc: 69593 <at> debbugs.gnu.org
Subject: Re: [bug#69593] Add FluidPlug
Date: Tue, 26 Nov 2024 22:04:52 +0100
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




Information forwarded to guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Sat, 30 Nov 2024 23:49:02 GMT) Full text and rfc822 format available.

Message #59 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: paul <goodoldpaul <at> autistici.org>
To: Gabriel Wicki <gabriel <at> erlikon.ch>
Cc: 69593 <at> debbugs.gnu.org
Subject: Re: [bug#69593] Add FluidPlug
Date: Sun, 1 Dec 2024 00:48:16 +0100
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





Information forwarded to goodoldpaul <at> autistici.org, guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Sat, 30 Nov 2024 23:49:03 GMT) Full text and rfc822 format available.

Message #62 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: Giacomo Leidi <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul <at> autistici.org>
Subject: [PATCH v4 2/3] gnu: Add fluidplug plugins.
Date: Sun,  1 Dec 2024 00:48:37 +0100
* 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(-)

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





Information forwarded to goodoldpaul <at> autistici.org, guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Sat, 30 Nov 2024 23:49:03 GMT) Full text and rfc822 format available.

Message #65 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: Giacomo Leidi <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul <at> autistici.org>
Subject: [PATCH v4 3/3] teams: Add FluidPlug team.
Date: Sun,  1 Dec 2024 00:48:38 +0100
* 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(-)

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 <at> posteo.net")
@@ -780,6 +786,10 @@ (define-member (person "André Batista"
                        "nandre <at> riseup.net")
   mozilla)
 
+(define-member (person "Giacomo Leidi"
+                       "goodoldpaul <at> 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





Information forwarded to goodoldpaul <at> autistici.org, guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Sat, 30 Nov 2024 23:49:03 GMT) Full text and rfc822 format available.

Message #68 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: Giacomo Leidi <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul <at> autistici.org>
Subject: [PATCH v4 1/3] gnu: Add fluidplug-lv2.
Date: Sun,  1 Dec 2024 00:48:36 +0100
* 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

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 <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Sat, 30 Nov 2024 23:53:01 GMT) Full text and rfc822 format available.

Message #71 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: paul <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Subject: Re: [bug#69593] Add FluidPlug
Date: Sun, 1 Dec 2024 00:52:22 +0100
Hi Guix,

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


Apologies for the noise,

giacomo





Information forwarded to goodoldpaul <at> autistici.org, guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Sat, 30 Nov 2024 23:55:01 GMT) Full text and rfc822 format available.

Message #74 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: Giacomo Leidi <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul <at> autistici.org>
Subject: [PATCH v5 1/3] gnu: Add fluidplug-lv2.
Date: Sun,  1 Dec 2024 00:53:51 +0100
* 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

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 <at> 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





Information forwarded to goodoldpaul <at> autistici.org, guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Sat, 30 Nov 2024 23:55:02 GMT) Full text and rfc822 format available.

Message #77 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: Giacomo Leidi <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul <at> autistici.org>
Subject: [PATCH v5 2/3] gnu: Add fluidplug plugins.
Date: Sun,  1 Dec 2024 00:53:52 +0100
* 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(-)

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





Information forwarded to guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Sat, 30 Nov 2024 23:55:02 GMT) Full text and rfc822 format available.

Message #80 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: Giacomo Leidi <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul <at> autistici.org>
Subject: [PATCH v5 3/3] teams: Add FluidPlug team.
Date: Sun,  1 Dec 2024 00:53:53 +0100
* etc/teams.scm (fluidplug): New team; add Giacomo to it.

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

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 <at> posteo.net")
@@ -780,6 +786,10 @@ (define-member (person "André Batista"
                        "nandre <at> riseup.net")
   mozilla)
 
+(define-member (person "Giacomo Leidi"
+                       "goodoldpaul <at> autistici.org")
+  fluidplug)
+
 
 (define (find-team name)
   (or (hash-ref %teams (string->symbol name))
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Thu, 03 Apr 2025 19:48:02 GMT) Full text and rfc822 format available.

Message #83 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: paul <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Subject: Re: [bug#69593] Add FluidPlug
Date: Thu, 3 Apr 2025 21:47:26 +0200
Hi,

I'm sending a patch set rebased on current master.


cheers

giacomo





Information forwarded to guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Thu, 03 Apr 2025 19:51:01 GMT) Full text and rfc822 format available.

Message #86 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: Giacomo Leidi <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul <at> autistici.org>
Subject: [PATCH v6 1/2] gnu: Add fluidplug-lv2.
Date: Thu,  3 Apr 2025 21:49:15 +0200
* 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

diff --git a/gnu/local.mk b/gnu/local.mk
index acc1a2bfa74..8e8f36fc8f3 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -301,6 +301,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 00000000000..969e99e776a
--- /dev/null
+++ b/gnu/packages/fluidplug.scm
@@ -0,0 +1,330 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Giacomo Leidi <goodoldpaul <at> 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: 6a2a78fde19683f07c8b10f492cda67447bc99eb
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#69593; Package guix-patches. (Thu, 03 Apr 2025 19:51:02 GMT) Full text and rfc822 format available.

Message #89 received at 69593 <at> debbugs.gnu.org (full text, mbox):

From: Giacomo Leidi <goodoldpaul <at> autistici.org>
To: 69593 <at> debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul <at> autistici.org>
Subject: [PATCH v6 2/2] gnu: Add fluidplug plugins.
Date: Thu,  3 Apr 2025 21:49:16 +0200
* 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(-)

diff --git a/gnu/packages/fluidplug.scm b/gnu/packages/fluidplug.scm
index 969e99e776a..4cc63c8106f 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.49.0





Reply sent to paul <goodoldpaul <at> autistici.org>:
You have taken responsibility. (Sun, 01 Jun 2025 10:07:03 GMT) Full text and rfc822 format available.

Notification sent to paul <goodoldpaul <at> autistici.org>:
bug acknowledged by developer. (Sun, 01 Jun 2025 10:07:03 GMT) Full text and rfc822 format available.

Message #94 received at 69593-done <at> debbugs.gnu.org (full text, mbox):

From: paul <goodoldpaul <at> autistici.org>
To: 69593-done <at> debbugs.gnu.org
Date: Sun, 1 Jun 2025 12:06:39 +0200
This will continue at https://codeberg.org/guix/guix/pulls/367 , in the 
hope it'll get more attention





This bug report was last modified 11 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.