[bug#73796] gnu: jellyfin-mpv-shim: Fix icon & metainfo installation.

Message ID 20241013190055.14247-1-ian@retrospec.tv
State New
Headers
Series [bug#73796] gnu: jellyfin-mpv-shim: Fix icon & metainfo installation. |

Commit Message

Ian Eure Oct. 13, 2024, 7 p.m. UTC
  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(-)
  

Comments

Ludovic Courtès Oct. 15, 2024, 4:21 p.m. UTC | #1
Ian Eure <ian@retrospec.tv> skribis:

> 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

I tweaked the commit log and applied it, thanks!
  

Patch

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")