File gh139257-Support-docutils-0.22.patch of Package python315

From 19b61747df3d62c822285c488753d6fbdf91e3ac Mon Sep 17 00:00:00 2001
From: Daniel Garcia Moreno <daniel.garcia@suse.com>
Date: Tue, 23 Sep 2025 10:20:16 +0200
Subject: [PATCH 1/2] gh-139257: Support docutils >= 0.22

---
 Doc/tools/extensions/pyspecific.py |   18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

Index: Python-3.15.0a3/Doc/tools/extensions/pyspecific.py
===================================================================
--- Python-3.15.0a3.orig/Doc/tools/extensions/pyspecific.py	2025-12-16 13:26:12.000000000 +0100
+++ Python-3.15.0a3/Doc/tools/extensions/pyspecific.py	2025-12-19 02:27:34.493094269 +0100
@@ -24,6 +24,24 @@
 # Used in conf.py and updated here by python/release-tools/run_release.py
 SOURCE_URI = 'https://github.com/python/cpython/tree/main/%s'
 
+# monkey-patch reST parser to disable alphabetic and roman enumerated lists
+def _disable_alphabetic_and_roman(text):
+    try:
+        # docutils >= 0.22
+        from docutils.parsers.rst.states import InvalidRomanNumeralError
+        raise InvalidRomanNumeralError(text)
+    except ImportError:
+        # docutils < 0.22
+        return None
+
+
+from docutils.parsers.rst.states import Body
+Body.enum.converters['loweralpha'] = \
+    Body.enum.converters['upperalpha'] = \
+    Body.enum.converters['lowerroman'] = \
+    Body.enum.converters['upperroman'] = _disable_alphabetic_and_roman
+
+
 class PyAwaitableMixin(object):
     def handle_signature(self, sig, signode):
         ret = super(PyAwaitableMixin, self).handle_signature(sig, signode)
openSUSE Build Service is sponsored by