diff --git a/.cvsignore b/.cvsignore new file mode 100644 index 0000000..11c96c5 --- /dev/null +++ b/.cvsignore @@ -0,0 +1 @@ +Sphinx-0.6.5.tar.gz diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore deleted file mode 100644 index bf51472..0000000 --- a/.gitignore +++ /dev/null @@ -1,51 +0,0 @@ -/Sphinx-1.2.3.tar.gz -/Sphinx-1.3.1.tar.gz -/Sphinx-1.4.4.tar.gz -/Sphinx-1.4.5.tar.gz -/Sphinx-1.4.6.tar.gz -/Sphinx-1.4.8.tar.gz -/Sphinx-1.4.9.tar.gz -/Sphinx-1.5.1.tar.gz -/Sphinx-1.5.2.tar.gz -/Sphinx-1.6.3.tar.gz -/Sphinx-1.6.4.tar.gz -/Sphinx-1.6.5.tar.gz -/Sphinx-1.6.6.tar.gz -/Sphinx-1.7.1.tar.gz -/Sphinx-1.7.2.tar.gz -/Sphinx-1.7.5.tar.gz -/Sphinx-1.7.6.tar.gz -/Sphinx-1.8.4.tar.gz -/Sphinx-2.0.0b1.tar.gz -/Sphinx-2.0.0b2.tar.gz -/Sphinx-2.0.1.tar.gz -/Sphinx-2.1.2.tar.gz -/Sphinx-2.2.0.tar.gz -/Sphinx-2.2.2.tar.gz -/Sphinx-3.1.1.tar.gz -/Sphinx-3.1.2.tar.gz -/Sphinx-3.2.1.tar.gz -/Sphinx-3.3.1.tar.gz -/Sphinx-3.4.3.tar.gz -/Sphinx-3.5.2.tar.gz -/Sphinx-3.5.3.tar.gz -/Sphinx-3.5.4.tar.gz -/Sphinx-4.0.2.tar.gz -/Sphinx-4.1.2.tar.gz -/Sphinx-4.2.0.tar.gz -/Sphinx-4.3.0.tar.gz -/Sphinx-4.3.1.tar.gz -/Sphinx-4.4.0.tar.gz -/Sphinx-4.5.0.tar.gz -/Sphinx-5.0.2.tar.gz -/Sphinx-5.1.1.tar.gz -/Sphinx-5.2.3.tar.gz -/Sphinx-5.3.0.tar.gz -/Sphinx-6.1.3.tar.gz -/Sphinx-6.2.1.tar.gz -/Sphinx-7.0.1.tar.gz -/sphinx-7.1.2.tar.gz -/sphinx-7.2.6.tar.gz -/sphinx-7.3.7.tar.gz -/sphinx-8.1.3.tar.gz -/sphinx-8.2.3.tar.gz diff --git a/13527.patch b/13527.patch deleted file mode 100644 index f253845..0000000 --- a/13527.patch +++ /dev/null @@ -1,314 +0,0 @@ -From 93312460e37be0ba1acbbefa553bfc25f4fc5ea9 Mon Sep 17 00:00:00 2001 -From: Adam Turner <9087854+aa-turner@users.noreply.github.com> -Date: Sun, 27 Apr 2025 21:00:40 +0100 -Subject: [PATCH 1/9] Fix tests for Python 3.14a7+ - ---- - tests/test_extensions/test_ext_autodoc.py | 2 +- - tests/test_extensions/test_ext_autodoc_configs.py | 1 - - 2 files changed, 1 insertion(+), 2 deletions(-) - -diff --git a/tests/test_extensions/test_ext_autodoc.py b/tests/test_extensions/test_ext_autodoc.py -index a06c1bbe30d..bdcd6ef2b95 100644 ---- a/tests/test_extensions/test_ext_autodoc.py -+++ b/tests/test_extensions/test_ext_autodoc.py -@@ -941,7 +941,7 @@ def test_autodoc_special_members(app): - actual = do_autodoc(app, 'class', 'target.Class', options) - assert list(filter(lambda l: '::' in l, actual)) == [ - '.. py:class:: Class(arg)', -- ' .. py:attribute:: Class.__annotations__', -+ ' .. py:attribute:: Class.__annotations_cache__', - ' .. py:attribute:: Class.__dict__', - ' .. py:method:: Class.__init__(arg)', - ' .. py:attribute:: Class.__module__', -diff --git a/tests/test_extensions/test_ext_autodoc_configs.py b/tests/test_extensions/test_ext_autodoc_configs.py -index ab7539190e0..d520e7f9cfe 100644 ---- a/tests/test_extensions/test_ext_autodoc_configs.py -+++ b/tests/test_extensions/test_ext_autodoc_configs.py -@@ -1368,7 +1368,6 @@ def test_autodoc_type_aliases(app: SphinxTestApp) -> None: - '', - ' .. py:attribute:: Foo.attr2', - ' :module: target.autodoc_type_aliases', -- ' :type: int', - '', - ' docstring', - '', - -From 523f290134f644b115e18e347dce093fa0fbd662 Mon Sep 17 00:00:00 2001 -From: Adam Turner <9087854+aa-turner@users.noreply.github.com> -Date: Sun, 27 Apr 2025 21:03:35 +0100 -Subject: [PATCH 2/9] Fix tests for Python 3.14a7+ - ---- - tests/test_extensions/test_ext_autodoc_configs.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/test_extensions/test_ext_autodoc_configs.py b/tests/test_extensions/test_ext_autodoc_configs.py -index d520e7f9cfe..2f8dc75d082 100644 ---- a/tests/test_extensions/test_ext_autodoc_configs.py -+++ b/tests/test_extensions/test_ext_autodoc_configs.py -@@ -1368,6 +1368,7 @@ def test_autodoc_type_aliases(app: SphinxTestApp) -> None: - '', - ' .. py:attribute:: Foo.attr2', - ' :module: target.autodoc_type_aliases', -+ ' :type: int', - '', - ' docstring', - '', -@@ -1440,7 +1441,6 @@ def test_autodoc_type_aliases(app: SphinxTestApp) -> None: - '', - ' .. py:attribute:: Foo.attr2', - ' :module: target.autodoc_type_aliases', -- ' :type: myint', - '', - ' docstring', - '', - -From a81bcf834822fac1cf96a2ab43c5b0d260ec532b Mon Sep 17 00:00:00 2001 -From: James Addison -Date: Tue, 6 May 2025 22:06:24 +0100 -Subject: [PATCH 3/9] Tests: make test expectations pyversion-conditional - -Relates-to commits 93312460e37be0ba1acbbefa553bfc25f4fc5ea9, 523f290134f644b115e18e347dce093fa0fbd662. ---- - tests/test_extensions/test_ext_autodoc.py | 6 +++++- - tests/test_extensions/test_ext_autodoc_configs.py | 10 +++++++++- - 2 files changed, 14 insertions(+), 2 deletions(-) - -diff --git a/tests/test_extensions/test_ext_autodoc.py b/tests/test_extensions/test_ext_autodoc.py -index bdcd6ef2b95..d7cef59056e 100644 ---- a/tests/test_extensions/test_ext_autodoc.py -+++ b/tests/test_extensions/test_ext_autodoc.py -@@ -938,10 +938,14 @@ def test_autodoc_special_members(app): - } - if sys.version_info >= (3, 13, 0, 'alpha', 5): - options['exclude-members'] = '__static_attributes__,__firstlineno__' -+ if sys.version_info >= (3, 14, 0, 'alpha', 7): -+ annotations_attributes = [' .. py:attribute:: Class.__annotations_cache__'] -+ else: -+ annotations_attributes = [' .. py:attribute:: Class.__annotations__'] - actual = do_autodoc(app, 'class', 'target.Class', options) - assert list(filter(lambda l: '::' in l, actual)) == [ - '.. py:class:: Class(arg)', -- ' .. py:attribute:: Class.__annotations_cache__', -+ ] + annotations_attributes + [ - ' .. py:attribute:: Class.__dict__', - ' .. py:method:: Class.__init__(arg)', - ' .. py:attribute:: Class.__module__', -diff --git a/tests/test_extensions/test_ext_autodoc_configs.py b/tests/test_extensions/test_ext_autodoc_configs.py -index 2f8dc75d082..f449bb57809 100644 ---- a/tests/test_extensions/test_ext_autodoc_configs.py -+++ b/tests/test_extensions/test_ext_autodoc_configs.py -@@ -1348,6 +1348,10 @@ def test_autodoc_type_aliases(app: SphinxTestApp) -> None: - # default - options = {'members': None} - actual = do_autodoc(app, 'module', 'target.autodoc_type_aliases', options) -+ if sys.version_info >= (3, 14, 0, 'alpha', 7): -+ attr2_typeinfo = [] -+ else: -+ attr2_typeinfo = [' :type: int'] - assert list(actual) == [ - '', - '.. py:module:: target.autodoc_type_aliases', -@@ -1368,7 +1372,6 @@ def test_autodoc_type_aliases(app: SphinxTestApp) -> None: - '', - ' .. py:attribute:: Foo.attr2', - ' :module: target.autodoc_type_aliases', -- ' :type: int', - '', - ' docstring', - '', -@@ -1421,6 +1424,10 @@ def test_autodoc_type_aliases(app: SphinxTestApp) -> None: - 'io.StringIO': 'my.module.StringIO', - } - actual = do_autodoc(app, 'module', 'target.autodoc_type_aliases', options) -+ if sys.version_info >= (3, 14, 0, 'alpha', 7): -+ attr2_typeinfo = [] -+ else: -+ attr2_typeinfo = [' :type: myint'] - assert list(actual) == [ - '', - '.. py:module:: target.autodoc_type_aliases', -@@ -1441,6 +1448,7 @@ def test_autodoc_type_aliases(app: SphinxTestApp) -> None: - '', - ' .. py:attribute:: Foo.attr2', - ' :module: target.autodoc_type_aliases', -+ ] + attr2_typeinfo + [ - '', - ' docstring', - '', - -From 26e7a6435ad9840345455f35f62c063cb588bba7 Mon Sep 17 00:00:00 2001 -From: James Addison -Date: Tue, 6 May 2025 22:16:42 +0100 -Subject: [PATCH 4/9] Tests: fixup: actually insert updated expectation - -Relates-to commit a81bcf834822fac1cf96a2ab43c5b0d260ec532b. ---- - tests/test_extensions/test_ext_autodoc_configs.py | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tests/test_extensions/test_ext_autodoc_configs.py b/tests/test_extensions/test_ext_autodoc_configs.py -index f449bb57809..fe2561aea00 100644 ---- a/tests/test_extensions/test_ext_autodoc_configs.py -+++ b/tests/test_extensions/test_ext_autodoc_configs.py -@@ -1372,6 +1372,7 @@ def test_autodoc_type_aliases(app: SphinxTestApp) -> None: - '', - ' .. py:attribute:: Foo.attr2', - ' :module: target.autodoc_type_aliases', -+ ] + attr2_typeinfo + [ - '', - ' docstring', - '', - -From 52c7010c4b673898af115d3a86728274a8dd620d Mon Sep 17 00:00:00 2001 -From: James Addison -Date: Tue, 6 May 2025 22:19:30 +0100 -Subject: [PATCH 5/9] Tests: linting: use iterable unpacking as suggested by - `ruff` - ---- - tests/test_extensions/test_ext_autodoc_configs.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/tests/test_extensions/test_ext_autodoc_configs.py b/tests/test_extensions/test_ext_autodoc_configs.py -index fe2561aea00..39fdc454e31 100644 ---- a/tests/test_extensions/test_ext_autodoc_configs.py -+++ b/tests/test_extensions/test_ext_autodoc_configs.py -@@ -1372,7 +1372,7 @@ def test_autodoc_type_aliases(app: SphinxTestApp) -> None: - '', - ' .. py:attribute:: Foo.attr2', - ' :module: target.autodoc_type_aliases', -- ] + attr2_typeinfo + [ -+ *attr2_typeinfo, - '', - ' docstring', - '', -@@ -1449,7 +1449,7 @@ def test_autodoc_type_aliases(app: SphinxTestApp) -> None: - '', - ' .. py:attribute:: Foo.attr2', - ' :module: target.autodoc_type_aliases', -- ] + attr2_typeinfo + [ -+ *attr2_typeinfo, - '', - ' docstring', - '', - -From 7b3ce9b642e636fe2ec58f1e090dc79d51b1f2f0 Mon Sep 17 00:00:00 2001 -From: James Addison -Date: Tue, 6 May 2025 22:21:24 +0100 -Subject: [PATCH 6/9] Tests: linting: use iterable unpacking as suggested by - `ruff` (uno mas) - ---- - tests/test_extensions/test_ext_autodoc.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/test_extensions/test_ext_autodoc.py b/tests/test_extensions/test_ext_autodoc.py -index d7cef59056e..4f38634cf51 100644 ---- a/tests/test_extensions/test_ext_autodoc.py -+++ b/tests/test_extensions/test_ext_autodoc.py -@@ -945,7 +945,7 @@ def test_autodoc_special_members(app): - actual = do_autodoc(app, 'class', 'target.Class', options) - assert list(filter(lambda l: '::' in l, actual)) == [ - '.. py:class:: Class(arg)', -- ] + annotations_attributes + [ -+ *annotations_attributes, - ' .. py:attribute:: Class.__dict__', - ' .. py:method:: Class.__init__(arg)', - ' .. py:attribute:: Class.__module__', - -From 386ba32af878b23c5857be588f932fe2af4a2d88 Mon Sep 17 00:00:00 2001 -From: Adam Turner <9087854+AA-Turner@users.noreply.github.com> -Date: Mon, 12 May 2025 17:36:04 +0100 -Subject: [PATCH 7/9] Style - ---- - tests/test_extensions/test_ext_autodoc.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/tests/test_extensions/test_ext_autodoc.py b/tests/test_extensions/test_ext_autodoc.py -index 4f38634cf51..012e708a2f3 100644 ---- a/tests/test_extensions/test_ext_autodoc.py -+++ b/tests/test_extensions/test_ext_autodoc.py -@@ -939,9 +939,9 @@ def test_autodoc_special_members(app): - if sys.version_info >= (3, 13, 0, 'alpha', 5): - options['exclude-members'] = '__static_attributes__,__firstlineno__' - if sys.version_info >= (3, 14, 0, 'alpha', 7): -- annotations_attributes = [' .. py:attribute:: Class.__annotations_cache__'] -+ annotations_attributes = (' .. py:attribute:: Class.__annotations_cache__',) - else: -- annotations_attributes = [' .. py:attribute:: Class.__annotations__'] -+ annotations_attributes = (' .. py:attribute:: Class.__annotations__',) - actual = do_autodoc(app, 'class', 'target.Class', options) - assert list(filter(lambda l: '::' in l, actual)) == [ - '.. py:class:: Class(arg)', - -From 1f381ec05015fcbc695d1f0991e77241daef49c7 Mon Sep 17 00:00:00 2001 -From: Adam Turner <9087854+aa-turner@users.noreply.github.com> -Date: Mon, 12 May 2025 17:38:28 +0100 -Subject: [PATCH 8/9] fstr - ---- - tests/test_extensions/test_ext_autodoc.py | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/tests/test_extensions/test_ext_autodoc.py b/tests/test_extensions/test_ext_autodoc.py -index 012e708a2f3..7aa12db3c32 100644 ---- a/tests/test_extensions/test_ext_autodoc.py -+++ b/tests/test_extensions/test_ext_autodoc.py -@@ -939,13 +939,13 @@ def test_autodoc_special_members(app): - if sys.version_info >= (3, 13, 0, 'alpha', 5): - options['exclude-members'] = '__static_attributes__,__firstlineno__' - if sys.version_info >= (3, 14, 0, 'alpha', 7): -- annotations_attributes = (' .. py:attribute:: Class.__annotations_cache__',) -+ ann_attr_name = '__annotations_cache__' - else: -- annotations_attributes = (' .. py:attribute:: Class.__annotations__',) -+ ann_attr_name = '__annotations__' - actual = do_autodoc(app, 'class', 'target.Class', options) - assert list(filter(lambda l: '::' in l, actual)) == [ - '.. py:class:: Class(arg)', -- *annotations_attributes, -+ f' .. py:attribute:: Class.{ann_attr_name}', - ' .. py:attribute:: Class.__dict__', - ' .. py:method:: Class.__init__(arg)', - ' .. py:attribute:: Class.__module__', - -From 0bd1f9d1615c20078677b48a09180c4b68e27796 Mon Sep 17 00:00:00 2001 -From: Adam Turner <9087854+aa-turner@users.noreply.github.com> -Date: Mon, 12 May 2025 17:40:13 +0100 -Subject: [PATCH 9/9] tuple - ---- - tests/test_extensions/test_ext_autodoc_configs.py | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/tests/test_extensions/test_ext_autodoc_configs.py b/tests/test_extensions/test_ext_autodoc_configs.py -index 39fdc454e31..c88496ee506 100644 ---- a/tests/test_extensions/test_ext_autodoc_configs.py -+++ b/tests/test_extensions/test_ext_autodoc_configs.py -@@ -1349,9 +1349,9 @@ def test_autodoc_type_aliases(app: SphinxTestApp) -> None: - options = {'members': None} - actual = do_autodoc(app, 'module', 'target.autodoc_type_aliases', options) - if sys.version_info >= (3, 14, 0, 'alpha', 7): -- attr2_typeinfo = [] -+ attr2_typeinfo = () - else: -- attr2_typeinfo = [' :type: int'] -+ attr2_typeinfo = (' :type: int',) - assert list(actual) == [ - '', - '.. py:module:: target.autodoc_type_aliases', -@@ -1426,9 +1426,9 @@ def test_autodoc_type_aliases(app: SphinxTestApp) -> None: - } - actual = do_autodoc(app, 'module', 'target.autodoc_type_aliases', options) - if sys.version_info >= (3, 14, 0, 'alpha', 7): -- attr2_typeinfo = [] -+ attr2_typeinfo = () - else: -- attr2_typeinfo = [' :type: myint'] -+ attr2_typeinfo = (' :type: myint',) - assert list(actual) == [ - '', - '.. py:module:: target.autodoc_type_aliases', diff --git a/13610.patch b/13610.patch deleted file mode 100644 index 7cebb25..0000000 --- a/13610.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 69998bdf8848614eb52ddd80923ffde7af64c0a8 Mon Sep 17 00:00:00 2001 -From: James Addison -Date: Mon, 2 Jun 2025 21:55:15 +0100 -Subject: [PATCH] tests: update LaTeX label test expectations from docutils - r10151 - ---- - tests/test_builders/test_build_latex.py | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/tests/test_builders/test_build_latex.py b/tests/test_builders/test_build_latex.py -index 0d1c607462d..37e708a021e 100644 ---- a/tests/test_builders/test_build_latex.py -+++ b/tests/test_builders/test_build_latex.py -@@ -12,6 +12,7 @@ - from subprocess import CalledProcessError - from typing import TYPE_CHECKING - -+import docutils - import pygments - import pytest - -@@ -1959,10 +1960,16 @@ def test_latex_labels(app: SphinxTestApp) -> None: - - result = (app.outdir / 'projectnamenotset.tex').read_text(encoding='utf8') - -+ # ref: docutils r10151 -+ if docutils.__version_info__[:2] < (0, 22): -+ figure_id, table_id = 'id1', 'id2' -+ else: -+ figure_id, table_id = 'id2', 'id3' -+ - # figures - assert ( - r'\caption{labeled figure}' -- r'\label{\detokenize{index:id1}}' -+ r'\label{\detokenize{index:' + figure_id + '}}' - r'\label{\detokenize{index:figure2}}' - r'\label{\detokenize{index:figure1}}' - r'\end{figure}' -@@ -1988,7 +1995,7 @@ def test_latex_labels(app: SphinxTestApp) -> None: - # tables - assert ( - r'\sphinxcaption{table caption}' -- r'\label{\detokenize{index:id2}}' -+ r'\label{\detokenize{index:' + table_id + '}}' - r'\label{\detokenize{index:table2}}' - r'\label{\detokenize{index:table1}}' - ) in result diff --git a/13883.patch b/13883.patch deleted file mode 100644 index 480de01..0000000 --- a/13883.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 4d842a2c4909fe360172826a46eb88b442f44858 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?G=C3=BCnter=20Milde?= -Date: Tue, 9 Sep 2025 16:17:15 +0200 -Subject: [PATCH] Fix test setup for directive tests. - -Set the "parent" attribute of RSTState instances to the `document` -instead of None. The attribute holds the state machines "current node" -which is initialized to the `document` in `RSTStateMachine.run()` and -required since Docutils 0.22.1 in `RSTState.nested_parse()` to correctly -support sections in nested parsing. ---- - tests/test_util/test_util_docutils_sphinx_directive.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/test_util/test_util_docutils_sphinx_directive.py b/tests/test_util/test_util_docutils_sphinx_directive.py -index ecfcab0..7a26e96 100644 ---- a/tests/test_util/test_util_docutils_sphinx_directive.py -+++ b/tests/test_util/test_util_docutils_sphinx_directive.py -@@ -38,7 +38,7 @@ def make_directive_and_state( - inliner = Inliner() - inliner.init_customizations(state.document.settings) - state.inliner = inliner -- state.parent = None -+ state.parent = state.document - state.memo = SimpleNamespace( - document=state.document, - language=english, --- -2.51.1 - diff --git a/8962398b761c3d85a.patch b/8962398b761c3d85a.patch deleted file mode 100644 index 3b49f67..0000000 --- a/8962398b761c3d85a.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 8962398b761c3d85a7c74b6f789b3ffb127bde0c Mon Sep 17 00:00:00 2001 -From: Adam Turner <9087854+AA-Turner@users.noreply.github.com> -Date: Thu, 6 Mar 2025 16:03:44 +0000 -Subject: [PATCH] autosummary: Update test for Python 3.14.0a5+ (#13418) - -`types.UnionType` and `typing.Union` have been merged. ---- - tests/test_extensions/test_ext_autosummary.py | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/tests/test_extensions/test_ext_autosummary.py b/tests/test_extensions/test_ext_autosummary.py -index 35dc7d180ef..c807ddba3d1 100644 ---- a/tests/test_extensions/test_ext_autosummary.py -+++ b/tests/test_extensions/test_ext_autosummary.py -@@ -447,8 +447,12 @@ def test_autosummary_generate_content_for_module_imported_members(app): - ] - assert context['functions'] == ['bar'] - assert context['all_functions'] == ['_quux', 'bar'] -- assert context['classes'] == ['Class', 'Foo'] -- assert context['all_classes'] == ['Class', 'Foo', '_Baz'] -+ if sys.version_info >= (3, 14, 0, 'alpha', 5): -+ assert context['classes'] == ['Class', 'Foo', 'Union'] -+ assert context['all_classes'] == ['Class', 'Foo', 'Union', '_Baz'] -+ else: -+ assert context['classes'] == ['Class', 'Foo'] -+ assert context['all_classes'] == ['Class', 'Foo', '_Baz'] - assert context['exceptions'] == ['Exc'] - assert context['all_exceptions'] == ['Exc', '_Exc'] - assert context['attributes'] == ['CONSTANT1', 'qux', 'quuz', 'non_imported_member'] diff --git a/Make-the-first-party-extensions-optional.patch b/Make-the-first-party-extensions-optional.patch deleted file mode 100644 index d7b039e..0000000 --- a/Make-the-first-party-extensions-optional.patch +++ /dev/null @@ -1,205 +0,0 @@ -From f3fba803e1c39232f86acc9a21657cad171ce71b Mon Sep 17 00:00:00 2001 -From: Karolina Surma -Date: Wed, 5 Mar 2025 12:14:49 +0100 -Subject: [PATCH] Make the first party extensions optional, add [extensions] - extra - -Co-authored-by: Miro Hrončok ---- - pyproject.toml | 33 ++++++++++++++++---- - sphinx/application.py | 6 ++-- - sphinx/registry.py | 10 +++--- - sphinx/testing/fixtures.py | 7 +++++ - tests/test_builders/test_build_html_maths.py | 3 ++ - tests/test_writers/test_api_translator.py | 2 ++ - 6 files changed, 48 insertions(+), 13 deletions(-) - -diff --git a/pyproject.toml b/pyproject.toml -index c4b1b6d..4e59e90 100644 ---- a/pyproject.toml -+++ b/pyproject.toml -@@ -67,12 +67,6 @@ classifiers = [ - "Typing :: Typed", - ] - dependencies = [ -- "sphinxcontrib-applehelp>=1.0.7", -- "sphinxcontrib-devhelp>=1.0.6", -- "sphinxcontrib-htmlhelp>=2.0.6", -- "sphinxcontrib-jsmath>=1.0.1", -- "sphinxcontrib-qthelp>=1.0.6", -- "sphinxcontrib-serializinghtml>=1.1.9", - "Jinja2>=3.1", - "Pygments>=2.17", - "docutils>=0.20,<0.22", -@@ -88,8 +82,35 @@ dependencies = [ - dynamic = ["version"] - - [project.optional-dependencies] -+applehelp = [ -+ "sphinxcontrib-applehelp>=1.0.7", -+] -+devhelp = [ -+ "sphinxcontrib-devhelp>=1.0.6", -+] -+jsmath = [ -+ "sphinxcontrib-jsmath>=1.0.1", -+] -+htmlhelp = [ -+ "sphinxcontrib-htmlhelp>=2.0.6", -+] -+serializinghtml = [ -+ "sphinxcontrib-serializinghtml>=1.1.9", -+] -+qthelp = [ -+ "sphinxcontrib-qthelp>=1.0.6", -+] -+extensions = [ -+ "sphinx[applehelp]", -+ "sphinx[devhelp]", -+ "sphinx[jsmath]", -+ "sphinx[htmlhelp]", -+ "sphinx[serializinghtml]", -+ "sphinx[qthelp]", -+] - docs = [ - "sphinxcontrib-websupport", -+ "sphinx[extensions]", - ] - lint = [ - "ruff==0.9.9", -diff --git a/sphinx/application.py b/sphinx/application.py -index fe0e8bd..dcb3d75 100644 ---- a/sphinx/application.py -+++ b/sphinx/application.py -@@ -284,7 +284,7 @@ class Sphinx: - # load all built-in extension modules, first-party extension modules, - # and first-party themes - for extension in builtin_extensions: -- self.setup_extension(extension) -+ self.setup_extension(extension, skip_nonimportable=extension in _first_party_extensions) - - # load all user-given extension modules - for extension in self.config.extensions: -@@ -478,7 +478,7 @@ class Sphinx: - - # ---- general extensibility interface ------------------------------------- - -- def setup_extension(self, extname: str) -> None: -+ def setup_extension(self, extname: str, skip_nonimportable: bool = False) -> None: - """Import and setup a Sphinx extension module. - - Load the extension given by the module *name*. Use this if your -@@ -486,7 +486,7 @@ class Sphinx: - called twice. - """ - logger.debug('[app] setting up extension: %r', extname) -- self.registry.load_extension(self, extname) -+ self.registry.load_extension(self, extname, skip_nonimportable=skip_nonimportable) - - @staticmethod - def require_sphinx(version: tuple[int, int] | str) -> None: -diff --git a/sphinx/registry.py b/sphinx/registry.py -index ce52a03..3bc90d5 100644 ---- a/sphinx/registry.py -+++ b/sphinx/registry.py -@@ -519,7 +519,7 @@ class SphinxComponentRegistry: - def add_html_theme(self, name: str, theme_path: str | os.PathLike[str]) -> None: - self.html_themes[name] = _StrPath(theme_path) - -- def load_extension(self, app: Sphinx, extname: str) -> None: -+ def load_extension(self, app: Sphinx, extname: str, skip_nonimportable: bool = False) -> None: - """Load a Sphinx extension.""" - if extname in app.extensions: # already loaded - return -@@ -540,10 +540,12 @@ class SphinxComponentRegistry: - try: - mod = import_module(extname) - except ImportError as err: -+ msg = __('Could not import extension %s') -+ if skip_nonimportable: -+ logger.debug(msg % extname) -+ return - logger.verbose(__('Original exception:\n') + traceback.format_exc()) -- raise ExtensionError( -- __('Could not import extension %s') % extname, err -- ) from err -+ raise ExtensionError(msg % extname, err) from err - - setup: _ExtensionSetupFunc | None = getattr(mod, 'setup', None) - if setup is None: -diff --git a/sphinx/testing/fixtures.py b/sphinx/testing/fixtures.py -index ec143fa..e6d9da1 100644 ---- a/sphinx/testing/fixtures.py -+++ b/sphinx/testing/fixtures.py -@@ -31,6 +31,7 @@ DEFAULT_ENABLED_MARKERS = [ - 'builddir=None, docutils_conf=None' - '): arguments to initialize the sphinx test application.' - ), -+ 'sphinxcontrib(...): required sphinxcontrib.* extensions', - 'test_params(shared_result=...): test parameters.', - ] - -@@ -79,6 +80,12 @@ def app_params( - """Parameters that are specified by 'pytest.mark.sphinx' for - sphinx.application.Sphinx initialization - """ -+ -+ # ##### process pytest.mark.sphinxcontrib -+ for info in reversed(list(request.node.iter_markers("sphinxcontrib"))): -+ for arg in info.args: -+ pytest.importorskip("sphinxcontrib." + arg) -+ - # ##### process pytest.mark.sphinx - - pargs: dict[int, Any] = {} -diff --git a/tests/test_builders/test_build_html_maths.py b/tests/test_builders/test_build_html_maths.py -index cc21142..16382e3 100644 ---- a/tests/test_builders/test_build_html_maths.py -+++ b/tests/test_builders/test_build_html_maths.py -@@ -37,6 +37,7 @@ def test_html_math_renderer_is_imgmath(app: SphinxTestApp) -> None: - assert app.builder.math_renderer_name == 'imgmath' - - -+@pytest.mark.sphinxcontrib('serializinghtml', 'jsmath') - @pytest.mark.sphinx( - 'html', - testroot='basic', -@@ -62,6 +63,7 @@ def test_html_math_renderer_is_duplicated2(app: SphinxTestApp) -> None: - assert app.builder.math_renderer_name == 'imgmath' # The another one is chosen - - -+@pytest.mark.sphinxcontrib('jsmath') - @pytest.mark.sphinx( - 'html', - testroot='basic', -@@ -75,6 +77,7 @@ def test_html_math_renderer_is_chosen(app: SphinxTestApp) -> None: - assert app.builder.math_renderer_name == 'imgmath' - - -+@pytest.mark.sphinxcontrib('jsmath') - @pytest.mark.sphinx( - 'html', - testroot='basic', -diff --git a/tests/test_writers/test_api_translator.py b/tests/test_writers/test_api_translator.py -index 1220192..8e8bb33 100644 ---- a/tests/test_writers/test_api_translator.py -+++ b/tests/test_writers/test_api_translator.py -@@ -47,6 +47,7 @@ def test_singlehtml_set_translator_for_singlehtml(app: SphinxTestApp) -> None: - assert translator_class.__name__ == 'ConfSingleHTMLTranslator' - - -+@pytest.mark.sphinxcontrib('serializinghtml') - @pytest.mark.sphinx('pickle', testroot='api-set-translator') - def test_pickle_set_translator_for_pickle(app: SphinxTestApp) -> None: - translator_class = app.builder.get_translator_class() -@@ -54,6 +55,7 @@ def test_pickle_set_translator_for_pickle(app: SphinxTestApp) -> None: - assert translator_class.__name__ == 'ConfPickleTranslator' - - -+@pytest.mark.sphinxcontrib('serializinghtml') - @pytest.mark.sphinx('json', testroot='api-set-translator') - def test_json_set_translator_for_json(app: SphinxTestApp) -> None: - translator_class = app.builder.get_translator_class() --- -2.48.1 - diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..be369c3 --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +# Makefile for source rpm: python-sphinx +# $Id$ +NAME := python-sphinx +SPECFILE = $(firstword $(wildcard *.spec)) + +define find-makefile-common +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +endef + +MAKEFILE_COMMON := $(shell $(find-makefile-common)) + +ifeq ($(MAKEFILE_COMMON),) +# attept a checkout +define checkout-makefile-common +test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 +endef + +MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) +endif + +include $(MAKEFILE_COMMON) diff --git a/branch b/branch new file mode 100644 index 0000000..06de2d2 --- /dev/null +++ b/branch @@ -0,0 +1 @@ +F-12 diff --git a/changelog b/changelog deleted file mode 100644 index bdb1639..0000000 --- a/changelog +++ /dev/null @@ -1,608 +0,0 @@ -* Wed Jan 24 2024 Karolina Surma - 1:7.2.6-6 -- Suppress traceback when importing the weakened sphinxcontrib* dependencies - -* Mon Jan 22 2024 Fedora Release Engineering - 1:7.2.6-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Tue Dec 12 2023 Karolina Surma - 1:7.2.6-4 -- Fix the tests run when building with Python 3.11.7, 3.12.1 and later - -* Thu Nov 16 2023 Miro Hrončok - 1:7.2.6-3 -- On Fedora, BuildRequire the sphinxcontrib packages to build the documentation - -* Wed Nov 08 2023 Miro Hrončok - 1:7.2.6-2 -- Weaken the runtime dependency on: - - python3-sphinxcontrib-applehelp - - python3-sphinxcontrib-devhelp - - python3-sphinxcontrib-jsmath - - python3-sphinxcontrib-htmlhelp - - python3-sphinxcontrib-serializinghtml - - python3-sphinxcontrib-qthelp -- Packages that want to use them during build need to BuildRequire them explicitly - -* Thu Oct 26 2023 Karolina Surma - 1:7.2.6-1 -- Update to 7.2.6 -- Fixes rhbz#2232469 - -* Thu Sep 21 2023 Karolina Surma - 1:7.1.2-2 -- Fix FTBFS with Pygments 2.16+ - -* Mon Aug 14 2023 Karolina Surma - 1:7.1.2-1 -- Update to 7.1.2 -- Fixes rhbz#2225274 - -* Mon Aug 07 2023 Karolina Surma - 1:7.0.1-1 -- Update to 7.0.1 - -* Thu Jul 27 2023 Miro Hrončok - 1:6.2.1-4 -- Don't use filelock to test this package on RHEL - -* Fri Jul 21 2023 Fedora Release Engineering - 1:6.2.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Thu Jul 13 2023 Karolina Surma - 1:6.2.1-2 -- Don't use websupport to build documentation on RHEL - -* Mon Jun 26 2023 Karolina Surma - 1:6.2.1-1 -- Update to 6.2.1 -- Fixes rhbz#2188968 - -* Fri Jun 16 2023 Python Maint - 1:6.1.3-4 -- Rebuilt for Python 3.12 - -* Tue Jun 13 2023 Python Maint - 1:6.1.3-3 -- Bootstrap for Python 3.12 - -* Wed May 31 2023 Yaakov Selkowitz - 1:6.1.3-2 -- Avoid html5lib test dependency in RHEL builds - -* Fri Mar 10 2023 Karolina Surma - 1:6.1.3-1 -- Update to 6.1.3 -- Fixes rhbz#2135122 - -* Thu Mar 09 2023 Karolina Surma - 1:5.3.0-4 -- Fix tests related to missing setuptools and Babel 2.12 -- Fixes rhbz#2176685 - -* Tue Jan 31 2023 Karolina Surma - 1:5.3.0-3 -- Fix tests with python-pygments 2.14+ - -* Fri Jan 20 2023 Fedora Release Engineering - 1:5.3.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Tue Nov 08 2022 Karolina Surma - 1:5.3.0-1 -- Update to 5.3.0 -- Fixes rhbz#2129546 - -* Mon Aug 15 2022 Karolina Surma - 1:5.1.1-1 -- Update to 5.1.1 -- Fixes rhbz#2110473 -- Remove reST documentation from the -doc package, ship only HTML - -* Fri Jul 22 2022 Fedora Release Engineering - 1:5.0.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Tue Jun 21 2022 Karolina Surma - 1:5.0.2-1 -- Update to 5.0.2 - -* Mon Jun 13 2022 Python Maint - 1:4.5.0-3 -- Rebuilt for Python 3.11 - -* Mon Jun 13 2022 Python Maint - 1:4.5.0-2 -- Bootstrap for Python 3.11 - -* Fri Apr 01 2022 Karolina Surma - 1:4.5.0-1 -- Update to 4.5.0 -- Fixes rhbz#2068924 - -* Tue Feb 01 2022 Karolina Surma - 1:4.4.0-1 -- Update to 4.4.0 -- Fixes rhbz#2033955 - -* Fri Jan 21 2022 Fedora Release Engineering - 1:4.3.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Mon Nov 29 2021 Karolina Surma - 1:4.3.1-1 -- Update to 4.3.1 -- Fixes rhbz#2027059 - -* Fri Nov 19 2021 Karolina Surma - 1:4.3.0-1 -- Update to 4.3.0 -- Fixes rhbz#2022111 - -* Fri Sep 17 2021 Karolina Surma - 1:4.2.0-1 -- Update to 4.2.0 -- Fixes rhbz#2003427 - -* Thu Sep 16 2021 Karolina Surma - 1:4.1.2-3 -- Display typing objects correctly with Python 3.10 (fix FTBFS) -- Generate correct reference to parent class if class has `_name` attribute -- Enable previously deselected test - -* Wed Aug 18 2021 Karolina Surma - 1:4.1.2-2 -- Patch python-sphinx to work with python-pygments >=2.10 - -* Mon Aug 02 2021 Karolina Surma - 1:4.1.2-1 -- Update to 4.1.2 -- Fixes rhbz#1979326 -- Backport commit to fix python-sphinx with Python 3.10-rc1 - -* Fri Jul 23 2021 Fedora Release Engineering - 1:4.0.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Fri Jun 11 2021 Karolina Surma - 1:4.0.2-1 -- Update to 4.0.2 -- Fixes rhbz#1948279 - -* Thu Jun 03 2021 Python Maint - 1:3.5.4-3 -- Rebuilt for Python 3.10 - -* Wed Jun 02 2021 Python Maint - 1:3.5.4-2 -- Bootstrap for Python 3.10 - -* Mon May 10 2021 Karolina Surma - 1:3.5.4-1 -- Update to 3.5.4 -- Fixes rhbz#1949477 - -* Thu Apr 01 2021 Karolina Surma - 1:3.5.3-1 -- Update to 3.5.3 -- Fixes rhbz#1941161 - -* Wed Mar 10 2021 Charalampos Stratakis - 1:3.5.2-1 -- Update 3.5.2 -- Fixes rhbz#1928459 - -* Wed Jan 27 2021 Fedora Release Engineering - 1:3.4.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Jan 19 2021 Charalampos Stratakis - 1:3.4.3-1 -- Update to 3.4.3 -- Fixes rhbz#1909494 - -* Sat Dec 05 2020 Mattia Verga - 1:3.3.1-2 -- Unset -s from python shebang -- Fixes: rhbz#1903763 - -* Mon Nov 23 2020 Miro Hrončok - 1:3.3.1-1 -- Update to 3.3.1 -- Fixes: rhbz#1893752 - -* Wed Oct 14 2020 Tomas Hrnciar - 1:3.2.1-2 -- Backport commit to fix python-sphinx with python-pygments v2.7.1 - -* Tue Aug 18 2020 Miro Hrončok - 1:3.2.1-1 -- Update to 3.2.1 -- Remove compatibility symbolic links from /usr/libexec/ -- Fixes rhbz#1867294 - -* Fri Aug 07 2020 Miro Hrončok - 1:3.1.2-1 -- Update to 3.1.2 -- Fixes rhbz#1853901 - -* Wed Jul 29 2020 Fedora Release Engineering - 1:3.1.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jun 30 2020 Charalampos Stratakis - 1:3.1.1-1 -- Update to 3.1.1 (#1783776) - -* Sat May 23 2020 Miro Hrončok - 1:2.2.2-4 -- Rebuilt for Python 3.9 - -* Fri May 22 2020 Miro Hrončok - 1:2.2.2-3 -- Bootstrap for Python 3.9 - -* Thu Jan 30 2020 Fedora Release Engineering - 1:2.2.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Tue Dec 10 2019 Miro Hrončok - 1:2.2.2-1 -- Update to 2.2.2 (rhbz#1743018) - -* Thu Oct 03 2019 Miro Hrončok - 1:2.1.2-6 -- Rebuilt for Python 3.8.0rc1 (#1748018) - -* Fri Aug 16 2019 Miro Hrončok - 1:2.1.2-5 -- Rebuilt for Python 3.8 - -* Thu Aug 15 2019 Miro Hrončok - 1:2.1.2-4 -- Bootstrap for Python 3.8 - -* Thu Aug 15 2019 Richard Shaw - 1:2.1.2-3 -- Rebuild for Python 3.8. - -* Fri Jul 26 2019 Fedora Release Engineering - 1:2.1.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Sun Jun 23 2019 Miro Hrončok - 1:2.1.2-1 -- Update to 2.1.2 (#1716158) - -* Wed Apr 10 2019 Miro Hrončok - 1:2.0.1-1 -- Update to 2.0.1 (#1697544) -- Own the sphinxcontrib directory (#1669790) - -* Wed Mar 27 2019 Charalampos Stratakis - 1:2.0.0~b2-1 -- Update to 2.0.0b2 - -* Wed Feb 27 2019 Miro Hrončok - 1:2.0.0~b1-1 -- Update to 2.0.0b1 -- Drop Python 2 package -- https://fedoraproject.org/wiki/Changes/Sphinx2 - -* Thu Feb 07 2019 Alfredo Moralejo - 1:1.8.4-1 -- Update to 1.8.4. - -* Sat Feb 02 2019 Fedora Release Engineering - 1:1.7.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Sun Nov 18 2018 Zbigniew Jędrzejewski-Szmek - 1:1.7.6-2 -- Drop explicit locale setting for python3, use C.UTF-8 for python2 - See https://fedoraproject.org/wiki/Changes/Remove_glibc-langpacks-all_from_buildroot - -* Mon Jul 23 2018 Marcel Plch - 1:1.7.6-1 -- Update to 1.7.6 - -* Fri Jul 13 2018 Miro Hrončok - 1:1.7.5-6 -- Remove unused dependencies on xapian and simplejson - -* Thu Jul 5 2018 Zbigniew Jędrzejewski-Szmek - 1:1.7.5-5 -- Add patch to fix build if alabaster theme is installed -- Add patch for #1589868 - -* Mon Jul 02 2018 Miro Hrončok - 1:1.7.5-4 -- Enable tests - -* Mon Jul 02 2018 Miro Hrončok - 1:1.7.5-3 -- Enable websupport - -* Mon Jul 02 2018 Miro Hrončok - 1:1.7.5-2 -- Rebuilt for Python 3.7 - -* Tue Jun 19 2018 Charalampos Stratakis - 1:1.7.5-1 -- Update to 1.7.5 (bz#1570451) - -* Mon Jun 18 2018 Miro Hrončok - 1:1.7.2-5 -- Rebuilt for Python 3.7 - -* Fri Jun 15 2018 Miro Hrončok - 1:1.7.2-4 -- Bootstrap for Python 3.7 - -* Thu Jun 14 2018 Miro Hrončok - 1:1.7.2-3 -- Bootstrap for Python 3.7 - -* Wed Apr 11 2018 Petr Viktorin - 1:1.7.2-2 -- Conditionalize the ImageMagick build dependency & tests - -* Wed Apr 11 2018 Petr Viktorin - 1:1.7.2-1 -- Update to 1.7.2 (bz#1558968) - -* Tue Mar 13 2018 Charalampos Stratakis - 1:1.7.1-1 -- Update to 1.7.1 (bz#1534802) - -* Fri Feb 09 2018 Fedora Release Engineering - 1:1.6.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Tue Jan 09 2018 Charalampos Stratakis - 1:1.6.6-1 -- Update to 1.6.6 (bz#1532435) - -* Mon Dec 11 2017 Iryna Shcherbina - 1:1.6.5-2 -- Fix ambiguous Python 2 dependency declarations - (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) - -* Mon Nov 06 2017 Charalampos Stratakis - 1:1.6.5-1 -- Update to 1.6.5 (bz#1508237) - -* Mon Oct 09 2017 Troy Dawson - 1:1.6.4-2 -- Cleanup spec file conditionals - -* Tue Sep 26 2017 Charalampos Stratakis - 1:1.6.4-1 -- Update to 1.6.4 (bz#1426928) - -* Wed Sep 20 2017 Charalampos Stratakis - 1:1.6.3-3 -- Provide the epoch tag in order to keep the upgrade path clean. - -* Thu Jul 27 2017 Fedora Release Engineering - 1.6.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Thu Jul 20 2017 Charalampos Stratakis - - 1.6.3-1 -- Update to 1.6.3 (bz#1426928) - -* Sat Feb 18 2017 Toshio Kuratomi - - 1.5.2-2 -- Cleanup source files that should not be installed -- Fix the __init__.pyc that was byte compiled for the wrong python - -* Fri Feb 17 2017 Toshio Kuratomi - - 1.5.2-1 -- Update to 1.5.2 -- Remove a few latex dependencies that are no longer needed -- Remove xapian patch; now in upstream tarball - -* Sat Feb 11 2017 Fedora Release Engineering - 1.5.1-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Tue Jan 31 2017 Toshio Kuratomi - - 1.5.1-5 -- environment-modules is less featureful than Lmod. - - Select the default version in a different way since environment-modules - didn't understand the symlink - - Ignore error messsages in the shell startup script as environment-modules - prints an error message if a module has already been loaded. The command - is doing the right thing for this case except that it's also printing an - error message. - -* Thu Jan 26 2017 Toshio Kuratomi - - 1.5.1-4 -- Add recipe for setting the system default to the README.fedora - -* Wed Jan 18 2017 Toshio Kuratomi - - 1.5.1-3 -- Move the unversioned executables into the python2 package as they are now - using python2 to run - -* Wed Jan 18 2017 Toshio Kuratomi - - 1.5.1-2 -- Add README.fedora so people know how to use environment-modules to switch. -- Change the default to be the python2 version to match with the guidelines -- Switch to generic environment(modules) instead of Lmod specifically. - -* Fri Dec 30 2016 Orion Poplawski - 1.5.1-1 -- Update to 1.5.1 - -* Fri Dec 30 2016 Toshio Kuratomi - 1.4.9-2 -- Remove alternatives. Alternatives should only be used for a very small - number of packages (system daemons which also have a compatible command line - interface). -- Use environment-modules to switch between the python2 and python3 packages - *but* be aware that no amount of manual switching can get this 100% right. - The code has to be fixed upstream, not in packaging. - -* Tue Dec 13 2016 Charalampos Stratakis - 1.4.9-1 -- Update to 1.4.9 -- Enable python3 tests - -* Mon Dec 12 2016 Charalampos Stratakis - 1.4.8-3 -- Rebuild for Python 3.6 -- Disable python3 tests for now - -* Thu Oct 6 2016 Avram Lubkin - 1.4.8-2 -- Added tex(luatex85.sty) dependency to support TexLive 2016 - -* Thu Oct 6 2016 Avram Lubkin - 1.4.8-1 -- Update to 1.4.8 -- Alternatives fails for scripts sometimes (bz#1382405) - -* Sun Sep 4 2016 Avram Lubkin - 1.4.6-2 -- Alternatives fails for man pages due to existing files - -* Fri Sep 2 2016 Avram Lubkin - 1.4.6-1 -- Update to 1.4.6 (bz#1370810) -- Fix unversioned Obsoletes -- Add alternatives slaves for man pages - -* Fri Aug 12 2016 Avram Lubkin - 1.4.5-1 -- Update to 1.4.5 (bz#1356336) -- Remove Recommends for latex, locale, and doc subpackages (bz#1366624) -- Remove Requires from locale subpackage (bz#1366624) -- Set executable scripts via alternatives (bz#1321413) -- Change graphviz Requires to Recommends (bz#1366706) - -* Sun Jul 03 2016 Avram Lubkin - 1.4.4-2 -- doc and locale no longer specifically require python2-sphinx -- Colapsed python3-sphinx-latex into python-latex - -* Sun Jun 12 2016 Avram Lubkin - 1.4.4-1 -- Updated to 1.4.4 -- Added python-sphinx-locale for common locale files - -* Thu Feb 04 2016 Fedora Release Engineering - 1.3.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Fri Nov 27 2015 Zbigniew Jędrzejewski-Szmek - 1.3.1-4 -- Obsolete napoleon extension, it is now packaged with sphinx (#1286275) -- Rename python2-Sphinx to python2-sphinx -- Add conflicts to disallow parallel installation of different versions, - which causes file conflicts because of the shared documentation files. - -* Wed Nov 25 2015 Zbigniew Jędrzejewski-Szmek - 1.3.1-3 -- Restore using python2 scripts by default (#1285535) - -* Wed Nov 25 2015 Zbigniew Jędrzejewski-Szmek - 1.3.1-2 -- Fix requirements of python2- subpackage -- Provide sphinx-*-{3.5,3} symlinks for each script - -* Tue Nov 24 2015 Julien Enselme - 1.3.1-1 -- Update to 1.3.1 (#1136284) -- Update to new guidelines -- Make the default executable use python3 - -* Tue Oct 13 2015 Robert Kuska - 1.2.3-5 -- Rebuilt for Python3.5 rebuild -- add patch to reflect that Python3.5 dropped HTMLParserError - -* Mon Jul 20 2015 Michel Alexandre Salim - 1.2.3-4 -- Fix line encoding of bundled jquery.js - -* Mon Jul 20 2015 Michel Alexandre Salim - 1.2.3-3 -- Re-introduce LaTeX subpackage, solely for pulling in LaTeX dependencies - -* Thu Jun 18 2015 Fedora Release Engineering - 1.2.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Thu Feb 5 2015 Michel Alexandre Salim - 1.2.3-1 -- Update to 1.2.3 -- Mark license file with %%license instead of %%doc - -* Thu Feb 5 2015 Michel Alexandre Salim - 1.2.2-10 -- Complete LaTeX builder deps (fixes bz#882166) -- Make test output verbose -- Add BRs needed to enable all tests - -* Tue Feb 3 2015 Michel Alexandre Salim - 1.2.2-9 -- python3-sphinx package also Provides: python3-sphinx-latex - -* Tue Feb 3 2015 Michel Alexandre Salim - 1.2.2-8 -- If a separate LaTeX subpackage is not generated, the main package should have - a virtual Provides: for it (bz#1187989) - -* Tue Jan 27 2015 Michel Alexandre Salim - 1.2.2-7 -- Disable separate LaTeX builder for now (bz#1185574) - -* Thu Jan 22 2015 Michel Alexandre Salim - 1.2.2-6 -- Split off LaTeX builder into its own subpackages, to remove TeXLive - dependencies from the main package. - Thanks to Robert Kuska for feedback -- Clean up python3-sphinx's locale files, they ended up in the python2 package. - Share the locale files in /usr/share instead - -* Sat Jun 07 2014 Fedora Release Engineering - 1.2.2-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Tue May 27 2014 Bohuslav Kabrda - 1.2.2-4 -- Don't own the -3 scripts by python 2 package - -* Thu May 22 2014 Bohuslav Kabrda - 1.2.2-3 -- Add sphinx-*-3 links to scripts -Resolves: #1098109 - -* Fri May 9 2014 Orion Poplawski - 1.2.2-2 -- Rebuild for Python 3.4 - -* Fri May 9 2014 Orion Poplawski - 1.2.2-1 -- Update to 1.2.2 - -* Thu Feb 13 2014 Michel Salim - 1.2.1-1 -- Update to 1.2.1 - -* Sun Aug 04 2013 Fedora Release Engineering - 1.1.3-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Sat Mar 9 2013 Michel Salim - 1.1.3-7 -- Fix inheritance_diagram quoting bug, exposed by the newer, stricter dot - -* Thu Feb 14 2013 Fedora Release Engineering - 1.1.3-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Tue Aug 21 2012 Toshio Kuratomi - 1.1.3-5 -- Fix for use of sphinx's manpage writer with docutils-0.10 - -* Mon Aug 6 2012 Michel Salim - 1.1.3-4 -- Rebuild for Python 3.3 - -* Fri Aug 3 2012 David Malcolm - 1.1.3-3 -- remove rhel logic from with_python3 conditional - -* Sat Jul 21 2012 Fedora Release Engineering - 1.1.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Thu Apr 5 2012 Michel Salim - 1.1.3-1 -- Update to 1.1.3 - -* Sun Feb 5 2012 Michel Salim - 1.1.2-5 -- Move python3 runtime dependencies to the right subpackage -- Properly exclude python3 binaries - -* Sat Jan 14 2012 Fedora Release Engineering - 1.1.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Sat Dec 17 2011 Michel Salim - 1.1.2-3 -- BR on texlive-latex for LaTeX tests - -* Thu Dec 8 2011 Michel Salim - 1.1.2-2 -- Enable python3 subpackage - -* Mon Nov 28 2011 Toshio Kuratomi - 1.1.2-1 -- Update to upstream 1.1.2 - -* Wed Feb 09 2011 Fedora Release Engineering - 1.0.7-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Tue Jan 18 2011 Toshio Kuratomi - 1.0.7-1 -- Update to upstream 1.0.7 - -* Mon Jan 17 2011 Toshio Kuratomi - 1.0.6-1 -- Update to upstream 1.0.6 - -* Mon Nov 1 2010 Michel Salim - 1.0.4-3 -- Fix -doc Makefile to allow regeneration of .rst files - -* Mon Nov 1 2010 Michel Salim - 1.0.4-2 -- Actually include *.js locale files -- Generate manpages - -* Fri Sep 17 2010 Michel Salim - 1.0.4-1 -- Update to 1.0.4 -- Remove BuildRoot and %%clean declarations - -* Thu Jul 22 2010 David Malcolm - 1.0-0.1.b2.1 -- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild - -* Mon May 31 2010 Toshio Kuratomi - 1.0-0.2.b2 -- Update to 1.0 beta 2 -- Fixes problem building html documentation in non-English locales - -* Wed May 26 2010 Michel Salim - 1.0-0.1.b1 -- Update to 1.0 beta 1 - -* Tue May 25 2010 Michel Salim - 0.6.6-1 -- Update to 0.6.6 - -* Fri May 21 2010 Toshio Kuratomi - 0.6.5-2 -- Few minor tweaks to Gareth's spec file update - -* Mon May 10 2010 Gareth Armstrong - 0.6.5-1.hp -- Update to 0.6.5 -- Initial import of python-sphinx from Fedora Rawhide for use in HP CMS -- Enforce that Sphinx requires Python 2.4 or later via an explicit BR -- Minor tweaks to spec file -- Move language files to %%{_datadir}, idea borrowed from Debian's sphinx - package -- Deliver man pages for sphinx-build & sphinx-quickstart -- Deliver rst documentation files to reST directory in doc sub-package -- Add %%check section for Python2 and add BR on python-nose - -* Wed Jan 13 2010 Toshio Kuratomi - 0.6.4-1 -- Update to 0.6.4 -- Fixes a problem using autodoc with pylons projects. - -* Fri Sep 4 2009 Michel Salim - 0.6.3-1 -- Update to 0.6.3 - -* Mon Aug 17 2009 Toshio Kuratomi - 0.6.2-1 -- Update to 0.6.2 -- upstream bugfix requested inside bz#512438 - -* Sun Jul 26 2009 Fedora Release Engineering - 0.6.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Fri Jun 05 2009 Luke Macken - 0.6.1-2 -- Add a patch to use our own setuptools package - -* Fri Apr 17 2009 Michel Salim - 0.6.1-1 -- Update to 0.6.1 - -* Thu Feb 26 2009 Fedora Release Engineering - 0.5.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Fri Jan 2 2009 Michel Salim - 0.5.1-1 -- Update to 0.5.1 - -* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.5-2 -- Rebuild for Python 2.6 - -* Mon Nov 24 2008 Michel Salim - 0.5-1 -- Update to 0.5 - -* Fri Oct 10 2008 Michel Salim - 0.4.3-1 -- Update to 0.4.3 - -* Wed Aug 27 2008 Toshio Kuratomi - 0.4.2-1.1 -- Fix for EL-5 build. - -* Mon Aug 25 2008 Michel Salim - 0.4.2-1 -- Update to 0.4.2 - -* Mon May 26 2008 Michel Salim - 0.3-1 -- Update to 0.3 - -* Fri May 2 2008 Michel Salim - 0.1.61950-3 -- Split documentation into subpackage -- Exclude C files (not built by default anyway) - -* Wed Apr 16 2008 José Matos - 0.1.61950-2 -- Build html documentation, include it and include the rst - documentation. - -* Thu Mar 27 2008 Michel Salim 0.1.61950-1 -- Initial package diff --git a/e01e42f5fc738815b.patch b/e01e42f5fc738815b.patch deleted file mode 100644 index a42c216..0000000 --- a/e01e42f5fc738815b.patch +++ /dev/null @@ -1,40 +0,0 @@ -From e01e42f5fc738815b8499c4ede30c6caf130f0a4 Mon Sep 17 00:00:00 2001 -From: Adam Turner <9087854+aa-turner@users.noreply.github.com> -Date: Wed, 19 Mar 2025 20:11:35 +0000 -Subject: [PATCH] Fix ``INVALID_BUILTIN_CLASSES`` test for Python 3.14.0a6+ - ---- - tests/test_util/test_util_typing.py | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/tests/test_util/test_util_typing.py b/tests/test_util/test_util_typing.py -index 35ee240f7b8..8a561c378ed 100644 ---- a/tests/test_util/test_util_typing.py -+++ b/tests/test_util/test_util_typing.py -@@ -205,7 +205,7 @@ def test_is_invalid_builtin_class() -> None: - zipfile.Path, - zipfile.CompleteDirs, - ) -- if sys.version_info[:2] >= (3, 13): -+ if sys.version_info[:2] == (3, 13): - invalid_types += ( - # pathlib - Path, -@@ -217,7 +217,7 @@ def test_is_invalid_builtin_class() -> None: - ) - - invalid_names = {(cls.__module__, cls.__qualname__) for cls in invalid_types} -- if sys.version_info[:2] < (3, 13): -+ if sys.version_info[:2] != (3, 13): - invalid_names |= { - ('pathlib._local', 'Path'), - ('pathlib._local', 'PosixPath'), -@@ -231,7 +231,7 @@ def test_is_invalid_builtin_class() -> None: - ('zipfile._path', 'Path'), - ('zipfile._path', 'CompleteDirs'), - } -- assert _INVALID_BUILTIN_CLASSES.keys() == invalid_names -+ assert set(_INVALID_BUILTIN_CLASSES) == invalid_names - - - def test_restify_type_hints_containers(): diff --git a/plan.fmf b/plan.fmf deleted file mode 100644 index 94cb32d..0000000 --- a/plan.fmf +++ /dev/null @@ -1,5 +0,0 @@ -discover: - how: fmf -execute: - how: tmt - diff --git a/python-sphinx-0.6.5_move_locale_files_outside_sitelib.patch b/python-sphinx-0.6.5_move_locale_files_outside_sitelib.patch new file mode 100644 index 0000000..76dffc4 --- /dev/null +++ b/python-sphinx-0.6.5_move_locale_files_outside_sitelib.patch @@ -0,0 +1,56 @@ +# HG changeset patch +# Parent 552e51b26229a9a918c76a401f2f487bf81f2ee6 + +Index: Sphinx-0.6.5/sphinx/builders/html.py +=================================================================== +--- Sphinx-0.6.5.orig/sphinx/builders/html.py ++++ Sphinx-0.6.5/sphinx/builders/html.py +@@ -10,6 +10,7 @@ + """ + + import os ++import sys + import codecs + import posixpath + import cPickle as pickle +@@ -91,10 +92,15 @@ class StandaloneHTMLBuilder(Builder): + self.link_suffix = self.out_suffix + + if self.config.language is not None: +- jsfile = path.join(package_dir, 'locale', self.config.language, +- 'LC_MESSAGES', 'sphinx.js') +- if path.isfile(jsfile): +- self.script_files.append('_static/translations.js') ++ jsfile_list = [path.join(package_dir, 'locale', ++ self.config.language, 'LC_MESSAGES', 'sphinx.js'), ++ path.join(sys.prefix, 'share/sphinx/locale', ++ self.config.language, 'sphinx.js')] ++ ++ for jsfile in jsfile_list: ++ if path.isfile(jsfile): ++ self.script_files.append('_static/translations.js') ++ break + + def init_templates(self): + Theme.init_themes(self) +@@ -528,11 +534,15 @@ class StandaloneHTMLBuilder(Builder): + f.close() + # then, copy translations JavaScript file + if self.config.language is not None: +- jsfile = path.join(package_dir, 'locale', self.config.language, +- 'LC_MESSAGES', 'sphinx.js') +- if path.isfile(jsfile): +- copyfile(jsfile, path.join(self.outdir, '_static', +- 'translations.js')) ++ jsfile_list = [path.join(package_dir, 'locale', ++ self.config.language, 'LC_MESSAGES', 'sphinx.js'), ++ path.join(sys.prefix, 'share/sphinx/locale', ++ self.config.language, 'sphinx.js')] ++ for jsfile in jsfile_list: ++ if path.isfile(jsfile): ++ copyfile(jsfile, path.join(self.outdir, '_static', ++ 'translations.js')) ++ break + # then, copy over all user-supplied static files + if self.theme: + staticdirnames = [path.join(themepath, 'static') diff --git a/python-sphinx-0.6.5_setuptools.patch b/python-sphinx-0.6.5_setuptools.patch new file mode 100644 index 0000000..e8bcc44 --- /dev/null +++ b/python-sphinx-0.6.5_setuptools.patch @@ -0,0 +1,24 @@ +# HG changeset patch +# Parent 5da6d572bd088b04711b3bf70991c976d8f9c605 + +Index: Sphinx-0.6.5/setup.py +=================================================================== +--- Sphinx-0.6.5.orig/setup.py ++++ Sphinx-0.6.5/setup.py +@@ -1,10 +1,13 @@ + # -*- coding: utf-8 -*- +-import ez_setup +-ez_setup.use_setuptools() ++try: ++ from setuptools import setup, find_packages ++except ImportError: ++ import ez_setup ++ ez_setup.use_setuptools() ++ from setuptools import setup, find_packages + + import os + import sys +-from setuptools import setup, find_packages + from distutils import log + + import sphinx diff --git a/python-sphinx.spec b/python-sphinx.spec index ed77d83..52c5b4f 100644 --- a/python-sphinx.spec +++ b/python-sphinx.spec @@ -1,162 +1,31 @@ -# When bootstrapping sphinx in Fedora, we don't yet have sphinxcontrib-* -# Without the packages, we have warnings in docs, but it's not a hard dependency -# We don't want to support sphinxcontrib-* in RHEL, hence disabling the dependencies -%bcond sphinxcontrib %{undefined rhel} -# RHEL does not include python3-snowballstemmer (SRPM: snowball) -%bcond snowballstemmer %{undefined rhel} -# Also, we don't have all the tests requirements -%bcond tests 1 +%if ! (0%{?fedora} > 12 || 0%{?rhel} > 5) +%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} +%endif -# Unset -s on python shebang to allow RPM-installed sphinx to be used -# with user-installed modules (#1903763) -%undefine _py3_shebang_s - -# No internet in Koji -%bcond internet 0 - -# Build without BuildRequires ImageMagick, to skip imgconverter tests -%bcond imagemagick_tests %{undefined rhel} - -# During texlive updates, sometimes the latex environment is unstable -# NOTE: LaTeX tests are never run when building for ELN. -%bcond latex_tests 1 +%global upstream_name Sphinx Name: python-sphinx -%global general_version 8.2.3 -#global prerel ... -%global upstream_version %{general_version}%{?prerel} -Version: %{general_version}%{?prerel:~%{prerel}} -Release: %autorelease -Epoch: 1 +Version: 0.6.5 +Release: 2%{?dist} Summary: Python documentation generator -# Unless otherwise noted, the license for code is BSD-2-Clause -# sphinx/themes/haiku/static/haiku.css_t has bits licensed with MIT -License: BSD-2-Clause AND MIT - -URL: https://www.sphinx-doc.org/ -Source: %{pypi_source sphinx %{upstream_version}} - -# Allow extra themes to exist. We pull in python3-sphinx-theme-alabaster -# which causes that test to fail. -Patch: sphinx-test_theming.patch - -# Make the first party extensions optional -# This removes the runtime dependencies on: -# - sphinxcontrib.applehelp -# - sphinxcontrib.devhelp -# - sphinxcontrib.jsmath -# - sphinxcontrib.htmlhelp -# - sphinxcontrib.serializinghtml -# - sphinxcontrib.qthelp -# The majority of Fedora RPM packages does not need any of those. -# By removing the dependencies, we minimize the stuff that's pulled into -# the buildroots of 700+ of packages. -# -# This is a downstream-only change - rejected upstream. -# https://github.com/sphinx-doc/sphinx/pull/11747 -Patch: Make-the-first-party-extensions-optional.patch - -# Compatibility with Python 3.14 -Patch: https://github.com/sphinx-doc/sphinx/commit/8962398b761c3d85a.patch -Patch: https://github.com/sphinx-doc/sphinx/commit/e01e42f5fc738815b.patch -Patch: https://github.com/sphinx-doc/sphinx/pull/13527.patch -# Compatibility with docutils 0.22+ -Patch: https://github.com/sphinx-doc/sphinx/pull/13610.patch -Patch: https://github.com/sphinx-doc/sphinx/pull/13883.patch +Group: Development/Tools +License: BSD +URL: http://sphinx.pocoo.org/ +Source0: http://pypi.python.org/packages/source/S/%{upstream_name}/%{upstream_name}-%{version}.tar.gz +Patch0: %{name}-0.6.5_setuptools.patch +Patch1: %{name}-0.6.5_move_locale_files_outside_sitelib.patch +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildArch: noarch - -BuildRequires: make -BuildRequires: python%{python3_pkgversion}-devel -BuildRequires: pyproject-rpm-macros - -%if %{with sphinxcontrib} -# applehelp and jsmath have been orphaned, we cannot use the [docs] extra directly -BuildRequires: python%{python3_pkgversion}-sphinxcontrib-devhelp -BuildRequires: python%{python3_pkgversion}-sphinxcontrib-htmlhelp -BuildRequires: python%{python3_pkgversion}-sphinxcontrib-serializinghtml -BuildRequires: python%{python3_pkgversion}-sphinxcontrib-qthelp -BuildRequires: python%{python3_pkgversion}-sphinxcontrib-websupport -%endif - -%if %{with tests} -# tests import _testcapi -BuildRequires: python%{python3_pkgversion}-test - -BuildRequires: gcc -BuildRequires: gettext -BuildRequires: graphviz -BuildRequires: texinfo - -%if %{with imagemagick_tests} -BuildRequires: ImageMagick -%endif - -%if %{undefined rhel} && %{with latex_tests} -BuildRequires: texlive-collection-fontsrecommended -BuildRequires: texlive-collection-latex -BuildRequires: texlive-gnu-freefont -BuildRequires: latexmk -BuildRequires: texlive-dvipng -BuildRequires: texlive-dvisvgm -BuildRequires: tex(article.cls) -BuildRequires: tex(utf8x.def) -# Other dependencies. -BuildRequires: tex(alltt.sty) -BuildRequires: tex(amsfonts.sty) -BuildRequires: tex(amsmath.sty) -BuildRequires: tex(amssymb.sty) -BuildRequires: tex(amstext.sty) -BuildRequires: tex(amsthm.sty) -BuildRequires: tex(anyfontsize.sty) -BuildRequires: tex(atbegshi.sty) -BuildRequires: tex(babel.sty) -BuildRequires: tex(bm.sty) -BuildRequires: tex(booktabs.sty) -BuildRequires: tex(capt-of.sty) -BuildRequires: tex(cmap.sty) -BuildRequires: tex(colortbl.sty) -BuildRequires: tex(ellipse.sty) -BuildRequires: tex(etoolbox.sty) -BuildRequires: tex(fancyhdr.sty) -BuildRequires: tex(fancyvrb.sty) -BuildRequires: tex(float.sty) -BuildRequires: tex(fncychap.sty) -BuildRequires: tex(fontawesome.sty) -BuildRequires: tex(fontawesome5.sty) -BuildRequires: tex(fontenc.sty) -BuildRequires: tex(fontspec.sty) -BuildRequires: tex(framed.sty) -BuildRequires: tex(geometry.sty) -BuildRequires: tex(graphicx.sty) -BuildRequires: tex(hypcap.sty) -BuildRequires: tex(hyperref.sty) -BuildRequires: tex(inputenc.sty) -BuildRequires: tex(kvoptions.sty) -BuildRequires: tex(longtable.sty) -BuildRequires: tex(ltxcmds.sty) -BuildRequires: tex(luatex85.sty) -BuildRequires: tex(makeidx.sty) -BuildRequires: tex(multicol.sty) -BuildRequires: tex(needspace.sty) -BuildRequires: tex(parskip.sty) -BuildRequires: tex(pict2e.sty) -BuildRequires: tex(polyglossia.sty) -BuildRequires: tex(remreset.sty) -BuildRequires: tex(substitutefont.sty) -BuildRequires: tex(tabulary.sty) -BuildRequires: tex(textalpha.sty) -BuildRequires: tex(textcomp.sty) -BuildRequires: tex(tgheros.sty) -BuildRequires: tex(tgtermes.sty) -BuildRequires: tex(titlesec.sty) -BuildRequires: tex(upquote.sty) -BuildRequires: tex(varwidth.sty) -BuildRequires: tex(wrapfig.sty) -BuildRequires: tex(xcolor.sty) -%endif -%endif +BuildRequires: python2-devel >= 2.4 +BuildRequires: python-setuptools +BuildRequires: python-docutils +BuildRequires: python-jinja2 +BuildRequires: python-nose +Requires: python-docutils +Requires: python-jinja2 +Requires: python-pygments %description @@ -188,160 +57,12 @@ the Python docs: snippets and inclusion of appropriately formatted docstrings. -%package -n python%{python3_pkgversion}-sphinx -Summary: Python documentation generator - -Recommends: graphviz -Recommends: ImageMagick -Recommends: make - -# Upstream Requires those, but we have a patch to remove the dependency. -# We keep them Recommended to preserve the default user experience. -%if %{with sphinxcontrib} -# applehelp and jsmath have been orphaned -Recommends: python%{python3_pkgversion}-sphinxcontrib-devhelp -Recommends: python%{python3_pkgversion}-sphinxcontrib-htmlhelp -Recommends: python%{python3_pkgversion}-sphinxcontrib-serializinghtml -Recommends: python%{python3_pkgversion}-sphinxcontrib-qthelp -%endif - -%description -n python%{python3_pkgversion}-sphinx -Sphinx is a tool that makes it easy to create intelligent and -beautiful documentation for Python projects (or other documents -consisting of multiple reStructuredText sources), written by Georg -Brandl. It was originally created to translate the new Python -documentation, but has now been cleaned up in the hope that it will be -useful to many other projects. - -Sphinx uses reStructuredText as its markup language, and many of its -strengths come from the power and straightforwardness of -reStructuredText and its parsing and translating suite, the Docutils. - -Although it is still under constant development, the following -features are already present, work fine and can be seen "in action" in -the Python docs: - - * Output formats: HTML (including Windows HTML Help) and LaTeX, - for printable PDF versions - * Extensive cross-references: semantic markup and automatic links - for functions, classes, 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 module index - * Code handling: automatic highlighting using the Pygments highlighter - * Various extensions are available, e.g. for automatic testing of - snippets and inclusion of appropriately formatted docstrings. - - -%if %{undefined rhel} -%package -n python%{python3_pkgversion}-sphinx-latex -Summary: LaTeX builder dependencies for python%{python3_pkgversion}-sphinx - -Requires: python%{python3_pkgversion}-sphinx = %{epoch}:%{version}-%{release} -# Required dependencies as stated in the documentation [1]: -# -# - texlive-collection-latexrecommended -# - texlive-collection-fontsrecommended -# - texlive-collection-fontsextra -# - texlive-collection-latexextra -# - texlive-tex-gyre -# - latexmk -# -# [1] https://www.sphinx-doc.org/en/master/usage/builders/index.html#sphinx.builders.latex.LaTeXBuilder -# -# These packages install 2500+ other packages requiring ~3 GiB of space. -# Therefore, a more precise list of dependencies. - -Requires: texlive-collection-fontsrecommended -Requires: texlive-collection-latex -Requires: texlive-gnu-freefont -Requires: latexmk - -# Required by sphinx.ext.imgmath – Render math as images -Requires: texlive-dvipng -Requires: texlive-dvisvgm -#Requires: tex(preview.sty) Pulls in texlive-collection-latexrecommended - -Requires: tex(article.cls) -Requires: tex(utf8x.def) - -# Other dependencies. -# -- After searching for \RequirePackage{..} and \usepackage{..}. -Requires: tex(alltt.sty) -Requires: tex(amsfonts.sty) -Requires: tex(amsmath.sty) -Requires: tex(amssymb.sty) -Requires: tex(amstext.sty) -Requires: tex(amsthm.sty) -Requires: tex(anyfontsize.sty) -Requires: tex(atbegshi.sty) -Requires: tex(babel.sty) -Requires: tex(bm.sty) -Requires: tex(booktabs.sty) -Requires: tex(capt-of.sty) -Requires: tex(cmap.sty) -Requires: tex(colortbl.sty) -Requires: tex(ellipse.sty) -Requires: tex(etoolbox.sty) -Requires: tex(fancyhdr.sty) -Requires: tex(fancyvrb.sty) -Requires: tex(float.sty) -Requires: tex(fncychap.sty) -Requires: tex(fontawesome.sty) -Requires: tex(fontawesome5.sty) -Requires: tex(fontenc.sty) -Requires: tex(fontspec.sty) -Requires: tex(framed.sty) -Requires: tex(geometry.sty) -Requires: tex(graphicx.sty) -Requires: tex(hypcap.sty) -Requires: tex(hyperref.sty) -Requires: tex(inputenc.sty) -Requires: tex(kvoptions.sty) -Requires: tex(longtable.sty) -Requires: tex(ltxcmds.sty) -Requires: tex(luatex85.sty) -Requires: tex(makeidx.sty) -Requires: tex(multicol.sty) -Requires: tex(needspace.sty) -Requires: tex(parskip.sty) -Requires: tex(pict2e.sty) -Requires: tex(polyglossia.sty) -Requires: tex(remreset.sty) -Requires: tex(substitutefont.sty) -Requires: tex(tabulary.sty) -Requires: tex(textalpha.sty) -Requires: tex(textcomp.sty) -Requires: tex(tgheros.sty) -Requires: tex(tgtermes.sty) -Requires: tex(titlesec.sty) -Requires: tex(upquote.sty) -Requires: tex(varwidth.sty) -Requires: tex(wrapfig.sty) -Requires: tex(xcolor.sty) -#Requires: tex(xeCJK.sty) Pulls in pLaTeX and upLaTeX - -# No files in this package, automatic provides don't work: -%py_provides python%{python3_pkgversion}-sphinx-latex - -%description -n python%{python3_pkgversion}-sphinx-latex -Sphinx is a tool that makes it easy to create intelligent and -beautiful documentation for Python projects (or other documents -consisting of multiple reStructuredText sources), written by Georg -Brandl. It was originally created to translate the new Python -documentation, but has now been cleaned up in the hope that it will be -useful to many other projects. - -This package pulls in the TeX dependencies needed by Sphinx's LaTeX -builder. -%endif - - %package doc -Summary: Documentation for %{name} -License: BSD-2-Clause -Recommends: python%{python3_pkgversion}-sphinx = %{epoch}:%{version}-%{release} +Summary: Documentation for %{name} +Group: Documentation +License: BSD +Requires: %{name} = %{version}-%{release} + %description doc Sphinx is a tool that makes it easy to create intelligent and @@ -351,98 +72,46 @@ Brandl. It was originally created to translate the new Python documentation, but has now been cleaned up in the hope that it will be useful to many other projects. -This package contains documentation in the HTML format. +This package contains documentation in reST and HTML formats. %prep -%autosetup -n sphinx-%{upstream_version} -p1 - -# Drop test-dependency on pytest-xdist -# This allows for parallel testing, but has a lot of dependencies. -# We want to avoid the dependency in RHEL, where it is not available. -%if 0%{?rhel} -sed -i -e '/pytest-xdist/d' pyproject.toml -%endif - -# Support for docutils 0.22+ -sed -i -e 's/docutils>=0.20,<0.22/docutils>=0.20,<0.23/' pyproject.toml - -# Drop test-dependency on defusedxml, -# use xml from the standard library instead. -# defusedxml is safer but this is only used in tests. -# Upstream uses defusedxml to be "safer for future contributors when they -# create/open branches and pull requests" -- that does not concern us. -# https://github.com/sphinx-doc/sphinx/pull/12168#discussion_r1535383868 -# We want to avoid the dependency in RHEL, but no harm in doing so unconditionally. -sed -i '/"defusedxml/d' pyproject.toml -sed -i 's/from defusedxml./from xml.etree./' sphinx/testing/util.py tests/test_theming/test_theming.py - -%if %{without snowballstemmer} -# Drop dependency on snowballstemmer for RHEL, implement dummy method instead -sed -i -e '/snowballstemmer/d' pyproject.toml -sed -i -e 's/^import \(snowballstemmer\)/from . import dummystemmer as \1/' sphinx/search/*.py -cat > sphinx/search/dummystemmer.py <<_EOF -class stemmer: - def __init__(self, *args, **kwargs): pass - def stemWord(self, word): return word -_EOF -%endif - -%if %{without imagemagick_tests} -rm tests/test_extensions/test_ext_imgconverter.py -%endif - - -%generate_buildrequires -%pyproject_buildrequires -r %{?with_tests:-x test} +%setup -q -n %{upstream_name}-%{version} +%patch0 -p1 -b .setuptools +%patch1 -p1 -b .language_files +sed '1d' -i sphinx/pycode/pgen2/token.py %build -%pyproject_wheel - -export PYTHONPATH=$PWD +%{__python} setup.py build pushd doc -export SPHINXBUILD="%{python3} ../sphinx/cmd/build.py" -make html SPHINXBUILD="$SPHINXBUILD" -make man SPHINXBUILD="$SPHINXBUILD" +make html rm -rf _build/html/.buildinfo -# Those files are copied to _build/html/_images and loaded to the -# html pages from there - we can safely remove the duplicated and unused files -rm -rf _build/html/_static/themes _build/html/_static/tutorial -rm -f _build/html/_static/more.png _build/html/_static/translation.svg mv _build/html .. +rm -rf _* popd %install -%pyproject_install +rm -rf %{buildroot} -# For backwards compatibility. Remove with care, if at all -for i in sphinx-{apidoc,autogen,build,quickstart}; do - ln -s %{_bindir}/$i %{buildroot}%{_bindir}/$i-%{python3_version} - ln -s %{_bindir}/$i %{buildroot}%{_bindir}/$i-3 -done +%{__python} setup.py install --skip-build --root %{buildroot} -# Clean up non-python files -rm -f %{buildroot}%{python3_sitelib}/sphinx/locale/.DS_Store -rm -rf %{buildroot}%{python3_sitelib}/sphinx/locale/.tx pushd doc # Deliver man pages install -d %{buildroot}%{_mandir}/man1 -for f in _build/man/sphinx-*.1; -do - cp -p $f %{buildroot}%{_mandir}/man1/$(basename $f) -done +mv sphinx-*.1 %{buildroot}%{_mandir}/man1/ popd -# Move language files to /usr/share; -# patch to support this incorporated in 0.6.6 -pushd %{buildroot}%{python3_sitelib} +# Deliver rst files +mv doc reST -for lang in `find sphinx/locale -maxdepth 1 -mindepth 1 -type d -not -path '*/\.*' -printf "%f "`; +# Move language files to /usr/share in association with %patch1 +pushd %{buildroot}%{python_sitelib} + +for lang in `find sphinx/locale -maxdepth 1 -mindepth 1 -type d -printf "%f "`; do - test $lang == __pycache__ && continue install -d %{buildroot}%{_datadir}/sphinx/locale/$lang install -d %{buildroot}%{_datadir}/locale/$lang/LC_MESSAGES mv sphinx/locale/$lang/LC_MESSAGES/sphinx.js \ @@ -452,11 +121,6 @@ do rm -rf sphinx/locale/$lang done popd - -# Create the sphinxcontrib directory, so we can own it -# See https://bugzilla.redhat.com/show_bug.cgi?id=1669790 for rationale -mkdir %{buildroot}%{python3_sitelib}/sphinxcontrib - %find_lang sphinx # Language files; Since these are javascript, it's not immediately obvious to @@ -466,51 +130,93 @@ mkdir %{buildroot}%{python3_sitelib}/sphinxcontrib >> sphinx.lang -%if %{with tests} +%clean +rm -rf %{buildroot} + + %check -# Currently, all linkcheck tests and test_latex_images need internet -# test_build_latex_doc needs internet to download pictures, -# but fails also with it enabled, we decided to skip it entirely -# test_autodoc_type_aliases fails with Python 3.12.4, 3.13.0b3 -# skip temporarily until resolved: -# https://github.com/sphinx-doc/sphinx/issues/12430 -k="not test_autodoc_type_aliases" -%if %{without internet} -k="${k} and not linkcheck and not test_latex_images and not test_build_latex_doc" -%endif +make test -%if %{without snowballstemmer} -# Without snowballstemmer, some tests have to be skipped as well, -# as the results with dummystemmer do not exactly match the testcases -k="${k} and not test_meta_keys_are_handled_for_language_en and not test_stemmer" -k="${k} and not test_term_in_heading_and_section and not test_IndexBuilder" -k="${k} and not test_check_js_search_indexes" -%endif -%pytest -k "${k}" -%endif - -%files -n python%{python3_pkgversion}-sphinx -f sphinx.lang -%license LICENSE.rst -%doc README.rst +%files -f sphinx.lang +%defattr(-,root,root,-) +%doc AUTHORS CHANGES EXAMPLES LICENSE README TODO %{_bindir}/sphinx-* -%{python3_sitelib}/sphinx/ -%dir %{python3_sitelib}/sphinxcontrib/ -%{python3_sitelib}/sphinx-%{upstream_version}.dist-info/ -%dir %{_datadir}/sphinx/ -%dir %{_datadir}/sphinx/locale -%dir %{_datadir}/sphinx/locale/* -%{_mandir}/man1/sphinx-* - -%if %{undefined rhel} -%files -n python%{python3_pkgversion}-sphinx-latex -# empty, this is a metapackage -%endif +%{python_sitelib}/* +%{_datadir}/sphinx/ +%exclude %{_datadir}/sphinx/locale/*/sphinx.js +%{_mandir}/man1/* %files doc -%license LICENSE.rst -%doc html +%defattr(-,root,root,-) +%doc html reST %changelog -%autochangelog +* Fri May 21 2010 Toshio Kuratomi - 0.6.5-2 +- Few minor tweaks to Gareth's spec file update + +* Mon May 10 2010 Gareth Armstrong - 0.6.5-1.hp +- Update to 0.6.5 +- Initial import of python-sphinx from Fedora Rawhide for use in HP CMS +- Enforce that Sphinx requires Python 2.4 or later via an explicit BR +- Minor tweaks to spec file +- Move language files to %%{_datadir}, idea borrowed from Debian's sphinx + package +- Deliver man pages for sphinx-build & sphinx-quickstart +- Deliver rst documentation files to reST directory in doc sub-package +- Add %%check section for Python2 and add BR on python-nose + +* Wed Jan 13 2010 Toshio Kuratomi - 0.6.4-1 +- Update to 0.6.4 +- Fixes a problem using autodoc with pylons projects. + +* Fri Sep 4 2009 Michel Salim - 0.6.3-1 +- Update to 0.6.3 + +* Mon Aug 17 2009 Toshio Kuratomi - 0.6.2-1 +- Update to 0.6.2 -- upstream bugfix requested inside bz#512438 + +* Sun Jul 26 2009 Fedora Release Engineering - 0.6.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Jun 05 2009 Luke Macken - 0.6.1-2 +- Add a patch to use our own setuptools package + +* Fri Apr 17 2009 Michel Salim - 0.6.1-1 +- Update to 0.6.1 + +* Thu Feb 26 2009 Fedora Release Engineering - 0.5.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Fri Jan 2 2009 Michel Salim - 0.5.1-1 +- Update to 0.5.1 + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.5-2 +- Rebuild for Python 2.6 + +* Mon Nov 24 2008 Michel Salim - 0.5-1 +- Update to 0.5 + +* Fri Oct 10 2008 Michel Salim - 0.4.3-1 +- Update to 0.4.3 + +* Wed Aug 27 2008 Toshio Kuratomi - 0.4.2-1.1 +- Fix for EL-5 build. + +* Mon Aug 25 2008 Michel Salim - 0.4.2-1 +- Update to 0.4.2 + +* Mon May 26 2008 Michel Salim - 0.3-1 +- Update to 0.3 + +* Fri May 2 2008 Michel Salim - 0.1.61950-3 +- Split documentation into subpackage +- Exclude C files (not built by default anyway) + +* Wed Apr 16 2008 José Matos - 0.1.61950-2 +- Build html documentation, include it and include the rst + documentation. + +* Thu Mar 27 2008 Michel Salim 0.1.61950-1 +- Initial package diff --git a/rpminspect.yaml b/rpminspect.yaml deleted file mode 100644 index bd3a5a4..0000000 --- a/rpminspect.yaml +++ /dev/null @@ -1,4 +0,0 @@ -# exclude XML template (not always valid) from XML validity check: -xml: - ignore: - - /usr/lib/python*/site-packages/sphinx/themes/basic/opensearch.xml diff --git a/sources b/sources index df7d90d..6c0c1e6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (sphinx-8.2.3.tar.gz) = e7cbe251e4f44eb59ef6fd84d3918b1b29941943b75265da75aa9533379746e76331ac8a3ba8c1694840adeebd6886e0fc8eebf5407271aaeddf39594d8e1523 +86dd5dbd55cb44d1f8091a4a1c3743b2 Sphinx-0.6.5.tar.gz diff --git a/sphinx-test_theming.patch b/sphinx-test_theming.patch deleted file mode 100644 index 818a74e..0000000 --- a/sphinx-test_theming.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 399ae81dfbedb7b8acf84e56b0e4b2d5023432ec Mon Sep 17 00:00:00 2001 -From: Karolina Surma -Date: Wed, 26 Feb 2025 10:43:44 +0100 -Subject: [PATCH] Patch test_theming to accomodate for Fedora-added theme - ---- - tests/test_theming/test_theming.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/test_theming/test_theming.py b/tests/test_theming/test_theming.py -index 173e0c9..515e546 100644 ---- a/tests/test_theming/test_theming.py -+++ b/tests/test_theming/test_theming.py -@@ -58,7 +58,7 @@ def test_theme_api(app: SphinxTestApp) -> None: - ] - - # test Theme class API -- assert set(app.registry.html_themes.keys()) == set(themes) -+ assert set(app.registry.html_themes.keys()) >= set(themes) - assert app.registry.html_themes['test-theme'] == ( - app.srcdir / 'test_theme' / 'test-theme' - ) --- -2.48.1 - diff --git a/tests/include-sphinxcontrib-jquery/main.fmf b/tests/include-sphinxcontrib-jquery/main.fmf deleted file mode 100644 index e447827..0000000 --- a/tests/include-sphinxcontrib-jquery/main.fmf +++ /dev/null @@ -1,11 +0,0 @@ -summary: run the basic documentation build -test: | - sphinx-build -M html source/ build/ && - grep '