Compare commits
No commits in common. "c8" and "c10s" have entirely different histories.
1
.fmf/version
Normal file
1
.fmf/version
Normal file
@ -0,0 +1 @@
|
||||
1
|
49
.gitignore
vendored
49
.gitignore
vendored
@ -1 +1,48 @@
|
||||
SOURCES/Sphinx-1.7.6.tar.gz
|
||||
/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
|
||||
|
@ -1 +0,0 @@
|
||||
3caa8c2d3f9b283e32df259baee885c0340c5d02 SOURCES/Sphinx-1.7.6.tar.gz
|
69
11774.patch
Normal file
69
11774.patch
Normal file
@ -0,0 +1,69 @@
|
||||
From bc8939b34037f81b8610f3b26caec128ee20a2f4 Mon Sep 17 00:00:00 2001
|
||||
From: Karolina Surma <ksurma@redhat.com>
|
||||
Date: Tue, 28 Nov 2023 14:43:58 +0100
|
||||
Subject: [PATCH] Adjust the expected string to match Python 3.11+ changed
|
||||
output
|
||||
|
||||
---
|
||||
tests/test_ext_autodoc_configs.py | 21 +++++++++++++++++----
|
||||
1 file changed, 17 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/tests/test_ext_autodoc_configs.py b/tests/test_ext_autodoc_configs.py
|
||||
index 45bc729b73e..0994c08e899 100644
|
||||
--- a/tests/test_ext_autodoc_configs.py
|
||||
+++ b/tests/test_ext_autodoc_configs.py
|
||||
@@ -11,6 +11,7 @@
|
||||
from .test_ext_autodoc import do_autodoc
|
||||
|
||||
IS_PYPY = platform.python_implementation() == 'PyPy'
|
||||
+IS_PY311_AND_LATER = sys.version_info >= (3, 11)
|
||||
|
||||
|
||||
@contextmanager
|
||||
@@ -1627,7 +1628,10 @@ def test_autodoc_default_options(app):
|
||||
assert ' Iterate squares of each value.' in actual
|
||||
if not IS_PYPY:
|
||||
assert ' .. py:attribute:: CustomIter.__weakref__' in actual
|
||||
- assert ' list of weak references to the object (if defined)' in actual
|
||||
+ if IS_PY311_AND_LATER:
|
||||
+ assert ' list of weak references to the object' in actual
|
||||
+ else:
|
||||
+ assert ' list of weak references to the object (if defined)' in actual
|
||||
|
||||
# :exclude-members: None - has no effect. Unlike :members:,
|
||||
# :special-members:, etc. where None == "include all", here None means
|
||||
@@ -1651,7 +1655,10 @@ def test_autodoc_default_options(app):
|
||||
assert ' Iterate squares of each value.' in actual
|
||||
if not IS_PYPY:
|
||||
assert ' .. py:attribute:: CustomIter.__weakref__' in actual
|
||||
- assert ' list of weak references to the object (if defined)' in actual
|
||||
+ if IS_PY311_AND_LATER:
|
||||
+ assert ' list of weak references to the object' in actual
|
||||
+ else:
|
||||
+ assert ' list of weak references to the object (if defined)' in actual
|
||||
assert ' .. py:method:: CustomIter.snafucate()' in actual
|
||||
assert ' Makes this snafucated.' in actual
|
||||
|
||||
@@ -1698,7 +1705,10 @@ def test_autodoc_default_options_with_values(app):
|
||||
assert ' Iterate squares of each value.' in actual
|
||||
if not IS_PYPY:
|
||||
assert ' .. py:attribute:: CustomIter.__weakref__' not in actual
|
||||
- assert ' list of weak references to the object (if defined)' not in actual
|
||||
+ if IS_PY311_AND_LATER:
|
||||
+ assert ' list of weak references to the object' not in actual
|
||||
+ else:
|
||||
+ assert ' list of weak references to the object (if defined)' not in actual
|
||||
|
||||
# with :exclude-members:
|
||||
app.config.autodoc_default_options = {
|
||||
@@ -1722,6 +1732,9 @@ def test_autodoc_default_options_with_values(app):
|
||||
assert ' Iterate squares of each value.' in actual
|
||||
if not IS_PYPY:
|
||||
assert ' .. py:attribute:: CustomIter.__weakref__' not in actual
|
||||
- assert ' list of weak references to the object (if defined)' not in actual
|
||||
+ if IS_PY311_AND_LATER:
|
||||
+ assert ' list of weak references to the object' not in actual
|
||||
+ else:
|
||||
+ assert ' list of weak references to the object (if defined)' not in actual
|
||||
assert ' .. py:method:: CustomIter.snafucate()' not in actual
|
||||
assert ' Makes this snafucated.' not in actual
|
51
Fix-autodoc-tests-with-Python-3.12.3.patch
Normal file
51
Fix-autodoc-tests-with-Python-3.12.3.patch
Normal file
@ -0,0 +1,51 @@
|
||||
From 22caeb2631922c3f5e3f4bb45d8c1610edb6ef74 Mon Sep 17 00:00:00 2001
|
||||
From: Karolina Surma <ksurma@redhat.com>
|
||||
Date: Thu, 22 Aug 2024 12:33:34 +0200
|
||||
Subject: [PATCH] Fix autodoc tests with Python 3.12.3+
|
||||
|
||||
---
|
||||
tests/test_ext_autodoc.py | 5 ++++-
|
||||
tests/test_ext_autodoc_configs.py | 4 ++--
|
||||
2 files changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/tests/test_ext_autodoc.py b/tests/test_ext_autodoc.py
|
||||
index 7062763..5f63214 100644
|
||||
--- a/tests/test_ext_autodoc.py
|
||||
+++ b/tests/test_ext_autodoc.py
|
||||
@@ -1407,7 +1407,10 @@ def test_enum_class(app):
|
||||
options = {"members": None}
|
||||
actual = do_autodoc(app, 'class', 'target.enums.EnumCls', options)
|
||||
|
||||
- if sys.version_info[:2] >= (3, 12):
|
||||
+ if sys.version_info[:3] >= (3, 12, 3):
|
||||
+ args = ('(value, names=<not given>, *values, module=None, '
|
||||
+ 'qualname=None, type=None, start=1, boundary=None)')
|
||||
+ elif sys.version_info[:2] >= (3, 12):
|
||||
args = ('(value, names=None, *values, module=None, '
|
||||
'qualname=None, type=None, start=1, boundary=None)')
|
||||
elif sys.version_info[:2] >= (3, 11):
|
||||
diff --git a/tests/test_ext_autodoc_configs.py b/tests/test_ext_autodoc_configs.py
|
||||
index 0994c08..a240c4b 100644
|
||||
--- a/tests/test_ext_autodoc_configs.py
|
||||
+++ b/tests/test_ext_autodoc_configs.py
|
||||
@@ -1273,7 +1273,7 @@ def test_autodoc_type_aliases(app):
|
||||
' docstring',
|
||||
'',
|
||||
'',
|
||||
- '.. py:function:: mult(x: int, y: int) -> int',
|
||||
+ '.. py:function:: mult(x: myint, y: myint) -> myint',
|
||||
' mult(x: float, y: float) -> float',
|
||||
' :module: target.autodoc_type_aliases',
|
||||
'',
|
||||
@@ -1344,7 +1344,7 @@ def test_autodoc_type_aliases(app):
|
||||
' docstring',
|
||||
'',
|
||||
'',
|
||||
- '.. py:function:: mult(x: myint, y: myint) -> myint',
|
||||
+ '.. py:function:: mult(x: myint, y: myint) -> myint',
|
||||
' mult(x: float, y: float) -> float',
|
||||
' :module: target.autodoc_type_aliases',
|
||||
'',
|
||||
--
|
||||
2.46.0
|
||||
|
204
Make-the-first-party-extensions-optional.patch
Normal file
204
Make-the-first-party-extensions-optional.patch
Normal file
@ -0,0 +1,204 @@
|
||||
From 9699465414515f0eba76d05069e755b5bcf34eef Mon Sep 17 00:00:00 2001
|
||||
From: Karolina Surma <ksurma@redhat.com>
|
||||
Date: Mon, 15 Jan 2024 16:19:32 +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 | 9 ++++++---
|
||||
sphinx/testing/fixtures.py | 6 ++++++
|
||||
tests/test_api_translator.py | 2 ++
|
||||
tests/test_build_html.py | 3 +++
|
||||
6 files changed, 47 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/pyproject.toml b/pyproject.toml
|
||||
index 8f93701..41c28c5 100644
|
||||
--- a/pyproject.toml
|
||||
+++ b/pyproject.toml
|
||||
@@ -55,12 +55,6 @@ classifiers = [
|
||||
"Topic :: Utilities",
|
||||
]
|
||||
dependencies = [
|
||||
- "sphinxcontrib-applehelp",
|
||||
- "sphinxcontrib-devhelp",
|
||||
- "sphinxcontrib-jsmath",
|
||||
- "sphinxcontrib-htmlhelp>=2.0.0",
|
||||
- "sphinxcontrib-serializinghtml>=1.1.9",
|
||||
- "sphinxcontrib-qthelp",
|
||||
"Jinja2>=3.0",
|
||||
"Pygments>=2.14",
|
||||
"docutils>=0.18.1,<0.21",
|
||||
@@ -76,8 +70,35 @@ dependencies = [
|
||||
dynamic = ["version"]
|
||||
|
||||
[project.optional-dependencies]
|
||||
+applehelp = [
|
||||
+ "sphinxcontrib-applehelp",
|
||||
+]
|
||||
+devhelp = [
|
||||
+ "sphinxcontrib-devhelp",
|
||||
+]
|
||||
+jsmath = [
|
||||
+ "sphinxcontrib-jsmath",
|
||||
+]
|
||||
+htmlhelp = [
|
||||
+ "sphinxcontrib-htmlhelp>=2.0.0",
|
||||
+]
|
||||
+serializinghtml = [
|
||||
+ "sphinxcontrib-serializinghtml>=1.1.9",
|
||||
+]
|
||||
+qthelp = [
|
||||
+ "sphinxcontrib-qthelp",
|
||||
+]
|
||||
+extensions = [
|
||||
+ "sphinx[applehelp]",
|
||||
+ "sphinx[devhelp]",
|
||||
+ "sphinx[jsmath]",
|
||||
+ "sphinx[htmlhelp]",
|
||||
+ "sphinx[serializinghtml]",
|
||||
+ "sphinx[qthelp]",
|
||||
+]
|
||||
docs = [
|
||||
"sphinxcontrib-websupport",
|
||||
+ "sphinx[extensions]",
|
||||
]
|
||||
lint = [
|
||||
"flake8>=3.5.0",
|
||||
diff --git a/sphinx/application.py b/sphinx/application.py
|
||||
index d5fbaa9..b030dab 100644
|
||||
--- a/sphinx/application.py
|
||||
+++ b/sphinx/application.py
|
||||
@@ -226,7 +226,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:
|
||||
@@ -395,7 +395,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
|
||||
@@ -403,7 +403,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 501661d..96d4554 100644
|
||||
--- a/sphinx/registry.py
|
||||
+++ b/sphinx/registry.py
|
||||
@@ -430,7 +430,7 @@ class SphinxComponentRegistry:
|
||||
def add_html_theme(self, name: str, theme_path: str) -> None:
|
||||
self.html_themes[name] = 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
|
||||
@@ -446,9 +446,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 = getattr(mod, 'setup', None)
|
||||
if setup is None:
|
||||
diff --git a/sphinx/testing/fixtures.py b/sphinx/testing/fixtures.py
|
||||
index 0cc4882..f57f709 100644
|
||||
--- a/sphinx/testing/fixtures.py
|
||||
+++ b/sphinx/testing/fixtures.py
|
||||
@@ -22,6 +22,7 @@ DEFAULT_ENABLED_MARKERS = [
|
||||
'sphinx(builder, testroot=None, freshenv=False, confoverrides=None, tags=None,'
|
||||
' docutilsconf=None, parallel=0): arguments to initialize the sphinx test application.'
|
||||
),
|
||||
+ 'sphinxcontrib(...): required sphinxcontrib.* extensions',
|
||||
'test_params(shared_result=...): test parameters.',
|
||||
]
|
||||
|
||||
@@ -67,6 +68,11 @@ def app_params(request: Any, test_params: dict, shared_result: SharedResult,
|
||||
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 = {}
|
||||
diff --git a/tests/test_api_translator.py b/tests/test_api_translator.py
|
||||
index 9f2bd44..81575b7 100644
|
||||
--- a/tests/test_api_translator.py
|
||||
+++ b/tests/test_api_translator.py
|
||||
@@ -36,6 +36,7 @@ def test_singlehtml_set_translator_for_singlehtml(app, status, warning):
|
||||
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, status, warning):
|
||||
translator_class = app.builder.get_translator_class()
|
||||
@@ -43,6 +44,7 @@ def test_pickle_set_translator_for_pickle(app, status, warning):
|
||||
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, status, warning):
|
||||
translator_class = app.builder.get_translator_class()
|
||||
diff --git a/tests/test_build_html.py b/tests/test_build_html.py
|
||||
index 07f101d..c512a33 100644
|
||||
--- a/tests/test_build_html.py
|
||||
+++ b/tests/test_build_html.py
|
||||
@@ -1544,6 +1544,7 @@ def test_html_math_renderer_is_imgmath(app, status, warning):
|
||||
assert app.builder.math_renderer_name == 'imgmath'
|
||||
|
||||
|
||||
+@pytest.mark.sphinxcontrib('serializinghtml', 'jsmath')
|
||||
@pytest.mark.sphinx('html', testroot='basic',
|
||||
confoverrides={'extensions': ['sphinxcontrib.jsmath',
|
||||
'sphinx.ext.imgmath']})
|
||||
@@ -1564,6 +1565,7 @@ def test_html_math_renderer_is_duplicated2(app, status, warning):
|
||||
assert app.builder.math_renderer_name == 'imgmath' # The another one is chosen
|
||||
|
||||
|
||||
+@pytest.mark.sphinxcontrib('jsmath')
|
||||
@pytest.mark.sphinx('html', testroot='basic',
|
||||
confoverrides={'extensions': ['sphinxcontrib.jsmath',
|
||||
'sphinx.ext.imgmath'],
|
||||
@@ -1572,6 +1574,7 @@ def test_html_math_renderer_is_chosen(app, status, warning):
|
||||
assert app.builder.math_renderer_name == 'imgmath'
|
||||
|
||||
|
||||
+@pytest.mark.sphinxcontrib('jsmath')
|
||||
@pytest.mark.sphinx('html', testroot='basic',
|
||||
confoverrides={'extensions': ['sphinxcontrib.jsmath',
|
||||
'sphinx.ext.mathjax'],
|
||||
--
|
||||
2.43.0
|
||||
|
265
Patch-out-snowballstemmer.patch
Normal file
265
Patch-out-snowballstemmer.patch
Normal file
@ -0,0 +1,265 @@
|
||||
From ec721111162a24a960b8c725340e183f970d4a1c Mon Sep 17 00:00:00 2001
|
||||
From: Lumir Balhar <lbalhar@redhat.com>
|
||||
Date: Mon, 10 Jun 2024 16:53:08 +0200
|
||||
Subject: [PATCH] Patch-out snowballstemmer and replace it with a dummy
|
||||
implementation
|
||||
|
||||
---
|
||||
pyproject.toml | 1 -
|
||||
sphinx/search/da.py | 2 +-
|
||||
sphinx/search/de.py | 2 +-
|
||||
sphinx/search/dummystemmer.py | 8 ++++++++
|
||||
sphinx/search/en.py | 2 +-
|
||||
sphinx/search/es.py | 2 +-
|
||||
sphinx/search/fi.py | 2 +-
|
||||
sphinx/search/fr.py | 2 +-
|
||||
sphinx/search/hu.py | 2 +-
|
||||
sphinx/search/it.py | 2 +-
|
||||
sphinx/search/nl.py | 2 +-
|
||||
sphinx/search/no.py | 2 +-
|
||||
sphinx/search/pt.py | 2 +-
|
||||
sphinx/search/ro.py | 2 +-
|
||||
sphinx/search/ru.py | 2 +-
|
||||
sphinx/search/sv.py | 2 +-
|
||||
sphinx/search/tr.py | 2 +-
|
||||
sphinx/search/zh.py | 2 +-
|
||||
18 files changed, 24 insertions(+), 17 deletions(-)
|
||||
create mode 100644 sphinx/search/dummystemmer.py
|
||||
|
||||
diff --git a/pyproject.toml b/pyproject.toml
|
||||
index 0d19435..32cf5bf 100644
|
||||
--- a/pyproject.toml
|
||||
+++ b/pyproject.toml
|
||||
@@ -58,7 +58,6 @@ dependencies = [
|
||||
"Jinja2>=3.0",
|
||||
"Pygments>=2.14",
|
||||
"docutils>=0.18.1,<0.21",
|
||||
- "snowballstemmer>=2.0",
|
||||
"babel>=2.9",
|
||||
"alabaster>=0.7,<0.8",
|
||||
"imagesize>=1.3",
|
||||
diff --git a/sphinx/search/da.py b/sphinx/search/da.py
|
||||
index 9b5b9f5..0ff9a56 100644
|
||||
--- a/sphinx/search/da.py
|
||||
+++ b/sphinx/search/da.py
|
||||
@@ -4,7 +4,7 @@ from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING, Dict
|
||||
|
||||
-import snowballstemmer
|
||||
+from . import dummystemmer as snowballstemmer
|
||||
|
||||
from sphinx.search import SearchLanguage, parse_stop_word
|
||||
|
||||
diff --git a/sphinx/search/de.py b/sphinx/search/de.py
|
||||
index 1c253fd..76af961 100644
|
||||
--- a/sphinx/search/de.py
|
||||
+++ b/sphinx/search/de.py
|
||||
@@ -4,7 +4,7 @@ from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING, Dict
|
||||
|
||||
-import snowballstemmer
|
||||
+from . import dummystemmer as snowballstemmer
|
||||
|
||||
from sphinx.search import SearchLanguage, parse_stop_word
|
||||
|
||||
diff --git a/sphinx/search/dummystemmer.py b/sphinx/search/dummystemmer.py
|
||||
new file mode 100644
|
||||
index 0000000..46f8fb7
|
||||
--- /dev/null
|
||||
+++ b/sphinx/search/dummystemmer.py
|
||||
@@ -0,0 +1,8 @@
|
||||
+# Dummy stemmer implementation doing nothing
|
||||
+
|
||||
+class stemmer:
|
||||
+ def __init__(self, *args, **kwargs):
|
||||
+ pass
|
||||
+
|
||||
+ def stemWord(self, word):
|
||||
+ return word
|
||||
diff --git a/sphinx/search/en.py b/sphinx/search/en.py
|
||||
index caa6f66..1e3fbb8 100644
|
||||
--- a/sphinx/search/en.py
|
||||
+++ b/sphinx/search/en.py
|
||||
@@ -4,7 +4,7 @@ from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING, Dict
|
||||
|
||||
-import snowballstemmer
|
||||
+from . import dummystemmer as snowballstemmer
|
||||
|
||||
from sphinx.search import SearchLanguage
|
||||
|
||||
diff --git a/sphinx/search/es.py b/sphinx/search/es.py
|
||||
index c5d9a5c..96956be 100644
|
||||
--- a/sphinx/search/es.py
|
||||
+++ b/sphinx/search/es.py
|
||||
@@ -4,7 +4,7 @@ from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING, Dict
|
||||
|
||||
-import snowballstemmer
|
||||
+from . import dummystemmer as snowballstemmer
|
||||
|
||||
from sphinx.search import SearchLanguage, parse_stop_word
|
||||
|
||||
diff --git a/sphinx/search/fi.py b/sphinx/search/fi.py
|
||||
index 70114f8..5de87ad 100644
|
||||
--- a/sphinx/search/fi.py
|
||||
+++ b/sphinx/search/fi.py
|
||||
@@ -4,7 +4,7 @@ from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING, Dict
|
||||
|
||||
-import snowballstemmer
|
||||
+from . import dummystemmer as snowballstemmer
|
||||
|
||||
from sphinx.search import SearchLanguage, parse_stop_word
|
||||
|
||||
diff --git a/sphinx/search/fr.py b/sphinx/search/fr.py
|
||||
index 01319dd..9b43d74 100644
|
||||
--- a/sphinx/search/fr.py
|
||||
+++ b/sphinx/search/fr.py
|
||||
@@ -4,7 +4,7 @@ from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING, Dict
|
||||
|
||||
-import snowballstemmer
|
||||
+from . import dummystemmer as snowballstemmer
|
||||
|
||||
from sphinx.search import SearchLanguage, parse_stop_word
|
||||
|
||||
diff --git a/sphinx/search/hu.py b/sphinx/search/hu.py
|
||||
index eed08db..4dde945 100644
|
||||
--- a/sphinx/search/hu.py
|
||||
+++ b/sphinx/search/hu.py
|
||||
@@ -4,7 +4,7 @@ from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING, Dict
|
||||
|
||||
-import snowballstemmer
|
||||
+from . import dummystemmer as snowballstemmer
|
||||
|
||||
from sphinx.search import SearchLanguage, parse_stop_word
|
||||
|
||||
diff --git a/sphinx/search/it.py b/sphinx/search/it.py
|
||||
index 7bf712b..9e44732 100644
|
||||
--- a/sphinx/search/it.py
|
||||
+++ b/sphinx/search/it.py
|
||||
@@ -4,7 +4,7 @@ from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING, Dict
|
||||
|
||||
-import snowballstemmer
|
||||
+from . import dummystemmer as snowballstemmer
|
||||
|
||||
from sphinx.search import SearchLanguage, parse_stop_word
|
||||
|
||||
diff --git a/sphinx/search/nl.py b/sphinx/search/nl.py
|
||||
index a610b12..f85bec7 100644
|
||||
--- a/sphinx/search/nl.py
|
||||
+++ b/sphinx/search/nl.py
|
||||
@@ -4,7 +4,7 @@ from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING, Dict
|
||||
|
||||
-import snowballstemmer
|
||||
+from . import dummystemmer as snowballstemmer
|
||||
|
||||
from sphinx.search import SearchLanguage, parse_stop_word
|
||||
|
||||
diff --git a/sphinx/search/no.py b/sphinx/search/no.py
|
||||
index a69380b..8f9be62 100644
|
||||
--- a/sphinx/search/no.py
|
||||
+++ b/sphinx/search/no.py
|
||||
@@ -4,7 +4,7 @@ from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING, Dict
|
||||
|
||||
-import snowballstemmer
|
||||
+from . import dummystemmer as snowballstemmer
|
||||
|
||||
from sphinx.search import SearchLanguage, parse_stop_word
|
||||
|
||||
diff --git a/sphinx/search/pt.py b/sphinx/search/pt.py
|
||||
index 908a417..ee266ef 100644
|
||||
--- a/sphinx/search/pt.py
|
||||
+++ b/sphinx/search/pt.py
|
||||
@@ -4,7 +4,7 @@ from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING, Dict
|
||||
|
||||
-import snowballstemmer
|
||||
+from . import dummystemmer as snowballstemmer
|
||||
|
||||
from sphinx.search import SearchLanguage, parse_stop_word
|
||||
|
||||
diff --git a/sphinx/search/ro.py b/sphinx/search/ro.py
|
||||
index b6c9d67..ee77c77 100644
|
||||
--- a/sphinx/search/ro.py
|
||||
+++ b/sphinx/search/ro.py
|
||||
@@ -4,7 +4,7 @@ from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING, Dict, Set
|
||||
|
||||
-import snowballstemmer
|
||||
+from . import dummystemmer as snowballstemmer
|
||||
|
||||
from sphinx.search import SearchLanguage
|
||||
|
||||
diff --git a/sphinx/search/ru.py b/sphinx/search/ru.py
|
||||
index b8412c1..bda63bd 100644
|
||||
--- a/sphinx/search/ru.py
|
||||
+++ b/sphinx/search/ru.py
|
||||
@@ -4,7 +4,7 @@ from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING, Dict
|
||||
|
||||
-import snowballstemmer
|
||||
+from . import dummystemmer as snowballstemmer
|
||||
|
||||
from sphinx.search import SearchLanguage, parse_stop_word
|
||||
|
||||
diff --git a/sphinx/search/sv.py b/sphinx/search/sv.py
|
||||
index 88cc560..52e4983 100644
|
||||
--- a/sphinx/search/sv.py
|
||||
+++ b/sphinx/search/sv.py
|
||||
@@ -4,7 +4,7 @@ from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING, Dict
|
||||
|
||||
-import snowballstemmer
|
||||
+from . import dummystemmer as snowballstemmer
|
||||
|
||||
from sphinx.search import SearchLanguage, parse_stop_word
|
||||
|
||||
diff --git a/sphinx/search/tr.py b/sphinx/search/tr.py
|
||||
index f4a865c..934fd41 100644
|
||||
--- a/sphinx/search/tr.py
|
||||
+++ b/sphinx/search/tr.py
|
||||
@@ -4,7 +4,7 @@ from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING, Dict, Set
|
||||
|
||||
-import snowballstemmer
|
||||
+from . import dummystemmer as snowballstemmer
|
||||
|
||||
from sphinx.search import SearchLanguage
|
||||
|
||||
diff --git a/sphinx/search/zh.py b/sphinx/search/zh.py
|
||||
index 2a3a6e7..e3ee9d0 100644
|
||||
--- a/sphinx/search/zh.py
|
||||
+++ b/sphinx/search/zh.py
|
||||
@@ -6,7 +6,7 @@ import os
|
||||
import re
|
||||
from typing import TYPE_CHECKING, Dict, List
|
||||
|
||||
-import snowballstemmer
|
||||
+from . import dummystemmer as snowballstemmer
|
||||
|
||||
from sphinx.search import SearchLanguage
|
||||
|
||||
--
|
||||
2.45.2
|
||||
|
@ -1,149 +0,0 @@
|
||||
diff --git a/sphinx/builders/html.py b/sphinx/builders/html.py
|
||||
index 8b63352..1a95c77 100644
|
||||
--- a/sphinx/builders/html.py
|
||||
+++ b/sphinx/builders/html.py
|
||||
@@ -14,7 +14,6 @@ import posixpath
|
||||
import re
|
||||
import sys
|
||||
import warnings
|
||||
-from hashlib import md5
|
||||
from os import path
|
||||
|
||||
import docutils
|
||||
@@ -40,7 +39,7 @@ from sphinx.highlighting import PygmentsBridge
|
||||
from sphinx.locale import _, __, l_
|
||||
from sphinx.search import js_index
|
||||
from sphinx.theming import HTMLThemeFactory
|
||||
-from sphinx.util import jsonimpl, logging, status_iterator
|
||||
+from sphinx.util import jsonimpl, logging, status_iterator, md5
|
||||
from sphinx.util.console import bold, darkgreen # type: ignore
|
||||
from sphinx.util.docutils import is_html5_writer_available, new_document
|
||||
from sphinx.util.fileutil import copy_asset
|
||||
diff --git a/sphinx/ext/graphviz.py b/sphinx/ext/graphviz.py
|
||||
index 08707b7..9d53a0e 100644
|
||||
--- a/sphinx/ext/graphviz.py
|
||||
+++ b/sphinx/ext/graphviz.py
|
||||
@@ -13,7 +13,6 @@
|
||||
import codecs
|
||||
import posixpath
|
||||
import re
|
||||
-from hashlib import sha1
|
||||
from os import path
|
||||
from subprocess import Popen, PIPE
|
||||
|
||||
@@ -25,7 +24,7 @@ from six import text_type
|
||||
import sphinx
|
||||
from sphinx.errors import SphinxError
|
||||
from sphinx.locale import _, __
|
||||
-from sphinx.util import logging
|
||||
+from sphinx.util import logging, sha1
|
||||
from sphinx.util.i18n import search_image_for_language
|
||||
from sphinx.util.osutil import ensuredir, ENOENT, EPIPE, EINVAL
|
||||
|
||||
diff --git a/sphinx/ext/imgmath.py b/sphinx/ext/imgmath.py
|
||||
index 5f9d7a1..23f89ed 100644
|
||||
--- a/sphinx/ext/imgmath.py
|
||||
+++ b/sphinx/ext/imgmath.py
|
||||
@@ -14,7 +14,6 @@ import posixpath
|
||||
import re
|
||||
import shutil
|
||||
import tempfile
|
||||
-from hashlib import sha1
|
||||
from os import path
|
||||
from subprocess import Popen, PIPE
|
||||
|
||||
@@ -26,7 +25,7 @@ from sphinx.errors import SphinxError, ExtensionError
|
||||
from sphinx.ext.mathbase import get_node_equation_number
|
||||
from sphinx.ext.mathbase import setup_math as mathbase_setup, wrap_displaymath
|
||||
from sphinx.locale import _
|
||||
-from sphinx.util import logging
|
||||
+from sphinx.util import logging, sha1
|
||||
from sphinx.util.osutil import ensuredir, ENOENT, cd
|
||||
from sphinx.util.png import read_png_depth, write_png_depth
|
||||
from sphinx.util.pycompat import sys_encoding
|
||||
diff --git a/sphinx/ext/inheritance_diagram.py b/sphinx/ext/inheritance_diagram.py
|
||||
index 14593ac..9576d07 100644
|
||||
--- a/sphinx/ext/inheritance_diagram.py
|
||||
+++ b/sphinx/ext/inheritance_diagram.py
|
||||
@@ -39,7 +39,6 @@ r"""
|
||||
import inspect
|
||||
import re
|
||||
import sys
|
||||
-from hashlib import md5
|
||||
|
||||
from docutils import nodes
|
||||
from docutils.parsers.rst import Directive, directives
|
||||
@@ -50,7 +49,7 @@ import sphinx
|
||||
from sphinx.ext.graphviz import render_dot_html, render_dot_latex, \
|
||||
render_dot_texinfo, figure_wrapper
|
||||
from sphinx.pycode import ModuleAnalyzer
|
||||
-from sphinx.util import force_decode
|
||||
+from sphinx.util import force_decode, md5
|
||||
|
||||
if False:
|
||||
# For type annotation
|
||||
diff --git a/sphinx/transforms/post_transforms/images.py b/sphinx/transforms/post_transforms/images.py
|
||||
index 6dd135e..d1c50bd 100644
|
||||
--- a/sphinx/transforms/post_transforms/images.py
|
||||
+++ b/sphinx/transforms/post_transforms/images.py
|
||||
@@ -10,14 +10,13 @@
|
||||
"""
|
||||
|
||||
import os
|
||||
-from hashlib import sha1
|
||||
from math import ceil
|
||||
|
||||
from docutils import nodes
|
||||
from six import text_type
|
||||
|
||||
from sphinx.transforms import SphinxTransform
|
||||
-from sphinx.util import epoch_to_rfc1123, rfc1123_to_epoch
|
||||
+from sphinx.util import epoch_to_rfc1123, rfc1123_to_epoch, sha1
|
||||
from sphinx.util import logging, requests
|
||||
from sphinx.util.images import guess_mimetype, get_image_extension, parse_data_uri
|
||||
from sphinx.util.osutil import ensuredir, movefile
|
||||
diff --git a/sphinx/util/__init__.py b/sphinx/util/__init__.py
|
||||
index dda3fb0..9c1c441 100644
|
||||
--- a/sphinx/util/__init__.py
|
||||
+++ b/sphinx/util/__init__.py
|
||||
@@ -11,6 +11,7 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
import fnmatch
|
||||
+import hashlib
|
||||
import os
|
||||
import posixpath
|
||||
import re
|
||||
@@ -164,6 +165,32 @@ class FilenameUniqDict(dict):
|
||||
# type: (Set[unicode]) -> None
|
||||
self._existing = state
|
||||
|
||||
+def md5(data=b'', **kwargs):
|
||||
+ """Wrapper around hashlib.md5
|
||||
+ Attempt call with 'usedforsecurity=False' if we get a ValueError, which happens when
|
||||
+ OpenSSL FIPS mode is enabled:
|
||||
+ ValueError: error:060800A3:digital envelope routines:EVP_DigestInit_ex:disabled for fips
|
||||
+ See: https://github.com/sphinx-doc/sphinx/issues/7611
|
||||
+ """
|
||||
+
|
||||
+ try:
|
||||
+ return hashlib.md5(data, **kwargs) # type: ignore
|
||||
+ except ValueError:
|
||||
+ return hashlib.md5(data, **kwargs, usedforsecurity=False) # type: ignore
|
||||
+
|
||||
+
|
||||
+def sha1(data=b'', **kwargs):
|
||||
+ """Wrapper around hashlib.sha1
|
||||
+ Attempt call with 'usedforsecurity=False' if we get a ValueError
|
||||
+ See: https://github.com/sphinx-doc/sphinx/issues/7611
|
||||
+ """
|
||||
+
|
||||
+ try:
|
||||
+ return hashlib.sha1(data, **kwargs) # type: ignore
|
||||
+ except ValueError:
|
||||
+ return hashlib.sha1(data, **kwargs, usedforsecurity=False) # type: ignore
|
||||
+
|
||||
+
|
||||
|
||||
def copy_static_entry(source, targetdir, builder, context={},
|
||||
exclude_matchers=(), level=0):
|
@ -1,13 +0,0 @@
|
||||
diff --git a/tests/test_build_latex.py b/tests/test_build_latex.py
|
||||
index 55f48cd..78ccecd 100644
|
||||
--- a/tests/test_build_latex.py
|
||||
+++ b/tests/test_build_latex.py
|
||||
@@ -1009,7 +1009,7 @@ def test_latex_raw_directive(app, status, warning):
|
||||
assert 'HTML: abc ghi' in result
|
||||
assert 'LaTeX: abc def ghi' in result
|
||||
|
||||
-
|
||||
+@pytest.mark.xfail(reason="this test requires internet connection")
|
||||
@pytest.mark.sphinx('latex', testroot='images')
|
||||
def test_latex_remote_images(app, status, warning):
|
||||
app.builder.build_all()
|
5
gating.yaml
Normal file
5
gating.yaml
Normal file
@ -0,0 +1,5 @@
|
||||
--- !Policy
|
||||
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
@ -1,99 +1,132 @@
|
||||
# Build without BuildRequires ImageMagick, to skip imgconverter tests
|
||||
%bcond_with imagemagick_tests
|
||||
# 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}
|
||||
# Also, we don't have all the tests requirements
|
||||
%bcond tests 1
|
||||
|
||||
%global upstream_name Sphinx
|
||||
# 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}
|
||||
# Same for filelock -- we don't want it in RHEL just to run a handful of tests here
|
||||
%bcond filelock_tests %{undefined rhel}
|
||||
|
||||
# During texlive updates, sometimes the latex environment is unstable
|
||||
%bcond latex_tests 1
|
||||
|
||||
Name: python-sphinx
|
||||
Version: 1.7.6
|
||||
Release: 3%{?dist}
|
||||
%global general_version 7.2.6
|
||||
#global prerel ...
|
||||
%global upstream_version %{general_version}%{?prerel}
|
||||
Version: %{general_version}%{?prerel:~%{prerel}}
|
||||
Release: 10%{?dist}
|
||||
Epoch: 1
|
||||
Summary: Python documentation generator
|
||||
|
||||
# Unless otherwise noted, the license for code is BSD
|
||||
# sphinx/util/stemmer.py Public Domain
|
||||
# sphinx/pycode/pgen2 Python
|
||||
# jquery (MIT or GPLv2)
|
||||
License: BSD and Public Domain and Python and (MIT or GPLv2)
|
||||
URL: http://sphinx-doc.org/
|
||||
Source0: https://files.pythonhosted.org/packages/source/S/%{upstream_name}/%{upstream_name}-%{version}.tar.gz
|
||||
# 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
|
||||
|
||||
# Make the test_latex_remote_images an expected failure
|
||||
# since it requires an active internet connection
|
||||
# to fetch images, which is not possible in koji or mock.
|
||||
Patch0: xfail-test_latex_remote_images.patch
|
||||
URL: https://www.sphinx-doc.org/
|
||||
Source: %{pypi_source sphinx %{upstream_version}}
|
||||
|
||||
# Building the documentation of other projects under FIPS mode
|
||||
# might fail in some cases due to the md5 algorithm being disabled.
|
||||
# Backport an upstream fix to resolve that:
|
||||
# https://github.com/sphinx-doc/sphinx/pull/7614
|
||||
Patch1: fix-build-under-fips.patch
|
||||
# Allow extra themes to exist. We pull in python3-sphinx-theme-alabaster
|
||||
# which causes that test to fail.
|
||||
Patch: sphinx-test_theming.diff
|
||||
|
||||
# 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
|
||||
|
||||
# Fix the expected test docstring to match output in Python 3.11.7, 3.12.1 and later
|
||||
# Proposed upstream.
|
||||
Patch: https://github.com/sphinx-doc/sphinx/pull/11774.patch
|
||||
|
||||
# Downstream-only patch replacing snowballstemmer
|
||||
# with a dummy implementation doing nothing.
|
||||
Patch: Patch-out-snowballstemmer.patch
|
||||
|
||||
# Account for the changes is enum and type aliases representations
|
||||
Patch: Fix-autodoc-tests-with-Python-3.12.3.patch
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
# for fixes
|
||||
BuildRequires: dos2unix
|
||||
BuildRequires: make
|
||||
BuildRequires: python%{python3_pkgversion}-devel
|
||||
BuildRequires: pyproject-rpm-macros
|
||||
|
||||
# for testing
|
||||
%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: texinfo
|
||||
BuildRequires: graphviz
|
||||
BuildRequires: texinfo
|
||||
|
||||
%if %{with imagemagick_tests}
|
||||
BuildRequires: ImageMagick
|
||||
%endif
|
||||
|
||||
%if %{with latex_tests}
|
||||
BuildRequires: texlive-collection-fontsrecommended
|
||||
BuildRequires: texlive-collection-latex
|
||||
BuildRequires: texlive-dvipng
|
||||
BuildRequires: texlive-dvisvgm
|
||||
BuildRequires: texlive-ucs
|
||||
BuildRequires: tex(cmap.sty)
|
||||
BuildRequires: tex(ecrm1000.tfm)
|
||||
BuildRequires: tex(footnote.sty)
|
||||
BuildRequires: tex(framed.sty)
|
||||
BuildRequires: tex(multirow.sty)
|
||||
BuildRequires: tex(parskip.sty)
|
||||
BuildRequires: tex(titlesec.sty)
|
||||
BuildRequires: tex(threeparttable.sty)
|
||||
BuildRequires: tex(upquote.sty)
|
||||
BuildRequires: tex(wrapfig.sty)
|
||||
BuildRequires: tex(capt-of.sty)
|
||||
BuildRequires: tex(needspace.sty)
|
||||
BuildRequires: tex(eqparbox.sty)
|
||||
BuildRequires: tex(amsmath.sty)
|
||||
BuildRequires: tex(amsthm.sty)
|
||||
BuildRequires: tex(amssymb.sty)
|
||||
BuildRequires: tex(amsfonts.sty)
|
||||
BuildRequires: tex(bm.sty)
|
||||
BuildRequires: tex(palatino.sty)
|
||||
BuildRequires: tex(multirow.sty)
|
||||
BuildRequires: tex(eqparbox.sty)
|
||||
BuildRequires: tex(atbegshi.sty)
|
||||
BuildRequires: tex(anyfontsize.sty)
|
||||
BuildRequires: tex(luatex85.sty)
|
||||
BuildRequires: tex(fncychap.sty)
|
||||
BuildRequires: tex(tabulary.sty)
|
||||
BuildRequires: tex(polyglossia.sty)
|
||||
BuildRequires: tex(article.cls)
|
||||
BuildRequires: tex(capt-of.sty)
|
||||
BuildRequires: tex(cmap.sty)
|
||||
BuildRequires: tex(color.sty)
|
||||
BuildRequires: tex(ctablestack.sty)
|
||||
BuildRequires: tex(eu1enc.def)
|
||||
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-babel
|
||||
BuildRequires: python3-setuptools
|
||||
BuildRequires: python3-docutils
|
||||
BuildRequires: python3-jinja2
|
||||
BuildRequires: python3-pygments
|
||||
BuildRequires: python3-nose
|
||||
BuildRequires: python3-pytest
|
||||
BuildRequires: python3-mock
|
||||
BuildRequires: python3-html5lib
|
||||
BuildRequires: python3-whoosh
|
||||
BuildRequires: python3-snowballstemmer
|
||||
BuildRequires: python3-six
|
||||
BuildRequires: python3-sphinx_rtd_theme
|
||||
BuildRequires: python3-sphinx-theme-alabaster
|
||||
BuildRequires: python3-sphinxcontrib-websupport
|
||||
BuildRequires: python3-packaging
|
||||
BuildRequires: python3-imagesize
|
||||
BuildRequires: python3-requests
|
||||
BuildRequires: tex(fancyhdr.sty)
|
||||
BuildRequires: tex(fancyvrb.sty)
|
||||
BuildRequires: tex(fncychap.sty)
|
||||
BuildRequires: tex(framed.sty)
|
||||
BuildRequires: tex(FreeSerif.otf)
|
||||
BuildRequires: tex(geometry.sty)
|
||||
BuildRequires: tex(hyperref.sty)
|
||||
BuildRequires: tex(kvoptions.sty)
|
||||
BuildRequires: tex(luatex85.sty)
|
||||
BuildRequires: tex(needspace.sty)
|
||||
BuildRequires: tex(parskip.sty)
|
||||
BuildRequires: tex(polyglossia.sty)
|
||||
BuildRequires: tex(tabulary.sty)
|
||||
BuildRequires: tex(titlesec.sty)
|
||||
BuildRequires: tex(upquote.sty)
|
||||
BuildRequires: tex(utf8x.def)
|
||||
BuildRequires: tex(wrapfig.sty)
|
||||
%endif
|
||||
%endif
|
||||
|
||||
|
||||
%description
|
||||
@ -125,38 +158,23 @@ the Python docs:
|
||||
snippets and inclusion of appropriately formatted docstrings.
|
||||
|
||||
|
||||
%package -n python2-sphinx
|
||||
%package -n python%{python3_pkgversion}-sphinx
|
||||
Summary: Python documentation generator
|
||||
Requires: python-sphinx-locale = %{?epoch}:%{version}-%{release}
|
||||
Requires: python2-babel
|
||||
Requires: python2-docutils
|
||||
Requires: python2-jinja2
|
||||
Requires: python2-pygments
|
||||
Requires: python2-mock
|
||||
Requires: python2-snowballstemmer
|
||||
Requires: python2-sphinx_rtd_theme
|
||||
Requires: python2-six
|
||||
Requires: python2-sphinx-theme-alabaster
|
||||
Requires: python2-imagesize
|
||||
Requires: python2-requests
|
||||
Requires: python2-packaging
|
||||
Requires: python2-typing
|
||||
Requires: environment(modules)
|
||||
# Needed to get rid of the alternatives config installed in f24 and f25
|
||||
# versions of the package
|
||||
Requires(pre): /usr/sbin/alternatives
|
||||
|
||||
Recommends: graphviz
|
||||
Recommends: ImageMagick
|
||||
Obsoletes: python-sphinx <= 1.2.3
|
||||
Obsoletes: python-sphinxcontrib-napoleon < 0.5
|
||||
Provides: python-sphinxcontrib-napoleon = %{?epoch}:%{version}-%{release}
|
||||
Obsoletes: python2-Sphinx <= 1.3.1-4
|
||||
Provides: python2-Sphinx = %{?epoch}:%{version}-%{release}
|
||||
Provides: python(Sphinx) = %{?epoch}:%{version}-%{release}
|
||||
%{?python_provide:%python_provide python2-sphinx}
|
||||
Conflicts: python3-sphinx < %{?epoch}:%{version}-%{release}
|
||||
|
||||
%description -n python2-sphinx
|
||||
# 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
|
||||
@ -185,46 +203,44 @@ the Python docs:
|
||||
snippets and inclusion of appropriately formatted docstrings.
|
||||
|
||||
|
||||
%package latex
|
||||
Summary: LaTeX builder dependencies for %{name}
|
||||
Requires: python(Sphinx) = %{?epoch}:%{version}-%{release}
|
||||
%package -n python%{python3_pkgversion}-sphinx-latex
|
||||
Summary: LaTeX builder dependencies for python%{python3_pkgversion}-sphinx
|
||||
|
||||
Requires: python%{python3_pkgversion}-sphinx = %{epoch}:%{version}-%{release}
|
||||
Requires: texlive-collection-fontsrecommended
|
||||
Requires: texlive-collection-latex
|
||||
Requires: texlive-dvipng
|
||||
Requires: texlive-dvisvgm
|
||||
Requires: texlive-ucs
|
||||
Requires: tex(cmap.sty)
|
||||
Requires: tex(ecrm1000.tfm)
|
||||
Requires: tex(footnote.sty)
|
||||
Requires: tex(framed.sty)
|
||||
Requires: tex(multirow.sty)
|
||||
Requires: tex(parskip.sty)
|
||||
Requires: tex(titlesec.sty)
|
||||
Requires: tex(threeparttable.sty)
|
||||
Requires: tex(upquote.sty)
|
||||
Requires: tex(wrapfig.sty)
|
||||
Requires: tex(capt-of.sty)
|
||||
Requires: tex(needspace.sty)
|
||||
Requires: tex(eqparbox.sty)
|
||||
Requires: tex(amsmath.sty)
|
||||
Requires: tex(amsthm.sty)
|
||||
Requires: tex(amssymb.sty)
|
||||
Requires: tex(amsfonts.sty)
|
||||
Requires: tex(bm.sty)
|
||||
Requires: tex(palatino.sty)
|
||||
Requires: tex(multirow.sty)
|
||||
Requires: tex(eqparbox.sty)
|
||||
Requires: tex(atbegshi.sty)
|
||||
Requires: tex(anyfontsize.sty)
|
||||
Requires: tex(luatex85.sty)
|
||||
Requires: tex(fncychap.sty)
|
||||
Requires: tex(tabulary.sty)
|
||||
Requires: tex(polyglossia.sty)
|
||||
Requires: tex(article.cls)
|
||||
Requires: tex(capt-of.sty)
|
||||
Requires: tex(cmap.sty)
|
||||
Requires: tex(color.sty)
|
||||
Requires: tex(ctablestack.sty)
|
||||
Requires: tex(eu1enc.def)
|
||||
Obsoletes: python3-sphinx-latex < 1.4.4-2
|
||||
Requires: tex(fancyhdr.sty)
|
||||
Requires: tex(fancyvrb.sty)
|
||||
Requires: tex(fncychap.sty)
|
||||
Requires: tex(framed.sty)
|
||||
Requires: tex(FreeSerif.otf)
|
||||
Requires: tex(geometry.sty)
|
||||
Requires: tex(hyperref.sty)
|
||||
Requires: tex(kvoptions.sty)
|
||||
Requires: tex(luatex85.sty)
|
||||
Requires: tex(needspace.sty)
|
||||
Requires: tex(parskip.sty)
|
||||
Requires: tex(polyglossia.sty)
|
||||
Requires: tex(tabulary.sty)
|
||||
Requires: tex(titlesec.sty)
|
||||
Requires: tex(upquote.sty)
|
||||
Requires: tex(utf8x.def)
|
||||
Requires: tex(wrapfig.sty)
|
||||
|
||||
%description latex
|
||||
# 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
|
||||
@ -236,69 +252,10 @@ This package pulls in the TeX dependencies needed by Sphinx's LaTeX
|
||||
builder.
|
||||
|
||||
|
||||
%package -n python3-sphinx
|
||||
Summary: Python documentation generator
|
||||
Group: Development/Tools
|
||||
Requires: python-sphinx-locale = %{?epoch}:%{version}-%{release}
|
||||
Requires: python3-babel
|
||||
Requires: python3-docutils
|
||||
Requires: python3-jinja2
|
||||
Requires: python3-pygments
|
||||
Requires: python3-mock
|
||||
Requires: python3-snowballstemmer
|
||||
Requires: python3-sphinx_rtd_theme
|
||||
Requires: python3-sphinx-theme-alabaster
|
||||
Requires: python3-sphinxcontrib-websupport
|
||||
Requires: python3-imagesize
|
||||
Requires: python3-requests
|
||||
Requires: python3-six
|
||||
Requires: python3-packaging
|
||||
Recommends: graphviz
|
||||
Recommends: ImageMagick
|
||||
Requires: environment(modules)
|
||||
# Needed to get rid of the alternatives config installed in f24 and f25
|
||||
# versions of the package
|
||||
Requires(pre): /usr/sbin/alternatives
|
||||
Obsoletes: python3-sphinxcontrib-napoleon < 0.3.0
|
||||
Provides: python3-sphinxcontrib-napoleon = %{?epoch}:%{version}-%{release}
|
||||
Provides: python(Sphinx) = %{?epoch}:%{version}-%{release}
|
||||
%{?python_provide:%python_provide python3-sphinx}
|
||||
Conflicts: python2-Sphinx < %{?epoch}:%{version}-%{release}
|
||||
|
||||
%description -n python3-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.
|
||||
|
||||
|
||||
%package doc
|
||||
Summary: Documentation for %{name}
|
||||
Group: Documentation
|
||||
License: BSD
|
||||
Recommends: python(Sphinx) = %{?epoch}:%{version}-%{release}
|
||||
License: BSD-2-Clause
|
||||
Recommends: python%{python3_pkgversion}-sphinx = %{epoch}:%{version}-%{release}
|
||||
|
||||
%description doc
|
||||
Sphinx is a tool that makes it easy to create intelligent and
|
||||
@ -308,58 +265,68 @@ 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 reST and HTML formats.
|
||||
This package contains documentation in the HTML format.
|
||||
|
||||
|
||||
%package locale
|
||||
Summary: Locale files for %{name}
|
||||
Group: Development/Tools
|
||||
License: BSD
|
||||
|
||||
%description locale
|
||||
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 contains locale files for Sphinx
|
||||
|
||||
%prep
|
||||
%autosetup -n %{upstream_name}-%{version}%{?prerel} -p1
|
||||
%autosetup -n sphinx-%{upstream_version} -p1
|
||||
|
||||
# fix line encoding of bundled jquery.js
|
||||
dos2unix -k ./sphinx/themes/basic/static/jquery.js
|
||||
|
||||
%if ! %{with imagemagick_tests}
|
||||
%if %{without imagemagick_tests}
|
||||
rm tests/test_ext_imgconverter.py
|
||||
%endif
|
||||
|
||||
%if %{without filelock_tests}
|
||||
sed -i '/filelock/d' pyproject.toml
|
||||
rm tests/test_build_linkcheck.py tests/test_ext_intersphinx.py
|
||||
%endif
|
||||
|
||||
%if %{defined rhel}
|
||||
# unwanted dependency in RHEL, https://bugzilla.redhat.com/show_bug.cgi?id=1945182
|
||||
sed -i '/html5lib/d' pyproject.toml
|
||||
%endif
|
||||
|
||||
# Sphinx' tests import from each other, this feature is not supported by
|
||||
# the 'importlib' import mode in pytest. Upstream mitigates this by invoking
|
||||
# `python -m pytest` rather than `pytest` directly, but in the context of the
|
||||
# RPM build we explicitly want to test the installed library rather than the
|
||||
# one from PWD.
|
||||
# https://github.com/sphinx-doc/sphinx/issues/11740
|
||||
sed -i '/"--import-mode=importlib",/d' pyproject.toml
|
||||
|
||||
%generate_buildrequires
|
||||
%pyproject_buildrequires -r %{?with_tests:-x test}
|
||||
|
||||
|
||||
%build
|
||||
%py3_build
|
||||
%pyproject_wheel
|
||||
|
||||
export PYTHONPATH=$PWD
|
||||
pushd doc
|
||||
export SPHINXBUILD="%{__python3} ../sphinx/cmd/build.py"
|
||||
export SPHINXBUILD="%{python3} ../sphinx/cmd/build.py"
|
||||
make html SPHINXBUILD="$SPHINXBUILD"
|
||||
make man SPHINXBUILD="$SPHINXBUILD"
|
||||
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 ..
|
||||
popd
|
||||
|
||||
|
||||
%install
|
||||
%py3_install
|
||||
%pyproject_install
|
||||
|
||||
# we keep this for backwards compatibility with Fedora:
|
||||
install -d %{buildroot}%{_libexecdir}/python3-sphinx
|
||||
# For backwards compatibility. Remove with care, if at all
|
||||
for i in sphinx-{apidoc,autogen,build,quickstart}; do
|
||||
ln -s $i %{buildroot}%{_bindir}/$i-%{python3_version}
|
||||
ln -s $i %{buildroot}%{_bindir}/$i-3
|
||||
ln -s %{_bindir}/$i %{buildroot}%{_libexecdir}/python3-sphinx/$i
|
||||
ln -s %{_bindir}/$i %{buildroot}%{_bindir}/$i-%{python3_version}
|
||||
ln -s %{_bindir}/$i %{buildroot}%{_bindir}/$i-3
|
||||
done
|
||||
|
||||
# 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
|
||||
@ -369,21 +336,13 @@ do
|
||||
done
|
||||
popd
|
||||
|
||||
rm -f %{buildroot}%{python3_sitelib}/sphinx/locale/.DS_Store
|
||||
rm -rf %{buildroot}%{python3_sitelib}/sphinx/locale/.tx
|
||||
|
||||
# Deliver rst files
|
||||
rm -rf doc/_build
|
||||
sed -i 's|python ../sphinx-build.py|/usr/bin/sphinx-build|' doc/Makefile
|
||||
mv doc reST
|
||||
|
||||
# Move language files to /usr/share;
|
||||
# patch to support this incorporated in 0.6.6
|
||||
pushd %{buildroot}%{python3_sitelib}
|
||||
|
||||
|
||||
for lang in `find sphinx/locale -maxdepth 1 -mindepth 1 -type d -not -path '*/\.*' -not -name __pycache__ -printf "%f "`;
|
||||
for lang in `find sphinx/locale -maxdepth 1 -mindepth 1 -type d -not -path '*/\.*' -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 \
|
||||
@ -394,6 +353,10 @@ do
|
||||
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
|
||||
@ -402,63 +365,342 @@ popd
|
||||
's:\(.*/locale/\)\([^/_]\+\)\(.*\.js$\):%lang(\2) \1\2\3:' \
|
||||
>> sphinx.lang
|
||||
|
||||
|
||||
%if %{with tests}
|
||||
%check
|
||||
# Currently, all linkcheck tests hit external websites. Since network access
|
||||
# is disabled in koji, we have to disable these.
|
||||
rm tests/test_build_linkcheck.py
|
||||
PYTHON=python3 make test
|
||||
# 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
|
||||
# In RHEL builds, skip tests which use html5lib (excluded above)
|
||||
# Without snowballstememr, some tests have to be skipped as well.
|
||||
k="${k-}${k+ and }not test_meta_keys_are_handled_for_language_en"
|
||||
k="${k-}${k+ and }not test_stemmer"
|
||||
k="${k-}${k+ and }not test_term_in_heading_and_section"
|
||||
k="${k-}${k+ and }not test_IndexBuilder"
|
||||
|
||||
%if %{without internet}
|
||||
k="${k-}${k+ and }not linkcheck"
|
||||
k="${k-}${k+ and }not test_latex_images"
|
||||
k="${k-}${k+ and }not test_build_latex_doc"
|
||||
%endif
|
||||
|
||||
%pytest \
|
||||
%if %{defined rhel}
|
||||
--ignore tests/test_build_html.py \
|
||||
--ignore tests/test_build_latex.py \
|
||||
--ignore tests/test_build_texinfo.py \
|
||||
--ignore tests/test_domain_std.py \
|
||||
--ignore tests/test_smartquotes.py \
|
||||
%endif
|
||||
${k+-k }"${k-}"
|
||||
%endif
|
||||
|
||||
|
||||
%files latex
|
||||
%license LICENSE
|
||||
|
||||
%files locale -f sphinx.lang
|
||||
%license LICENSE
|
||||
%dir %{_datadir}/sphinx/
|
||||
%dir %{_datadir}/sphinx/locale
|
||||
%dir %{_datadir}/sphinx/locale/*
|
||||
|
||||
%files -n python3-sphinx
|
||||
%files -n python%{python3_pkgversion}-sphinx -f sphinx.lang
|
||||
%license LICENSE
|
||||
%doc AUTHORS CHANGES EXAMPLES README.rst
|
||||
%{_bindir}/sphinx-*
|
||||
%{python3_sitelib}/sphinx/
|
||||
%{python3_sitelib}/Sphinx-%{version}-py%{python3_version}.egg-info/
|
||||
%{_libexecdir}/python3-sphinx/
|
||||
%{_mandir}/man1/sphinx-*.1*
|
||||
%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-*
|
||||
|
||||
|
||||
%files -n python%{python3_pkgversion}-sphinx-latex
|
||||
# empty, this is a metapackage
|
||||
|
||||
|
||||
%files doc
|
||||
%doc html reST
|
||||
%license LICENSE
|
||||
%doc html
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Jul 26 2022 Tomas Orsava <torsava@redhat.com> - 1.7.6-3
|
||||
- Rebuild to include the python-sphinx-latex package in the CodeReady Linux
|
||||
Builder (CRB) repository
|
||||
Resolves: rhbz#2081785
|
||||
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 1:7.2.6-10
|
||||
- Bump release for October 2024 mass rebuild:
|
||||
Resolves: RHEL-64018
|
||||
|
||||
* Wed Oct 14 2020 Charalampos Stratakis <cstratak@redhat.com> - 1:1.7.6-2
|
||||
- Fix documentation build under FIPS mode
|
||||
Resolves: rhbz#1749346
|
||||
* Thu Aug 22 2024 Karolina Surma <ksurma@redhat.com> - 1:7.2.6-9
|
||||
- Fix build with Python 3.12.3+
|
||||
|
||||
* Thu Jul 19 2018 Charalampos Stratakis <cstratak@redhat.com> - 1:1.7.6-1
|
||||
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1:7.2.6-8
|
||||
- Bump release for June 2024 mass rebuild
|
||||
|
||||
* Mon Jun 10 2024 Lumír Balhar <lbalhar@redhat.com> - 1:7.2.6-7
|
||||
- Replace snowballstemmer with a dummy implementation
|
||||
|
||||
* 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
|
||||
|
||||
* Wed Jun 20 2018 Petr Viktorin <pviktori@redhat.com> - 1:1.7.5-1
|
||||
- Remove unused simplejson dependency
|
||||
* 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)
|
||||
|
||||
* Tue Jun 19 2018 Charalampos Stratakis <cstratak@redhat.com> - 1:1.7.2-5
|
||||
- Remove the python-pytest-cov dependency
|
||||
* Mon Jun 18 2018 Miro Hrončok <mhroncok@redhat.com> - 1:1.7.2-5
|
||||
- Rebuilt for Python 3.7
|
||||
|
||||
* Wed Jun 13 2018 Miro Hrončok <mhroncok@redhat.com> - 1:1.7.2-4
|
||||
- Remove python2 subpackage
|
||||
- Require python3-sphinxcontrib-websupport
|
||||
* Fri Jun 15 2018 Miro Hrončok <mhroncok@redhat.com> - 1:1.7.2-4
|
||||
- Bootstrap for Python 3.7
|
||||
|
||||
* Thu Jun 07 2018 Petr Viktorin <pviktori@redhat.com> - 1:1.7.2-3
|
||||
- Remove hard dependencies on sphinxcontrib-websupport and sqlalchemy
|
||||
* 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
|
4
rpminspect.yaml
Normal file
4
rpminspect.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
# exclude XML template (not always valid) from XML validity check:
|
||||
xml:
|
||||
ignore:
|
||||
- /usr/lib/python*/site-packages/sphinx/themes/basic/opensearch.xml
|
1
sources
Normal file
1
sources
Normal file
@ -0,0 +1 @@
|
||||
SHA512 (sphinx-7.2.6.tar.gz) = 9a42e38c3c54429cc008b58892297ade4ccdd67561ee671e42a1fae976955895bb5383d58cb66a4f9f7edd1cc50dc2d1f083efeef036eac9fffc205979d3ccbc
|
12
sphinx-test_theming.diff
Normal file
12
sphinx-test_theming.diff
Normal file
@ -0,0 +1,12 @@
|
||||
diff -ru Sphinx-1.7.6/tests/test_theming.py Sphinx-1.7.6_patched/tests/test_theming.py
|
||||
--- Sphinx-1.7.6/tests/test_theming.py 2018-07-16 11:24:40.000000000 +0200
|
||||
+++ Sphinx-1.7.6_patched/tests/test_theming.py 2018-07-20 15:17:35.049263077 +0200
|
||||
@@ -25,7 +25,7 @@
|
||||
themes.append('alabaster')
|
||||
|
||||
# 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'] == str(app.srcdir / 'test_theme' / 'test-theme')
|
||||
assert app.registry.html_themes['ziptheme'] == str(app.srcdir / 'ziptheme.zip')
|
||||
assert app.registry.html_themes['staticfiles'] == str(app.srcdir / 'test_theme' / 'staticfiles')
|
11
tests/include-sphinxcontrib-jquery/main.fmf
Normal file
11
tests/include-sphinxcontrib-jquery/main.fmf
Normal file
@ -0,0 +1,11 @@
|
||||
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
|
7
tests/include-sphinxcontrib-jquery/source/conf.py
Normal file
7
tests/include-sphinxcontrib-jquery/source/conf.py
Normal file
@ -0,0 +1,7 @@
|
||||
project = 'Test'
|
||||
copyright = '2024, Test'
|
||||
author = 'Test'
|
||||
release = '0.3.0'
|
||||
extensions = [
|
||||
"sphinxcontrib.jquery",
|
||||
]
|
15
tests/include-sphinxcontrib-jquery/source/index.rst
Normal file
15
tests/include-sphinxcontrib-jquery/source/index.rst
Normal file
@ -0,0 +1,15 @@
|
||||
Test docfile
|
||||
============
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Contents:
|
||||
|
||||
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
||||
* :ref:`genindex`
|
||||
* :ref:`modindex`
|
||||
* :ref:`search`
|
10
tests/smoke-alabaster/main.fmf
Normal file
10
tests/smoke-alabaster/main.fmf
Normal file
@ -0,0 +1,10 @@
|
||||
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
|
5
tests/smoke-alabaster/source/conf.py
Normal file
5
tests/smoke-alabaster/source/conf.py
Normal file
@ -0,0 +1,5 @@
|
||||
project = 'Test'
|
||||
copyright = '2024, Test'
|
||||
author = 'Test'
|
||||
release = '0.3.0'
|
||||
html_theme = 'alabaster'
|
15
tests/smoke-alabaster/source/index.rst
Normal file
15
tests/smoke-alabaster/source/index.rst
Normal file
@ -0,0 +1,15 @@
|
||||
Test docfile
|
||||
============
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Contents:
|
||||
|
||||
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
||||
* :ref:`genindex`
|
||||
* :ref:`modindex`
|
||||
* :ref:`search`
|
11
tests/smoke-rtd-theme/main.fmf
Normal file
11
tests/smoke-rtd-theme/main.fmf
Normal file
@ -0,0 +1,11 @@
|
||||
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
|
8
tests/smoke-rtd-theme/source/conf.py
Normal file
8
tests/smoke-rtd-theme/source/conf.py
Normal file
@ -0,0 +1,8 @@
|
||||
project = 'Test'
|
||||
copyright = '2024, Test'
|
||||
author = 'Test'
|
||||
release = '0.3.0'
|
||||
html_theme = 'sphinx_rtd_theme'
|
||||
extensions = [
|
||||
'sphinx_rtd_theme',
|
||||
]
|
15
tests/smoke-rtd-theme/source/index.rst
Normal file
15
tests/smoke-rtd-theme/source/index.rst
Normal file
@ -0,0 +1,15 @@
|
||||
Test docfile
|
||||
============
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Contents:
|
||||
|
||||
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
||||
* :ref:`genindex`
|
||||
* :ref:`modindex`
|
||||
* :ref:`search`
|
Loading…
Reference in New Issue
Block a user