unofficial mirror of guix-patches@gnu.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
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ 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] 8+ 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
  2024-04-02 22:37 ` [bug#69593] [PATCH v2 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
  2 siblings, 2 replies; 8+ 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] 8+ 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; 8+ 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] 8+ 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; 8+ 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] 8+ 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-04-02 22:37 ` [bug#69593] [PATCH v2 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
  2 siblings, 0 replies; 8+ 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] 8+ 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
  2 siblings, 2 replies; 8+ 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] 8+ 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; 8+ 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] 8+ 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; 8+ 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] 8+ messages in thread

end of thread, other threads:[~2024-04-02 22:39 UTC | newest]

Thread overview: 8+ 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-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

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).