From 0f78935cfed1312b2635a3fbfc4c294cf7ee552b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 12 Mar 2024 20:13:31 -0700 Subject: [PATCH] streamlink: don't propagate ffmpeg --- pkgs/applications/video/streamlink/default.nix | 17 ++++++++++++++--- .../video/streamlink/ffmpeg-path.patch | 13 +++++++++++++ 2 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 pkgs/applications/video/streamlink/ffmpeg-path.patch diff --git a/pkgs/applications/video/streamlink/default.nix b/pkgs/applications/video/streamlink/default.nix index ba7ecf6a54e003a..d96c5007c565dde 100644 --- a/pkgs/applications/video/streamlink/default.nix +++ b/pkgs/applications/video/streamlink/default.nix @@ -1,6 +1,7 @@ { lib , python3Packages , fetchPypi +, substituteAll , ffmpeg }: @@ -14,6 +15,13 @@ python3Packages.buildPythonApplication rec { hash = "sha256-0UF8fFmG3BQ7xxHIqZ97iEsQ0lg/RLHD2t6n3wp15NU="; }; + patches = [ + (substituteAll { + src = ./ffmpeg-path.patch; + ffmpeg = lib.getExe ffmpeg; + }) + ]; + nativeBuildInputs = with python3Packages; [ setuptools ]; @@ -27,7 +35,12 @@ python3Packages.buildPythonApplication rec { pytest-trio ]; - propagatedBuildInputs = (with python3Packages; [ + disabledTests = [ + # requires ffmpeg to be in PATH + "test_no_cache" + ]; + + propagatedBuildInputs = with python3Packages; [ certifi isodate lxml @@ -40,8 +53,6 @@ python3Packages.buildPythonApplication rec { typing-extensions urllib3 websocket-client - ]) ++ [ - ffmpeg ]; meta = with lib; { diff --git a/pkgs/applications/video/streamlink/ffmpeg-path.patch b/pkgs/applications/video/streamlink/ffmpeg-path.patch new file mode 100644 index 000000000000000..6108c53dcf0be1c --- /dev/null +++ b/pkgs/applications/video/streamlink/ffmpeg-path.patch @@ -0,0 +1,13 @@ +diff --git a/src/streamlink/stream/ffmpegmux.py b/src/streamlink/stream/ffmpegmux.py +index 258b314a..c493e010 100644 +--- a/src/streamlink/stream/ffmpegmux.py ++++ b/src/streamlink/stream/ffmpegmux.py +@@ -80,7 +80,7 @@ class MuxedStream(Stream, Generic[TSubstreams]): + + + class FFMPEGMuxer(StreamIO): +- __commands__: ClassVar[List[str]] = ["ffmpeg"] ++ __commands__: ClassVar[List[str]] = ["@ffmpeg@"] + + DEFAULT_OUTPUT_FORMAT = "matroska" + DEFAULT_VIDEO_CODEC = "copy"