unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Giacomo Leidi via Guix-patches via <guix-patches@gnu.org>
To: 69593@debbugs.gnu.org
Cc: Giacomo Leidi <goodoldpaul@autistici.org>,
	Giacomo Leidi <goodoldpaul@autistici.org>
Subject: [bug#69593] [PATCH v5 2/3] gnu: Add fluidplug plugins.
Date: Sun,  1 Dec 2024 00:53:52 +0100	[thread overview]
Message-ID: <2da9c72b8a23f4b8f270c2c4799ddef25174cf80.1733010833.git.goodoldpaul@autistici.org> (raw)
In-Reply-To: <dac4440f98ab0f9f94e999d7d3607cdf9fefd7af.1733010833.git.goodoldpaul@autistici.org>

* gnu/packages/fluidplug.scm (fluidplug-plugin->package): New procedure;
(fluidplug-airfont320-lv2, fluidplug-avl-drumkits-perc-lv2,
fluidplug-black-pearl-4a-lv2, fluidplug-black-pearl-4b-lv2,
fluidplug-black-pearl-5-lv2, fluidplug-red-zeppelin-4-lv2,
fluidplug-red-zeppelin-5-lv2, fluidplug-fluidgm-lv2,
fluidplug-fluidbass-lv2, fluidplug-fluidbrass-lv2,
fluidplug-fluidchromperc-lv2, fluidplug-fluiddrums-lv2,
fluidplug-fluidensemble-lv2, fluidplug-fluidethnic-lv2,
fluidplug-fluidguitars-lv2, fluidplug-fluidorgans-lv2,
fluidplug-fluidpercussion-lv2, fluidplug-fluidpianos-lv2,
fluidplug-fluidpipes-lv2, fluidplug-fluidreeds-lv2,
fluidplug-fluidsoundfx-lv2, fluidplug-fluidstrings-lv2,
fluidplug-fluidsynthfx-lv2, fluidplug-fluidsynthleads-lv2,
fluidplug-fluidsynthpads-lv2): New variables.

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

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





  reply	other threads:[~2024-12-01  0:06 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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-11-30 23:48       ` 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
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
2024-11-30 23:48 ` [bug#69593] [PATCH v4 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
2024-11-30 23:48   ` [bug#69593] [PATCH v4 2/3] gnu: Add fluidplug plugins Giacomo Leidi via Guix-patches via
2024-11-30 23:48   ` [bug#69593] [PATCH v4 3/3] teams: Add FluidPlug team Giacomo Leidi via Guix-patches via
2024-11-30 23:52 ` [bug#69593] Add FluidPlug paul via Guix-patches via
2024-11-30 23:53 ` [bug#69593] [PATCH v5 1/3] gnu: Add fluidplug-lv2 Giacomo Leidi via Guix-patches via
2024-11-30 23:53   ` Giacomo Leidi via Guix-patches via [this message]
2024-11-30 23:53   ` [bug#69593] [PATCH v5 3/3] teams: Add FluidPlug team Giacomo Leidi via Guix-patches via

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2da9c72b8a23f4b8f270c2c4799ddef25174cf80.1733010833.git.goodoldpaul@autistici.org \
    --to=guix-patches@gnu.org \
    --cc=69593@debbugs.gnu.org \
    --cc=goodoldpaul@autistici.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).