all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#69593] Add FluidPlug
@ 2024-03-06 20:16 paul via Guix-patches via
  2024-03-06 20:20 ` [bug#69593] [PATCH 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
                   ` (5 more replies)
  0 siblings, 6 replies; 18+ messages in thread
From: paul via Guix-patches via @ 2024-03-06 20:16 UTC (permalink / raw)
  To: 69593

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





^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#69593] [PATCH 1/3] gnu: Add fluidplug-lv2.
  2024-03-06 20:16 [bug#69593] Add FluidPlug paul via Guix-patches via
@ 2024-03-06 20:20 ` Giacomo Leidi via Guix-patches via
  2024-03-06 20:20   ` [bug#69593] [PATCH 2/3] gnu: Add fluidplug plugins Giacomo Leidi via Guix-patches via
  2024-03-06 20:20   ` [bug#69593] [PATCH 3/3] teams: Add FluidPlug team Giacomo Leidi via Guix-patches via
  2024-04-02 22:37 ` [bug#69593] Add FluidPlug paul via Guix-patches via
                   ` (4 subsequent siblings)
  5 siblings, 2 replies; 18+ messages in thread
From: Giacomo Leidi via Guix-patches via @ 2024-03-06 20:20 UTC (permalink / raw)
  To: 69593; +Cc: Giacomo Leidi, Giacomo Leidi

* 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@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





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#69593] [PATCH 2/3] gnu: Add fluidplug plugins.
  2024-03-06 20:20 ` [bug#69593] [PATCH 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
@ 2024-03-06 20:20   ` Giacomo Leidi via Guix-patches via
  2024-03-06 20:20   ` [bug#69593] [PATCH 3/3] teams: Add FluidPlug team Giacomo Leidi via Guix-patches via
  1 sibling, 0 replies; 18+ messages in thread
From: Giacomo Leidi via Guix-patches via @ 2024-03-06 20:20 UTC (permalink / raw)
  To: 69593; +Cc: Giacomo Leidi, Giacomo Leidi

* 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





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#69593] [PATCH 3/3] teams: Add FluidPlug team.
  2024-03-06 20:20 ` [bug#69593] [PATCH 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
  2024-03-06 20:20   ` [bug#69593] [PATCH 2/3] gnu: Add fluidplug plugins Giacomo Leidi via Guix-patches via
@ 2024-03-06 20:20   ` Giacomo Leidi via Guix-patches via
  1 sibling, 0 replies; 18+ messages in thread
From: Giacomo Leidi via Guix-patches via @ 2024-03-06 20:20 UTC (permalink / raw)
  To: 69593; +Cc: Giacomo Leidi

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





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#69593] Add FluidPlug
  2024-03-06 20:16 [bug#69593] Add FluidPlug paul via Guix-patches via
  2024-03-06 20:20 ` [bug#69593] [PATCH 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
@ 2024-04-02 22:37 ` paul via Guix-patches via
  2024-05-03 22:41   ` paul via Guix-patches via
  2024-04-02 22:37 ` [bug#69593] [PATCH v2 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 18+ messages in thread
From: paul via Guix-patches via @ 2024-04-02 22:37 UTC (permalink / raw)
  To: 69593

Hello Guixers,

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


Thank you for your work,


giacomo





^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#69593] [PATCH v2 1/3] gnu: Add fluidplug-lv2.
  2024-03-06 20:16 [bug#69593] Add FluidPlug paul via Guix-patches via
  2024-03-06 20:20 ` [bug#69593] [PATCH 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
  2024-04-02 22:37 ` [bug#69593] Add FluidPlug paul via Guix-patches via
@ 2024-04-02 22:37 ` Giacomo Leidi via Guix-patches via
  2024-04-02 22:37   ` [bug#69593] [PATCH v2 2/3] gnu: Add fluidplug plugins Giacomo Leidi via Guix-patches via
  2024-04-02 22:37   ` [bug#69593] [PATCH v2 3/3] teams: Add FluidPlug team Giacomo Leidi via Guix-patches via
  2024-09-04 21:43 ` [bug#69593] [PATCH v3 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
                   ` (2 subsequent siblings)
  5 siblings, 2 replies; 18+ messages in thread
From: Giacomo Leidi via Guix-patches via @ 2024-04-02 22:37 UTC (permalink / raw)
  To: 69593; +Cc: Giacomo Leidi, Giacomo Leidi

* 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@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





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#69593] [PATCH v2 2/3] gnu: Add fluidplug plugins.
  2024-04-02 22:37 ` [bug#69593] [PATCH v2 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
@ 2024-04-02 22:37   ` Giacomo Leidi via Guix-patches via
  2024-04-02 22:37   ` [bug#69593] [PATCH v2 3/3] teams: Add FluidPlug team Giacomo Leidi via Guix-patches via
  1 sibling, 0 replies; 18+ messages in thread
From: Giacomo Leidi via Guix-patches via @ 2024-04-02 22:37 UTC (permalink / raw)
  To: 69593; +Cc: Giacomo Leidi, Giacomo Leidi

* 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





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#69593] [PATCH v2 3/3] teams: Add FluidPlug team.
  2024-04-02 22:37 ` [bug#69593] [PATCH v2 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
  2024-04-02 22:37   ` [bug#69593] [PATCH v2 2/3] gnu: Add fluidplug plugins Giacomo Leidi via Guix-patches via
@ 2024-04-02 22:37   ` Giacomo Leidi via Guix-patches via
  1 sibling, 0 replies; 18+ messages in thread
From: Giacomo Leidi via Guix-patches via @ 2024-04-02 22:37 UTC (permalink / raw)
  To: 69593; +Cc: Giacomo Leidi

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





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#69593] Add FluidPlug
  2024-04-02 22:37 ` [bug#69593] Add FluidPlug paul via Guix-patches via
@ 2024-05-03 22:41   ` paul via Guix-patches via
  2024-09-04 21:27     ` paul via Guix-patches via
  2024-11-26 21:04     ` Gabriel Wicki
  0 siblings, 2 replies; 18+ messages in thread
From: paul via Guix-patches via @ 2024-05-03 22:41 UTC (permalink / raw)
  To: 69593; +Cc: gabriel

Hello Guixers,

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


Thank you for your work,


giacomo





^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#69593] Add FluidPlug
  2024-05-03 22:41   ` paul via Guix-patches via
@ 2024-09-04 21:27     ` paul via Guix-patches via
  2024-11-26 21:04     ` Gabriel Wicki
  1 sibling, 0 replies; 18+ messages in thread
From: paul via Guix-patches via @ 2024-09-04 21:27 UTC (permalink / raw)
  To: 69593; +Cc: gabriel

Hi Guix,


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


Thank you for your work,

giacomo





^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#69593] [PATCH v3 1/3] gnu: Add fluidplug-lv2.
  2024-03-06 20:16 [bug#69593] Add FluidPlug paul via Guix-patches via
                   ` (2 preceding siblings ...)
  2024-04-02 22:37 ` [bug#69593] [PATCH v2 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
@ 2024-09-04 21:43 ` Giacomo Leidi via Guix-patches via
  2024-09-04 21:43   ` [bug#69593] [PATCH v3 2/3] gnu: Add fluidplug plugins Giacomo Leidi via Guix-patches via
  2024-09-04 21:43   ` [bug#69593] [PATCH v3 3/3] teams: Add FluidPlug team Giacomo Leidi via Guix-patches via
  2024-10-20 22:54 ` [bug#69593] Add FluidPlug paul via Guix-patches via
  2024-10-20 22:54 ` [bug#69593] [PATCH v3 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
  5 siblings, 2 replies; 18+ messages in thread
From: Giacomo Leidi via Guix-patches via @ 2024-09-04 21:43 UTC (permalink / raw)
  To: 69593; +Cc: Giacomo Leidi, Giacomo Leidi

* 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@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





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#69593] [PATCH v3 2/3] gnu: Add fluidplug plugins.
  2024-09-04 21:43 ` [bug#69593] [PATCH v3 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
@ 2024-09-04 21:43   ` Giacomo Leidi via Guix-patches via
  2024-09-04 21:43   ` [bug#69593] [PATCH v3 3/3] teams: Add FluidPlug team Giacomo Leidi via Guix-patches via
  1 sibling, 0 replies; 18+ messages in thread
From: Giacomo Leidi via Guix-patches via @ 2024-09-04 21:43 UTC (permalink / raw)
  To: 69593; +Cc: Giacomo Leidi, Giacomo Leidi

* 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





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#69593] [PATCH v3 3/3] teams: Add FluidPlug team.
  2024-09-04 21:43 ` [bug#69593] [PATCH v3 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
  2024-09-04 21:43   ` [bug#69593] [PATCH v3 2/3] gnu: Add fluidplug plugins Giacomo Leidi via Guix-patches via
@ 2024-09-04 21:43   ` Giacomo Leidi via Guix-patches via
  1 sibling, 0 replies; 18+ messages in thread
From: Giacomo Leidi via Guix-patches via @ 2024-09-04 21:43 UTC (permalink / raw)
  To: 69593; +Cc: Giacomo Leidi

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





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#69593] Add FluidPlug
  2024-03-06 20:16 [bug#69593] Add FluidPlug paul via Guix-patches via
                   ` (3 preceding siblings ...)
  2024-09-04 21:43 ` [bug#69593] [PATCH v3 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
@ 2024-10-20 22:54 ` paul via Guix-patches via
  2024-10-20 22:54 ` [bug#69593] [PATCH v3 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
  5 siblings, 0 replies; 18+ messages in thread
From: paul via Guix-patches via @ 2024-10-20 22:54 UTC (permalink / raw)
  To: 69593

Hi Guix , this is a friendly ping. I'm sending a patchset rebased on 
current master.

Thank you for your work,

giacomo





^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#69593] [PATCH v3 1/3] gnu: Add fluidplug-lv2.
  2024-03-06 20:16 [bug#69593] Add FluidPlug paul via Guix-patches via
                   ` (4 preceding siblings ...)
  2024-10-20 22:54 ` [bug#69593] Add FluidPlug paul via Guix-patches via
@ 2024-10-20 22:54 ` Giacomo Leidi via Guix-patches via
  2024-10-20 22:54   ` [bug#69593] [PATCH v3 2/3] gnu: Add fluidplug plugins Giacomo Leidi via Guix-patches via
  2024-10-20 22:54   ` [bug#69593] [PATCH v3 3/3] teams: Add FluidPlug team Giacomo Leidi via Guix-patches via
  5 siblings, 2 replies; 18+ messages in thread
From: Giacomo Leidi via Guix-patches via @ 2024-10-20 22:54 UTC (permalink / raw)
  To: 69593; +Cc: Giacomo Leidi, Giacomo Leidi

* 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@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





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#69593] [PATCH v3 2/3] gnu: Add fluidplug plugins.
  2024-10-20 22:54 ` [bug#69593] [PATCH v3 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
@ 2024-10-20 22:54   ` Giacomo Leidi via Guix-patches via
  2024-10-20 22:54   ` [bug#69593] [PATCH v3 3/3] teams: Add FluidPlug team Giacomo Leidi via Guix-patches via
  1 sibling, 0 replies; 18+ messages in thread
From: Giacomo Leidi via Guix-patches via @ 2024-10-20 22:54 UTC (permalink / raw)
  To: 69593; +Cc: Giacomo Leidi, Giacomo Leidi

* 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





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#69593] [PATCH v3 3/3] teams: Add FluidPlug team.
  2024-10-20 22:54 ` [bug#69593] [PATCH v3 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
  2024-10-20 22:54   ` [bug#69593] [PATCH v3 2/3] gnu: Add fluidplug plugins Giacomo Leidi via Guix-patches via
@ 2024-10-20 22:54   ` Giacomo Leidi via Guix-patches via
  1 sibling, 0 replies; 18+ messages in thread
From: Giacomo Leidi via Guix-patches via @ 2024-10-20 22:54 UTC (permalink / raw)
  To: 69593; +Cc: Giacomo Leidi

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





^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#69593] Add FluidPlug
  2024-05-03 22:41   ` paul via Guix-patches via
  2024-09-04 21:27     ` paul via Guix-patches via
@ 2024-11-26 21:04     ` Gabriel Wicki
  1 sibling, 0 replies; 18+ messages in thread
From: Gabriel Wicki @ 2024-11-26 21:04 UTC (permalink / raw)
  To: paul; +Cc: 69593

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




^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2024-11-26 21:06 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-06 20:16 [bug#69593] Add FluidPlug paul via Guix-patches via
2024-03-06 20:20 ` [bug#69593] [PATCH 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
2024-03-06 20:20   ` [bug#69593] [PATCH 2/3] gnu: Add fluidplug plugins Giacomo Leidi via Guix-patches via
2024-03-06 20:20   ` [bug#69593] [PATCH 3/3] teams: Add FluidPlug team Giacomo Leidi via Guix-patches via
2024-04-02 22:37 ` [bug#69593] Add FluidPlug paul via Guix-patches via
2024-05-03 22:41   ` paul via Guix-patches via
2024-09-04 21:27     ` paul via Guix-patches via
2024-11-26 21:04     ` Gabriel Wicki
2024-04-02 22:37 ` [bug#69593] [PATCH v2 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
2024-04-02 22:37   ` [bug#69593] [PATCH v2 2/3] gnu: Add fluidplug plugins Giacomo Leidi via Guix-patches via
2024-04-02 22:37   ` [bug#69593] [PATCH v2 3/3] teams: Add FluidPlug team Giacomo Leidi via Guix-patches via
2024-09-04 21:43 ` [bug#69593] [PATCH v3 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
2024-09-04 21:43   ` [bug#69593] [PATCH v3 2/3] gnu: Add fluidplug plugins Giacomo Leidi via Guix-patches via
2024-09-04 21:43   ` [bug#69593] [PATCH v3 3/3] teams: Add FluidPlug team Giacomo Leidi via Guix-patches via
2024-10-20 22:54 ` [bug#69593] Add FluidPlug paul via Guix-patches via
2024-10-20 22:54 ` [bug#69593] [PATCH v3 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
2024-10-20 22:54   ` [bug#69593] [PATCH v3 2/3] gnu: Add fluidplug plugins Giacomo Leidi via Guix-patches via
2024-10-20 22:54   ` [bug#69593] [PATCH v3 3/3] teams: Add FluidPlug team Giacomo Leidi via Guix-patches via

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.