Subject: [PATCH] gnu: jellyfin-mpv-shim: Fix icon & metainfo installation.

From: Ian Eure <[email-masked]>
Date: Sun, 13 Oct 2024 12:00:55 -0700

The icons and appdata.xml were getting installed into share/applications, when
they should have gone into share/icons/hicolor and share/metainfo.  Put them
in the right place, which allows DEs to find them.

*  (jellyfin-mpv-shim): Fix icon & metainfo installation.

Change-Id: Ic6cdae2fe0b348b94285bf8b39c014922baae6c1
---
 gnu/packages/video.scm | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 1d2ab5fbeb..92c0acef3c 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2830,16 +2830,24 @@ (define-public jellyfin-mpv-shim
              (lambda* (#:key outputs #:allow-other-keys)
                (let* ((out (assoc-ref outputs "out"))
                       (apps (string-append out "/share/applications"))
+                      (metainfo (string-append out "/share/metainfo"))
+                      (icons (string-append out "/share/icons"))
                       (desktop-base "jellyfin_mpv_shim/integration/")
                       (package-id
                        "com.github.iwalton3.jellyfin-mpv-shim"))
                  (for-each (lambda (size)
-                             (install-file (format #f
-                                                   "~ajellyfin-~a.png"
-                                                   desktop-base size) apps))
+                             (let ((dir (format
+                                         #f "~a/hicolor/~ax~a/apps/"
+                                         icons size size package-id)))
+                               (mkdir-p dir)
+                               (copy-file
+                                (format #f
+                                        "~ajellyfin-~a.png"
+                                        desktop-base size)
+                                (string-append dir package-id ".png"))))
                            '(256 128 64 48 32 16))
                  (install-file (string-append desktop-base package-id
-                                              ".appdata.xml") apps)
+                                              ".appdata.xml") metainfo)
                  (install-file (string-append desktop-base package-id
                                               ".desktop") apps)))))))
     (inputs (list `(,python "tk")
-- 
2.46.0