From 5854e454183f1b5368127a8366fa8d9ed842c0c2 Mon Sep 17 00:00:00 2001 From: Johannes Schleifenbaum Date: Wed, 10 Mar 2021 12:39:27 +0100 Subject: [PATCH 01/10] pythonPackages.jellyfin-apiclient-python: 1.6.1 -> 1.6.2 --- .../jellyfin-apiclient-python/default.nix | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/jellyfin-apiclient-python/default.nix b/pkgs/development/python-modules/jellyfin-apiclient-python/default.nix index 33c14dbaeb2..010029910b6 100644 --- a/pkgs/development/python-modules/jellyfin-apiclient-python/default.nix +++ b/pkgs/development/python-modules/jellyfin-apiclient-python/default.nix @@ -1,20 +1,19 @@ -{ lib, buildPythonPackage, fetchFromGitHub, requests +{ lib, buildPythonPackage, fetchPypi, requests , websocket_client, pythonOlder }: buildPythonPackage rec { pname = "jellyfin-apiclient-python"; - version = "1.6.1"; + version = "1.6.2"; disabled = pythonOlder "3.6"; - src = fetchFromGitHub { - owner = "iwalton3"; - repo = "jellyfin-apiclient-python"; - rev = "v${version}"; - sha256 = "0f7czq83ic22fz1vnf0cavb7l3grcxxd5yyw9wcjz3g1j2d76735"; + src = fetchPypi { + inherit pname version; + sha256 = "sha256-tFYMQYbnFTJTkZtJ+ZASWL6qsf/CK7EzTYukZm/wBgI="; }; propagatedBuildInputs = [ requests websocket_client ]; + doCheck = false; # no tests pythonImportsCheck = [ "jellyfin_apiclient_python" ]; meta = with lib; { From 474043fc5b36b72613f9b8412e66069ee78b4308 Mon Sep 17 00:00:00 2001 From: Johannes Schleifenbaum Date: Wed, 10 Mar 2021 12:40:30 +0100 Subject: [PATCH 02/10] jellyfin-mpv-shim: use fetchPypi which includes the shader pack --- .../video/jellyfin-mpv-shim/default.nix | 19 +++----------- .../video/jellyfin-mpv-shim/shader-pack.nix | 25 ------------------- 2 files changed, 4 insertions(+), 40 deletions(-) delete mode 100644 pkgs/applications/video/jellyfin-mpv-shim/shader-pack.nix diff --git a/pkgs/applications/video/jellyfin-mpv-shim/default.nix b/pkgs/applications/video/jellyfin-mpv-shim/default.nix index 6dc42a47685..6b0001ad74a 100644 --- a/pkgs/applications/video/jellyfin-mpv-shim/default.nix +++ b/pkgs/applications/video/jellyfin-mpv-shim/default.nix @@ -1,20 +1,14 @@ -{ lib, buildPythonApplication, fetchFromGitHub, callPackage +{ lib, buildPythonApplication, fetchPypi , mpv, python-mpv-jsonipc, jellyfin-apiclient-python , pillow, tkinter, pystray, jinja2, pywebview }: -let - shaderPack = callPackage ./shader-pack.nix {}; -in buildPythonApplication rec { pname = "jellyfin-mpv-shim"; version = "1.7.1"; - src = fetchFromGitHub { - owner = "iwalton3"; - repo = pname; - rev = "v${version}"; - sha256 = "0alrh5h3f8pq9mrq09jmpqa0yslxsjqwij6kwn24ggbwc10zkq75"; - fetchSubmodules = true; # needed for display_mirror css file + src = fetchPypi { + inherit pname version; + sha256 = "sha256-Fo1auMiYUgJrJGJII+FfHspcke0r/VSSXzGwVNIHtEE="; }; patches = [ @@ -33,11 +27,6 @@ buildPythonApplication rec { rm jellyfin_mpv_shim/win_utils.py ''; - postPatch = '' - # link the default shader pack - ln -s ${shaderPack} jellyfin_mpv_shim/default_shader_pack - ''; - propagatedBuildInputs = [ jellyfin-apiclient-python mpv diff --git a/pkgs/applications/video/jellyfin-mpv-shim/shader-pack.nix b/pkgs/applications/video/jellyfin-mpv-shim/shader-pack.nix deleted file mode 100644 index 89a601af4ad..00000000000 --- a/pkgs/applications/video/jellyfin-mpv-shim/shader-pack.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ lib, stdenv, fetchFromGitHub }: - -stdenv.mkDerivation rec { - pname = "jellyfin-mpv-shim-shader-pack"; - version = "1.0.0"; - - src = fetchFromGitHub { - owner = "iwalton3"; - repo = "default-shader-pack"; - rev = "v${version}"; - sha256 = "04y8gvjy4v3773b1kyan4dxqcf86b56x7v33m2k246jbn0rl2pgr"; - }; - - installPhase = '' - mkdir -p $out - cp -a . $out - ''; - - meta = with lib; { - homepage = "https://github.com/iwalton3/default-shader-pack"; - description = "Preconfigured set of MPV shaders and configurations for MPV Shim media clients"; - license = with licenses; [ mit lgpl3Plus unlicense ]; - maintainers = with maintainers; [ jojosch ]; - }; -} From 4392bac9971a2af238fb547e96a89161da21cdfc Mon Sep 17 00:00:00 2001 From: Johannes Schleifenbaum Date: Wed, 10 Mar 2021 12:41:09 +0100 Subject: [PATCH 03/10] jellyfin-mpv-shim: replace disable-update-check.patch with substituteInPlace --- .../video/jellyfin-mpv-shim/default.nix | 7 ++++++- .../jellyfin-mpv-shim/disable-update-check.patch | 15 --------------- 2 files changed, 6 insertions(+), 16 deletions(-) delete mode 100644 pkgs/applications/video/jellyfin-mpv-shim/disable-update-check.patch diff --git a/pkgs/applications/video/jellyfin-mpv-shim/default.nix b/pkgs/applications/video/jellyfin-mpv-shim/default.nix index 6b0001ad74a..e25f74c2dc9 100644 --- a/pkgs/applications/video/jellyfin-mpv-shim/default.nix +++ b/pkgs/applications/video/jellyfin-mpv-shim/default.nix @@ -13,7 +13,6 @@ buildPythonApplication rec { patches = [ ./disable-desktop-client.patch - ./disable-update-check.patch ]; # override $HOME directory: @@ -27,6 +26,12 @@ buildPythonApplication rec { rm jellyfin_mpv_shim/win_utils.py ''; + postPatch = '' + substituteInPlace jellyfin_mpv_shim/conf.py \ + --replace "check_updates: bool = True" "check_updates: bool = False" \ + --replace "notify_updates: bool = True" "notify_updates: bool = False" + ''; + propagatedBuildInputs = [ jellyfin-apiclient-python mpv diff --git a/pkgs/applications/video/jellyfin-mpv-shim/disable-update-check.patch b/pkgs/applications/video/jellyfin-mpv-shim/disable-update-check.patch deleted file mode 100644 index 6941b956e85..00000000000 --- a/pkgs/applications/video/jellyfin-mpv-shim/disable-update-check.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/jellyfin_mpv_shim/conf.py b/jellyfin_mpv_shim/conf.py -index 0ab9326..ccedc17 100644 ---- a/jellyfin_mpv_shim/conf.py -+++ b/jellyfin_mpv_shim/conf.py -@@ -88,8 +88,8 @@ class Settings(object): - "sync_revert_seek": True, - "sync_osd_message": True, - "screenshot_menu": True, -- "check_updates": True, -- "notify_updates": True, -+ "check_updates": False, -+ "notify_updates": False, - "lang": None, - "desktop_scale": 1.0, - } From 36061c564e21099d1d9c164e58334d8beb2b6a76 Mon Sep 17 00:00:00 2001 From: Johannes Schleifenbaum Date: Wed, 10 Mar 2021 13:36:44 +0100 Subject: [PATCH 04/10] jellyfin-mpv-shim: enable desktop --- .../video/jellyfin-mpv-shim/default.nix | 78 ++++++++++++++----- .../disable-desktop-client.patch | 12 --- 2 files changed, 60 insertions(+), 30 deletions(-) delete mode 100644 pkgs/applications/video/jellyfin-mpv-shim/disable-desktop-client.patch diff --git a/pkgs/applications/video/jellyfin-mpv-shim/default.nix b/pkgs/applications/video/jellyfin-mpv-shim/default.nix index e25f74c2dc9..121cd5d3017 100644 --- a/pkgs/applications/video/jellyfin-mpv-shim/default.nix +++ b/pkgs/applications/video/jellyfin-mpv-shim/default.nix @@ -1,6 +1,21 @@ -{ lib, buildPythonApplication, fetchPypi -, mpv, python-mpv-jsonipc, jellyfin-apiclient-python -, pillow, tkinter, pystray, jinja2, pywebview }: +{ lib +, buildPythonApplication +, copyDesktopItems +, fetchPypi +, makeDesktopItem +, flask +, jellyfin-apiclient-python +, jinja2 +, mpv +, pillow +, pyqtwebengine +, pystray +, python-mpv-jsonipc +, pywebview +, qt5 +, tkinter +, werkzeug +}: buildPythonApplication rec { pname = "jellyfin-mpv-shim"; @@ -11,8 +26,41 @@ buildPythonApplication rec { sha256 = "sha256-Fo1auMiYUgJrJGJII+FfHspcke0r/VSSXzGwVNIHtEE="; }; - patches = [ - ./disable-desktop-client.patch + propagatedBuildInputs = [ + jellyfin-apiclient-python + mpv + pillow + python-mpv-jsonipc + + # gui dependencies + pystray + tkinter + + # display_mirror dependencies + jinja2 + pywebview + + # desktop dependencies + flask + pyqtwebengine + werkzeug + ]; + + nativeBuildInputs = [ + copyDesktopItems + qt5.wrapQtAppsHook + ]; + + desktopItems = [ + (makeDesktopItem { + name = "Jellyfin MPV Shim Desktop"; + exec = "jellyfin-mpv-desktop"; + icon = "jellyfin-mpv-desktop"; + desktopName = "jellyfin-mpv-desktop"; + comment = "MPV-based desktop and cast client for Jellyfin"; + genericName = "MPV-based desktop and cast client for Jellyfin"; + categories = "Video;AudioVideo;TV;Player"; + }) ]; # override $HOME directory: @@ -32,20 +80,14 @@ buildPythonApplication rec { --replace "notify_updates: bool = True" "notify_updates: bool = False" ''; - propagatedBuildInputs = [ - jellyfin-apiclient-python - mpv - pillow - python-mpv-jsonipc + postInstall = '' + mkdir -p $out/share/pixmaps + cp jellyfin_mpv_shim/integration/jellyfin-256.png $out/share/pixmaps/jellyfin-mpv-desktop.png + ''; - # gui dependencies - pystray - tkinter - - # display_mirror dependencies - jinja2 - pywebview - ]; + postFixup = '' + wrapQtApp $out/bin/jellyfin-mpv-desktop + ''; # no tests doCheck = false; diff --git a/pkgs/applications/video/jellyfin-mpv-shim/disable-desktop-client.patch b/pkgs/applications/video/jellyfin-mpv-shim/disable-desktop-client.patch deleted file mode 100644 index 996225efb3a..00000000000 --- a/pkgs/applications/video/jellyfin-mpv-shim/disable-desktop-client.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/setup.py b/setup.py -index a831959..2206e6e 100644 ---- a/setup.py -+++ b/setup.py -@@ -25,7 +25,6 @@ setup( - entry_points={ - 'console_scripts': [ - 'jellyfin-mpv-shim=jellyfin_mpv_shim.mpv_shim:main', -- 'jellyfin-mpv-desktop=jellyfin_mpv_shim.mpv_shim:main_desktop', - ] - }, - classifiers=[ From 9f511d351b2a957a3cf12c8a34bef2842f3f42e9 Mon Sep 17 00:00:00 2001 From: Johannes Schleifenbaum Date: Wed, 10 Mar 2021 13:40:13 +0100 Subject: [PATCH 05/10] jellyfin-mpv-shim: 1.7.1 -> 1.8.1 --- pkgs/applications/video/jellyfin-mpv-shim/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/jellyfin-mpv-shim/default.nix b/pkgs/applications/video/jellyfin-mpv-shim/default.nix index 121cd5d3017..f8edc479abe 100644 --- a/pkgs/applications/video/jellyfin-mpv-shim/default.nix +++ b/pkgs/applications/video/jellyfin-mpv-shim/default.nix @@ -8,6 +8,7 @@ , jinja2 , mpv , pillow +, pydantic , pyqtwebengine , pystray , python-mpv-jsonipc @@ -19,17 +20,18 @@ buildPythonApplication rec { pname = "jellyfin-mpv-shim"; - version = "1.7.1"; + version = "1.8.1"; src = fetchPypi { inherit pname version; - sha256 = "sha256-Fo1auMiYUgJrJGJII+FfHspcke0r/VSSXzGwVNIHtEE="; + sha256 = "sha256-X7UL5uUegdtHc8PGucLc8OQpWnw0fxV88z4k5FgmIE0="; }; propagatedBuildInputs = [ jellyfin-apiclient-python mpv pillow + pydantic python-mpv-jsonipc # gui dependencies From 6460e408757d7f8e3fe1fddf99ecda603f00e84c Mon Sep 17 00:00:00 2001 From: Johannes Schleifenbaum Date: Thu, 18 Mar 2021 08:26:01 +0100 Subject: [PATCH 06/10] pythonPackages.jellyfin-apiclient-python: 1.6.2 -> 1.7.0 --- .../python-modules/jellyfin-apiclient-python/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/jellyfin-apiclient-python/default.nix b/pkgs/development/python-modules/jellyfin-apiclient-python/default.nix index 010029910b6..f9455ac597f 100644 --- a/pkgs/development/python-modules/jellyfin-apiclient-python/default.nix +++ b/pkgs/development/python-modules/jellyfin-apiclient-python/default.nix @@ -3,12 +3,12 @@ buildPythonPackage rec { pname = "jellyfin-apiclient-python"; - version = "1.6.2"; + version = "1.7.0"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "sha256-tFYMQYbnFTJTkZtJ+ZASWL6qsf/CK7EzTYukZm/wBgI="; + sha256 = "sha256-OyJ29pbVTkEJwnt5LfHSCjo76eUex4TTkIhXMmiHTNI="; }; propagatedBuildInputs = [ requests websocket_client ]; @@ -17,7 +17,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "jellyfin_apiclient_python" ]; meta = with lib; { - homepage = "https://github.com/iwalton3/jellyfin-apiclient-python"; + homepage = "https://github.com/jellyfin/jellyfin-apiclient-python"; description = "Python API client for Jellyfin"; license = licenses.gpl3; maintainers = with maintainers; [ jojosch ]; From d123a3b7c261dcd024f29a4d0a75073815c219d3 Mon Sep 17 00:00:00 2001 From: Johannes Schleifenbaum Date: Thu, 18 Mar 2021 08:27:50 +0100 Subject: [PATCH 07/10] jellyfin-mpv-shim: 1.8.1 -> 1.9.0 --- .../video/jellyfin-mpv-shim/default.nix | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/video/jellyfin-mpv-shim/default.nix b/pkgs/applications/video/jellyfin-mpv-shim/default.nix index f8edc479abe..2db8fd32dfb 100644 --- a/pkgs/applications/video/jellyfin-mpv-shim/default.nix +++ b/pkgs/applications/video/jellyfin-mpv-shim/default.nix @@ -20,11 +20,11 @@ buildPythonApplication rec { pname = "jellyfin-mpv-shim"; - version = "1.8.1"; + version = "1.9.0"; src = fetchPypi { inherit pname version; - sha256 = "sha256-X7UL5uUegdtHc8PGucLc8OQpWnw0fxV88z4k5FgmIE0="; + sha256 = "sha256-6izvS8jCZERf5wEhOrgfRbRpr38kZAZ2t1OjiRk5pNY="; }; propagatedBuildInputs = [ @@ -55,10 +55,10 @@ buildPythonApplication rec { desktopItems = [ (makeDesktopItem { - name = "Jellyfin MPV Shim Desktop"; - exec = "jellyfin-mpv-desktop"; - icon = "jellyfin-mpv-desktop"; - desktopName = "jellyfin-mpv-desktop"; + name = "Jellyfin Desktop"; + exec = "jellyfin-desktop"; + icon = "jellyfin-desktop"; + desktopName = "jellyfin-desktop"; comment = "MPV-based desktop and cast client for Jellyfin"; genericName = "MPV-based desktop and cast client for Jellyfin"; categories = "Video;AudioVideo;TV;Player"; @@ -84,10 +84,11 @@ buildPythonApplication rec { postInstall = '' mkdir -p $out/share/pixmaps - cp jellyfin_mpv_shim/integration/jellyfin-256.png $out/share/pixmaps/jellyfin-mpv-desktop.png + cp jellyfin_mpv_shim/integration/jellyfin-256.png $out/share/pixmaps/jellyfin-desktop.png ''; postFixup = '' + wrapQtApp $out/bin/jellyfin-desktop wrapQtApp $out/bin/jellyfin-mpv-desktop ''; @@ -96,7 +97,7 @@ buildPythonApplication rec { pythonImportsCheck = [ "jellyfin_mpv_shim" ]; meta = with lib; { - homepage = "https://github.com/iwalton3/jellyfin-mpv-shim"; + homepage = "https://github.com/jellyfin/jellyfin-desktop"; description = "Allows casting of videos to MPV via the jellyfin mobile and web app"; license = licenses.gpl3; maintainers = with maintainers; [ jojosch ]; From ac591f31c2c990f8d35a8f23b5f6c14f4686bb55 Mon Sep 17 00:00:00 2001 From: Johannes Schleifenbaum Date: Wed, 24 Mar 2021 08:33:46 +0100 Subject: [PATCH 08/10] pythonPackages.jellyfin-apiclient-python: 1.7.0 -> 1.7.2 --- .../python-modules/jellyfin-apiclient-python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/jellyfin-apiclient-python/default.nix b/pkgs/development/python-modules/jellyfin-apiclient-python/default.nix index f9455ac597f..b06db621b73 100644 --- a/pkgs/development/python-modules/jellyfin-apiclient-python/default.nix +++ b/pkgs/development/python-modules/jellyfin-apiclient-python/default.nix @@ -3,12 +3,12 @@ buildPythonPackage rec { pname = "jellyfin-apiclient-python"; - version = "1.7.0"; + version = "1.7.2"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "sha256-OyJ29pbVTkEJwnt5LfHSCjo76eUex4TTkIhXMmiHTNI="; + sha256 = "sha256-nSLUa9/jAT6XrHo77kV5HYBxPO/lhcWKqPfpES7ul9A="; }; propagatedBuildInputs = [ requests websocket_client ]; From f353d0eb014ddb99d2b00640020d013fd0e638db Mon Sep 17 00:00:00 2001 From: Johannes Schleifenbaum Date: Wed, 24 Mar 2021 08:37:30 +0100 Subject: [PATCH 09/10] jellyfin-mpv-shim: 1.9.0 -> 1.10.0 --- pkgs/applications/video/jellyfin-mpv-shim/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/jellyfin-mpv-shim/default.nix b/pkgs/applications/video/jellyfin-mpv-shim/default.nix index 2db8fd32dfb..cf01b25d0ae 100644 --- a/pkgs/applications/video/jellyfin-mpv-shim/default.nix +++ b/pkgs/applications/video/jellyfin-mpv-shim/default.nix @@ -20,11 +20,11 @@ buildPythonApplication rec { pname = "jellyfin-mpv-shim"; - version = "1.9.0"; + version = "1.10.0"; src = fetchPypi { inherit pname version; - sha256 = "sha256-6izvS8jCZERf5wEhOrgfRbRpr38kZAZ2t1OjiRk5pNY="; + sha256 = "sha256-KYnUPtceJB3PZb0vbeFIRAl7R/BSLR+wOE89+jlQPnQ="; }; propagatedBuildInputs = [ From c9bde8e5f74724eb1421981454b98467b6fbf7a3 Mon Sep 17 00:00:00 2001 From: Johannes Schleifenbaum Date: Thu, 25 Mar 2021 08:28:32 +0100 Subject: [PATCH 10/10] jellyfin-mpv-shim: 1.10.0 -> 1.10.1 --- pkgs/applications/video/jellyfin-mpv-shim/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/jellyfin-mpv-shim/default.nix b/pkgs/applications/video/jellyfin-mpv-shim/default.nix index cf01b25d0ae..f90421cab91 100644 --- a/pkgs/applications/video/jellyfin-mpv-shim/default.nix +++ b/pkgs/applications/video/jellyfin-mpv-shim/default.nix @@ -20,11 +20,11 @@ buildPythonApplication rec { pname = "jellyfin-mpv-shim"; - version = "1.10.0"; + version = "1.10.1"; src = fetchPypi { inherit pname version; - sha256 = "sha256-KYnUPtceJB3PZb0vbeFIRAl7R/BSLR+wOE89+jlQPnQ="; + sha256 = "sha256-bcTCp2K1zRgobBAi7A62VPogM6km+DixRERWEOm9Yu4="; }; propagatedBuildInputs = [