1{ lib
2, buildPythonPackage
3, pythonOlder
4, fetchFromGitHub
5# propagatedBuildInputs
6, Babel
7, alabaster
8, docutils
9, imagesize
10, jinja2
11, packaging
12, pygments
13, requests
14, setuptools
15, snowballstemmer
16, sphinxcontrib-applehelp
17, sphinxcontrib-devhelp
18, sphinxcontrib-htmlhelp
19, sphinxcontrib-jsmath
20, sphinxcontrib-qthelp
21, sphinxcontrib-serializinghtml
22, sphinxcontrib-websupport
23# check phase
24, html5lib
25, pytestCheckHook
26, typed-ast
27}:
28
29buildPythonPackage rec {
30 pname = "sphinx";
31 version = "4.2.0";
32 disabled = pythonOlder "3.5";
33
34 src = fetchFromGitHub {
35 owner = "sphinx-doc";
36 repo = pname;
37 rev = "v${version}";
38 sha256 = "1i38n5bxqiycjwmiv9dl72r3f5ks4zmif30znqg8zilclbx6g16x";
39 };
40
41 propagatedBuildInputs = [
42 Babel
43 alabaster
44 docutils
45 imagesize
46 jinja2
47 packaging
48 pygments
49 requests
50 setuptools
51 snowballstemmer
52 sphinxcontrib-applehelp
53 sphinxcontrib-devhelp
54 sphinxcontrib-htmlhelp
55 sphinxcontrib-jsmath
56 sphinxcontrib-qthelp
57 sphinxcontrib-serializinghtml
58 # extra[docs]
59 sphinxcontrib-websupport
60 ];
61
62 checkInputs = [
63 html5lib
64 pytestCheckHook
65 ] ++ lib.optionals (pythonOlder "3.8") [
66 typed-ast
67 ];
68
69 disabledTests = [
70 # requires network access
71 "test_anchors_ignored"
72 "test_defaults"
73 "test_defaults_json"
74 "test_latex_images"
75
76 # requires imagemagick (increases build closure size), doesn't
77 # test anything substantial
78 "test_ext_imgconverter"
79 ];
80
81 meta = with lib; {
82 description = "Python documentation generator";
83 longDescription = ''
84 A tool that makes it easy to create intelligent and beautiful
85 documentation for Python projects
86 '';
87 homepage = "https://www.sphinx-doc.org";
88 license = licenses.bsd3;
89 maintainers = with maintainers; [ ];
90 };
91}