@@ -2751,6 +2751,46 @@ (define-public smplayer
the last played position, etc.")
(license license:gpl2+)))
+(define-public jellyfin-mpv-shim
+ (let ((desktop-base "jellyfin_mpv_shim/integration/")
+ (package-id "com.github.iwalton3.jellyfin-mpv-shim"))
+ (package
+ (name "jellyfin-mpv-shim")
+ (version "2.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "jellyfin-mpv-shim" version))
+ (sha256
+ (base32 "1cy2sfv84k5nw8bqy4aa7v0hdawp7gk5s7wq850xizqk0sz7cipp"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:tests? #f ;Disabled because they seem to boot the UI
+ #:phases #~(modify-phases %standard-phases
+ (delete 'sanity-check) ;This also seems to boot the UI
+ (add-after 'install 'install-desktop-file
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (apps (string-append out "/share/applications")))
+ (install-file (string-append desktop-base
+ package-id
+ ".appdata.xml") apps)
+ (install-file (string-append desktop-base
+ package-id ".desktop")
+ apps) #t))))))
+ (native-inputs (list xorg-server-for-tests))
+ (propagated-inputs (list `(,python "tk")
+ python-jellyfin-apiclient
+ python-mpv
+ python-mpv-jsonipc
+ python-pystray
+ python-requests))
+ (home-page "https://github.com/jellyfin/jellyfin-mpv-shim")
+ (synopsis "Cast media from Jellyfin Mobile and Web apps to MPV")
+ (description "Cast media from Jellyfin Mobile and Web apps to MPV.")
+ (license license:gpl2))))
+
(define-public gallery-dl
(package
(name "gallery-dl")