{ lib, buildPythonApplication, fetchFromGitHub, python, mpv, requests, python-mpv-jsonipc, pystray, tkinter , wrapGAppsHook, gobject-introspection, mpv-shim-default-shaders }: buildPythonApplication rec { pname = "plex-mpv-shim"; version = "1.11.0"; src = fetchFromGitHub { owner = "iwalton3"; repo = pname; rev = "refs/tags/v${version}"; sha256 = "sha256-hUGKOJEDZMK5uhHoevFt1ay6QQEcoN4F8cPxln5uMRo="; }; nativeBuildInputs = [ wrapGAppsHook gobject-introspection ]; propagatedBuildInputs = [ mpv requests python-mpv-jsonipc pystray tkinter ]; # needed for pystray to access appindicator using GI preFixup = '' makeWrapperArgs+=("''${gappsWrapperArgs[@]}") ''; dontWrapGApps = true; postInstall = '' # put link to shaders where upstream package expects them ln -s ${mpv-shim-default-shaders}/share/mpv-shim-default-shaders $out/${python.sitePackages}/plex_mpv_shim/default_shader_pack ''; # does not contain tests doCheck = false; meta = with lib; { homepage = "https://github.com/iwalton3/plex-mpv-shim"; description = "Allows casting of videos to MPV via the Plex mobile and web app"; maintainers = with maintainers; [ devusb ]; license = licenses.mit; platforms = platforms.linux; }; }