8 # propagatedBuildInputs
19 , sphinxcontrib-apidoc
20 , sphinxcontrib-applehelp
21 , sphinxcontrib-devhelp
22 , sphinxcontrib-htmlhelp
23 , sphinxcontrib-jsmath
24 , sphinxcontrib-qthelp
25 , sphinxcontrib-serializinghtml
26 , sphinxcontrib-websupport
35 buildPythonPackage rec {
38 format = "setuptools";
40 disabled = pythonOlder "3.6";
42 src = fetchFromGitHub {
45 rev = "refs/tags/v${version}";
46 hash = "sha256-dTgQNMRIn7ETm+1HgviOkWWOCmLX7Ez6DM9ChlI32mY=";
49 mv tests/roots/test-images/testimäge.png \
50 tests/roots/test-images/testimæge.png
51 patch -p1 < ${./0001-test-images-Use-normalization-equivalent-character.patch}
56 # remove impurity caused by date inclusion
57 # https://github.com/sphinx-doc/sphinx/blob/master/setup.cfg#L4-L6
58 substituteInPlace setup.cfg \
59 --replace "tag_build = .dev" "" \
60 --replace "tag_date = true" ""
63 propagatedBuildInputs = [
73 sphinxcontrib-applehelp
75 sphinxcontrib-htmlhelp
78 sphinxcontrib-serializinghtml
80 sphinxcontrib-websupport
82 # extra plugins which are otherwise not found by sphinx-build
84 ] ++ lib.optionals (pythonOlder "3.10") [
92 ] ++ lib.optionals (pythonOlder "3.8") [
97 export HOME=$(mktemp -d)
101 # requires network access
102 "test_anchors_ignored"
107 # requires imagemagick (increases build closure size), doesn't
108 # test anything substantial
109 "test_ext_imgconverter"
110 ] ++ lib.optionals stdenv.isDarwin [
111 # Due to lack of network sandboxing can't guarantee port 7777 isn't bound
112 "test_inspect_main_url"
113 "test_auth_header_uses_first_match"
114 "test_linkcheck_allowed_redirects"
115 "test_linkcheck_request_headers"
116 "test_linkcheck_request_headers_no_slash"
117 "test_follows_redirects_on_HEAD"
118 "test_get_after_head_raises_connection_error"
120 "test_connect_to_selfsigned_with_tls_verify_false"
121 "test_connect_to_selfsigned_with_tls_cacerts"
122 "test_connect_to_selfsigned_with_requests_env_var"
123 "test_connect_to_selfsigned_nonexistent_cert_file"
124 "test_TooManyRedirects_on_HEAD"
125 "test_too_many_requests_retry_after_int_del"
126 "test_too_many_requests_retry_after_HTTP_date"
127 "test_too_many_requests_retry_after_without_header"
128 "test_too_many_requests_user_timeout"
129 "test_raises_for_invalid_status"
130 "test_auth_header_no_match"
131 "test_follows_redirects_on_GET"
132 "test_connect_to_selfsigned_fails"
136 description = "Python documentation generator";
138 A tool that makes it easy to create intelligent and beautiful
139 documentation for Python projects
141 homepage = "https://www.sphinx-doc.org";
142 license = licenses.bsd3;
143 maintainers = teams.sphinx.members;