diff --git a/pkgs/applications/video/jellyfin-mpv-shim/default.nix b/pkgs/applications/video/jellyfin-mpv-shim/default.nix new file mode 100644 index 000000000000..7842c48a78a6 --- /dev/null +++ b/pkgs/applications/video/jellyfin-mpv-shim/default.nix @@ -0,0 +1,49 @@ +{ stdenv, buildPythonApplication, fetchFromGitHub, fetchurl +, mpv, python-mpv-jsonipc, jellyfin-apiclient-python +, pillow, tkinter, pystray, jinja2, pywebview }: + +buildPythonApplication rec { + pname = "jellyfin-mpv-shim"; + version = "1.4.1"; + + src = fetchFromGitHub { + owner = "iwalton3"; + repo = pname; + rev = "v${version}"; + sha256 = "195vplq4182pq62sn6ci0a8p57k6zv8pk1gmifmwdv69wzaph043"; + fetchSubmodules = true; # needed for display_mirror css file + }; + + # override $HOME directory: + # error: [Errno 13] Permission denied: '/homeless-shelter' + # + # remove jellyfin_mpv_shim/win_utils.py: + # ModuleNotFoundError: No module named 'win32gui' + preCheck = '' + export HOME=$TMPDIR + + rm jellyfin_mpv_shim/win_utils.py + ''; + + propagatedBuildInputs = [ + jellyfin-apiclient-python + mpv + pillow + python-mpv-jsonipc + + # gui dependencies + pystray + tkinter + + # display_mirror dependencies + jinja2 + pywebview + ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/iwalton3/jellyfin-mpv-shim"; + description = "Allows casting of videos to MPV via the jellyfin mobile and web app."; + license = licenses.gpl3; + maintainers = with maintainers; [ jojosch ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3af9818fb4ba..07e5c1df68cb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1910,6 +1910,8 @@ in jellyfin = callPackage ../servers/jellyfin { ffmpeg = ffmpeg_4; }; + jellyfin-mpv-shim = python3Packages.callPackage ../applications/video/jellyfin-mpv-shim { }; + jotta-cli = callPackage ../applications/misc/jotta-cli { }; jwt-cli = callPackage ../tools/security/jwt-cli {