biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / misc / coursera-dl / default.nix
blob63aaf33f7f42f4ba1795a7cab48dbc3d71122c77
2   fetchFromGitHub,
3   fetchpatch,
4   lib,
5   pandoc,
6   python3,
7 }:
9 python3.pkgs.buildPythonApplication rec {
10   pname = "coursera-dl";
11   version = "0.11.5";
12   pyproject = true;
14   src = fetchFromGitHub {
15     owner = "coursera-dl";
16     repo = "coursera-dl";
17     rev = "refs/tags/${version}";
18     hash = "sha256-c+ElGIrd4ZhMfWtsNHrHRO3HaRRtEQuGlCSBrvPnbyo=";
19   };
21   patches = [
22     (fetchpatch {
23       url = "https://github.com/coursera-dl/coursera-dl/commit/c8796e567698be166cb15f54e095140c1a9b567e.patch";
24       hash = "sha256-e52QPr4XH+HnB49R+nkG0KC9Zf1TbPf92dcP7ts3ih0=";
25     })
26     (fetchpatch {
27       url = "https://github.com/coursera-dl/coursera-dl/commit/6c221706ba828285ca7a30a08708e63e3891b36f.patch";
28       hash = "sha256-/AKFvBPInSq/lsz+G0jVSl/ukVgCnt66oePAb+66AjI=";
29     })
30     # https://github.com/coursera-dl/coursera-dl/pull/857
31     (fetchpatch {
32       name = "python-3.11-compatibility.patch";
33       url = "https://github.com/coursera-dl/coursera-dl/commit/7b0783433b6b198fca9e51405b18386f90790892.patch";
34       hash = "sha256-OpW8gqzrMyaE69qH3uGsB5TNQTYaO7pn3uJ7NU5SrcM=";
35     })
36   ];
38   build-system = with python3.pkgs; [ setuptools ];
40   nativeBuildInputs = [ pandoc ];
42   pythonRelaxDeps = true;
44   dependencies = with python3.pkgs; [
45     attrs
46     beautifulsoup4
47     configargparse
48     distutils
49     keyring
50     pyasn1
51     requests
52     six
53     urllib3
54   ];
56   nativeCheckInputs = with python3.pkgs; [
57     pytestCheckHook
58     mock
59   ];
61   disabledTests = [
62     "test_get_credentials_with_keyring"
63     "test_quiz_exam_to_markup_converter"
64   ];
66   meta = with lib; {
67     description = "CLI for downloading Coursera.org videos and naming them";
68     mainProgram = "coursera-dl";
69     homepage = "https://github.com/coursera-dl/coursera-dl";
70     changelog = "https://github.com/coursera-dl/coursera-dl/blob/${src.rev}/CHANGELOG.md";
71     license = licenses.lgpl3Plus;
72     maintainers = with maintainers; [ alexfmpe ];
73     platforms = platforms.darwin ++ platforms.linux;
74   };