Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / misc / coursera-dl / default.nix
blobf95633f0c89640cc76a2f5272e97ee63a43a5f88
1 { lib
2 , fetchFromGitHub
3 , fetchpatch
4 , glibcLocales
5 , pandoc
6 , python3
7 }:
9 python3.pkgs.buildPythonApplication rec {
10   pname = "coursera-dl";
11   version = "0.11.5";
12   format = "setuptools";
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   postPatch = ''
39     substituteInPlace requirements.txt \
40       --replace '==' '>='
41   '';
43   preConfigure = ''
44     export LC_ALL=en_US.utf-8
45   '';
47   nativeBuildInputs = with python3.pkgs; [
48     pandoc
49   ];
51   buildInputs = with python3.pkgs; [
52     glibcLocales
53   ];
55   propagatedBuildInputs = with python3.pkgs; [
56     attrs
57     beautifulsoup4
58     configargparse
59     keyring
60     pyasn1
61     requests
62     six
63     urllib3
64   ];
66   nativeCheckInputs = with python3.pkgs; [
67     pytestCheckHook
68     mock
69   ];
71   disabledTests = [
72     "test_get_credentials_with_keyring"
73     "test_quiz_exam_to_markup_converter"
74   ];
76   meta = with lib; {
77     description = "CLI for downloading Coursera.org videos and naming them";
78     homepage = "https://github.com/coursera-dl/coursera-dl";
79     changelog = "https://github.com/coursera-dl/coursera-dl/blob/0.11.5/CHANGELOG.md";
80     license = licenses.lgpl3Plus;
81     maintainers = with maintainers; [ alexfmpe ];
82     platforms = platforms.darwin ++ platforms.linux;
83   };