sphinx: 5.3.0 -> 7.2.6
Diff: https://github.com/sphinx-doc/sphinx/compare/v5.3.0...v7.2.6 Changelog: https://www.sphinx-doc.org/en/master/changes.html#release-7-2-6-released-sep-13-2023 Co-authored-by: Theodore Ni <3806110+tjni@users.noreply.github.com> Co-authored-by: Anderson Torres <torres.anderson.85@protonmail.com> Co-authored-by: OTABI Tomoya <tomoya.otabi@gmail.com>
This commit is contained in:
parent
08be9a9577
commit
ce209976f5
2 changed files with 47 additions and 101 deletions
|
@ -1,35 +0,0 @@
|
||||||
From 181617387841b695ee77b162babf9fb177002fcb Mon Sep 17 00:00:00 2001
|
|
||||||
From: toonn <toonn@toonn.io>
|
|
||||||
Date: Mon, 20 Sep 2021 11:39:46 +0200
|
|
||||||
Subject: [PATCH] test-images: Use normalization equivalent character
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
One of the test images used a combining character `ä` that can be
|
|
||||||
encoded multiple ways. This means the file's name can end up encoded
|
|
||||||
differently depending on whether/which normal form the filesystem uses.
|
|
||||||
|
|
||||||
For Nix this causes a different hash for a FOD depending on the
|
|
||||||
filesystem where it is evaluated. This is problematic because hashes
|
|
||||||
fail to match up when evaluating the FOD across multiple platforms.
|
|
||||||
---
|
|
||||||
tests/roots/test-images/index.rst | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/tests/roots/test-images/index.rst b/tests/roots/test-images/index.rst
|
|
||||||
index 14a2987..219842e 100644
|
|
||||||
--- a/tests/roots/test-images/index.rst
|
|
||||||
+++ b/tests/roots/test-images/index.rst
|
|
||||||
@@ -13,7 +13,7 @@ test-image
|
|
||||||
|
|
||||||
The caption of img
|
|
||||||
|
|
||||||
-.. image:: testimäge.png
|
|
||||||
+.. image:: testimæge.png
|
|
||||||
|
|
||||||
.. image:: rimg.png
|
|
||||||
:target: https://www.sphinx-doc.org/
|
|
||||||
--
|
|
||||||
2.17.2 (Apple Git-113)
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ stdenv
|
{ lib
|
||||||
, lib
|
, stdenv
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
@ -30,29 +30,29 @@
|
||||||
|
|
||||||
# check phase
|
# check phase
|
||||||
, cython
|
, cython
|
||||||
|
, filelock
|
||||||
, html5lib
|
, html5lib
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
, typed-ast
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "sphinx";
|
pname = "sphinx";
|
||||||
version = "5.3.0";
|
version = "7.2.6";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
disabled = pythonOlder "3.9";
|
||||||
disabled = pythonOlder "3.6";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "sphinx-doc";
|
owner = "sphinx-doc";
|
||||||
repo = pname;
|
repo = "sphinx";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-80bVg1rfBebgSOKbWkzP84vpm39iLgM8lWlVD64nSsQ=";
|
|
||||||
postFetch = ''
|
postFetch = ''
|
||||||
cd $out
|
# Change ä to æ in file names, since ä can be encoded multiple ways on different
|
||||||
mv tests/roots/test-images/testimäge.png \
|
# filesystems, leading to different hashes on different platforms.
|
||||||
tests/roots/test-images/testimæge.png
|
cd "$out";
|
||||||
patch -p1 < ${./0001-test-images-Use-normalization-equivalent-character.patch}
|
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}
|
||||||
'';
|
'';
|
||||||
|
hash = "sha256-IjpRGeGpGfzrEvwIKtuu2l1S74w8W+AbqDOGnWwtRck=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -60,8 +60,8 @@ buildPythonPackage rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
babel
|
|
||||||
alabaster
|
alabaster
|
||||||
|
babel
|
||||||
docutils
|
docutils
|
||||||
imagesize
|
imagesize
|
||||||
jinja2
|
jinja2
|
||||||
|
@ -84,66 +84,22 @@ buildPythonPackage rec {
|
||||||
importlib-metadata
|
importlib-metadata
|
||||||
];
|
];
|
||||||
|
|
||||||
|
__darwinAllowLocalNetworking = true;
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
cython
|
cython
|
||||||
|
filelock
|
||||||
html5lib
|
html5lib
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
] ++ lib.optionals (pythonOlder "3.8") [
|
|
||||||
typed-ast
|
|
||||||
];
|
];
|
||||||
|
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
export HOME=$(mktemp -d)
|
export HOME=$TMPDIR
|
||||||
'';
|
'';
|
||||||
|
|
||||||
disabledTests = [
|
disabledTests = [
|
||||||
# requires network access
|
# requires network access
|
||||||
"test_anchors_ignored"
|
|
||||||
"test_defaults"
|
|
||||||
"test_defaults_json"
|
|
||||||
"test_latex_images"
|
"test_latex_images"
|
||||||
|
|
||||||
# requires imagemagick (increases build closure size), doesn't
|
|
||||||
# test anything substantial
|
|
||||||
"test_ext_imgconverter"
|
|
||||||
|
|
||||||
# fails with pygments 2.14
|
|
||||||
# TODO remove for sphinx 6
|
|
||||||
"test_viewcode"
|
|
||||||
"test_additional_targets_should_be_translated"
|
|
||||||
"test_additional_targets_should_not_be_translated"
|
|
||||||
|
|
||||||
# sphinx.errors.VersionRequirementError: The alabaster extension
|
|
||||||
# used by this project needs at least Sphinx v1.6; it therefore
|
|
||||||
# cannot be built with this version.
|
|
||||||
"test_needs_sphinx"
|
|
||||||
|
|
||||||
# Likely due to pygments 2.14 update
|
|
||||||
# AssertionError: assert '5:11:17\u202fAM' == '5:11:17 AM'
|
|
||||||
"test_format_date"
|
|
||||||
] ++ lib.optionals stdenv.isDarwin [
|
|
||||||
# Due to lack of network sandboxing can't guarantee port 7777 isn't bound
|
|
||||||
"test_inspect_main_url"
|
|
||||||
"test_auth_header_uses_first_match"
|
|
||||||
"test_linkcheck_allowed_redirects"
|
|
||||||
"test_linkcheck_request_headers"
|
|
||||||
"test_linkcheck_request_headers_no_slash"
|
|
||||||
"test_follows_redirects_on_HEAD"
|
|
||||||
"test_get_after_head_raises_connection_error"
|
|
||||||
"test_invalid_ssl"
|
|
||||||
"test_connect_to_selfsigned_with_tls_verify_false"
|
|
||||||
"test_connect_to_selfsigned_with_tls_cacerts"
|
|
||||||
"test_connect_to_selfsigned_with_requests_env_var"
|
|
||||||
"test_connect_to_selfsigned_nonexistent_cert_file"
|
|
||||||
"test_TooManyRedirects_on_HEAD"
|
|
||||||
"test_too_many_requests_retry_after_int_del"
|
|
||||||
"test_too_many_requests_retry_after_HTTP_date"
|
|
||||||
"test_too_many_requests_retry_after_without_header"
|
|
||||||
"test_too_many_requests_user_timeout"
|
|
||||||
"test_raises_for_invalid_status"
|
|
||||||
"test_auth_header_no_match"
|
|
||||||
"test_follows_redirects_on_GET"
|
|
||||||
"test_connect_to_selfsigned_fails"
|
|
||||||
] ++ lib.optionals isPyPy [
|
] ++ lib.optionals isPyPy [
|
||||||
# PyPy has not __builtins__ which get asserted
|
# PyPy has not __builtins__ which get asserted
|
||||||
# https://doc.pypy.org/en/latest/cpython_differences.html#miscellaneous
|
# https://doc.pypy.org/en/latest/cpython_differences.html#miscellaneous
|
||||||
|
@ -159,14 +115,39 @@ buildPythonPackage rec {
|
||||||
"test_partialfunction"
|
"test_partialfunction"
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
description = "Python documentation generator";
|
description = "Python documentation generator";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
A tool that makes it easy to create intelligent and beautiful
|
Sphinx makes it easy to create intelligent and beautiful documentation.
|
||||||
documentation for Python projects
|
|
||||||
|
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.
|
||||||
'';
|
'';
|
||||||
homepage = "https://www.sphinx-doc.org";
|
homepage = "https://www.sphinx-doc.org";
|
||||||
license = licenses.bsd3;
|
changelog = "https://www.sphinx-doc.org/en/master/changes.html";
|
||||||
maintainers = teams.sphinx.members;
|
license = lib.licenses.bsd3;
|
||||||
|
maintainers = lib.teams.sphinx.members;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue