From b5cdc6f1ebb0706fd7b87172fa1333d7ffe616f8331184466b3a543e4a36a0ab Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Tue, 11 Mar 2025 12:21:11 +0000 Subject: [PATCH 1/5] - update to 8.2.0: * #13000: Drop Python 3.10 support. * #13044: Remove the internal and undocumented has_equations data from the :py:class:`!MathDomain` domain. The undocumented :py:meth:`!MathDomain.has_equations` method now unconditionally returns True. These are replaced by the has_maths_elements key of the page context dict. Patch by Adam Turner. * #13227: HTML output for sequences of keys in the :rst:role:`kbd` role no longer uses a element to wrap the keys and separators, but places them directly in the relevant parent node. This means that CSS rulesets targeting kbd.compound or .kbd.compound will no longer have any effect. Patch by Adam Turner. * #13037: Deprecate the SingleHTMLBuilder.fix_refuris method. Patch by James Addison. * #13083, #13330: Un-deprecate sphinx.util.import_object. Patch by Matthias Geier. * #13173: Add a new duplicate_declaration warning type, with duplicate_declaration.c and duplicate_declaration.cpp subtypes. Patch by Julien Lecomte and Adam Turner. * #11824: linkcode: Allow extensions to add support for a domain by defining the keys that should be present. Patch by Nicolas Peugnet. * #13144: Add a class option to the :rst:dir:`autosummary` directive. Patch by Tim Hoffmann. * #13146: Napoleon: Unify the type preprocessing logic to allow Google-style docstrings to use the optional and default keywords. Patch by Chris Barrick. * #13227: Implement the :rst:role:`kbd` role as a SphinxRole. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Sphinx?expand=0&rev=278 --- pygments.patch | 224 ------------------------------------------ python-Sphinx.changes | 146 +++++++++++++++++++++++++++ python-Sphinx.spec | 4 +- sphinx-8.1.3.tar.gz | 3 - sphinx-8.2.0.tar.gz | 3 + 5 files changed, 150 insertions(+), 230 deletions(-) delete mode 100644 pygments.patch delete mode 100644 sphinx-8.1.3.tar.gz create mode 100644 sphinx-8.2.0.tar.gz diff --git a/pygments.patch b/pygments.patch deleted file mode 100644 index 081c351..0000000 --- a/pygments.patch +++ /dev/null @@ -1,224 +0,0 @@ -From 5ff3740063c1ac57f17ecd697bcd06cc1de4e75c Mon Sep 17 00:00:00 2001 -From: Adam Turner <9087854+aa-turner@users.noreply.github.com> -Date: Mon, 6 Jan 2025 06:56:10 +0000 -Subject: [PATCH] Adapt tests for Pygments 2.19 - ---- - tests/test_builders/test_build_html_code.py | 8 +++++++- - tests/test_builders/test_build_latex.py | 9 +++++++-- - tests/test_directives/test_directive_code.py | 15 +++++++++++++-- - tests/test_extensions/test_ext_viewcode.py | 8 +++++++- - tests/test_highlighting.py | 2 +- - tests/test_intl/test_intl.py | 15 +++++++++++++-- - 6 files changed, 48 insertions(+), 9 deletions(-) - -Index: sphinx-8.1.3/tests/test_builders/test_build_html_code.py -=================================================================== ---- sphinx-8.1.3.orig/tests/test_builders/test_build_html_code.py -+++ sphinx-8.1.3/tests/test_builders/test_build_html_code.py -@@ -1,3 +1,4 @@ -+import pygments - import pytest - - -@@ -32,11 +33,16 @@ def test_html_codeblock_linenos_style_in - - @pytest.mark.sphinx('html', testroot='reST-code-role') - def test_html_code_role(app): -+ if tuple(map(int, pygments.__version__.split('.')[:2])) >= (2, 19): -+ sp = ' ' -+ else: -+ sp = ' ' -+ - app.build() - content = (app.outdir / 'index.html').read_text(encoding='utf8') - - common_content = ( -- 'def foo' -+ f'def{sp}foo' - '(' - '1 ' - '+ ' -Index: sphinx-8.1.3/tests/test_builders/test_build_latex.py -=================================================================== ---- sphinx-8.1.3.orig/tests/test_builders/test_build_latex.py -+++ sphinx-8.1.3/tests/test_builders/test_build_latex.py -@@ -8,6 +8,7 @@ from pathlib import Path - from shutil import copyfile - from subprocess import CalledProcessError - -+import pygments - import pytest - - from sphinx.builders.latex import default_latex_documents -@@ -2127,12 +2128,16 @@ def test_latex_container(app): - - @pytest.mark.sphinx('latex', testroot='reST-code-role') - def test_latex_code_role(app): -+ if tuple(map(int, pygments.__version__.split('.')[:2])) >= (2, 19): -+ sp = r'\PYG{+w}{ }' -+ else: -+ sp = ' ' -+ - app.build() - content = (app.outdir / 'projectnamenotset.tex').read_text(encoding='utf8') - - common_content = ( -- r'\PYG{k}{def} ' -- r'\PYG{n+nf}{foo}' -+ r'\PYG{k}{def}' + sp + r'\PYG{n+nf}{foo}' - r'\PYG{p}{(}' - r'\PYG{l+m+mi}{1} ' - r'\PYG{o}{+} ' -Index: sphinx-8.1.3/tests/test_directives/test_directive_code.py -=================================================================== ---- sphinx-8.1.3.orig/tests/test_directives/test_directive_code.py -+++ sphinx-8.1.3/tests/test_directives/test_directive_code.py -@@ -2,6 +2,7 @@ - - import os.path - -+import pygments - import pytest - from docutils import nodes - -@@ -393,6 +394,11 @@ def test_literal_include_block_start_wit - - @pytest.mark.sphinx('html', testroot='directive-code') - def test_literal_include_linenos(app): -+ if tuple(map(int, pygments.__version__.split('.')[:2])) >= (2, 19): -+ sp = ' ' -+ else: -+ sp = ' ' -+ - app.build(filenames=[app.srcdir / 'linenos.rst']) - html = (app.outdir / 'linenos.html').read_text(encoding='utf8') - -@@ -410,7 +416,7 @@ def test_literal_include_linenos(app): - - # :lines: 5-9 - assert ( -- '5class ' -+ f'5class{sp}' - 'Foo:' - ) in html - -@@ -560,12 +566,17 @@ def test_code_block_highlighted(app): - - @pytest.mark.sphinx('html', testroot='directive-code') - def test_linenothreshold(app): -+ if tuple(map(int, pygments.__version__.split('.')[:2])) >= (2, 19): -+ sp = ' ' -+ else: -+ sp = ' ' -+ - app.build(filenames=[app.srcdir / 'linenothreshold.rst']) - html = (app.outdir / 'linenothreshold.html').read_text(encoding='utf8') - - # code-block using linenothreshold - assert ( -- '1class ' -+ f'1class{sp}' - 'Foo:' - ) in html - -Index: sphinx-8.1.3/tests/test_extensions/test_ext_viewcode.py -=================================================================== ---- sphinx-8.1.3.orig/tests/test_extensions/test_ext_viewcode.py -+++ sphinx-8.1.3/tests/test_extensions/test_ext_viewcode.py -@@ -6,6 +6,7 @@ import re - import shutil - from typing import TYPE_CHECKING - -+import pygments - import pytest - - if TYPE_CHECKING: -@@ -13,6 +14,11 @@ if TYPE_CHECKING: - - - def check_viewcode_output(app: SphinxTestApp) -> str: -+ if tuple(map(int, pygments.__version__.split('.')[:2])) >= (2, 19): -+ sp = ' ' -+ else: -+ sp = ' ' -+ - warnings = re.sub(r'\\+', '/', app.warning.getvalue()) - assert re.findall( - r"index.rst:\d+: WARNING: Object named 'func1' not found in include " -@@ -41,7 +47,7 @@ def check_viewcode_output(app: SphinxTes - '[docs]\n' - ) in result - assert '@decorator\n' in result -- assert 'class Class1:\n' in result -+ assert f'class{sp}Class1:\n' in result - assert ' """\n' in result - assert ' this is Class1\n' in result - assert ' """\n' in result -Index: sphinx-8.1.3/tests/test_highlighting.py -=================================================================== ---- sphinx-8.1.3.orig/tests/test_highlighting.py -+++ sphinx-8.1.3/tests/test_highlighting.py -@@ -10,7 +10,7 @@ from pygments.token import Name, Text - - from sphinx.highlighting import PygmentsBridge - --if tuple(map(int, pygments.__version__.split('.')))[:2] < (2, 18): -+if tuple(map(int, pygments.__version__.split('.')[:2])) < (2, 18): - from pygments.formatter import Formatter - - Formatter.__class_getitem__ = classmethod(lambda cls, name: cls) # type: ignore[attr-defined] -Index: sphinx-8.1.3/tests/test_intl/test_intl.py -=================================================================== ---- sphinx-8.1.3.orig/tests/test_intl/test_intl.py -+++ sphinx-8.1.3/tests/test_intl/test_intl.py -@@ -10,6 +10,7 @@ import shutil - import time - from io import StringIO - -+import pygments - import pytest - from babel.messages import mofile, pofile - from babel.messages.catalog import Catalog -@@ -1473,6 +1474,11 @@ def test_xml_strange_markup(app): - @pytest.mark.sphinx('html', testroot='intl') - @pytest.mark.test_params(shared_result='test_intl_basic') - def test_additional_targets_should_not_be_translated(app): -+ if tuple(map(int, pygments.__version__.split('.')[:2])) >= (2, 19): -+ sp = ' ' -+ else: -+ sp = ' ' -+ - app.build() - # [literalblock.txt] - result = (app.outdir / 'literalblock.html').read_text(encoding='utf8') -@@ -1511,7 +1517,7 @@ def test_additional_targets_should_not_b - # doctest block should not be translated but be highlighted - expected_expr = ( - """>>> """ -- """import sys """ -+ f"""import{sp}sys """ - """# sys importing""" - ) - assert_count(expected_expr, result, 1) -@@ -1556,6 +1562,11 @@ def test_additional_targets_should_not_b - }, - ) - def test_additional_targets_should_be_translated(app): -+ if tuple(map(int, pygments.__version__.split('.')[:2])) >= (2, 19): -+ sp = ' ' -+ else: -+ sp = ' ' -+ - app.build() - # [literalblock.txt] - result = (app.outdir / 'literalblock.html').read_text(encoding='utf8') -@@ -1605,7 +1616,7 @@ def test_additional_targets_should_be_tr - # doctest block should not be translated but be highlighted - expected_expr = ( - """>>> """ -- """import sys """ -+ f"""import{sp}sys """ - """# SYS IMPORTING""" - ) - assert_count(expected_expr, result, 1) diff --git a/python-Sphinx.changes b/python-Sphinx.changes index 81e807e..e20b8e0 100644 --- a/python-Sphinx.changes +++ b/python-Sphinx.changes @@ -1,3 +1,149 @@ +------------------------------------------------------------------- +Tue Mar 11 12:20:49 UTC 2025 - Dirk Müller + +- update to 8.2.0: + * #13000: Drop Python 3.10 support. + * #13044: Remove the internal and undocumented has_equations + data from the :py:class:`!MathDomain` domain. The + undocumented :py:meth:`!MathDomain.has_equations` method now + unconditionally returns True. These are replaced by the + has_maths_elements key of the page context dict. Patch by + Adam Turner. + * #13227: HTML output for sequences of keys in the + :rst:role:`kbd` role no longer uses a element to wrap the keys and separators, but + places them directly in the relevant parent node. This means + that CSS rulesets targeting kbd.compound or .kbd.compound + will no longer have any effect. Patch by Adam Turner. + * #13037: Deprecate the SingleHTMLBuilder.fix_refuris method. + Patch by James Addison. + * #13083, #13330: Un-deprecate sphinx.util.import_object. Patch + by Matthias Geier. + * #13173: Add a new duplicate_declaration warning type, with + duplicate_declaration.c and duplicate_declaration.cpp + subtypes. Patch by Julien Lecomte and Adam Turner. + * #11824: linkcode: Allow extensions to add support for a + domain by defining the keys that should be present. Patch by + Nicolas Peugnet. + * #13144: Add a class option to the :rst:dir:`autosummary` + directive. Patch by Tim Hoffmann. + * #13146: Napoleon: Unify the type preprocessing logic to allow + Google-style docstrings to use the optional and default + keywords. Patch by Chris Barrick. + * #13227: Implement the :rst:role:`kbd` role as a SphinxRole. + Patch by Adam Turner. + * #13065: Enable colour by default in when running on CI. Patch + by Adam Turner. + * #13230: Allow supressing warnings from the :rst:dir:`toctree` + directive when a glob pattern doesn't match any documents, + via the new toc.empty_glob warning sub-type. Patch by Slawek + Figiel. + * #9732: Add the new autodoc.mocked_object warnings sub-type. + Patch by Cyril Roelandt. + * #7630, #4824: autodoc: Use :file:`.pyi` type stub files to + auto-document native modules. Patch by Adam Turner, partially + based on work by Allie Fitter. + * #12975: Enable configuration of trailing commas in multi-line + signatures in the Python and Javascript domains, via the new + :confval:`python_trailing_comma_in_multi_line_signatures` and + :confval:`javascript_trailing_comma_in_multi_line_signatures` + configuration options. + * #13264: Rename the :rst:dir:`math` directive's nowrap option + to :rst:dir:`math:no-wrap`. Patch by Adam Turner. + * #13269: Added the option to disable the use of type comments + in via the new :confval:`autodoc_use_type_comments` option, + which defaults to True for backwards compatibility. The + default will change to False in Sphinx 10. Patch by Adam + Turner. + * #9732: Add the new ref.any warnings sub-type to allow + suppressing the ambiguous 'any' cross-reference warning. + Patch by Simão Afonso and Adam Turner. + * #13272: The Python and JavaScript module directives now + support the :no-index-entry: option. Patch by Adam Turner. + * #12233: autodoc: Allow directives to use :no-index-entry: and + include the :no-index: and :no-index-entry: options within + :confval:`autodoc_default_options`. Patch by Jonny Saunders + and Adam Turner. + * #13172: Add support for short signatures in autosummary. + Patch by Tim Hoffmann. + * #13271: Change the signature prefix for abstract methods in + the Python domain to abstractmethod from abstract. Patch by + Adam Turner. + * #13271: Support the :abstract: option for classes, methods, + and properties in the Python domain. Patch by Adam Turner. + * #12507: Add the :ref:`collapsible ` + option to admonition directives. Patch by Chris Sewell. + * #8191, #8159: Add :rst:dir:`inheritance-diagram:include- + subclasses` option to the :rst:dir:`inheritance-diagram` + directive. Patch by Walter Dörwald. + * #11995: autodoc: Add support for + :confval:`python_display_short_literal_types`. Patch by + Bénédikt Tran and Adam Turner. + * #13163: Always print the full context when Sphinx encounters + an internal error. Patch by Kevin Deldycke and Adam Turner. + * #13105: Introduce the :rst:role:`py:deco` role to cross- + reference decorator functions and methods in the Python + domain. Patch by Adam Turner. + * #9169: Add the :confval:`intersphinx_resolve_self` option to + resolve an intersphinx reference to the current project. + Patch by Jakob Lykke Andersen and Adam Turner. + * #11280: Add ability to skip a particular section using the + no-search class. Patch by Will Lachance. + * #13326: Remove hardcoding from handling + :class:`~sphinx.addnodes.productionlist` nodes in all + writers, to improve flexibility. Patch by Adam Turner. + * #13335: Use misc.highlighting_failure subtype for Pygments + unknown lexers. Patch by Bart Kamphorst. + * #13354: Insert abbreviation nodes (hover text) for + positional- and keyword-only separators in Python signatures. + Patch by Adam Turner. + * #13333: Add the :mod:`sphinx.ext.apidoc` extension, to + automate API documentation generation from Python modules. + Patch by Chris Sewell and Adam Turner. + * #12463: autosummary: Respect an empty module __all__. Patch + by Valentin Pratz + * #13060: HTML Search: use Map to store per-file term scores. + Patch by James Addison + * #13130: LaTeX docs: pdflatex index creation may fail for + index entries in French. See :confval:`latex_use_xindy`. + Patch by Jean-François B. + * #13152: LaTeX: fix a typo from v7.4.0 in a default for + \sphinxboxsetup. Patch by Jean-François B. + * #13096: HTML Search: check that query terms exist as + properties in term indices before accessing them. + * #11233: linkcheck: match redirect URIs against + :confval:`linkcheck_ignore` by overriding session-level + requests.get_redirect_target. + * #13195: viewcode: Fix issue where import paths differ from + the directory structure. Patch by Ben Egan and Adam Turner. + * #13188: autodoc: fix detection of class methods implemented + in C. Patch by Bénédikt Tran. + * #1810: Always copy static files when building, regardless of + whether any documents have changed since the previous build. + Patch by Adam Turner. + * #13201: autodoc: fix ordering of members when using groupwise + for :confval:`autodoc_member_order`. Class methods are now + rendered before static methods, which themselves are rendered + before regular methods and attributes. Patch by Bénédikt + Tran. + * #12975: Avoid rendering a trailing comma in C and C++ multi- + line signatures. + * #13178: autodoc: Fix resolution for pathlib types. Patch by + Adam Turner. + * #13136: autodoc: Correctly handle multiple inheritance. Patch + by Pavel Holica + * #13273, #13318: Properly convert command-line overrides for + Boolean types. Patch by Adam Turner. + * #13302, #13319: Use the correct indentation for continuation + lines in :rst:dir:`productionlist` directives. Patch by Adam + Turner. + * #13328: Fix parsing of PEP 695 functions with return + annotations. Patch by Bénédikt Tran. Initial work by Arash + Badie-Modiri. + * #13224: Correctness fixup for test_html_multi_line_copyright. + Patch by Colin Watson, applied by James Addison. +- drop pygments.patch (upstream) + ------------------------------------------------------------------- Fri Jan 17 11:52:23 UTC 2025 - Markéta Machová diff --git a/python-Sphinx.spec b/python-Sphinx.spec index 1ea2d56..0d5cd7b 100644 --- a/python-Sphinx.spec +++ b/python-Sphinx.spec @@ -26,7 +26,7 @@ %endif %{?sle15_python_module_pythons} Name: python-Sphinx%{psuffix} -Version: 8.1.3 +Version: 8.2.0 Release: 0 Summary: Python documentation generator License: BSD-2-Clause @@ -42,8 +42,6 @@ Source3: requests.inv Source4: readthedocs.inv Source5: update-intersphinx.sh Source99: python-Sphinx.keyring -# PATCH-FIX-UPSTREAM https://github.com/sphinx-doc/sphinx/commit/5ff3740063c1ac57f17ecd697bcd06cc1de4e75c Adapt tests for Pygments 2.19 -Patch: pygments.patch BuildRequires: %{python_module base} BuildRequires: %{python_module flit-core} BuildRequires: %{python_module pip} diff --git a/sphinx-8.1.3.tar.gz b/sphinx-8.1.3.tar.gz deleted file mode 100644 index 24015b3..0000000 --- a/sphinx-8.1.3.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:43c1911eecb0d3e161ad78611bc905d1ad0e523e4ddc202a58a821773dc4c927 -size 8184611 diff --git a/sphinx-8.2.0.tar.gz b/sphinx-8.2.0.tar.gz new file mode 100644 index 0000000..5838928 --- /dev/null +++ b/sphinx-8.2.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b0067853d6e97f3fa87563e3404ebd008fce03525b55b25da90706764da6215 +size 8321764 From a09c151b64d215b24c08ab038de128bb3100f8e668e9c2b8c876419fc553aa3b Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Tue, 11 Mar 2025 12:34:42 +0000 Subject: [PATCH 2/5] OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Sphinx?expand=0&rev=279 --- python-Sphinx.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/python-Sphinx.spec b/python-Sphinx.spec index 0d5cd7b..4cfc494 100644 --- a/python-Sphinx.spec +++ b/python-Sphinx.spec @@ -233,8 +233,7 @@ This package contains the HTML documentation for Sphinx. %endif %prep -%setup -q -n sphinx-%{version} -%autopatch -p1 +%autosetup -p1 -n sphinx-%{version} %build %pyproject_wheel From f36f4bcaebdd3f9619eeb37ffe6750415f935c66f42b44d932f828efff0cb459 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Wed, 12 Mar 2025 14:10:49 +0000 Subject: [PATCH 3/5] Accepting request 1252308 from home:dgarcia:branches:devel:languages:python - Add missing dependency python-roman-numerals OBS-URL: https://build.opensuse.org/request/show/1252308 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Sphinx?expand=0&rev=280 --- python-Sphinx.changes | 5 +++++ python-Sphinx.spec | 1 + 2 files changed, 6 insertions(+) diff --git a/python-Sphinx.changes b/python-Sphinx.changes index e20b8e0..5b26374 100644 --- a/python-Sphinx.changes +++ b/python-Sphinx.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Mar 12 07:31:26 UTC 2025 - Daniel Garcia + +- Add missing dependency python-roman-numerals + ------------------------------------------------------------------- Tue Mar 11 12:20:49 UTC 2025 - Dirk Müller diff --git a/python-Sphinx.spec b/python-Sphinx.spec index 4cfc494..c34caee 100644 --- a/python-Sphinx.spec +++ b/python-Sphinx.spec @@ -60,6 +60,7 @@ Requires: python-docutils >= 0.12 Requires: python-imagesize Requires: python-packaging Requires: python-requests >= 2.5.0 +Requires: python-roman-numerals Requires: python-snowballstemmer >= 1.1 Requires: python-sphinxcontrib-applehelp Requires: python-sphinxcontrib-devhelp From 72ffa0c4c7ee5a7c1fdb0ddaaeb8640a2cd2c7cd059e79adc4bb5a9e3e64c4a2 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Sat, 15 Mar 2025 11:04:35 +0000 Subject: [PATCH 4/5] Accepting request 1253092 from home:mcalabkova:branches:devel:languages:python - Update to 8.2.3 * Correct spelling of highlighting_failure in warning sub-type. * Restore support for using sphinx.testing.path paths with sphinx.testing.fixtures * viewcode: Fix importing modules more than once. * Fix argument type for jieba.load_userdict(). * Add workaround for nbsphinx implicit imports. * Ensure inline