diff --git a/pygments.patch b/pygments.patch
new file mode 100644
index 0000000..081c351
--- /dev/null
+++ b/pygments.patch
@@ -0,0 +1,224 @@
+From 5ff3740063c1ac57f17ecd697bcd06cc1de4e75c Mon Sep 17 00:00:00 2001
+From: Adam Turner <9087854+aa-turner@users.noreply.github.com>
+Date: Mon, 6 Jan 2025 06:56:10 +0000
+Subject: [PATCH] Adapt tests for Pygments 2.19
+
+---
+ tests/test_builders/test_build_html_code.py | 8 +++++++-
+ tests/test_builders/test_build_latex.py | 9 +++++++--
+ tests/test_directives/test_directive_code.py | 15 +++++++++++++--
+ tests/test_extensions/test_ext_viewcode.py | 8 +++++++-
+ tests/test_highlighting.py | 2 +-
+ tests/test_intl/test_intl.py | 15 +++++++++++++--
+ 6 files changed, 48 insertions(+), 9 deletions(-)
+
+Index: sphinx-8.1.3/tests/test_builders/test_build_html_code.py
+===================================================================
+--- sphinx-8.1.3.orig/tests/test_builders/test_build_html_code.py
++++ sphinx-8.1.3/tests/test_builders/test_build_html_code.py
+@@ -1,3 +1,4 @@
++import pygments
+ import pytest
+
+
+@@ -32,11 +33,16 @@ def test_html_codeblock_linenos_style_in
+
+ @pytest.mark.sphinx('html', testroot='reST-code-role')
+ def test_html_code_role(app):
++ if tuple(map(int, pygments.__version__.split('.')[:2])) >= (2, 19):
++ sp = ' '
++ else:
++ sp = ' '
++
+ app.build()
+ content = (app.outdir / 'index.html').read_text(encoding='utf8')
+
+ common_content = (
+- 'def foo'
++ f'def{sp}foo'
+ '('
+ '1 '
+ '+ '
+Index: sphinx-8.1.3/tests/test_builders/test_build_latex.py
+===================================================================
+--- sphinx-8.1.3.orig/tests/test_builders/test_build_latex.py
++++ sphinx-8.1.3/tests/test_builders/test_build_latex.py
+@@ -8,6 +8,7 @@ from pathlib import Path
+ from shutil import copyfile
+ from subprocess import CalledProcessError
+
++import pygments
+ import pytest
+
+ from sphinx.builders.latex import default_latex_documents
+@@ -2127,12 +2128,16 @@ def test_latex_container(app):
+
+ @pytest.mark.sphinx('latex', testroot='reST-code-role')
+ def test_latex_code_role(app):
++ if tuple(map(int, pygments.__version__.split('.')[:2])) >= (2, 19):
++ sp = r'\PYG{+w}{ }'
++ else:
++ sp = ' '
++
+ app.build()
+ content = (app.outdir / 'projectnamenotset.tex').read_text(encoding='utf8')
+
+ common_content = (
+- r'\PYG{k}{def} '
+- r'\PYG{n+nf}{foo}'
++ r'\PYG{k}{def}' + sp + r'\PYG{n+nf}{foo}'
+ r'\PYG{p}{(}'
+ r'\PYG{l+m+mi}{1} '
+ r'\PYG{o}{+} '
+Index: sphinx-8.1.3/tests/test_directives/test_directive_code.py
+===================================================================
+--- sphinx-8.1.3.orig/tests/test_directives/test_directive_code.py
++++ sphinx-8.1.3/tests/test_directives/test_directive_code.py
+@@ -2,6 +2,7 @@
+
+ import os.path
+
++import pygments
+ import pytest
+ from docutils import nodes
+
+@@ -393,6 +394,11 @@ def test_literal_include_block_start_wit
+
+ @pytest.mark.sphinx('html', testroot='directive-code')
+ def test_literal_include_linenos(app):
++ if tuple(map(int, pygments.__version__.split('.')[:2])) >= (2, 19):
++ sp = ' '
++ else:
++ sp = ' '
++
+ app.build(filenames=[app.srcdir / 'linenos.rst'])
+ html = (app.outdir / 'linenos.html').read_text(encoding='utf8')
+
+@@ -410,7 +416,7 @@ def test_literal_include_linenos(app):
+
+ # :lines: 5-9
+ assert (
+- '5class '
++ f'5class{sp}'
+ 'Foo:'
+ ) in html
+
+@@ -560,12 +566,17 @@ def test_code_block_highlighted(app):
+
+ @pytest.mark.sphinx('html', testroot='directive-code')
+ def test_linenothreshold(app):
++ if tuple(map(int, pygments.__version__.split('.')[:2])) >= (2, 19):
++ sp = ' '
++ else:
++ sp = ' '
++
+ app.build(filenames=[app.srcdir / 'linenothreshold.rst'])
+ html = (app.outdir / 'linenothreshold.html').read_text(encoding='utf8')
+
+ # code-block using linenothreshold
+ assert (
+- '1class '
++ f'1class{sp}'
+ 'Foo:'
+ ) in html
+
+Index: sphinx-8.1.3/tests/test_extensions/test_ext_viewcode.py
+===================================================================
+--- sphinx-8.1.3.orig/tests/test_extensions/test_ext_viewcode.py
++++ sphinx-8.1.3/tests/test_extensions/test_ext_viewcode.py
+@@ -6,6 +6,7 @@ import re
+ import shutil
+ from typing import TYPE_CHECKING
+
++import pygments
+ import pytest
+
+ if TYPE_CHECKING:
+@@ -13,6 +14,11 @@ if TYPE_CHECKING:
+
+
+ def check_viewcode_output(app: SphinxTestApp) -> str:
++ if tuple(map(int, pygments.__version__.split('.')[:2])) >= (2, 19):
++ sp = ' '
++ else:
++ sp = ' '
++
+ warnings = re.sub(r'\\+', '/', app.warning.getvalue())
+ assert re.findall(
+ r"index.rst:\d+: WARNING: Object named 'func1' not found in include "
+@@ -41,7 +47,7 @@ def check_viewcode_output(app: SphinxTes
+ '[docs]\n'
+ ) in result
+ assert '@decorator\n' in result
+- assert 'class Class1:\n' in result
++ assert f'class{sp}Class1:\n' in result
+ assert ' """\n' in result
+ assert ' this is Class1\n' in result
+ assert ' """\n' in result
+Index: sphinx-8.1.3/tests/test_highlighting.py
+===================================================================
+--- sphinx-8.1.3.orig/tests/test_highlighting.py
++++ sphinx-8.1.3/tests/test_highlighting.py
+@@ -10,7 +10,7 @@ from pygments.token import Name, Text
+
+ from sphinx.highlighting import PygmentsBridge
+
+-if tuple(map(int, pygments.__version__.split('.')))[:2] < (2, 18):
++if tuple(map(int, pygments.__version__.split('.')[:2])) < (2, 18):
+ from pygments.formatter import Formatter
+
+ Formatter.__class_getitem__ = classmethod(lambda cls, name: cls) # type: ignore[attr-defined]
+Index: sphinx-8.1.3/tests/test_intl/test_intl.py
+===================================================================
+--- sphinx-8.1.3.orig/tests/test_intl/test_intl.py
++++ sphinx-8.1.3/tests/test_intl/test_intl.py
+@@ -10,6 +10,7 @@ import shutil
+ import time
+ from io import StringIO
+
++import pygments
+ import pytest
+ from babel.messages import mofile, pofile
+ from babel.messages.catalog import Catalog
+@@ -1473,6 +1474,11 @@ def test_xml_strange_markup(app):
+ @pytest.mark.sphinx('html', testroot='intl')
+ @pytest.mark.test_params(shared_result='test_intl_basic')
+ def test_additional_targets_should_not_be_translated(app):
++ if tuple(map(int, pygments.__version__.split('.')[:2])) >= (2, 19):
++ sp = ' '
++ else:
++ sp = ' '
++
+ app.build()
+ # [literalblock.txt]
+ result = (app.outdir / 'literalblock.html').read_text(encoding='utf8')
+@@ -1511,7 +1517,7 @@ def test_additional_targets_should_not_b
+ # doctest block should not be translated but be highlighted
+ expected_expr = (
+ """>>> """
+- """import sys """
++ f"""import{sp}sys """
+ """# sys importing"""
+ )
+ assert_count(expected_expr, result, 1)
+@@ -1556,6 +1562,11 @@ def test_additional_targets_should_not_b
+ },
+ )
+ def test_additional_targets_should_be_translated(app):
++ if tuple(map(int, pygments.__version__.split('.')[:2])) >= (2, 19):
++ sp = ' '
++ else:
++ sp = ' '
++
+ app.build()
+ # [literalblock.txt]
+ result = (app.outdir / 'literalblock.html').read_text(encoding='utf8')
+@@ -1605,7 +1616,7 @@ def test_additional_targets_should_be_tr
+ # doctest block should not be translated but be highlighted
+ expected_expr = (
+ """>>> """
+- """import sys """
++ f"""import{sp}sys """
+ """# SYS IMPORTING"""
+ )
+ assert_count(expected_expr, result, 1)
diff --git a/python-Sphinx.changes b/python-Sphinx.changes
index bb3e668..81e807e 100644
--- a/python-Sphinx.changes
+++ b/python-Sphinx.changes
@@ -1,3 +1,159 @@
+-------------------------------------------------------------------
+Fri Jan 17 11:52:23 UTC 2025 - Markéta Machová
+
+- Add pygments.patch to fix tests with Pygments 2.19
+
+-------------------------------------------------------------------
+Wed Nov 20 17:51:19 UTC 2024 - Dirk Müller
+
+- update to 8.1.3:
+ * #13013: Restore support for :func:`!cut_lines` with no object
+ type. Patch by Adam Turner.
+ * #13012: Expose :exc:`sphinx.errors.ExtensionError` in
+ sphinx.util for backwards compatibility. This will be removed
+ in Sphinx 9, as exposing the exception in sphinx.util was
+ never intentional. :exc:`!ExtensionError` has been part of
+ sphinx.errors since Sphinx 0.9. Patch by Adam Turner.
+ * #13006: Use the preferred https://www.cve.org/ URL for the
+ :rst:role:`:cve: ` role. Patch by Hugo van Kemenade.
+ * #13007: LaTeX: Improve resiliency when the required
+ fontawesome or fontawesome5 packages are not installed. Patch
+ by Jean-François B.
+ * #12756: Add lower-bounds to the sphinxcontrib-* dependencies.
+ Patch by Adam Turner.
+ * #12833: Update the LaTeX parskip package from 2001 to 2018.
+ Patch by Jean-François B.
+ * #12763: Remove unused internal class sphinx.util.Tee. Patch
+ by Adam Turner.
+ * #12822: LaTeX: for Unicode engines, the :ref:`fvset` default
+ is changed to '\fvset{fontsize=auto}' from
+ '\fvset{fontsize=\small}'. Code-blocks are unchanged as
+ FreeMono is now loaded with Scale=0.9. An adjustment to
+ existing projects is needed only if they used a custom
+ :ref:`fontpkg` configuration and did not set :ref:`fvset`.
+ Patch by Jean-François B.
+ * #12875: Disable smartquotes for languages: zh_CN and zh_TW by
+ default. Patch by A. Rafey Khan.
+ * #12762: Deprecate sphinx.util.import_object. Use
+ :py:func:`importlib.import_module` instead. Patch by Adam
+ Turner.
+ * #12766: Deprecate sphinx.util.FilenameUniqDict and
+ sphinx.util.DownloadFiles. Patch by Adam Turner.
+ * #11328: Mention evaluation of templated content during
+ production of static output files. Patch by James Addison.
+ * #12704: LaTeX: make :dudir:`contents `,
+ :dudir:`topic`, and :dudir:`sidebar` directives separately
+ customizable for PDF output. Patch by Jean-François B. and
+ Bénédikt Tran.
+ * #12474: Support type-dependent search result highlighting via
+ CSS. Patch by Tim Hoffmann.
+ * #12652: LaTeX: Add :confval:`math_numsep` support to latex
+ builder. Patch by Thomas Fanning and Jean-François B.
+ * #12743: No longer exit on the first warning when
+ :option:`--fail-on-warning `
+ is used. Instead, exit with a non-zero status if any warnings
+ were generated during the build. Patch by Adam Turner.
+ * #12743: Add :option:`sphinx-build --exception-on-warning`, to
+ raise an exception when warnings are emitted during the
+ build. Patch by Adam Turner and Jeremy Maitin-Shepard.
+ * #12907: Add :confval:`html_last_updated_use_utc` to allow
+ using universal time (GMT/UTC) instead of local time for the
+ date-time supplied to :confval:`html_last_updated_fmt`. Patch
+ by Adam Turner.
+ * #12910: Copyright entries now support the '%Y' placeholder to
+ substitute the current year. This is helpful for reducing the
+ reliance on Python modules such as :py:mod:`time` or
+ :py:mod:`datetime` in :file:`conf.py`. See :ref:`the docs
+ ` for further detail. Patch by Adam Turner.
+ * #11781: Add roles for referencing CVEs (:rst:role:`:cve:
+ `) and CWEs (:rst:role:`:cwe: `). Patch by Hugo van
+ Kemenade.
+ * #11809: Improve the formatting for RFC section anchors. Patch
+ by Jakub Stasiak and Adam Turner.
+ * #12852: Support a :attr:`.Builder.supported_linkcode`
+ attribute for builders to enable use of
+ :mod:`sphinx.ext.linkcode`-generated references. Patch by
+ James Knight.
+ * #12949: Print configuration options that differ from the
+ pickled environment. This can be helpful in diagnosing the
+ cause of a full rebuild. Patch by Adam Turner.
+ * #12514: intersphinx: fix the meaning of a negative value for
+ :confval:`intersphinx_cache_limit`. Patch by Shengyu Zhang.
+ * #12722: LaTeX: avoid TeX reporting Overfull \hbox from too
+ long strings in a codeline when the problem has actually been
+ solved thanks to :ref:`latexsphinxsetupforcewraps`. Patch by
+ Jean-François B.
+ * #12730: The UnreferencedFootnotesDetector transform has been
+ improved to more consistently detect unreferenced footnotes.
+ Note, the priority of the transform has been changed from 200
+ to 622, so that it now runs after the docutils Footnotes
+ resolution transform. Patch by Chris Sewell.
+ * #12778: LaTeX: let :ref:`'sphinxsetup' `
+ div.topic_box-shadow key if used with only one dimension set
+ both x-offset and y-offset as per documentation. Patch by
+ Jean-François B.
+ * #12587: Do not warn when potential ambiguity detected during
+ Intersphinx resolution occurs due to duplicate targets that
+ differ case-insensitively. Patch by James Addison.
+ * #12639: Fix singular and plural search results text. Patch by
+ Hugo van Kemenade.
+ * #12645: Correctly support custom gettext output templates.
+ Patch by Jeremy Bowman.
+ * #12717: LaTeX: let :option:`-q ` (quiet)
+ option for :program:`sphinx-build -M latexpdf` or
+ :program:`make latexpdf` (O=-q) get passed to
+ :program:`latexmk`. Let :option:`-Q `
+ (silent) apply as well to the PDF build phase. Patch by Jean-
+ François B.
+ * #12744: LaTeX: Classes injected by a custom interpreted text
+ role now give rise to nested \DUrole's, rather than a single
+ one with comma separated classes. Patch by Jean-François B.
+ * #12831: LaTeX: avoid large voids sometimes occurring at page
+ bottoms. Patch by Jean-François B.
+ * #11970, #12551: singlehtml builder: make target URIs to be
+ same-document references in the sense of :rfc:`RFC 3986, §4.4
+ <3986#section-4.4>`, e.g., index.html#foo becomes #foo.
+ (note: continuation of a partial fix added in Sphinx 7.3.0)
+ Patch by James Addison (with reference to prior work by Eric
+ Norige).
+ * #12735: Fix PEP 695 generic classes LaTeX output formatting.
+ Patch by Jean-François B. and Bénédikt Tran.
+ * #12782: intersphinx: fix double forward slashes when
+ generating the inventory file URL (user-defined base URL of
+ an intersphinx project are left untouched even if they end
+ with double forward slashes). Patch by Bénédikt Tran.
+ * #12796: Enable parallel reading if requested, even if there
+ are fewer than 6 documents. Patch by Matthias Geier.
+ * #12844: Restore support for :noindex: for the
+ :rst:dir:`js:module` and :rst:dir:`py:module` directives.
+ Patch by Stephen Finucane.
+ * #12916: Restore support for custom templates named with the
+ legacy _t suffix during apidoc RST rendering (regression in
+ 7.4.0). Patch by James Addison.
+ * #12451: Only substitute copyright notice years with values
+ from SOURCE_DATE_EPOCH for entries that match the current
+ system clock year, and disallow substitution of future years.
+ Patch by James Addison and Adam Turner.
+ * #12905: intersphinx: fix flipped use of
+ :confval:`intersphinx_cache_limit`, which always kept the
+ cache for positive values, and always refreshed it for
+ negative ones. Patch by Nico Madysa.
+ * #12888: Add a warning when document is included in multiple
+ toctrees and ensure deterministic resolution of global
+ toctree in parallel builds by choosing the lexicographically
+ greatest parent document. Patch by A. Rafey Khan
+ * #12995: Significantly improve performance when building the
+ search index for Chinese languages. Patch by Adam Turner.
+ * #12767: :py:meth:`.Builder.write` is typed as final, meaning
+ that the :event:`write-started` event may be relied upon by
+ extensions. A new :py:meth:`.Builder.write_documents` method
+ has been added to control how documents are written. This is
+ intended for builders that do not output a file for each
+ document. Patch by Adam Turner.
+ * #12141: Migrate from the deprecated karma JavaScript test
+ framework to the actively-maintained jasmine framework. Test
+ coverage is unaffected. Patch by James Addison.
+
-------------------------------------------------------------------
Sun Sep 1 14:31:32 UTC 2024 - Christoph G
diff --git a/python-Sphinx.spec b/python-Sphinx.spec
index 6b0b599..1ea2d56 100644
--- a/python-Sphinx.spec
+++ b/python-Sphinx.spec
@@ -1,7 +1,7 @@
#
# spec file for package python-Sphinx
#
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -26,7 +26,7 @@
%endif
%{?sle15_python_module_pythons}
Name: python-Sphinx%{psuffix}
-Version: 8.0.2
+Version: 8.1.3
Release: 0
Summary: Python documentation generator
License: BSD-2-Clause
@@ -42,6 +42,8 @@ Source3: requests.inv
Source4: readthedocs.inv
Source5: update-intersphinx.sh
Source99: python-Sphinx.keyring
+# PATCH-FIX-UPSTREAM https://github.com/sphinx-doc/sphinx/commit/5ff3740063c1ac57f17ecd697bcd06cc1de4e75c Adapt tests for Pygments 2.19
+Patch: pygments.patch
BuildRequires: %{python_module base}
BuildRequires: %{python_module flit-core}
BuildRequires: %{python_module pip}
@@ -61,23 +63,19 @@ Requires: python-imagesize
Requires: python-packaging
Requires: python-requests >= 2.5.0
Requires: python-snowballstemmer >= 1.1
-Requires: python-sphinx_rtd_theme
Requires: python-sphinxcontrib-applehelp
Requires: python-sphinxcontrib-devhelp
Requires: python-sphinxcontrib-htmlhelp >= 2.0.0
Requires: python-sphinxcontrib-jsmath
Requires: python-sphinxcontrib-qthelp >= 1.0.2
Requires: python-sphinxcontrib-serializinghtml >= 1.1.9
-Requires: python-sphinxcontrib-websupport
Requires(post): update-alternatives
Requires(postun): update-alternatives
Recommends: python-SQLAlchemy >= 0.9
Recommends: python-Sphinx-doc-man
Recommends: python-Whoosh >= 2.0
+Suggests: python-sphinx_rtd_theme
BuildArch: noarch
-%if 0%{?python_version_nodots} < 310
-Requires: python-importlib-metadata >= 4.4
-%endif
%if %{with test}
BuildRequires: %{python_module Cython}
BuildRequires: %{python_module Sphinx = %{version}}
diff --git a/python3.inv b/python3.inv
index 7800b4a..989d1dc 100644
--- a/python3.inv
+++ b/python3.inv
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:47e85ad1d3fc4c379ec26262ad14d475df7d29c47eeb6d9fd350a2e52ef08ed2
-size 133169
+oid sha256:598ad1ec233664ebd19d2e703bedb6832c0bc2cf47ae07b6d5c44dc814d02bda
+size 138527
diff --git a/readthedocs.inv b/readthedocs.inv
index 6e149f0..1e32728 100644
--- a/readthedocs.inv
+++ b/readthedocs.inv
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:59eb0c9a25e3facf8b32c303e139fd920133b666259bc633bbb86139d3bbccf0
-size 25610
+oid sha256:3508dae5ee03891797df9df88cbc9c580f0a543eac4f90e1948943fec0dbab17
+size 26715
diff --git a/requests.inv b/requests.inv
index 92954dd..7ab42e3 100644
Binary files a/requests.inv and b/requests.inv differ
diff --git a/sphinx-8.0.2.tar.gz b/sphinx-8.0.2.tar.gz
deleted file mode 100644
index 2482362..0000000
--- a/sphinx-8.0.2.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:0cce1ddcc4fd3532cf1dd283bc7d886758362c5c1de6598696579ce96d8ffa5b
-size 8189041
diff --git a/sphinx-8.1.3.tar.gz b/sphinx-8.1.3.tar.gz
new file mode 100644
index 0000000..24015b3
--- /dev/null
+++ b/sphinx-8.1.3.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:43c1911eecb0d3e161ad78611bc905d1ad0e523e4ddc202a58a821773dc4c927
+size 8184611