Accepting request 1310012 from devel:languages:python:Factory

- Fix python314:doc package build with docutils 0.22. Remove the
  "SPHINXERRORHANDLING = --fail-on-warning" from Doc/Makefile using
  the gh139257-Support-docutils-0.22.patch.
- Summary – Release highlights
  Python 3.14 is the latest stable release of the Python
  programming language, with a mix of changes to the language,
  the implementation, and the standard library. The biggest
  changes include template string literals, deferred evaluation
  of annotations, and support for subinterpreters in the standard
  library.
  The library changes include significantly improved capabilities
  for introspection in asyncio, support for Zstandard via a new
  compression.zstd module, syntax highlighting in the REPL, as
  well as the usual deprecations and removals, and improvements
  in user-friendliness and correctness.
  - Interpreter improvements:
    - PEP 649 and PEP 749: Deferred evaluation of annotations
    - PEP 734: Multiple interpreters in the standard library
    - PEP 750: Template strings
    - PEP 758: Allow except and except* expressions without
      brackets
    - PEP 765: Control flow in finally blocks
    - PEP 768: Safe external debugger interface for CPython
    - A new type of interpreter
    - Free-threaded mode improvements
    - Improved error messages
    - Incremental garbage collection
  - Significant improvements in the standard library:
    - PEP 784: Zstandard support in the standard library
    - Asyncio introspection capabilities
    - Concurrent safe warnings control
    - Syntax highlighting in the default interactive shell, and
      color output in several standard library CLIs
  - C API improvements:
    - PEP 741: Python configuration C API
  - Platform support:
    - PEP 776: Emscripten is now an officially supported
      platform, at tier 3.
  - Release changes:
    - PEP 779: Free-threaded Python is officially supported
    - PEP 761: PGP signatures have been discontinued for official
      releases
    - Windows and macOS binary releases now support the
      experimental just-in-time compiler
    - Binary releases for Android are now provided

OBS-URL: https://build.opensuse.org/request/show/1310012
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python314?expand=0&rev=27
This commit is contained in:
2025-10-10 15:09:06 +00:00
committed by Git OBS Bridge
9 changed files with 98 additions and 28 deletions

View File

@@ -4,11 +4,11 @@
Lib/test/test_xml_etree.py | 10 ++++++++++ Lib/test/test_xml_etree.py | 10 ++++++++++
3 files changed, 17 insertions(+) 3 files changed, 17 insertions(+)
Index: Python-3.14.0b4/Lib/test/test_pyexpat.py Index: Python-3.14.0/Lib/test/test_pyexpat.py
=================================================================== ===================================================================
--- Python-3.14.0b4.orig/Lib/test/test_pyexpat.py 2025-07-09 07:53:01.180304305 +0200 --- Python-3.14.0.orig/Lib/test/test_pyexpat.py 2025-10-08 11:27:29.989583305 +0200
+++ Python-3.14.0b4/Lib/test/test_pyexpat.py 2025-07-09 07:55:44.221539903 +0200 +++ Python-3.14.0/Lib/test/test_pyexpat.py 2025-10-08 11:28:09.418914658 +0200
@@ -791,6 +791,10 @@ @@ -827,6 +827,10 @@
self.assertEqual(started, ['doc']) self.assertEqual(started, ['doc'])
def test_reparse_deferral_disabled(self): def test_reparse_deferral_disabled(self):
@@ -19,10 +19,10 @@ Index: Python-3.14.0b4/Lib/test/test_pyexpat.py
started = [] started = []
def start_element(name, _): def start_element(name, _):
Index: Python-3.14.0b4/Lib/test/test_sax.py Index: Python-3.14.0/Lib/test/test_sax.py
=================================================================== ===================================================================
--- Python-3.14.0b4.orig/Lib/test/test_sax.py 2025-07-09 07:53:01.235965215 +0200 --- Python-3.14.0.orig/Lib/test/test_sax.py 2025-10-08 11:27:30.053760879 +0200
+++ Python-3.14.0b4/Lib/test/test_sax.py 2025-07-09 07:55:44.222266328 +0200 +++ Python-3.14.0/Lib/test/test_sax.py 2025-10-08 11:28:09.419532320 +0200
@@ -1241,6 +1241,9 @@ @@ -1241,6 +1241,9 @@
self.assertEqual(result.getvalue(), start + b"<doc></doc>") self.assertEqual(result.getvalue(), start + b"<doc></doc>")
@@ -33,10 +33,10 @@ Index: Python-3.14.0b4/Lib/test/test_sax.py
def test_flush_reparse_deferral_disabled(self): def test_flush_reparse_deferral_disabled(self):
result = BytesIO() result = BytesIO()
xmlgen = XMLGenerator(result) xmlgen = XMLGenerator(result)
Index: Python-3.14.0b4/Lib/test/test_xml_etree.py Index: Python-3.14.0/Lib/test/test_xml_etree.py
=================================================================== ===================================================================
--- Python-3.14.0b4.orig/Lib/test/test_xml_etree.py 2025-07-09 07:53:01.649732434 +0200 --- Python-3.14.0.orig/Lib/test/test_xml_etree.py 2025-10-08 11:27:30.502943506 +0200
+++ Python-3.14.0b4/Lib/test/test_xml_etree.py 2025-07-09 07:55:44.223264648 +0200 +++ Python-3.14.0/Lib/test/test_xml_etree.py 2025-10-08 11:28:09.420206077 +0200
@@ -138,6 +138,11 @@ @@ -138,6 +138,11 @@
return mock.patch.object(cls, "__eq__", autospec=True, wraps=eq) return mock.patch.object(cls, "__eq__", autospec=True, wraps=eq)

View File

@@ -28,10 +28,10 @@ Co-authored-by: Lumír Balhar <frenzy.madness@gmail.com>
Lib/test/test_sysconfig.py | 17 +++++++++++++-- Lib/test/test_sysconfig.py | 17 +++++++++++++--
2 files changed, 65 insertions(+), 3 deletions(-) 2 files changed, 65 insertions(+), 3 deletions(-)
Index: Python-3.14.0b1/Lib/sysconfig/__init__.py Index: Python-3.14.0/Lib/sysconfig/__init__.py
=================================================================== ===================================================================
--- Python-3.14.0b1.orig/Lib/sysconfig/__init__.py 2025-05-09 10:36:06.529281834 +0200 --- Python-3.14.0.orig/Lib/sysconfig/__init__.py 2025-10-08 11:27:28.335887277 +0200
+++ Python-3.14.0b1/Lib/sysconfig/__init__.py 2025-05-09 10:36:13.125444450 +0200 +++ Python-3.14.0/Lib/sysconfig/__init__.py 2025-10-08 11:28:00.652215416 +0200
@@ -106,6 +106,11 @@ @@ -106,6 +106,11 @@
else: else:
_INSTALL_SCHEMES['venv'] = _INSTALL_SCHEMES['posix_venv'] _INSTALL_SCHEMES['venv'] = _INSTALL_SCHEMES['posix_venv']
@@ -115,10 +115,10 @@ Index: Python-3.14.0b1/Lib/sysconfig/__init__.py
if os.name == 'nt': if os.name == 'nt':
# On Windows we want to substitute 'lib' for schemes rather # On Windows we want to substitute 'lib' for schemes rather
# than the native value (without modifying vars, in case it # than the native value (without modifying vars, in case it
Index: Python-3.14.0b1/Lib/test/test_sysconfig.py Index: Python-3.14.0/Lib/test/test_sysconfig.py
=================================================================== ===================================================================
--- Python-3.14.0b1.orig/Lib/test/test_sysconfig.py 2025-05-09 10:36:08.169776377 +0200 --- Python-3.14.0.orig/Lib/test/test_sysconfig.py 2025-10-08 11:27:30.181651013 +0200
+++ Python-3.14.0b1/Lib/test/test_sysconfig.py 2025-05-09 10:36:13.125842689 +0200 +++ Python-3.14.0/Lib/test/test_sysconfig.py 2025-10-08 11:28:00.653226898 +0200
@@ -132,8 +132,19 @@ @@ -132,8 +132,19 @@
for scheme in _INSTALL_SCHEMES: for scheme in _INSTALL_SCHEMES:
for name in _INSTALL_SCHEMES[scheme]: for name in _INSTALL_SCHEMES[scheme]:
@@ -140,7 +140,7 @@ Index: Python-3.14.0b1/Lib/test/test_sysconfig.py
os.path.normpath(expected), os.path.normpath(expected),
) )
@@ -388,7 +399,7 @@ @@ -395,7 +406,7 @@
self.assertTrue(os.path.isfile(config_h), config_h) self.assertTrue(os.path.isfile(config_h), config_h)
def test_get_scheme_names(self): def test_get_scheme_names(self):
@@ -149,7 +149,7 @@ Index: Python-3.14.0b1/Lib/test/test_sysconfig.py
if HAS_USER_BASE: if HAS_USER_BASE:
wanted.extend(['nt_user', 'osx_framework_user', 'posix_user']) wanted.extend(['nt_user', 'osx_framework_user', 'posix_user'])
self.assertEqual(get_scheme_names(), tuple(sorted(wanted))) self.assertEqual(get_scheme_names(), tuple(sorted(wanted)))
@@ -400,6 +411,8 @@ @@ -407,6 +418,8 @@
cmd = "-c", "import sysconfig; print(sysconfig.get_platform())" cmd = "-c", "import sysconfig; print(sysconfig.get_platform())"
self.assertEqual(py.call_real(*cmd), py.call_link(*cmd)) self.assertEqual(py.call_real(*cmd), py.call_link(*cmd))

BIN
Python-3.14.0.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

File diff suppressed because one or more lines are too long

BIN
Python-3.14.0rc3.tar.xz (Stored with Git LFS)

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -7,11 +7,11 @@ Subject: [PATCH 1/2] gh-139257: Support docutils >= 0.22
Doc/tools/extensions/pyspecific.py | 12 +++++++++++- Doc/tools/extensions/pyspecific.py | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-) 1 file changed, 11 insertions(+), 1 deletion(-)
Index: Python-3.14.0rc3/Doc/tools/extensions/pyspecific.py Index: Python-3.14.0/Doc/tools/extensions/pyspecific.py
=================================================================== ===================================================================
--- Python-3.14.0rc3.orig/Doc/tools/extensions/pyspecific.py 2025-09-18 10:45:38.000000000 +0200 --- Python-3.14.0.orig/Doc/tools/extensions/pyspecific.py
+++ Python-3.14.0rc3/Doc/tools/extensions/pyspecific.py 2025-09-30 18:13:24.014518239 +0200 +++ Python-3.14.0/Doc/tools/extensions/pyspecific.py
@@ -25,11 +25,21 @@ @@ -25,11 +25,21 @@ from sphinx.util.docutils import SphinxD
SOURCE_URI = 'https://github.com/python/cpython/tree/3.14/%s' SOURCE_URI = 'https://github.com/python/cpython/tree/3.14/%s'
# monkey-patch reST parser to disable alphabetic and roman enumerated lists # monkey-patch reST parser to disable alphabetic and roman enumerated lists
@@ -34,3 +34,20 @@ Index: Python-3.14.0rc3/Doc/tools/extensions/pyspecific.py
class PyAwaitableMixin(object): class PyAwaitableMixin(object):
Index: Python-3.14.0/Doc/Makefile
===================================================================
--- Python-3.14.0.orig/Doc/Makefile
+++ Python-3.14.0/Doc/Makefile
@@ -14,7 +14,11 @@ PAPER =
SOURCES =
DISTVERSION = $(shell $(PYTHON) tools/extensions/patchlevel.py)
REQUIREMENTS = requirements.txt
-SPHINXERRORHANDLING = --fail-on-warning
+# docutils 0.22 produces the following warning for all the faq pages:
+# ERROR: The "contents" directive may not be used within topics or
+# body elements. [docutils]
+# SPHINXERRORHANDLING = --fail-on-warning
+SPHINXERRORHANDLING =
# Internal variables.
PAPEROPT_a4 = --define latex_elements.papersize=a4paper

View File

@@ -1,3 +1,56 @@
-------------------------------------------------------------------
Thu Oct 9 09:10:23 UTC 2025 - Daniel Garcia <daniel.garcia@suse.com>
- Fix python314:doc package build with docutils 0.22. Remove the
"SPHINXERRORHANDLING = --fail-on-warning" from Doc/Makefile using
the gh139257-Support-docutils-0.22.patch.
-------------------------------------------------------------------
Wed Oct 8 08:55:51 UTC 2025 - Matej Cepl <mcepl@cepl.eu>
- Summary Release highlights
Python 3.14 is the latest stable release of the Python
programming language, with a mix of changes to the language,
the implementation, and the standard library. The biggest
changes include template string literals, deferred evaluation
of annotations, and support for subinterpreters in the standard
library.
The library changes include significantly improved capabilities
for introspection in asyncio, support for Zstandard via a new
compression.zstd module, syntax highlighting in the REPL, as
well as the usual deprecations and removals, and improvements
in user-friendliness and correctness.
- Interpreter improvements:
- PEP 649 and PEP 749: Deferred evaluation of annotations
- PEP 734: Multiple interpreters in the standard library
- PEP 750: Template strings
- PEP 758: Allow except and except* expressions without
brackets
- PEP 765: Control flow in finally blocks
- PEP 768: Safe external debugger interface for CPython
- A new type of interpreter
- Free-threaded mode improvements
- Improved error messages
- Incremental garbage collection
- Significant improvements in the standard library:
- PEP 784: Zstandard support in the standard library
- Asyncio introspection capabilities
- Concurrent safe warnings control
- Syntax highlighting in the default interactive shell, and
color output in several standard library CLIs
- C API improvements:
- PEP 741: Python configuration C API
- Platform support:
- PEP 776: Emscripten is now an officially supported
platform, at tier 3.
- Release changes:
- PEP 779: Free-threaded Python is officially supported
- PEP 761: PGP signatures have been discontinued for official
releases
- Windows and macOS binary releases now support the
experimental just-in-time compiler
- Binary releases for Android are now provided
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Oct 1 05:31:47 UTC 2025 - Daniel Garcia <daniel.garcia@suse.com> Wed Oct 1 05:31:47 UTC 2025 - Daniel Garcia <daniel.garcia@suse.com>

View File

@@ -162,8 +162,8 @@
# _md5.cpython-38m-x86_64-linux-gnu.so # _md5.cpython-38m-x86_64-linux-gnu.so
%define dynlib() %{sitedir}/lib-dynload/%{1}.cpython-%{abi_tag}-%{archname}-%{_os}%{?_gnu}%{?armsuffix}.so %define dynlib() %{sitedir}/lib-dynload/%{1}.cpython-%{abi_tag}-%{archname}-%{_os}%{?_gnu}%{?armsuffix}.so
Name: %{python_pkg_name}%{psuffix} Name: %{python_pkg_name}%{psuffix}
Version: 3.14.0~rc3 Version: 3.14.0
%define tarversion 3.14.0rc3 %define tarversion %{version}
%define tarname Python-%{tarversion} %define tarname Python-%{tarversion}
Release: 0 Release: 0
Summary: Python 3 Interpreter Summary: Python 3 Interpreter