biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / video / streamlink / default.nix
blob4b1763d6a3379af8ad67803dc5e66763826fc6ef
1 { lib
2 , python3Packages
3 , fetchPypi
4 , substituteAll
5 , ffmpeg
6 }:
8 python3Packages.buildPythonApplication rec {
9   pname = "streamlink";
10   version = "6.11.0";
11   pyproject = true;
13   src = fetchPypi {
14     inherit pname version;
15     hash = "sha256-Vi5ddTyhCeGVYgfeSsJ8M3zmuZ++ftcgO5RRBe1bL4Y=";
16   };
18   patches = [
19     (substituteAll {
20       src = ./ffmpeg-path.patch;
21       ffmpeg = lib.getExe ffmpeg;
22     })
23   ];
25   nativeBuildInputs = with python3Packages; [
26     setuptools
27   ];
29   nativeCheckInputs = with python3Packages; [
30     pytestCheckHook
31     mock
32     requests-mock
33     freezegun
34     pytest-trio
35   ];
37   disabledTests = [
38     # requires ffmpeg to be in PATH
39     "test_no_cache"
40   ];
42   propagatedBuildInputs = with python3Packages; [
43     certifi
44     isodate
45     lxml
46     pycountry
47     pycryptodome
48     pysocks
49     requests
50     trio
51     trio-websocket
52     typing-extensions
53     urllib3
54     websocket-client
55   ];
57   meta = {
58     changelog = "https://github.com/streamlink/streamlink/raw/${version}/CHANGELOG.md";
59     description = "CLI for extracting streams from various websites to video player of your choosing";
60     homepage = "https://streamlink.github.io/";
61     longDescription = ''
62       Streamlink is a CLI utility that pipes videos from online
63       streaming services to a variety of video players such as VLC, or
64       alternatively, a browser.
66       Streamlink is a fork of the livestreamer project.
67     '';
68     license = lib.licenses.bsd2;
69     mainProgram = "streamlink";
70     maintainers = with lib.maintainers; [ dezgeg zraexy DeeUnderscore ];
71   };