diff options
| author | Giacomo Leidi <goodoldpaul@autistici.org> | 2024-03-06 21:07:24 +0100 |
|---|---|---|
| committer | Gabriel Wicki <gabriel@erlikon.ch> | 2025-08-03 12:13:15 +0200 |
| commit | bc4652f66595e1f94f12944f5af905c6744201a6 (patch) | |
| tree | 658b06a29eb835799005ed959e1455d07e9f8e56 | |
| parent | 1163a2b3b0f8cf256b87b52ca6c84ae6a332aef2 (diff) | |
gnu: Add FluidPlug plugins.
* gnu/packages/fluidplug.scm: New file;
(fluidplug-lv2): New variable;
(fluidplug-plugin->package): New procedure;
(fluidplug-airfont320-lv2, fluidplug-avl-drumkits-perc-lv2,
fluidplug-black-pearl-4a-lv2, fluidplug-black-pearl-4b-lv2,
fluidplug-black-pearl-5-lv2, fluidplug-red-zeppelin-4-lv2,
fluidplug-red-zeppelin-5-lv2, fluidplug-fluidgm-lv2,
fluidplug-fluidbass-lv2, fluidplug-fluidbrass-lv2,
fluidplug-fluidchromperc-lv2, fluidplug-fluiddrums-lv2,
fluidplug-fluidensemble-lv2, fluidplug-fluidethnic-lv2,
fluidplug-fluidguitars-lv2, fluidplug-fluidorgans-lv2,
fluidplug-fluidpercussion-lv2, fluidplug-fluidpianos-lv2,
fluidplug-fluidpipes-lv2, fluidplug-fluidreeds-lv2,
fluidplug-fluidsoundfx-lv2, fluidplug-fluidstrings-lv2,
fluidplug-fluidsynthfx-lv2, fluidplug-fluidsynthleads-lv2,
fluidplug-fluidsynthpads-lv2): New variables.
* gnu/local.mk: Add it.
* CODEOWNERS: Add it to audio team's scope.
* etc/teams.scm: Add it to audio team's scope.
Change-Id: I3692e2ed462bf71abe56d07712b8846a4228ad90
| -rw-r--r-- | CODEOWNERS | 1 | ||||
| -rwxr-xr-x | etc/teams.scm | 1 | ||||
| -rw-r--r-- | gnu/local.mk | 1 | ||||
| -rw-r--r-- | gnu/packages/fluidplug.scm | 480 |
4 files changed, 483 insertions, 0 deletions
diff --git a/CODEOWNERS b/CODEOWNERS index b4f5ffe7379..b077b79a6ef 100644 --- a/CODEOWNERS +++ b/CODEOWNERS | |||
| @@ -7,6 +7,7 @@ | |||
| 7 | # usually suited as a reviewer. | 7 | # usually suited as a reviewer. |
| 8 | 8 | ||
| 9 | gnu/packages/audio\.scm @guix/audio | 9 | gnu/packages/audio\.scm @guix/audio |
| 10 | gnu/packages/fluidplug\.scm @guix/audio | ||
| 10 | gnu/packages/xiph\.scm @guix/audio | 11 | gnu/packages/xiph\.scm @guix/audio |
| 11 | 12 | ||
| 12 | gnu/packages/commencement\.scm @guix/bootstrap | 13 | gnu/packages/commencement\.scm @guix/bootstrap |
diff --git a/etc/teams.scm b/etc/teams.scm index 28f2504048b..4f4808fd0a8 100755 --- a/etc/teams.scm +++ b/etc/teams.scm | |||
| @@ -448,6 +448,7 @@ already exists. Lookup team IDs among CURRENT-TEAMS." | |||
| 448 | #:name "Audio team" | 448 | #:name "Audio team" |
| 449 | #:description "Audio related packages." | 449 | #:description "Audio related packages." |
| 450 | #:scope (list "gnu/packages/audio.scm" | 450 | #:scope (list "gnu/packages/audio.scm" |
| 451 | "gnu/packages/fluidplug.scm" | ||
| 451 | "gnu/packages/xiph.scm"))) | 452 | "gnu/packages/xiph.scm"))) |
| 452 | 453 | ||
| 453 | (define-team bootstrap | 454 | (define-team bootstrap |
diff --git a/gnu/local.mk b/gnu/local.mk index f12df53b72a..179e3948c05 100644 --- a/gnu/local.mk +++ b/gnu/local.mk | |||
| @@ -306,6 +306,7 @@ GNU_SYSTEM_MODULES = \ | |||
| 306 | %D%/packages/flashing-tools.scm \ | 306 | %D%/packages/flashing-tools.scm \ |
| 307 | %D%/packages/flex.scm \ | 307 | %D%/packages/flex.scm \ |
| 308 | %D%/packages/fltk.scm \ | 308 | %D%/packages/fltk.scm \ |
| 309 | %D%/packages/fluidplug.scm \ | ||
| 309 | %D%/packages/fonts.scm \ | 310 | %D%/packages/fonts.scm \ |
| 310 | %D%/packages/fontutils.scm \ | 311 | %D%/packages/fontutils.scm \ |
| 311 | %D%/packages/fpga.scm \ | 312 | %D%/packages/fpga.scm \ |
diff --git a/gnu/packages/fluidplug.scm b/gnu/packages/fluidplug.scm new file mode 100644 index 00000000000..c731f295bac --- /dev/null +++ b/gnu/packages/fluidplug.scm | |||
| @@ -0,0 +1,480 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | ||
| 2 | ;;; Copyright © 2025 Giacomo Leidi <goodoldpaul@autistici.org> | ||
| 3 | ;;; | ||
| 4 | ;;; This file is part of GNU Guix. | ||
| 5 | ;;; | ||
| 6 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | ||
| 7 | ;;; under the terms of the GNU General Public License as published by | ||
| 8 | ;;; the Free Software Foundation; either version 3 of the License, or (at | ||
| 9 | ;;; your option) any later version. | ||
| 10 | ;;; | ||
| 11 | ;;; GNU Guix is distributed in the hope that it will be useful, but | ||
| 12 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | ;;; GNU General Public License for more details. | ||
| 15 | ;;; | ||
| 16 | ;;; You should have received a copy of the GNU General Public License | ||
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | ||
| 18 | |||
| 19 | (define-module (gnu packages fluidplug) | ||
| 20 | #:use-module (guix build-system gnu) | ||
| 21 | #:use-module (guix download) | ||
| 22 | #:use-module (guix gexp) | ||
| 23 | #:use-module (guix git-download) | ||
| 24 | #:use-module ((guix licenses) | ||
| 25 | #:prefix license:) | ||
| 26 | #:use-module (guix packages) | ||
| 27 | #:use-module (guix records) | ||
| 28 | #:use-module (guix utils) | ||
| 29 | #:use-module (gnu packages audio) | ||
| 30 | #:use-module (gnu packages base) | ||
| 31 | #:use-module (gnu packages compression) | ||
| 32 | #:use-module (gnu packages pkg-config) | ||
| 33 | #:use-module (srfi srfi-1) | ||
| 34 | #:export (fluidplug-plugin | ||
| 35 | fluidplug-plugin? | ||
| 36 | fluidplug-plugin-name | ||
| 37 | fluidplug-plugin-path | ||
| 38 | fluidplug-plugin-hash | ||
| 39 | fluidplug-plugin-license | ||
| 40 | |||
| 41 | fluidplug-lv2 | ||
| 42 | |||
| 43 | fluidplug-plugin->package | ||
| 44 | fluidplug-airfont320-lv2 | ||
| 45 | fluidplug-avl-drumkits-perc-lv2 | ||
| 46 | fluidplug-black-pearl-4a-lv2 | ||
| 47 | fluidplug-black-pearl-4b-lv2 | ||
| 48 | fluidplug-black-pearl-5-lv2 | ||
| 49 | fluidplug-red-zeppelin-4-lv2 | ||
| 50 | fluidplug-red-zeppelin-5-lv2 | ||
| 51 | fluidplug-fluidgm-lv2 | ||
| 52 | fluidplug-fluidbass-lv2 | ||
| 53 | fluidplug-fluidbrass-lv2 | ||
| 54 | fluidplug-fluidchromperc-lv2 | ||
| 55 | fluidplug-fluiddrums-lv2 | ||
| 56 | fluidplug-fluidensemble-lv2 | ||
| 57 | fluidplug-fluidethnic-lv2 | ||
| 58 | fluidplug-fluidguitars-lv2 | ||
| 59 | fluidplug-fluidorgans-lv2 | ||
| 60 | fluidplug-fluidpercussion-lv2 | ||
| 61 | fluidplug-fluidpianos-lv2 | ||
| 62 | fluidplug-fluidpipes-lv2 | ||
| 63 | fluidplug-fluidreeds-lv2 | ||
| 64 | fluidplug-fluidsoundfx-lv2 | ||
| 65 | fluidplug-fluidstrings-lv2 | ||
| 66 | fluidplug-fluidsynthfx-lv2 | ||
| 67 | fluidplug-fluidsynthleads-lv2 | ||
| 68 | fluidplug-fluidsynthpads-lv2)) | ||
| 69 | |||
| 70 | (define-record-type* <fluidplug-plugin> | ||
| 71 | fluidplug-plugin make-fluidplug-plugin | ||
| 72 | fluidplug-plugin? | ||
| 73 | (name fluidplug-plugin-name) ;string | ||
| 74 | (hash fluidplug-plugin-hash) ;string | ||
| 75 | (path fluidplug-plugin-path) ;string | ||
| 76 | (license fluidplug-plugin-license ;license | ||
| 77 | (default license:cc-by-sa4.0))) | ||
| 78 | |||
| 79 | (define (fluidplug-plugin->package-name record) | ||
| 80 | (string-append "fluidplug-" | ||
| 81 | (string-downcase | ||
| 82 | (string-replace-substring | ||
| 83 | (fluidplug-plugin-name record) "_" "-")) | ||
| 84 | "-lv2")) | ||
| 85 | |||
| 86 | (define (fluidplug-plugin->origin record) | ||
| 87 | (origin | ||
| 88 | (method url-fetch) | ||
| 89 | (uri | ||
| 90 | (string-append "https://download.linuxaudio.org/" | ||
| 91 | "musical-instrument-libraries/sf2/" | ||
| 92 | (fluidplug-plugin-path record))) | ||
| 93 | (sha256 | ||
| 94 | (base32 (fluidplug-plugin-hash record))))) | ||
| 95 | |||
| 96 | (define (fluidplug-plugin->local-path record) | ||
| 97 | (string-append "./" (fluidplug-plugin-name record) ".lv2/" | ||
| 98 | (basename (fluidplug-plugin-path record)))) | ||
| 99 | |||
| 100 | (define airfont320 | ||
| 101 | (fluidplug-plugin | ||
| 102 | (name "AirFont320") | ||
| 103 | (path "airfont_a340u.tar.7z") | ||
| 104 | (hash "1x4xzm4khq823i4p18ydbkjza2nv3hzwyxp7vf3gzqs374jdcqbw") | ||
| 105 | (license license:gpl2))) | ||
| 106 | |||
| 107 | (define avl-drumkits-perc | ||
| 108 | (fluidplug-plugin | ||
| 109 | (name "AVL_Drumkits_Perc") | ||
| 110 | (path "AVL-Drumkits-1.1-SF2-splitted/AVL_Drumkits_Perc_1.1.tar.7z") | ||
| 111 | (hash "0l1zvzw9dg922wf9llcl9zlw5ybjmayg7yqacp253xcr2jz1hn7m") | ||
| 112 | (license license:cc-by-sa3.0))) | ||
| 113 | |||
| 114 | (define black-pearl-4a | ||
| 115 | (fluidplug-plugin | ||
| 116 | (name "Black_Pearl_4A") | ||
| 117 | (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_4A-1.1.tar.7z") | ||
| 118 | (hash "0flzlg5m2r3df8dchydzg3xllcv7ignr7hx6qxzy51s6gzrlbzli") | ||
| 119 | (license license:cc-by-sa3.0))) | ||
| 120 | |||
| 121 | (define black-pearl-4b | ||
| 122 | (fluidplug-plugin | ||
| 123 | (name "Black_Pearl_4B") | ||
| 124 | (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_4B-1.1.tar.7z") | ||
| 125 | (hash "1z5q8z4k81xnbcv0gpc2xgrzqm9fg4n2yly1kaw82q7sm29vi0z9") | ||
| 126 | (license license:cc-by-sa3.0))) | ||
| 127 | |||
| 128 | (define black-pearl-5 | ||
| 129 | (fluidplug-plugin | ||
| 130 | (name "Black_Pearl_5") | ||
| 131 | (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_5-1.1.tar.7z") | ||
| 132 | (hash "0mg41wc912sfj2mydn86ychwk21l3ngbn7k3qsm6jgf1ipmsip9y") | ||
| 133 | (license license:cc-by-sa3.0))) | ||
| 134 | |||
| 135 | (define red-zeppelin-4 | ||
| 136 | (fluidplug-plugin | ||
| 137 | (name "Red_Zeppelin_4") | ||
| 138 | (path "AVL-Drumkits-1.1-SF2-splitted/Red_Zeppelin_4-1.1.tar.7z") | ||
| 139 | (hash "0pcswg4hlyn8j6nghbwvxa71ibp6r0wxcbxjzxs4iim43vpxc659") | ||
| 140 | (license license:cc-by-sa3.0))) | ||
| 141 | |||
| 142 | (define red-zeppelin-5 | ||
| 143 | (fluidplug-plugin | ||
| 144 | (name "Red_Zeppelin_5") | ||
| 145 | (path "AVL-Drumkits-1.1-SF2-splitted/Red_Zeppelin_5-1.1.tar.7z") | ||
| 146 | (hash "18hhmi1d1i7gr2rp4wn28pnfwl825rmhmjnvxvvcwdmis6nad4gm") | ||
| 147 | (license license:cc-by-sa3.0))) | ||
| 148 | |||
| 149 | (define fluidgm | ||
| 150 | (fluidplug-plugin | ||
| 151 | (name "FluidGM") | ||
| 152 | (path "fluidr3.tar.7z") | ||
| 153 | (hash "00ka1b2pxn0g2g0hm7kdg5w785pfx8f9585238d183wjdkc3a8m6") | ||
| 154 | (license license:expat))) | ||
| 155 | |||
| 156 | (define fluidbass | ||
| 157 | (fluidplug-plugin | ||
| 158 | (name "FluidBass") | ||
| 159 | (path "fluidr3-splitted/fluidr3gm_bass.sf2.tar.7z") | ||
| 160 | (hash "1zhixrxkwvmn6xkpy9f8zkrwxmaqwdcx0jz7zg8lc2amqkx9wqan"))) | ||
| 161 | |||
| 162 | (define fluidbrass | ||
| 163 | (fluidplug-plugin | ||
| 164 | (name "FluidBrass") | ||
| 165 | (path "fluidr3-splitted/fluidr3gm_brass.sf2.tar.7z") | ||
| 166 | (hash "027l3q4q9011xzbzsrsp5nj3h05w9dj7d8b943xzck7q4sp9alkp"))) | ||
| 167 | |||
| 168 | (define fluidchromperc | ||
| 169 | (fluidplug-plugin | ||
| 170 | (name "FluidChromPerc") | ||
| 171 | (path "fluidr3-splitted/fluidr3gm_chromaticpercussion.sf2.tar.7z") | ||
| 172 | (hash "1233fh36wlifrawh57v8vycxc0g4pbvy3qr9f596g9n7mm4h51f7"))) | ||
| 173 | |||
| 174 | (define fluiddrums | ||
| 175 | (fluidplug-plugin | ||
| 176 | (name "FluidDrums") | ||
| 177 | (path "fluidr3-splitted/fluidr3gm_drums.sf2.tar.7z") | ||
| 178 | (hash "01pv3aj52pz8xy29acprwkb69jxhrn64kx7w29ch5bl091lccqgr"))) | ||
| 179 | |||
| 180 | (define fluidensemble | ||
| 181 | (fluidplug-plugin | ||
| 182 | (name "FluidEnsemble") | ||
| 183 | (path "fluidr3-splitted/fluidr3gm_ensemble.sf2.tar.7z") | ||
| 184 | (hash "0rswcgzapcjmwddh2hgicym27hqz3p43r2s8j7hy1s40hzk3nbax"))) | ||
| 185 | |||
| 186 | (define fluidethnic | ||
| 187 | (fluidplug-plugin | ||
| 188 | (name "FluidEthnic") | ||
| 189 | (path "fluidr3-splitted/fluidr3gm_ethnic.sf2.tar.7z") | ||
| 190 | (hash "0z1z37wn6lw1n919bkpfirachg5wwddi7f0g4l9vimazv34ds1b1"))) | ||
| 191 | |||
| 192 | (define fluidguitars | ||
| 193 | (fluidplug-plugin | ||
| 194 | (name "FluidGuitars") | ||
| 195 | (path "fluidr3-splitted/fluidr3gm_guitar.sf2.tar.7z") | ||
| 196 | (hash "1d5jxx4sgbyh9sqmfksggcsri9hal7mw83a6h1vqb9xf59gnmx1i"))) | ||
| 197 | |||
| 198 | (define fluidorgans | ||
| 199 | (fluidplug-plugin | ||
| 200 | (name "FluidOrgans") | ||
| 201 | (path "fluidr3-splitted/fluidr3gm_organ.sf2.tar.7z") | ||
| 202 | (hash "12zlq28cmr2hsgn1319hidzcm8yifx6vsqsqk544z3qkhc8cg4fr"))) | ||
| 203 | |||
| 204 | (define fluidpercussion | ||
| 205 | (fluidplug-plugin | ||
| 206 | (name "FluidPercussion") | ||
| 207 | (path "fluidr3-splitted/fluidr3gm_percussive.sf2.tar.7z") | ||
| 208 | (hash "1gql0g1zk09n6r90mav47khdc406jhmg5iql6i2zjmg9l7yg65n3"))) | ||
| 209 | |||
| 210 | (define fluidpianos | ||
| 211 | (fluidplug-plugin | ||
| 212 | (name "FluidPianos") | ||
| 213 | (path "fluidr3-splitted/fluidr3gm_piano.sf2.tar.7z") | ||
| 214 | (hash "06a817xvx7qj8plr1vhpanbdr97cbmzky0pp6xhff916s5k0jg2r"))) | ||
| 215 | |||
| 216 | (define fluidpipes | ||
| 217 | (fluidplug-plugin | ||
| 218 | (name "FluidPipes") | ||
| 219 | (path "fluidr3-splitted/fluidr3gm_pipe.sf2.tar.7z") | ||
| 220 | (hash "09wzvsabcif27687g71g4m75zz08zpwpm2dzwh8a7xsfi5qdynf2"))) | ||
| 221 | |||
| 222 | (define fluidreeds | ||
| 223 | (fluidplug-plugin | ||
| 224 | (name "FluidReeds") | ||
| 225 | (path "fluidr3-splitted/fluidr3gm_reed.sf2.tar.7z") | ||
| 226 | (hash "1yb0whi67wz7ag6hcfdns69m1ic3fq6firvbb893ilnx8h17yjak"))) | ||
| 227 | |||
| 228 | (define fluidsoundfx | ||
| 229 | (fluidplug-plugin | ||
| 230 | (name "FluidSoundFX") | ||
| 231 | (path "fluidr3-splitted/fluidr3gm_soundeffects.sf2.tar.7z") | ||
| 232 | (hash "0sg8gca9735gy0pna63vgsfnabk54dl30n1lnhcf976n7y0npzfx"))) | ||
| 233 | |||
| 234 | (define fluidstrings | ||
| 235 | (fluidplug-plugin | ||
| 236 | (name "FluidStrings") | ||
| 237 | (path "fluidr3-splitted/fluidr3gm_strings.sf2.tar.7z") | ||
| 238 | (hash "1nnxr62i3p3hhdpwlly62c4cvf7f3dzq818fmlnlxp25215h17bs"))) | ||
| 239 | |||
| 240 | (define fluidsynthfx | ||
| 241 | (fluidplug-plugin | ||
| 242 | (name "FluidSynthFX") | ||
| 243 | (path "fluidr3-splitted/fluidr3gm_syntheffects.sf2.tar.7z") | ||
| 244 | (hash "0rlq58v9m6wjk45kxmza54y8fkj1b8y1zg00r80nwyqz6rylgjh4"))) | ||
| 245 | |||
| 246 | (define fluidsynthleads | ||
| 247 | (fluidplug-plugin | ||
| 248 | (name "FluidSynthLeads") | ||
| 249 | (path "fluidr3-splitted/fluidr3gm_synthlead.sf2.tar.7z") | ||
| 250 | (hash "0axi5dyqf8zh1gn82qq0jpzr0cgbsjn4xm0yrlqld4k6h9ggj475"))) | ||
| 251 | |||
| 252 | (define fluidsynthpads | ||
| 253 | (fluidplug-plugin | ||
| 254 | (name "FluidSynthPads") | ||
| 255 | (path "fluidr3-splitted/fluidr3gm_synthpad.sf2.tar.7z") | ||
| 256 | (hash "1q4pd6ymb08yc6rz68wlidjp5kp7pygc2aw45djw9wr8id6pnadi"))) | ||
| 257 | |||
| 258 | (define fluidplug-plugins | ||
| 259 | (list airfont320 | ||
| 260 | avl-drumkits-perc | ||
| 261 | black-pearl-4a | ||
| 262 | black-pearl-4b | ||
| 263 | black-pearl-5 | ||
| 264 | red-zeppelin-4 | ||
| 265 | red-zeppelin-5 | ||
| 266 | fluidgm | ||
| 267 | fluidbass | ||
| 268 | fluidbrass | ||
| 269 | fluidchromperc | ||
| 270 | fluiddrums | ||
| 271 | fluidensemble | ||
| 272 | fluidethnic | ||
| 273 | fluidguitars | ||
| 274 | fluidorgans | ||
| 275 | fluidpercussion | ||
| 276 | fluidpianos | ||
| 277 | fluidpipes | ||
| 278 | fluidreeds | ||
| 279 | fluidsoundfx | ||
| 280 | fluidstrings | ||
| 281 | fluidsynthfx | ||
| 282 | fluidsynthleads | ||
| 283 | fluidsynthpads)) | ||
| 284 | |||
| 285 | (define fluidplug-lv2 | ||
| 286 | (let ((version "0.0.5") | ||
| 287 | (revision "0") | ||
| 288 | ;; Latest commit from the default brach. | ||
| 289 | (commit "1cf494cb3a5b1f7f2a95f872768a1eef141c3e0a")) | ||
| 290 | (package | ||
| 291 | (name "fluidplug-lv2") | ||
| 292 | (version (git-version version revision commit)) | ||
| 293 | (source (origin | ||
| 294 | (method git-fetch) | ||
| 295 | (uri (git-reference | ||
| 296 | (url "https://github.com/falkTX/FluidPlug") | ||
| 297 | (commit commit))) | ||
| 298 | (file-name (git-file-name name version)) | ||
| 299 | (sha256 | ||
| 300 | (base32 | ||
| 301 | "0rqy4xzswkvmqa4mwyy5nz6r8w4bxjfg2rafbid4lb0izjnhma8q")))) | ||
| 302 | (build-system gnu-build-system) | ||
| 303 | (arguments | ||
| 304 | (list | ||
| 305 | #:tests? #f ;there are no tests. | ||
| 306 | #:make-flags #~(list (string-append "CC=" #$(cc-for-target)) | ||
| 307 | (string-append "DESTDIR=" #$output) | ||
| 308 | "PREFIX=") | ||
| 309 | #:phases | ||
| 310 | #~(modify-phases %standard-phases | ||
| 311 | (add-after 'unpack 'conditionally-enable-amd64-optimizations | ||
| 312 | (lambda _ | ||
| 313 | (let ((system #$(or (%current-target-system) | ||
| 314 | (%current-system)))) | ||
| 315 | (unless (string-prefix? "x86_64" system) | ||
| 316 | (substitute* "Makefile.mk" | ||
| 317 | (("-msse -msse2 -mfpmath=sse") "")))))) | ||
| 318 | (add-after 'conditionally-enable-amd64-optimizations | ||
| 319 | 'disable-plugin-download | ||
| 320 | (lambda _ | ||
| 321 | ;; SoundFonts can't be downloaded at build time | ||
| 322 | ;; in Guix, so it is disabled. | ||
| 323 | (substitute* "Makefile" | ||
| 324 | (("wget") "# wget")))) | ||
| 325 | (add-after 'disable-plugin-download 'unpack-plugins | ||
| 326 | (lambda _ | ||
| 327 | (use-modules (srfi srfi-1)) | ||
| 328 | (for-each | ||
| 329 | (lambda (p) | ||
| 330 | (define source (first p)) | ||
| 331 | (define target (second p)) | ||
| 332 | (symlink source target)) | ||
| 333 | '(#$@(map | ||
| 334 | (lambda (p) | ||
| 335 | (list (fluidplug-plugin->origin p) | ||
| 336 | (fluidplug-plugin->local-path p))) | ||
| 337 | fluidplug-plugins))))) | ||
| 338 | (delete 'configure)))) | ||
| 339 | (native-inputs | ||
| 340 | (list gnu-make p7zip pkg-config)) | ||
| 341 | (inputs (list fluidsynth lv2)) | ||
| 342 | (native-search-paths | ||
| 343 | (list (search-path-specification | ||
| 344 | (variable "LV2_PATH") | ||
| 345 | (files '("lib/lv2"))))) | ||
| 346 | (synopsis | ||
| 347 | "SoundFonts as LV2 plugins via FluidSynth") | ||
| 348 | (description | ||
| 349 | "@code{FluidPlug} provides SoundFonts as LV2 plugins via FluidSynth.") | ||
| 350 | (home-page "https://github.com/falkTX/FluidPlug") | ||
| 351 | (license | ||
| 352 | (delete-duplicates | ||
| 353 | (map fluidplug-plugin-license fluidplug-plugins)))))) | ||
| 354 | |||
| 355 | (define (fluidplug-plugin->package record) | ||
| 356 | (package | ||
| 357 | (inherit fluidplug-lv2) | ||
| 358 | (name (fluidplug-plugin->package-name record)) | ||
| 359 | (arguments | ||
| 360 | (substitute-keyword-arguments (package-arguments fluidplug-lv2) | ||
| 361 | ((#:make-flags make-flags) | ||
| 362 | #~(list (string-append "CC=" #$(cc-for-target)) | ||
| 363 | (string-append "DESTDIR=" #$output) | ||
| 364 | "PREFIX=")) | ||
| 365 | ((#:phases phases) | ||
| 366 | #~(modify-phases #$phases | ||
| 367 | (replace 'unpack-plugins | ||
| 368 | (lambda _ | ||
| 369 | (symlink #$(fluidplug-plugin->origin record) | ||
| 370 | #$(fluidplug-plugin->local-path record)))) | ||
| 371 | (replace 'build | ||
| 372 | (lambda* (#:key make-flags #:allow-other-keys) | ||
| 373 | (apply invoke `("make" ,@make-flags | ||
| 374 | #$(fluidplug-plugin-name record))))) | ||
| 375 | (replace 'install | ||
| 376 | (lambda _ | ||
| 377 | (let* ((plugin-directory | ||
| 378 | (string-append #$(fluidplug-plugin-name record) | ||
| 379 | ".lv2")) | ||
| 380 | (lib (string-append #$output "/lib/lv2")) | ||
| 381 | (share/doc (string-append #$output "/share/doc")) | ||
| 382 | (plugin-lib (string-append lib "/" plugin-directory))) | ||
| 383 | |||
| 384 | ;; Install plugin | ||
| 385 | (for-each | ||
| 386 | (lambda (f) | ||
| 387 | (install-file f plugin-lib)) | ||
| 388 | (find-files plugin-directory | ||
| 389 | "^.*\\.(sf2|so|ttl)$")) | ||
| 390 | |||
| 391 | ;; Install license | ||
| 392 | (for-each | ||
| 393 | (lambda (f) | ||
| 394 | (install-file f share/doc)) | ||
| 395 | (find-files plugin-directory "(README|License\\.pdf)")) | ||
| 396 | |||
| 397 | ;; Install UI | ||
| 398 | (copy-recursively (string-append plugin-directory "/modgui") | ||
| 399 | (string-append plugin-lib "/modgui"))))))))) | ||
| 400 | (description | ||
| 401 | (string-append (package-description fluidplug-lv2) " | ||
| 402 | |||
| 403 | This package provides the @code{" (fluidplug-plugin-name record) | ||
| 404 | "} LV2 plugin.")) | ||
| 405 | (license (fluidplug-plugin-license record)))) | ||
| 406 | |||
| 407 | (define fluidplug-airfont320-lv2 | ||
| 408 | (fluidplug-plugin->package airfont320)) | ||
| 409 | |||
| 410 | (define fluidplug-avl-drumkits-perc-lv2 | ||
| 411 | (fluidplug-plugin->package avl-drumkits-perc)) | ||
| 412 | |||
| 413 | (define fluidplug-black-pearl-4a-lv2 | ||
| 414 | (fluidplug-plugin->package black-pearl-4a)) | ||
| 415 | |||
| 416 | (define fluidplug-black-pearl-4b-lv2 | ||
| 417 | (fluidplug-plugin->package black-pearl-4b)) | ||
| 418 | |||
| 419 | (define fluidplug-black-pearl-5-lv2 | ||
| 420 | (fluidplug-plugin->package black-pearl-5)) | ||
| 421 | |||
| 422 | (define fluidplug-red-zeppelin-4-lv2 | ||
| 423 | (fluidplug-plugin->package red-zeppelin-4)) | ||
| 424 | |||
| 425 | (define fluidplug-red-zeppelin-5-lv2 | ||
| 426 | (fluidplug-plugin->package red-zeppelin-5)) | ||
| 427 | |||
| 428 | (define fluidplug-fluidgm-lv2 | ||
| 429 | (fluidplug-plugin->package fluidgm)) | ||
| 430 | |||
| 431 | (define fluidplug-fluidbass-lv2 | ||
| 432 | (fluidplug-plugin->package fluidbass)) | ||
| 433 | |||
| 434 | (define fluidplug-fluidbrass-lv2 | ||
| 435 | (fluidplug-plugin->package fluidbrass)) | ||
| 436 | |||
| 437 | (define fluidplug-fluidchromperc-lv2 | ||
| 438 | (fluidplug-plugin->package fluidchromperc)) | ||
| 439 | |||
| 440 | (define fluidplug-fluiddrums-lv2 | ||
| 441 | (fluidplug-plugin->package fluiddrums)) | ||
| 442 | |||
| 443 | (define fluidplug-fluidensemble-lv2 | ||
| 444 | (fluidplug-plugin->package fluidensemble)) | ||
| 445 | |||
| 446 | (define fluidplug-fluidethnic-lv2 | ||
| 447 | (fluidplug-plugin->package fluidethnic)) | ||
| 448 | |||
| 449 | (define fluidplug-fluidguitars-lv2 | ||
| 450 | (fluidplug-plugin->package fluidguitars)) | ||
| 451 | |||
| 452 | (define fluidplug-fluidorgans-lv2 | ||
| 453 | (fluidplug-plugin->package fluidorgans)) | ||
| 454 | |||
| 455 | (define fluidplug-fluidpercussion-lv2 | ||
| 456 | (fluidplug-plugin->package fluidpercussion)) | ||
| 457 | |||
| 458 | (define fluidplug-fluidpianos-lv2 | ||
| 459 | (fluidplug-plugin->package fluidpianos)) | ||
| 460 | |||
| 461 | (define fluidplug-fluidpipes-lv2 | ||
| 462 | (fluidplug-plugin->package fluidpipes)) | ||
| 463 | |||
| 464 | (define fluidplug-fluidreeds-lv2 | ||
| 465 | (fluidplug-plugin->package fluidreeds)) | ||
| 466 | |||
| 467 | (define fluidplug-fluidsoundfx-lv2 | ||
| 468 | (fluidplug-plugin->package fluidsoundfx)) | ||
| 469 | |||
| 470 | (define fluidplug-fluidstrings-lv2 | ||
| 471 | (fluidplug-plugin->package fluidstrings)) | ||
| 472 | |||
| 473 | (define fluidplug-fluidsynthfx-lv2 | ||
| 474 | (fluidplug-plugin->package fluidsynthfx)) | ||
| 475 | |||
| 476 | (define fluidplug-fluidsynthleads-lv2 | ||
| 477 | (fluidplug-plugin->package fluidsynthleads)) | ||
| 478 | |||
| 479 | (define fluidplug-fluidsynthpads-lv2 | ||
| 480 | (fluidplug-plugin->package fluidsynthpads)) | ||
