Compare commits

..

2 commits

Author SHA1 Message Date
Toshio くらとみ
7344924605 - Few minor tweaks to Gareth's spec file update
Mon May 10 2010 Gareth Armstrong <gareth.armstrong@hp.com> - 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
2010-05-22 01:22:47 +00:00
Jesse Keating
10a9360727 Initialize branch F-13 for python-sphinx 2010-02-17 02:58:24 +00:00
28 changed files with 228 additions and 1877 deletions

1
.cvsignore Normal file
View file

@ -0,0 +1 @@
Sphinx-0.6.5.tar.gz

View file

@ -1 +0,0 @@
1

51
.gitignore vendored
View file

@ -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

View file

@ -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 <jay@jp-hosting.net>
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 <jay@jp-hosting.net>
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 <jay@jp-hosting.net>
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 <jay@jp-hosting.net>
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',

View file

@ -1,49 +0,0 @@
From 69998bdf8848614eb52ddd80923ffde7af64c0a8 Mon Sep 17 00:00:00 2001
From: James Addison <jay@jp-hosting.net>
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

View file

@ -1,30 +0,0 @@
From 4d842a2c4909fe360172826a46eb88b442f44858 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?G=C3=BCnter=20Milde?= <milde@users.sf.net>
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

View file

@ -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']

View file

@ -1,205 +0,0 @@
From f3fba803e1c39232f86acc9a21657cad171ce71b Mon Sep 17 00:00:00 2001
From: Karolina Surma <ksurma@redhat.com>
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 <miro@hroncok.cz>
---
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

21
Makefile Normal file
View file

@ -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)

1
branch Normal file
View file

@ -0,0 +1 @@
F-13

608
changelog
View file

@ -1,608 +0,0 @@
* Wed Jan 24 2024 Karolina Surma <ksurma@redhat.com> - 1:7.2.6-6
- Suppress traceback when importing the weakened sphinxcontrib* dependencies
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:7.2.6-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Tue Dec 12 2023 Karolina Surma <ksurma@redhat.com> - 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 <mhroncok@redhat.com> - 1:7.2.6-3
- On Fedora, BuildRequire the sphinxcontrib packages to build the documentation
* Wed Nov 08 2023 Miro Hrončok <mhroncok@redhat.com> - 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 <ksurma@redhat.com> - 1:7.2.6-1
- Update to 7.2.6
- Fixes rhbz#2232469
* Thu Sep 21 2023 Karolina Surma <ksurma@redhat.com> - 1:7.1.2-2
- Fix FTBFS with Pygments 2.16+
* Mon Aug 14 2023 Karolina Surma <ksurma@redhat.com> - 1:7.1.2-1
- Update to 7.1.2
- Fixes rhbz#2225274
* Mon Aug 07 2023 Karolina Surma <ksurma@redhat.com> - 1:7.0.1-1
- Update to 7.0.1
* Thu Jul 27 2023 Miro Hrončok <mhroncok@redhat.com> - 1:6.2.1-4
- Don't use filelock to test this package on RHEL
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.2.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jul 13 2023 Karolina Surma <ksurma@redhat.com> - 1:6.2.1-2
- Don't use websupport to build documentation on RHEL
* Mon Jun 26 2023 Karolina Surma <ksurma@redhat.com> - 1:6.2.1-1
- Update to 6.2.1
- Fixes rhbz#2188968
* Fri Jun 16 2023 Python Maint <python-maint@redhat.com> - 1:6.1.3-4
- Rebuilt for Python 3.12
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 1:6.1.3-3
- Bootstrap for Python 3.12
* Wed May 31 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1:6.1.3-2
- Avoid html5lib test dependency in RHEL builds
* Fri Mar 10 2023 Karolina Surma <ksurma@redhat.com> - 1:6.1.3-1
- Update to 6.1.3
- Fixes rhbz#2135122
* Thu Mar 09 2023 Karolina Surma <ksurma@redhat.com> - 1:5.3.0-4
- Fix tests related to missing setuptools and Babel 2.12
- Fixes rhbz#2176685
* Tue Jan 31 2023 Karolina Surma <ksurma@redhat.com> - 1:5.3.0-3
- Fix tests with python-pygments 2.14+
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:5.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Nov 08 2022 Karolina Surma <ksurma@redhat.com> - 1:5.3.0-1
- Update to 5.3.0
- Fixes rhbz#2129546
* Mon Aug 15 2022 Karolina Surma <ksurma@redhat.com> - 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 <releng@fedoraproject.org> - 1:5.0.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Jun 21 2022 Karolina Surma <ksurma@redhat.com> - 1:5.0.2-1
- Update to 5.0.2
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 1:4.5.0-3
- Rebuilt for Python 3.11
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 1:4.5.0-2
- Bootstrap for Python 3.11
* Fri Apr 01 2022 Karolina Surma <ksurma@redhat.com> - 1:4.5.0-1
- Update to 4.5.0
- Fixes rhbz#2068924
* Tue Feb 01 2022 Karolina Surma <ksurma@redhat.com> - 1:4.4.0-1
- Update to 4.4.0
- Fixes rhbz#2033955
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Nov 29 2021 Karolina Surma <ksurma@redhat.com> - 1:4.3.1-1
- Update to 4.3.1
- Fixes rhbz#2027059
* Fri Nov 19 2021 Karolina Surma <ksurma@redhat.com> - 1:4.3.0-1
- Update to 4.3.0
- Fixes rhbz#2022111
* Fri Sep 17 2021 Karolina Surma <ksurma@redhat.com> - 1:4.2.0-1
- Update to 4.2.0
- Fixes rhbz#2003427
* Thu Sep 16 2021 Karolina Surma <ksurma@redhat.com> - 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 <ksurma@redhat.com> - 1:4.1.2-2
- Patch python-sphinx to work with python-pygments >=2.10
* Mon Aug 02 2021 Karolina Surma <ksurma@redhat.com> - 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 <releng@fedoraproject.org> - 1:4.0.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jun 11 2021 Karolina Surma <ksurma@redhat.com> - 1:4.0.2-1
- Update to 4.0.2
- Fixes rhbz#1948279
* Thu Jun 03 2021 Python Maint <python-maint@redhat.com> - 1:3.5.4-3
- Rebuilt for Python 3.10
* Wed Jun 02 2021 Python Maint <python-maint@redhat.com> - 1:3.5.4-2
- Bootstrap for Python 3.10
* Mon May 10 2021 Karolina Surma <ksurma@redhat.com> - 1:3.5.4-1
- Update to 3.5.4
- Fixes rhbz#1949477
* Thu Apr 01 2021 Karolina Surma <ksurma@redhat.com> - 1:3.5.3-1
- Update to 3.5.3
- Fixes rhbz#1941161
* Wed Mar 10 2021 Charalampos Stratakis <cstratak@redhat.com> - 1:3.5.2-1
- Update 3.5.2
- Fixes rhbz#1928459
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.4.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jan 19 2021 Charalampos Stratakis <cstratak@redhat.com> - 1:3.4.3-1
- Update to 3.4.3
- Fixes rhbz#1909494
* Sat Dec 05 2020 Mattia Verga <mattia.verga@protonmail.com> - 1:3.3.1-2
- Unset -s from python shebang
- Fixes: rhbz#1903763
* Mon Nov 23 2020 Miro Hrončok <mhroncok@redhat.com> - 1:3.3.1-1
- Update to 3.3.1
- Fixes: rhbz#1893752
* Wed Oct 14 2020 Tomas Hrnciar <thrnciar@redhat.com> - 1:3.2.1-2
- Backport commit to fix python-sphinx with python-pygments v2.7.1
* Tue Aug 18 2020 Miro Hrončok <mhroncok@redhat.com> - 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 <mhroncok@redhat.com> - 1:3.1.2-1
- Update to 3.1.2
- Fixes rhbz#1853901
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jun 30 2020 Charalampos Stratakis <cstratak@redhat.com> - 1:3.1.1-1
- Update to 3.1.1 (#1783776)
* Sat May 23 2020 Miro Hrončok <mhroncok@redhat.com> - 1:2.2.2-4
- Rebuilt for Python 3.9
* Fri May 22 2020 Miro Hrončok <mhroncok@redhat.com> - 1:2.2.2-3
- Bootstrap for Python 3.9
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.2.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Dec 10 2019 Miro Hrončok <mhroncok@redhat.com> - 1:2.2.2-1
- Update to 2.2.2 (rhbz#1743018)
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 1:2.1.2-6
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Fri Aug 16 2019 Miro Hrončok <mhroncok@redhat.com> - 1:2.1.2-5
- Rebuilt for Python 3.8
* Thu Aug 15 2019 Miro Hrončok <mhroncok@redhat.com> - 1:2.1.2-4
- Bootstrap for Python 3.8
* Thu Aug 15 2019 Richard Shaw <hobbes1069@gmail.com> - 1:2.1.2-3
- Rebuild for Python 3.8.
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.1.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Jun 23 2019 Miro Hrončok <mhroncok@redhat.com> - 1:2.1.2-1
- Update to 2.1.2 (#1716158)
* Wed Apr 10 2019 Miro Hrončok <mhroncok@redhat.com> - 1:2.0.1-1
- Update to 2.0.1 (#1697544)
- Own the sphinxcontrib directory (#1669790)
* Wed Mar 27 2019 Charalampos Stratakis <cstratak@redhat.com> - 1:2.0.0~b2-1
- Update to 2.0.0b2
* Wed Feb 27 2019 Miro Hrončok <mhroncok@redhat.com> - 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 <amoralej@redhat.com> - 1:1.8.4-1
- Update to 1.8.4.
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.7.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sun Nov 18 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <mplch@redhat.com> - 1:1.7.6-1
- Update to 1.7.6
* Fri Jul 13 2018 Miro Hrončok <mhroncok@redhat.com> - 1:1.7.5-6
- Remove unused dependencies on xapian and simplejson
* Thu Jul 5 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <mhroncok@redhat.com> - 1:1.7.5-4
- Enable tests
* Mon Jul 02 2018 Miro Hrončok <mhroncok@redhat.com> - 1:1.7.5-3
- Enable websupport
* Mon Jul 02 2018 Miro Hrončok <mhroncok@redhat.com> - 1:1.7.5-2
- Rebuilt for Python 3.7
* Tue Jun 19 2018 Charalampos Stratakis <cstratak@redhat.com> - 1:1.7.5-1
- Update to 1.7.5 (bz#1570451)
* Mon Jun 18 2018 Miro Hrončok <mhroncok@redhat.com> - 1:1.7.2-5
- Rebuilt for Python 3.7
* Fri Jun 15 2018 Miro Hrončok <mhroncok@redhat.com> - 1:1.7.2-4
- Bootstrap for Python 3.7
* Thu Jun 14 2018 Miro Hrončok <mhroncok@redhat.com> - 1:1.7.2-3
- Bootstrap for Python 3.7
* Wed Apr 11 2018 Petr Viktorin <pviktori@redhat.com> - 1:1.7.2-2
- Conditionalize the ImageMagick build dependency & tests
* Wed Apr 11 2018 Petr Viktorin <pviktori@redhat.com> - 1:1.7.2-1
- Update to 1.7.2 (bz#1558968)
* Tue Mar 13 2018 Charalampos Stratakis <cstratak@redhat.com> - 1:1.7.1-1
- Update to 1.7.1 (bz#1534802)
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.6.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Tue Jan 09 2018 Charalampos Stratakis <cstratak@redhat.com> - 1:1.6.6-1
- Update to 1.6.6 (bz#1532435)
* Mon Dec 11 2017 Iryna Shcherbina <ishcherb@redhat.com> - 1:1.6.5-2
- Fix ambiguous Python 2 dependency declarations
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
* Mon Nov 06 2017 Charalampos Stratakis <cstratak@redhat.com> - 1:1.6.5-1
- Update to 1.6.5 (bz#1508237)
* Mon Oct 09 2017 Troy Dawson <tdawson@redhat.com> - 1:1.6.4-2
- Cleanup spec file conditionals
* Tue Sep 26 2017 Charalampos Stratakis <cstratak@redhat.com> - 1:1.6.4-1
- Update to 1.6.4 (bz#1426928)
* Wed Sep 20 2017 Charalampos Stratakis <cstratak@redhat.com> - 1:1.6.3-3
- Provide the epoch tag in order to keep the upgrade path clean.
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Thu Jul 20 2017 Charalampos Stratakis <cstratak@redhat.com> - - 1.6.3-1
- Update to 1.6.3 (bz#1426928)
* Sat Feb 18 2017 Toshio Kuratomi <toshio@fedoraproject.org> - - 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 <toshio@fedoraproject.org> - - 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 <releng@fedoraproject.org> - 1.5.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Tue Jan 31 2017 Toshio Kuratomi <toshio@fedoraproject.org> - - 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 <toshio@fedoraproject.org> - - 1.5.1-4
- Add recipe for setting the system default to the README.fedora
* Wed Jan 18 2017 Toshio Kuratomi <toshio@fedoraproject.org> - - 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 <toshio@fedoraproject.org> - - 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 <orion@cora.nwra.com> - 1.5.1-1
- Update to 1.5.1
* Fri Dec 30 2016 Toshio Kuratomi <toshio@fedoraproject.org> - 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 <cstratak@redhat.com> - 1.4.9-1
- Update to 1.4.9
- Enable python3 tests
* Mon Dec 12 2016 Charalampos Stratakis <cstratak@redhat.com> - 1.4.8-3
- Rebuild for Python 3.6
- Disable python3 tests for now
* Thu Oct 6 2016 Avram Lubkin <aviso@fedoraproject.org> - 1.4.8-2
- Added tex(luatex85.sty) dependency to support TexLive 2016
* Thu Oct 6 2016 Avram Lubkin <aviso@fedoraproject.org> - 1.4.8-1
- Update to 1.4.8
- Alternatives fails for scripts sometimes (bz#1382405)
* Sun Sep 4 2016 Avram Lubkin <aviso@fedoraproject.org> - 1.4.6-2
- Alternatives fails for man pages due to existing files
* Fri Sep 2 2016 Avram Lubkin <aviso@fedoraproject.org> - 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 <aviso@fedoraproject.org> - 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 <aviso@fedoraproject.org> - 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 <aviso@fedoraproject.org> - 1.4.4-1
- Updated to 1.4.4
- Added python-sphinx-locale for common locale files
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Fri Nov 27 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 1.3.1-3
- Restore using python2 scripts by default (#1285535)
* Wed Nov 25 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.3.1-2
- Fix requirements of python2- subpackage
- Provide sphinx-*-{3.5,3} symlinks for each script
* Tue Nov 24 2015 Julien Enselme <jujens@jujens.eu> - 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 <rkuska@redhat.com> - 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 <salimma@fedoraproject.org> - 1.2.3-4
- Fix line encoding of bundled jquery.js
* Mon Jul 20 2015 Michel Alexandre Salim <salimma@fedoraproject.org> - 1.2.3-3
- Re-introduce LaTeX subpackage, solely for pulling in LaTeX dependencies
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Thu Feb 5 2015 Michel Alexandre Salim <salimma@fedoraproject.org> - 1.2.3-1
- Update to 1.2.3
- Mark license file with %%license instead of %%doc
* Thu Feb 5 2015 Michel Alexandre Salim <salimma@fedoraproject.org> - 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 <salimma@fedoraproject.org> - 1.2.2-9
- python3-sphinx package also Provides: python3-sphinx-latex
* Tue Feb 3 2015 Michel Alexandre Salim <salimma@fedoraproject.org> - 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 <salimma@fedoraproject.org> - 1.2.2-7
- Disable separate LaTeX builder for now (bz#1185574)
* Thu Jan 22 2015 Michel Alexandre Salim <salimma@fedoraproject.org> - 1.2.2-6
- Split off LaTeX builder into its own subpackages, to remove TeXLive
dependencies from the main package.
Thanks to Robert Kuska <rkuska@redhat.com> 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 <rel-eng@lists.fedoraproject.org> - 1.2.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Tue May 27 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 1.2.2-4
- Don't own the -3 scripts by python 2 package
* Thu May 22 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 1.2.2-3
- Add sphinx-*-3 links to scripts
Resolves: #1098109
* Fri May 9 2014 Orion Poplawski <orion@cora.nwra.com> - 1.2.2-2
- Rebuild for Python 3.4
* Fri May 9 2014 Orion Poplawski <orion@cora.nwra.com> - 1.2.2-1
- Update to 1.2.2
* Thu Feb 13 2014 Michel Salim <salimma@fedoraproject.org> - 1.2.1-1
- Update to 1.2.1
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.3-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Sat Mar 9 2013 Michel Salim <salimma@fedoraproject.org> - 1.1.3-7
- Fix inheritance_diagram quoting bug, exposed by the newer, stricter dot
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Tue Aug 21 2012 Toshio Kuratomi <toshio@fedoraproject.org> - 1.1.3-5
- Fix for use of sphinx's manpage writer with docutils-0.10
* Mon Aug 6 2012 Michel Salim <salimma@fedoraproject.org> - 1.1.3-4
- Rebuild for Python 3.3
* Fri Aug 3 2012 David Malcolm <dmalcolm@redhat.com> - 1.1.3-3
- remove rhel logic from with_python3 conditional
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Thu Apr 5 2012 Michel Salim <salimma@fedoraproject.org> - 1.1.3-1
- Update to 1.1.3
* Sun Feb 5 2012 Michel Salim <salimma@fedoraproject.org> - 1.1.2-5
- Move python3 runtime dependencies to the right subpackage
- Properly exclude python3 binaries
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Sat Dec 17 2011 Michel Salim <salimma@fedoraproject.org> - 1.1.2-3
- BR on texlive-latex for LaTeX tests
* Thu Dec 8 2011 Michel Salim <salimma@fedoraproject.org> - 1.1.2-2
- Enable python3 subpackage
* Mon Nov 28 2011 Toshio Kuratomi <toshio@fedoraproject.org> - 1.1.2-1
- Update to upstream 1.1.2
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Tue Jan 18 2011 Toshio Kuratomi <toshio@fedoraproject.org> - 1.0.7-1
- Update to upstream 1.0.7
* Mon Jan 17 2011 Toshio Kuratomi <toshio@fedoraproject.org> - 1.0.6-1
- Update to upstream 1.0.6
* Mon Nov 1 2010 Michel Salim <salimma@fedoraproject.org> - 1.0.4-3
- Fix -doc Makefile to allow regeneration of .rst files
* Mon Nov 1 2010 Michel Salim <salimma@fedoraproject.org> - 1.0.4-2
- Actually include *.js locale files
- Generate manpages
* Fri Sep 17 2010 Michel Salim <salimma@fedoraproject.org> - 1.0.4-1
- Update to 1.0.4
- Remove BuildRoot and %%clean declarations
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 1.0-0.1.b2.1
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
* Mon May 31 2010 Toshio Kuratomi <toshio@fedoraproject.org> - 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 <salimma@fedoraproject.org> - 1.0-0.1.b1
- Update to 1.0 beta 1
* Tue May 25 2010 Michel Salim <salimma@fedoraproject.org> - 0.6.6-1
- Update to 0.6.6
* Fri May 21 2010 Toshio Kuratomi <toshio@fedoraproject.org> - 0.6.5-2
- Few minor tweaks to Gareth's spec file update
* Mon May 10 2010 Gareth Armstrong <gareth.armstrong@hp.com> - 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 <toshio@fedoraproject.org> - 0.6.4-1
- Update to 0.6.4
- Fixes a problem using autodoc with pylons projects.
* Fri Sep 4 2009 Michel Salim <salimma@fedoraproject.org> - 0.6.3-1
- Update to 0.6.3
* Mon Aug 17 2009 Toshio Kuratomi <toshio@fedoraproject.org> - 0.6.2-1
- Update to 0.6.2 -- upstream bugfix requested inside bz#512438
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Fri Jun 05 2009 Luke Macken <lmacken@redhat.com> - 0.6.1-2
- Add a patch to use our own setuptools package
* Fri Apr 17 2009 Michel Salim <salimma@fedoraproject.org> - 0.6.1-1
- Update to 0.6.1
* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Fri Jan 2 2009 Michel Salim <salimma@fedoraproject.org> - 0.5.1-1
- Update to 0.5.1
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 0.5-2
- Rebuild for Python 2.6
* Mon Nov 24 2008 Michel Salim <salimma@fedoraproject.org> - 0.5-1
- Update to 0.5
* Fri Oct 10 2008 Michel Salim <salimma@fedoraproject.org> - 0.4.3-1
- Update to 0.4.3
* Wed Aug 27 2008 Toshio Kuratomi <toshio@fedoraproject.org> - 0.4.2-1.1
- Fix for EL-5 build.
* Mon Aug 25 2008 Michel Salim <salimma@fedoraproject.org> - 0.4.2-1
- Update to 0.4.2
* Mon May 26 2008 Michel Salim <salimma@fedoraproject.org> - 0.3-1
- Update to 0.3
* Fri May 2 2008 Michel Salim <salimma@fedoraproject.org> - 0.1.61950-3
- Split documentation into subpackage
- Exclude C files (not built by default anyway)
* Wed Apr 16 2008 José Matos <jamatos@fc.up.pt> - 0.1.61950-2
- Build html documentation, include it and include the rst
documentation.
* Thu Mar 27 2008 Michel Salim <michel.sylvan@gmail.com> 0.1.61950-1
- Initial package

View file

@ -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():

View file

@ -1,5 +0,0 @@
discover:
how: fmf
execute:
how: tmt

View file

@ -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')

View file

@ -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

View file

@ -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 <toshio@fedoraproject.org> - 0.6.5-2
- Few minor tweaks to Gareth's spec file update
* Mon May 10 2010 Gareth Armstrong <gareth.armstrong@hp.com> - 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 <toshio@fedoraproject.org> - 0.6.4-1
- Update to 0.6.4
- Fixes a problem using autodoc with pylons projects.
* Fri Sep 4 2009 Michel Salim <salimma@fedoraproject.org> - 0.6.3-1
- Update to 0.6.3
* Mon Aug 17 2009 Toshio Kuratomi <toshio@fedoraproject.org> - 0.6.2-1
- Update to 0.6.2 -- upstream bugfix requested inside bz#512438
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Fri Jun 05 2009 Luke Macken <lmacken@redhat.com> - 0.6.1-2
- Add a patch to use our own setuptools package
* Fri Apr 17 2009 Michel Salim <salimma@fedoraproject.org> - 0.6.1-1
- Update to 0.6.1
* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Fri Jan 2 2009 Michel Salim <salimma@fedoraproject.org> - 0.5.1-1
- Update to 0.5.1
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 0.5-2
- Rebuild for Python 2.6
* Mon Nov 24 2008 Michel Salim <salimma@fedoraproject.org> - 0.5-1
- Update to 0.5
* Fri Oct 10 2008 Michel Salim <salimma@fedoraproject.org> - 0.4.3-1
- Update to 0.4.3
* Wed Aug 27 2008 Toshio Kuratomi <toshio@fedoraproject.org> - 0.4.2-1.1
- Fix for EL-5 build.
* Mon Aug 25 2008 Michel Salim <salimma@fedoraproject.org> - 0.4.2-1
- Update to 0.4.2
* Mon May 26 2008 Michel Salim <salimma@fedoraproject.org> - 0.3-1
- Update to 0.3
* Fri May 2 2008 Michel Salim <salimma@fedoraproject.org> - 0.1.61950-3
- Split documentation into subpackage
- Exclude C files (not built by default anyway)
* Wed Apr 16 2008 José Matos <jamatos@fc.up.pt> - 0.1.61950-2
- Build html documentation, include it and include the rst
documentation.
* Thu Mar 27 2008 Michel Salim <michel.sylvan@gmail.com> 0.1.61950-1
- Initial package

View file

@ -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

View file

@ -1 +1 @@
SHA512 (sphinx-8.2.3.tar.gz) = e7cbe251e4f44eb59ef6fd84d3918b1b29941943b75265da75aa9533379746e76331ac8a3ba8c1694840adeebd6886e0fc8eebf5407271aaeddf39594d8e1523
86dd5dbd55cb44d1f8091a4a1c3743b2 Sphinx-0.6.5.tar.gz

View file

@ -1,25 +0,0 @@
From 399ae81dfbedb7b8acf84e56b0e4b2d5023432ec Mon Sep 17 00:00:00 2001
From: Karolina Surma <ksurma@redhat.com>
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

View file

@ -1,11 +0,0 @@
summary: run the basic documentation build
test: |
sphinx-build -M html source/ build/ &&
grep '<script src="_static/jquery.js' build/html/index.html &&
grep '<script src="_static/_sphinx_javascript_frameworks_compat.js' build/html/index.html &&
test -f build/html/_static/jquery.js &&
test -f build/html/_static/_sphinx_javascript_frameworks_compat.js &&
rm -rf build/
require:
- python3-sphinx
- python3-sphinxcontrib-jquery

View file

@ -1,7 +0,0 @@
project = 'Test'
copyright = '2024, Test'
author = 'Test'
release = '0.3.0'
extensions = [
"sphinxcontrib.jquery",
]

View file

@ -1,15 +0,0 @@
Test docfile
============
.. toctree::
:maxdepth: 2
:caption: Contents:
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

View file

@ -1,10 +0,0 @@
summary: run the basic documentation build
test: |
sphinx-build -M html source/ build/ &&
grep '<section id="test-docfile">' build/html/index.html &&
grep '<h1>Test docfile' build/html/index.html &&
grep '_static/alabaster.css' build/html/index.html &&
rm -rf build/
require:
- python3-sphinx
- python3-sphinx-theme-alabaster

View file

@ -1,5 +0,0 @@
project = 'Test'
copyright = '2024, Test'
author = 'Test'
release = '0.3.0'
html_theme = 'alabaster'

View file

@ -1,15 +0,0 @@
Test docfile
============
.. toctree::
:maxdepth: 2
:caption: Contents:
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

View file

@ -1,11 +0,0 @@
summary: run the basic documentation build with sphinx-rtd-theme
test: |
sphinx-build -M html source/ build/ &&
grep '<section id="test-docfile">' build/html/index.html &&
grep '<h1>Test docfile' build/html/index.html &&
grep 'SphinxRtdTheme' build/html/_static/js/theme.js &&
grep '<script src="_static/js/theme.js' build/html/index.html &&
rm -rf build/
require:
- python3-sphinx
- python3-sphinx_rtd_theme

View file

@ -1,8 +0,0 @@
project = 'Test'
copyright = '2024, Test'
author = 'Test'
release = '0.3.0'
html_theme = 'sphinx_rtd_theme'
extensions = [
'sphinx_rtd_theme',
]

View file

@ -1,15 +0,0 @@
Test docfile
============
.. toctree::
:maxdepth: 2
:caption: Contents:
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`