{ lib , python3Packages , rtmpdump , ffmpeg , fetchpatch }: python3Packages.buildPythonApplication rec { pname = "streamlink"; version = "2.4.0"; src = python3Packages.fetchPypi { inherit pname version; sha256 = "e95588e222d1a7bd51e3171cd4bce84fd6f646418537aff37993d40f597810af"; }; checkInputs = with python3Packages; [ pytestCheckHook mock requests-mock freezegun ]; propagatedBuildInputs = (with python3Packages; [ pycryptodome requests iso-639 iso3166 websocket-client isodate lxml ]) ++ [ rtmpdump ffmpeg ]; patches = [ # Patch failing tests to expect correct Accept-Encoding as generated by Requests (fetchpatch { url = "https://github.com/streamlink/streamlink/commit/ae747a113199c119bced4613d33edcc67a222bb9.patch"; includes = [ "tests/test_stream_json.py" ]; sha256 = "sha256-KEgyWdh5DNgNktmLSvKQowUQO9p9Q7zP4NbCQJPNgKw="; }) ]; meta = with lib; { homepage = "https://streamlink.github.io/"; description = "CLI for extracting streams from various websites to video player of your choosing"; longDescription = '' Streamlink is a CLI utility that pipes videos from online streaming services to a variety of video players such as VLC, or alternatively, a browser. Streamlink is a fork of the livestreamer project. ''; changelog = "https://github.com/streamlink/streamlink/raw/${version}/CHANGELOG.md"; license = licenses.bsd2; platforms = platforms.linux ++ platforms.darwin; maintainers = with maintainers; [ dezgeg zraexy DeeUnderscore ]; }; }