2024-06-05 15:53:02 +00:00
|
|
|
|
{
|
|
|
|
|
lib,
|
|
|
|
|
buildPythonPackage,
|
|
|
|
|
pythonOlder,
|
|
|
|
|
fetchFromGitHub,
|
|
|
|
|
isPyPy,
|
2022-09-09 14:08:57 +00:00
|
|
|
|
|
2024-06-05 15:53:02 +00:00
|
|
|
|
# build-system
|
|
|
|
|
flit-core,
|
2023-01-20 10:41:00 +00:00
|
|
|
|
|
2024-06-05 15:53:02 +00:00
|
|
|
|
# dependencies
|
|
|
|
|
babel,
|
|
|
|
|
alabaster,
|
|
|
|
|
docutils,
|
|
|
|
|
imagesize,
|
|
|
|
|
importlib-metadata,
|
|
|
|
|
jinja2,
|
|
|
|
|
packaging,
|
|
|
|
|
pygments,
|
|
|
|
|
requests,
|
|
|
|
|
snowballstemmer,
|
|
|
|
|
sphinxcontrib-applehelp,
|
|
|
|
|
sphinxcontrib-devhelp,
|
|
|
|
|
sphinxcontrib-htmlhelp,
|
|
|
|
|
sphinxcontrib-jsmath,
|
|
|
|
|
sphinxcontrib-qthelp,
|
|
|
|
|
sphinxcontrib-serializinghtml,
|
|
|
|
|
sphinxcontrib-websupport,
|
|
|
|
|
tomli,
|
2022-09-09 14:08:57 +00:00
|
|
|
|
|
2024-06-05 15:53:02 +00:00
|
|
|
|
# check phase
|
|
|
|
|
defusedxml,
|
|
|
|
|
filelock,
|
|
|
|
|
html5lib,
|
|
|
|
|
pytestCheckHook,
|
|
|
|
|
pytest-xdist,
|
2020-04-24 23:36:52 +00:00
|
|
|
|
}:
|
|
|
|
|
|
|
|
|
|
buildPythonPackage rec {
|
|
|
|
|
pname = "sphinx";
|
2024-05-15 15:35:15 +00:00
|
|
|
|
version = "7.3.7";
|
2023-01-20 10:41:00 +00:00
|
|
|
|
format = "pyproject";
|
2023-11-16 04:20:00 +00:00
|
|
|
|
disabled = pythonOlder "3.9";
|
2021-05-20 23:08:51 +00:00
|
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
|
owner = "sphinx-doc";
|
2023-11-16 04:20:00 +00:00
|
|
|
|
repo = "sphinx";
|
2022-08-12 12:06:08 +00:00
|
|
|
|
rev = "refs/tags/v${version}";
|
2022-06-16 17:23:12 +00:00
|
|
|
|
postFetch = ''
|
2023-11-16 04:20:00 +00:00
|
|
|
|
# Change ä to æ in file names, since ä can be encoded multiple ways on different
|
|
|
|
|
# filesystems, leading to different hashes on different platforms.
|
|
|
|
|
cd "$out";
|
|
|
|
|
mv tests/roots/test-images/{testimäge,testimæge}.png
|
|
|
|
|
sed -i 's/testimäge/testimæge/g' tests/{test_build*.py,roots/test-images/index.rst}
|
2021-12-26 17:43:05 +00:00
|
|
|
|
'';
|
2024-05-15 15:35:15 +00:00
|
|
|
|
hash = "sha256-XGGRWEvd1SbQsK8W5yxDzBd5hlvXcDzr8t5Qa6skH/M=";
|
2020-04-24 23:36:52 +00:00
|
|
|
|
};
|
|
|
|
|
|
2024-06-05 15:53:02 +00:00
|
|
|
|
build-system = [ flit-core ];
|
2022-04-27 09:35:20 +00:00
|
|
|
|
|
2024-06-05 15:53:02 +00:00
|
|
|
|
dependencies =
|
|
|
|
|
[
|
|
|
|
|
alabaster
|
|
|
|
|
babel
|
|
|
|
|
docutils
|
|
|
|
|
imagesize
|
|
|
|
|
jinja2
|
|
|
|
|
packaging
|
|
|
|
|
pygments
|
|
|
|
|
requests
|
|
|
|
|
snowballstemmer
|
|
|
|
|
sphinxcontrib-applehelp
|
|
|
|
|
sphinxcontrib-devhelp
|
|
|
|
|
sphinxcontrib-htmlhelp
|
|
|
|
|
sphinxcontrib-jsmath
|
|
|
|
|
sphinxcontrib-qthelp
|
|
|
|
|
sphinxcontrib-serializinghtml
|
|
|
|
|
# extra[docs]
|
|
|
|
|
sphinxcontrib-websupport
|
|
|
|
|
]
|
|
|
|
|
++ lib.optionals (pythonOlder "3.11") [ tomli ]
|
|
|
|
|
++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ];
|
2021-05-20 23:08:51 +00:00
|
|
|
|
|
2023-11-16 04:20:00 +00:00
|
|
|
|
__darwinAllowLocalNetworking = true;
|
|
|
|
|
|
2023-02-02 18:25:31 +00:00
|
|
|
|
nativeCheckInputs = [
|
2024-05-15 15:35:15 +00:00
|
|
|
|
defusedxml
|
2023-11-16 04:20:00 +00:00
|
|
|
|
filelock
|
2021-05-20 23:08:51 +00:00
|
|
|
|
html5lib
|
|
|
|
|
pytestCheckHook
|
2024-04-21 15:54:59 +00:00
|
|
|
|
pytest-xdist
|
2021-05-20 23:08:51 +00:00
|
|
|
|
];
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
2022-09-09 14:08:57 +00:00
|
|
|
|
preCheck = ''
|
2023-11-16 04:20:00 +00:00
|
|
|
|
export HOME=$TMPDIR
|
2022-09-09 14:08:57 +00:00
|
|
|
|
'';
|
|
|
|
|
|
2024-06-05 15:53:02 +00:00
|
|
|
|
disabledTests =
|
|
|
|
|
[
|
|
|
|
|
# requires network access
|
|
|
|
|
"test_latex_images"
|
|
|
|
|
# racy
|
|
|
|
|
"test_defaults"
|
|
|
|
|
"test_check_link_response_only"
|
|
|
|
|
"test_anchors_ignored_for_url"
|
|
|
|
|
"test_autodoc_default_options"
|
|
|
|
|
"test_too_many_requests_retry_after_int_delay"
|
|
|
|
|
# racy with pytest-xdist
|
|
|
|
|
"test_domain_cpp_build_semicolon"
|
|
|
|
|
"test_class_alias"
|
|
|
|
|
"test_class_alias_having_doccomment"
|
|
|
|
|
"test_class_alias_for_imported_object_having_doccomment"
|
|
|
|
|
"test_decorators"
|
|
|
|
|
# requires cython_0, but fails miserably on 3.11
|
|
|
|
|
"test_cython"
|
|
|
|
|
# Could not fetch remote image: http://localhost:7777/sphinx.png
|
|
|
|
|
"test_copy_images"
|
|
|
|
|
]
|
|
|
|
|
++ lib.optionals isPyPy [
|
|
|
|
|
# PyPy has not __builtins__ which get asserted
|
|
|
|
|
# https://doc.pypy.org/en/latest/cpython_differences.html#miscellaneous
|
|
|
|
|
"test_autosummary_generate_content_for_module"
|
|
|
|
|
"test_autosummary_generate_content_for_module_skipped"
|
|
|
|
|
# internals are asserted which are sightly different in PyPy
|
|
|
|
|
"test_autodoc_inherited_members_None"
|
|
|
|
|
"test_automethod_for_builtin"
|
|
|
|
|
"test_builtin_function"
|
|
|
|
|
"test_isattributedescriptor"
|
|
|
|
|
"test_methoddescriptor"
|
|
|
|
|
"test_partialfunction"
|
|
|
|
|
];
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
2023-11-16 04:20:00 +00:00
|
|
|
|
meta = {
|
2021-05-20 23:08:51 +00:00
|
|
|
|
description = "Python documentation generator";
|
|
|
|
|
longDescription = ''
|
2023-11-16 04:20:00 +00:00
|
|
|
|
Sphinx makes it easy to create intelligent and beautiful documentation.
|
|
|
|
|
|
|
|
|
|
Here are some of Sphinx’s major features:
|
|
|
|
|
- Output formats: HTML (including Windows HTML Help), LaTeX (for printable
|
|
|
|
|
PDF versions), ePub, Texinfo, manual pages, plain text
|
|
|
|
|
- Extensive cross-references: semantic markup and automatic links for
|
|
|
|
|
functions, classes, citations, glossary terms and similar pieces of
|
|
|
|
|
information
|
|
|
|
|
- Hierarchical structure: easy definition of a document tree, with
|
|
|
|
|
automatic links to siblings, parents and children
|
|
|
|
|
- Automatic indices: general index as well as a language-specific module
|
|
|
|
|
indices
|
|
|
|
|
- Code handling: automatic highlighting using the Pygments highlighter
|
|
|
|
|
- Extensions: automatic testing of code snippets, inclusion of docstrings
|
|
|
|
|
from Python modules (API docs) via built-in extensions, and much more
|
|
|
|
|
functionality via third-party extensions.
|
|
|
|
|
- Themes: modify the look and feel of outputs via creating themes, and
|
|
|
|
|
re-use many third-party themes.
|
|
|
|
|
- Contributed extensions: dozens of extensions contributed by users; most
|
|
|
|
|
of them installable from PyPI.
|
|
|
|
|
|
|
|
|
|
Sphinx uses the reStructuredText markup language by default, and can read
|
|
|
|
|
MyST markdown via third-party extensions. Both of these are powerful and
|
|
|
|
|
straightforward to use, and have functionality for complex documentation
|
|
|
|
|
and publishing workflows. They both build upon Docutils to parse and write
|
|
|
|
|
documents.
|
2021-05-20 23:08:51 +00:00
|
|
|
|
'';
|
|
|
|
|
homepage = "https://www.sphinx-doc.org";
|
2023-11-16 04:20:00 +00:00
|
|
|
|
changelog = "https://www.sphinx-doc.org/en/master/changes.html";
|
|
|
|
|
license = lib.licenses.bsd3;
|
|
|
|
|
maintainers = lib.teams.sphinx.members;
|
2020-04-24 23:36:52 +00:00
|
|
|
|
};
|
|
|
|
|
}
|