Subject: [bug#70486] [PATCH 5/5] gnu: lsp-plugins: Split outputs.

From: Parnikkapore <[email-masked]>
Date: Sat, 20 Apr 2024 23:58:34 +0200

* gnu/packages/music.scm (lsp-plugins): Split outputs.
[phases]: Add move-large-subdirs.
[outputs]: Declare outputs.

Change-Id: I50dc27b7ec43657fda12c7b03068f7be6290aeef
---
 gnu/packages/music.scm | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index f2045c6e4c..4a3e615c15 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -6225,7 +6225,19 @@ (define-public lsp-plugins
           (replace 'check
             (lambda* (#:key tests? #:allow-other-keys)
               (when tests?
-                (invoke ".build/host/lsp-plugin-fw/lsp-plugins-test" "utest")))))))
+                (invoke ".build/host/lsp-plugin-fw/lsp-plugins-test" "utest"))))
+          (add-after 'install 'move-large-subdirs
+            (lambda _
+              (define (move-to-output output path)
+                (let ((source (string-append #$output path))
+                      (target (string-append output path)))
+                  (mkdir-p (dirname target))
+                  (rename-file source target)))
+              (move-to-output #$output:doc "/share/doc") ; 29MB
+              (move-to-output #$output:lv2 "/lib/lv2") ; 32MB
+              (move-to-output #$output:bin "/bin") ; Avoid cluttering xdg menu
+              (move-to-output #$output:bin "/share")
+              (move-to-output #$output:bin "/etc"))))))
     (inputs
      (list cairo
            freetype
@@ -6235,6 +6247,7 @@ (define-public lsp-plugins
            libxrandr
            mesa))
     (native-inputs (list pkg-config php))
+    (outputs '("out" "doc" "lv2" "debug"))
     (synopsis "Audio plugin collection")
     (description "LSP (Linux Studio Plugins) is a collection of audio
 plugins available as LADSPA/LV2 plugins and as standalone JACK
-- 
2.41.0