summary refs log tree commit diff
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2019-03-15 09:19:00 +0100
committerPierre Neidhardt <mail@ambrevar.xyz>2019-03-15 09:19:00 +0100
commit99d5e5df2714a4ee36788b189f34e882b47b932a (patch)
treeb00285c5c33423b37528408c259e876d9de47a56
parentfe4a4bd23aa55bc6e8f5639db0dbfb358df99861 (diff)
downloadguix-99d5e5df2714a4ee36788b189f34e882b47b932a.tar.gz
gnu: mkvtoolnix: Install GUI to separate output.
* gnu/packages/video.scm (mkvtoolnix)[arguments]: Do it.
-rw-r--r--gnu/packages/video.scm16
1 files changed, 15 insertions, 1 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index c97dbbe204..ee49d35cec 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -377,6 +377,7 @@ H.264 (MPEG-4 AVC) video streams.")
                                "lib/utf8-cpp"))
                    #t))))
     (build-system gnu-build-system)
+    (outputs '("out" "gui")) ; "mkvtoolnix-gui" brings the closure size from ~300 MB to 1.5+ GB.
     (inputs
      `(("boost" ,boost)
        ("bzip2" ,bzip2)
@@ -432,7 +433,20 @@ H.264 (MPEG-4 AVC) video streams.")
              (invoke "rake" "tests/unit")))
          (replace 'install
            (lambda _
-             (invoke "rake" "install"))))))
+             (invoke "rake" "install")))
+         (add-after 'install 'post-install
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Move the Qt interface to "gui".
+             (let ((out (assoc-ref outputs "out"))
+                   (gui (assoc-ref outputs "gui")))
+               (for-each
+                (lambda (file)
+                  (mkdir-p (string-append gui (dirname file)))
+                  (rename-file (string-append out file)
+                               (string-append gui file)))
+                '("/bin/mkvtoolnix-gui"
+                  "/share/applications/org.bunkus.mkvtoolnix-gui.desktop")))
+             #t)))))
     (home-page "https://mkvtoolnix.download")
     (synopsis "Tools to create, alter and inspect Matroska files")
     (description