Subject: [PATCH v2 2/2] gnu: mpd: Split outputs.

From: Bruno Victal <[email-masked]>
Date: Fri, 26 May 2023 08:06:21 +0100

The HTML manual accounts for more than 40% of the package size.

* gnu/packages/mpd.scm (mpd)[outputs]: Add 'doc' output.
[arguments]: Add split-package phase.
---
 gnu/packages/mpd.scm | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index 3259217989..d4654d4842 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -146,7 +146,16 @@ (define-public mpd
                 (("systemd_dep = declare_dependency" all)
                  (string-append "_" all)))
               (substitute* "meson.build"
-                (("systemd_dep,") "systemd_dep, _systemd_dep,")))))))
+                (("systemd_dep,") "systemd_dep, _systemd_dep,"))))
+          (add-after 'install 'split-package
+            (lambda _
+              ;; The HTML manual accounts for over 40% of the disk
+              ;; space used by the package.
+              (let* ((path   "/share/doc/mpd/html")
+                     (htmldir  (string-append #$output path))
+                     (htmldir* (string-append #$output:doc path)))
+                (mkdir-p (dirname htmldir*))
+                (rename-file htmldir htmldir*)))))))
     (inputs (append
              (if (target-linux?) (list liburing) '())
              (list ao
@@ -189,6 +198,7 @@ (define-public mpd
                          ;;
                          ;; Used when zziplib feature is enabled.
                          zip))
+    (outputs (list "out" "doc"))
     ;; Missing optional inputs:
     ;;   libcdio_paranoia
     ;;   libmms
-- 
2.39.2