configure.ac                                                    |    4 
 download.lst                                                    |    4 
 external/python3/ExternalPackage_python3.mk                     |  221 
+++-------
 external/python3/ExternalProject_python3.mk                     |    6 
 external/python3/UnpackedTarball_python3.mk                     |    5 
 external/python3/decimal.patch.1                                |   35 +
 external/python3/init-sys-streams-cant-initialize-stdin.patch.0 |   43 -
 external/python3/python-3.3.0-darwin.patch.1                    |    2 
 external/python3/python-3.3.3-elf-rpath.patch.1                 |    4 
 external/python3/python-3.5.4-msvc-disable.patch.1              |   37 -
 external/python3/ubsan.patch.0                                  |   18 
 11 files changed, 146 insertions(+), 233 deletions(-)

New commits:
commit 241826dcb9bfa624e0761e6489b249b6fb507ea9
Author:     Xisco Fauli <[email protected]>
AuthorDate: Tue Dec 9 17:49:43 2025 +0100
Commit:     Xisco Fauli <[email protected]>
CommitDate: Tue Dec 16 22:22:30 2025 +0100

    python3: upgrade to 3.13.11 (master only)
    
    * external/python3/decimal.patch.1 partially reverts
    commit 849e0716d378d6f9f724d1b3c386f6613d52a49d
    Author: Zachary Ware <[email protected]>
    Date:   Mon Mar 18 12:07:25 2024 -0500
    
        gh-115119: Switch Windows build to mpdecimal external (GH-115182)
    
    to build mpdecimal as internal on Windows
    
    Downloaded from 
https://www.python.org/ftp/python/3.13.11/Python-3.13.11.tar.xz
    
    Change-Id: Ia3385a3cc29f05ba898ec721c7e2a26c9d5f5ac2
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195320
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/configure.ac b/configure.ac
index db70f469bfbd..5364c38f899b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10655,8 +10655,8 @@ fi
 if test \( "$cross_compiling" = yes -a -z "$PYTHON_FOR_BUILD" \) -o 
"$enable_python" = internal; then
     SYSTEM_PYTHON=
     PYTHON_VERSION_MAJOR=3
-    PYTHON_VERSION_MINOR=12
-    PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.12
+    PYTHON_VERSION_MINOR=13
+    PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.11
     if ! grep -q -i python.*${PYTHON_VERSION} ${SRC_ROOT}/download.lst; then
         AC_MSG_ERROR([PYTHON_VERSION ${PYTHON_VERSION} but no matching file in 
download.lst])
     fi
diff --git a/download.lst b/download.lst
index 29d209918ab8..2b03a0610d8e 100644
--- a/download.lst
+++ b/download.lst
@@ -611,8 +611,8 @@ POSTGRESQL_TARBALL := postgresql-15.15.tar.bz2
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-PYTHON_SHA256SUM := 
fb85a13414b028c49ba18bbd523c2d055a30b56b18b92ce454ea2c51edc656c4
-PYTHON_TARBALL := Python-3.12.12.tar.xz
+PYTHON_SHA256SUM := 
16ede7bb7cdbfa895d11b0642fa0e523f291e6487194d53cf6d3b338c3a17ea2
+PYTHON_TARBALL := Python-3.13.11.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/python3/ExternalPackage_python3.mk 
b/external/python3/ExternalPackage_python3.mk
index 8c436f8b5916..e145207040a1 100644
--- a/external/python3/ExternalPackage_python3.mk
+++ b/external/python3/ExternalPackage_python3.mk
@@ -36,7 +36,6 @@ python3_EXTENSION_MODULES= \
        PCbuild/$(python_arch_subdir)_elementtree$(if 
$(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
        PCbuild/$(python_arch_subdir)_hashlib$(if 
$(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
        PCbuild/$(python_arch_subdir)_lzma$(if 
$(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
-       PCbuild/$(python_arch_subdir)_msi$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd 
\
        PCbuild/$(python_arch_subdir)_multiprocessing$(if 
$(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
        PCbuild/$(python_arch_subdir)_overlapped$(if 
$(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
        PCbuild/$(python_arch_subdir)_queue$(if 
$(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
@@ -77,7 +76,6 @@ 
python3_EXTENSION_MODULE_SUFFIX=cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_
 python3_EXTENSION_MODULES= \
        Modules/array.$(python3_EXTENSION_MODULE_SUFFIX).so \
        Modules/_asyncio.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       Modules/audioop.$(python3_EXTENSION_MODULE_SUFFIX).so \
        Modules/binascii.$(python3_EXTENSION_MODULE_SUFFIX).so \
        Modules/_bisect.$(python3_EXTENSION_MODULE_SUFFIX).so \
        Modules/_blake2.$(python3_EXTENSION_MODULE_SUFFIX).so \
@@ -90,7 +88,6 @@ python3_EXTENSION_MODULES= \
        Modules/_codecs_kr.$(python3_EXTENSION_MODULE_SUFFIX).so \
        Modules/_codecs_tw.$(python3_EXTENSION_MODULE_SUFFIX).so \
        Modules/_contextvars.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       Modules/_crypt.$(python3_EXTENSION_MODULE_SUFFIX).so \
        Modules/_csv.$(python3_EXTENSION_MODULE_SUFFIX).so \
        Modules/_ctypes.$(python3_EXTENSION_MODULE_SUFFIX).so \
        Modules/_datetime.$(python3_EXTENSION_MODULE_SUFFIX).so \
@@ -111,7 +108,6 @@ python3_EXTENSION_MODULES= \
        Modules/_multibytecodec.$(python3_EXTENSION_MODULE_SUFFIX).so \
        Modules/_multiprocessing.$(python3_EXTENSION_MODULE_SUFFIX).so \
        Modules/_opcode.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       Modules/ossaudiodev.$(python3_EXTENSION_MODULE_SUFFIX).so \
        Modules/_pickle.$(python3_EXTENSION_MODULE_SUFFIX).so \
        Modules/_posixshmem.$(python3_EXTENSION_MODULE_SUFFIX).so \
        Modules/_posixsubprocess.$(python3_EXTENSION_MODULE_SUFFIX).so \
@@ -125,7 +121,6 @@ python3_EXTENSION_MODULES= \
        Modules/_sha3.$(python3_EXTENSION_MODULE_SUFFIX).so \
        Modules/_socket.$(python3_EXTENSION_MODULE_SUFFIX).so \
        Modules/_sqlite3.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       Modules/spwd.$(python3_EXTENSION_MODULE_SUFFIX).so \
        $(if $(ENABLE_OPENSSL), \
                Modules/_ssl.$(python3_EXTENSION_MODULE_SUFFIX).so \
        ) \
@@ -137,7 +132,6 @@ python3_EXTENSION_MODULES= \
        Modules/_uuid.$(python3_EXTENSION_MODULE_SUFFIX).so \
        Modules/xxlimited_35.$(python3_EXTENSION_MODULE_SUFFIX).so \
        Modules/xxlimited.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       Modules/_xxsubinterpreters.$(python3_EXTENSION_MODULE_SUFFIX).so \
        Modules/xxsubtype.$(python3_EXTENSION_MODULE_SUFFIX).so \
        Modules/_xxtestfuzz.$(python3_EXTENSION_MODULE_SUFFIX).so \
        Modules/zlib.$(python3_EXTENSION_MODULE_SUFFIX).so \
@@ -192,10 +186,15 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/__future__.py \
        Lib/__hello__.py \
        Lib/_aix_support.py \
+       Lib/_android_support.py \
+       Lib/_apple_support.py \
        Lib/_collections_abc.py \
+       Lib/_colorize.py \
        Lib/_compat_pickle.py \
        Lib/_compression.py \
+       Lib/_ios_support.py \
        Lib/_markupbase.py \
+       Lib/_opcode_metadata.py \
        Lib/_osx_support.py \
        Lib/_py_abc.py \
        Lib/_pydatetime.py \
@@ -207,7 +206,6 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/_threading_local.py \
        Lib/_weakrefset.py \
        Lib/abc.py \
-       Lib/aifc.py \
        Lib/antigravity.py \
        Lib/argparse.py \
        Lib/ast.py \
@@ -217,9 +215,6 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/bz2.py \
        Lib/cProfile.py \
        Lib/calendar.py \
-       Lib/cgi.py \
-       Lib/cgitb.py \
-       Lib/chunk.py \
        Lib/cmd.py \
        Lib/code.py \
        Lib/codecs.py \
@@ -231,7 +226,6 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/contextvars.py \
        Lib/copy.py \
        Lib/copyreg.py \
-       Lib/crypt.py \
        Lib/csv.py \
        Lib/dataclasses.py \
        Lib/datetime.py \
@@ -257,7 +251,6 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/heapq.py \
        Lib/hmac.py \
        Lib/imaplib.py \
-       Lib/imghdr.py \
        Lib/inspect.py \
        Lib/io.py \
        Lib/ipaddress.py \
@@ -266,11 +259,9 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/locale.py \
        Lib/lzma.py \
        Lib/mailbox.py \
-       Lib/mailcap.py \
        Lib/mimetypes.py \
        Lib/modulefinder.py \
        Lib/netrc.py \
-       Lib/nntplib.py \
        Lib/ntpath.py \
        Lib/nturl2path.py \
        Lib/numbers.py \
@@ -278,11 +269,9 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/operator.py \
        Lib/optparse.py \
        Lib/os.py \
-       Lib/pathlib.py \
        Lib/pdb.py \
        Lib/pickle.py \
        Lib/pickletools.py \
-       Lib/pipes.py \
        Lib/pkgutil.py \
        Lib/platform.py \
        Lib/plistlib.py \
@@ -310,7 +299,6 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/signal.py \
        Lib/site.py \
        Lib/smtplib.py \
-       Lib/sndhdr.py \
        Lib/socket.py \
        Lib/socketserver.py \
        Lib/sre_compile.py \
@@ -323,12 +311,9 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/stringprep.py \
        Lib/struct.py \
        Lib/subprocess.py \
-       Lib/sunau.py \
        Lib/symtable.py \
-       Lib/sysconfig.py \
        Lib/tabnanny.py \
        Lib/tarfile.py \
-       Lib/telnetlib.py \
        Lib/tempfile.py \
        Lib/textwrap.py \
        Lib/this.py \
@@ -343,13 +328,11 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/turtle.py \
        Lib/types.py \
        Lib/typing.py \
-       Lib/uu.py \
        Lib/uuid.py \
        Lib/warnings.py \
        Lib/wave.py \
        Lib/weakref.py \
        Lib/webbrowser.py \
-       Lib/xdrlib.py \
        Lib/zipapp.py \
        Lib/zipimport.py \
 ))
@@ -369,6 +352,34 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/_distutils_hack/override.py \
 ))
 
+$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/_pyrepl,\
+       Lib/_pyrepl/__init__.py \
+       Lib/_pyrepl/__main__.py \
+       Lib/_pyrepl/_minimal_curses.py \
+       Lib/_pyrepl/_threading_handler.py \
+       Lib/_pyrepl/base_eventqueue.py \
+       Lib/_pyrepl/commands.py \
+       Lib/_pyrepl/completing_reader.py \
+       Lib/_pyrepl/console.py \
+       Lib/_pyrepl/curses.py \
+       Lib/_pyrepl/fancy_termios.py \
+       Lib/_pyrepl/historical_reader.py \
+       Lib/_pyrepl/input.py \
+       Lib/_pyrepl/keymap.py \
+       Lib/_pyrepl/main.py \
+       Lib/_pyrepl/pager.py \
+       Lib/_pyrepl/reader.py \
+       Lib/_pyrepl/readline.py \
+       Lib/_pyrepl/simple_interact.py \
+       Lib/_pyrepl/trace.py \
+       Lib/_pyrepl/types.py \
+       Lib/_pyrepl/unix_console.py \
+       Lib/_pyrepl/unix_eventqueue.py \
+       Lib/_pyrepl/utils.py \
+       Lib/_pyrepl/windows_console.py \
+       Lib/_pyrepl/windows_eventqueue.py \
+))
+
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/asyncio,\
        Lib/asyncio/__init__.py \
        Lib/asyncio/__main__.py \
@@ -407,7 +418,6 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
 
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/collections,\
        Lib/collections/__init__.py \
-       Lib/collections/abc.py \
 ))
 
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/concurrent,\
@@ -441,6 +451,7 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/dbm/dumb.py \
        Lib/dbm/gnu.py \
        Lib/dbm/ndbm.py \
+       Lib/dbm/sqlite3.py \
 ))
 
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/email,\
@@ -643,14 +654,15 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/importlib/metadata/_itertools.py \
        Lib/importlib/metadata/_meta.py \
        Lib/importlib/metadata/_text.py \
+       Lib/importlib/metadata/diagnose.py \
 ))
 
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/importlib/resources,\
        Lib/importlib/resources/__init__.py \
        Lib/importlib/resources/_adapters.py \
        Lib/importlib/resources/_common.py \
+       Lib/importlib/resources/_functional.py \
        Lib/importlib/resources/_itertools.py \
-       Lib/importlib/resources/_legacy.py \
        Lib/importlib/resources/abc.py \
        Lib/importlib/resources/readers.py \
        Lib/importlib/resources/simple.py \
@@ -664,105 +676,12 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/json/tool.py \
 ))
 
-$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/lib2to3,\
-       Lib/lib2to3/Grammar.txt \
-       Lib/lib2to3/PatternGrammar.txt \
-       Lib/lib2to3/__init__.py \
-       Lib/lib2to3/__main__.py \
-       Lib/lib2to3/btm_matcher.py \
-       Lib/lib2to3/btm_utils.py \
-       Lib/lib2to3/fixer_base.py \
-       Lib/lib2to3/fixer_util.py \
-       Lib/lib2to3/main.py \
-       Lib/lib2to3/patcomp.py \
-       Lib/lib2to3/pygram.py \
-       Lib/lib2to3/pytree.py \
-       Lib/lib2to3/refactor.py \
-))
-
-$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/lib2to3/fixes,\
-       Lib/lib2to3/fixes/__init__.py \
-       Lib/lib2to3/fixes/fix_apply.py \
-       Lib/lib2to3/fixes/fix_asserts.py \
-       Lib/lib2to3/fixes/fix_basestring.py \
-       Lib/lib2to3/fixes/fix_buffer.py \
-       Lib/lib2to3/fixes/fix_dict.py \
-       Lib/lib2to3/fixes/fix_except.py \
-       Lib/lib2to3/fixes/fix_exec.py \
-       Lib/lib2to3/fixes/fix_execfile.py \
-       Lib/lib2to3/fixes/fix_exitfunc.py \
-       Lib/lib2to3/fixes/fix_filter.py \
-       Lib/lib2to3/fixes/fix_funcattrs.py \
-       Lib/lib2to3/fixes/fix_future.py \
-       Lib/lib2to3/fixes/fix_getcwdu.py \
-       Lib/lib2to3/fixes/fix_has_key.py \
-       Lib/lib2to3/fixes/fix_idioms.py \
-       Lib/lib2to3/fixes/fix_import.py \
-       Lib/lib2to3/fixes/fix_imports.py \
-       Lib/lib2to3/fixes/fix_imports2.py \
-       Lib/lib2to3/fixes/fix_input.py \
-       Lib/lib2to3/fixes/fix_intern.py \
-       Lib/lib2to3/fixes/fix_isinstance.py \
-       Lib/lib2to3/fixes/fix_itertools.py \
-       Lib/lib2to3/fixes/fix_itertools_imports.py \
-       Lib/lib2to3/fixes/fix_long.py \
-       Lib/lib2to3/fixes/fix_map.py \
-       Lib/lib2to3/fixes/fix_metaclass.py \
-       Lib/lib2to3/fixes/fix_methodattrs.py \
-       Lib/lib2to3/fixes/fix_ne.py \
-       Lib/lib2to3/fixes/fix_next.py \
-       Lib/lib2to3/fixes/fix_nonzero.py \
-       Lib/lib2to3/fixes/fix_numliterals.py \
-       Lib/lib2to3/fixes/fix_operator.py \
-       Lib/lib2to3/fixes/fix_paren.py \
-       Lib/lib2to3/fixes/fix_print.py \
-       Lib/lib2to3/fixes/fix_raise.py \
-       Lib/lib2to3/fixes/fix_raw_input.py \
-       Lib/lib2to3/fixes/fix_reduce.py \
-       Lib/lib2to3/fixes/fix_reload.py \
-       Lib/lib2to3/fixes/fix_renames.py \
-       Lib/lib2to3/fixes/fix_repr.py \
-       Lib/lib2to3/fixes/fix_set_literal.py \
-       Lib/lib2to3/fixes/fix_standarderror.py \
-       Lib/lib2to3/fixes/fix_sys_exc.py \
-       Lib/lib2to3/fixes/fix_throw.py \
-       Lib/lib2to3/fixes/fix_tuple_params.py \
-       Lib/lib2to3/fixes/fix_types.py \
-       Lib/lib2to3/fixes/fix_unicode.py \
-       Lib/lib2to3/fixes/fix_urllib.py \
-       Lib/lib2to3/fixes/fix_ws_comma.py \
-       Lib/lib2to3/fixes/fix_xrange.py \
-       Lib/lib2to3/fixes/fix_xreadlines.py \
-       Lib/lib2to3/fixes/fix_zip.py \
-))
-
-$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/lib2to3/pgen2,\
-       Lib/lib2to3/pgen2/__init__.py \
-       Lib/lib2to3/pgen2/conv.py \
-       Lib/lib2to3/pgen2/driver.py \
-       Lib/lib2to3/pgen2/grammar.py \
-       Lib/lib2to3/pgen2/literals.py \
-       Lib/lib2to3/pgen2/parse.py \
-       Lib/lib2to3/pgen2/pgen.py \
-       Lib/lib2to3/pgen2/token.py \
-       Lib/lib2to3/pgen2/tokenize.py \
-))
-
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/logging,\
        Lib/logging/__init__.py \
        Lib/logging/config.py \
        Lib/logging/handlers.py \
 ))
 
-ifeq (WNT,$(OS))
-$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/msilib,\
-       Lib/msilib/__init__.py \
-       Lib/msilib/schema.py \
-       Lib/msilib/sequence.py \
-       Lib/msilib/text.py \
-))
-endif
-
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/multiprocessing,\
        Lib/multiprocessing/__init__.py \
        Lib/multiprocessing/connection.py \
@@ -792,6 +711,12 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/multiprocessing/dummy/connection.py \
 ))
 
+$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pathlib,\
+       Lib/pathlib/__init__.py \
+       Lib/pathlib/_abc.py \
+       Lib/pathlib/_local.py \
+))
+
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip,\
        Lib/pip/__init__.py \
        Lib/pip/__main__.py \
@@ -841,6 +766,7 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/pip/_internal/commands/inspect.py \
        Lib/pip/_internal/commands/install.py \
        Lib/pip/_internal/commands/list.py \
+       Lib/pip/_internal/commands/lock.py \
        Lib/pip/_internal/commands/search.py \
        Lib/pip/_internal/commands/show.py \
        Lib/pip/_internal/commands/uninstall.py \
@@ -891,6 +817,7 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/pip/_internal/models/index.py \
        Lib/pip/_internal/models/installation_report.py \
        Lib/pip/_internal/models/link.py \
+       Lib/pip/_internal/models/pylock.py \
        Lib/pip/_internal/models/scheme.py \
        Lib/pip/_internal/models/search_scope.py \
        Lib/pip/_internal/models/selection_prefs.py \
@@ -921,21 +848,19 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/pip/_internal/operations/build/build_tracker.py \
        Lib/pip/_internal/operations/build/metadata.py \
        Lib/pip/_internal/operations/build/metadata_editable.py \
-       Lib/pip/_internal/operations/build/metadata_legacy.py \
        Lib/pip/_internal/operations/build/wheel.py \
        Lib/pip/_internal/operations/build/wheel_editable.py \
-       Lib/pip/_internal/operations/build/wheel_legacy.py \
 ))
 
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_internal/operations/install,\
        Lib/pip/_internal/operations/install/__init__.py \
-       Lib/pip/_internal/operations/install/editable_legacy.py \
        Lib/pip/_internal/operations/install/wheel.py \
 ))
 
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_internal/req,\
        Lib/pip/_internal/req/__init__.py \
        Lib/pip/_internal/req/constructors.py \
+       Lib/pip/_internal/req/req_dependency_group.py \
        Lib/pip/_internal/req/req_file.py \
        Lib/pip/_internal/req/req_install.py \
        Lib/pip/_internal/req/req_set.py \
@@ -984,7 +909,6 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/pip/_internal/utils/misc.py \
        Lib/pip/_internal/utils/packaging.py \
        Lib/pip/_internal/utils/retry.py \
-       Lib/pip/_internal/utils/setuptools_build.py \
        Lib/pip/_internal/utils/subprocess.py \
        Lib/pip/_internal/utils/temp_dir.py \
        Lib/pip/_internal/utils/unpacking.py \
@@ -1004,11 +928,11 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
 
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor,\
        Lib/pip/_vendor/__init__.py \
-       Lib/pip/_vendor/typing_extensions.py \
        Lib/pip/_vendor/vendor.txt \
 ))
 
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/cachecontrol,\
+       Lib/pip/_vendor/cachecontrol/LICENSE.txt \
        Lib/pip/_vendor/cachecontrol/__init__.py \
        Lib/pip/_vendor/cachecontrol/_cmd.py \
        Lib/pip/_vendor/cachecontrol/adapter.py \
@@ -1033,26 +957,29 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/pip/_vendor/certifi/core.py \
 ))
 
+$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/dependency_groups,\
+       Lib/pip/_vendor/dependency_groups/LICENSE.txt \
+       Lib/pip/_vendor/dependency_groups/__init__.py \
+       Lib/pip/_vendor/dependency_groups/__main__.py \
+       Lib/pip/_vendor/dependency_groups/_implementation.py \
+       Lib/pip/_vendor/dependency_groups/_lint_dependency_groups.py \
+       Lib/pip/_vendor/dependency_groups/_pip_wrapper.py \
+       Lib/pip/_vendor/dependency_groups/_toml_compat.py \
+))
+
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/distlib,\
+       Lib/pip/_vendor/distlib/LICENSE.txt \
        Lib/pip/_vendor/distlib/__init__.py \
        Lib/pip/_vendor/distlib/compat.py \
-       Lib/pip/_vendor/distlib/database.py \
-       Lib/pip/_vendor/distlib/index.py \
-       Lib/pip/_vendor/distlib/locators.py \
-       Lib/pip/_vendor/distlib/manifest.py \
-       Lib/pip/_vendor/distlib/markers.py \
-       Lib/pip/_vendor/distlib/metadata.py \
        Lib/pip/_vendor/distlib/resources.py \
        Lib/pip/_vendor/distlib/scripts.py \
        Lib/pip/_vendor/distlib/t32.exe \
        Lib/pip/_vendor/distlib/t64-arm.exe \
        Lib/pip/_vendor/distlib/t64.exe \
        Lib/pip/_vendor/distlib/util.py \
-       Lib/pip/_vendor/distlib/version.py \
        Lib/pip/_vendor/distlib/w32.exe \
        Lib/pip/_vendor/distlib/w64-arm.exe \
        Lib/pip/_vendor/distlib/w64.exe \
-       Lib/pip/_vendor/distlib/wheel.py \
 ))
 
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/distro,\
@@ -1119,7 +1046,6 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/pygments,\
        Lib/pip/_vendor/pygments/__init__.py \
        Lib/pip/_vendor/pygments/__main__.py \
-       Lib/pip/_vendor/pygments/cmdline.py \
        Lib/pip/_vendor/pygments/console.py \
        Lib/pip/_vendor/pygments/filter.py \
        Lib/pip/_vendor/pygments/formatter.py \
@@ -1142,18 +1068,6 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/pygments/formatters,\
        Lib/pip/_vendor/pygments/formatters/__init__.py \
        Lib/pip/_vendor/pygments/formatters/_mapping.py \
-       Lib/pip/_vendor/pygments/formatters/bbcode.py \
-       Lib/pip/_vendor/pygments/formatters/groff.py \
-       Lib/pip/_vendor/pygments/formatters/html.py \
-       Lib/pip/_vendor/pygments/formatters/img.py \
-       Lib/pip/_vendor/pygments/formatters/irc.py \
-       Lib/pip/_vendor/pygments/formatters/latex.py \
-       Lib/pip/_vendor/pygments/formatters/other.py \
-       Lib/pip/_vendor/pygments/formatters/pangomarkup.py \
-       Lib/pip/_vendor/pygments/formatters/rtf.py \
-       Lib/pip/_vendor/pygments/formatters/svg.py \
-       Lib/pip/_vendor/pygments/formatters/terminal.py \
-       Lib/pip/_vendor/pygments/formatters/terminal256.py \
 ))
 
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/pygments/lexers,\
@@ -1202,13 +1116,15 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/pip/_vendor/resolvelib/__init__.py \
        Lib/pip/_vendor/resolvelib/providers.py \
        Lib/pip/_vendor/resolvelib/reporters.py \
-       Lib/pip/_vendor/resolvelib/resolvers.py \
        Lib/pip/_vendor/resolvelib/structs.py \
 ))
 
-$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/resolvelib/compat,\
-       Lib/pip/_vendor/resolvelib/compat/__init__.py \
-       Lib/pip/_vendor/resolvelib/compat/collections_abc.py \
+$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/resolvelib/resolvers,\
+       Lib/pip/_vendor/resolvelib/resolvers/__init__.py \
+       Lib/pip/_vendor/resolvelib/resolvers/abstract.py \
+       Lib/pip/_vendor/resolvelib/resolvers/criterion.py \
+       Lib/pip/_vendor/resolvelib/resolvers/exceptions.py \
+       Lib/pip/_vendor/resolvelib/resolvers/resolution.py \
 ))
 
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/rich,\
@@ -1298,6 +1214,11 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/pip/_vendor/tomli/_types.py \
 ))
 
+$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/tomli_w,\
+       Lib/pip/_vendor/tomli_w/__init__.py \
+       Lib/pip/_vendor/tomli_w/_writer.py \
+))
+
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/truststore,\
        Lib/pip/_vendor/truststore/__init__.py \
        Lib/pip/_vendor/truststore/_api.py \
@@ -1308,6 +1229,7 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
 ))
 
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/urllib3,\
+       Lib/pip/_vendor/urllib3/LICENSE.txt \
        Lib/pip/_vendor/urllib3/__init__.py \
        Lib/pip/_vendor/urllib3/_collections.py \
        Lib/pip/_vendor/urllib3/_version.py \
@@ -1747,6 +1669,11 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/sqlite3/dump.py \
 ))
 
+$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/sysconfig,\
+       Lib/sysconfig/__init__.py \
+       Lib/sysconfig/__main__.py \
+))
+
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/tomllib,\
        Lib/tomllib/__init__.py \
        Lib/tomllib/_parser.py \
diff --git a/external/python3/ExternalProject_python3.mk 
b/external/python3/ExternalProject_python3.mk
index 3e8c07663850..3c4860a85c46 100644
--- a/external/python3/ExternalProject_python3.mk
+++ b/external/python3/ExternalProject_python3.mk
@@ -46,6 +46,7 @@ $(call gb_ExternalProject_get_state_target,python3,build) :
                        /p:zlibDir=$(gb_UnpackedTarball_workdir)/zlib \
                        /p:sqlite3Dir=$(gb_UnpackedTarball_workdir)/sqlite3 \
                        /p:lzmaDir=$(gb_UnpackedTarball_workdir)/lzma/ \
+                       
/p:mpdecimalDir=$(gb_UnpackedTarball_workdir)/python3/Modules/_decimal/ \
                        
/p:libffiOutDir=$(gb_UnpackedTarball_workdir)/libffi/$(HOST_PLATFORM)/.libs \
                        
/p:libffiIncludeDir=$(gb_UnpackedTarball_workdir)/libffi/$(HOST_PLATFORM)/include
 \
                        /maxcpucount \
@@ -115,7 +116,9 @@ $(call gb_ExternalProject_get_state_target,python3,build) :
                CC="$(strip $(CC) \
                        $(if $(filter 
-fsanitize=undefined,$(CC)),-fno-sanitize=function) \
                        $(if 
$(SYSTEM_BZIP2),,-I$(gb_UnpackedTarball_workdir)/bzip2) \
-                       $(if 
$(SYSTEM_EXPAT),,-I$(gb_UnpackedTarball_workdir)/expat/lib) \
+                       $(if $(SYSTEM_EXPAT),, \
+                               -I$(gb_UnpackedTarball_workdir)/expat \
+                               -I$(gb_UnpackedTarball_workdir)/expat/lib) \
                        $(if 
$(SYSTEM_SQLITE3),,-I$(gb_UnpackedTarball_workdir)/sqlite3) \
                        $(if 
$(SYSTEM_LZMA),,-I$(gb_UnpackedTarball_workdir)/lzma/src/liblzma/api) \
                        $(if $(SYSBASE), -I$(SYSBASE)/usr/include) \
@@ -168,7 +171,6 @@ $(call 
gb_ExternalProject_get_state_target,python3,fixscripts) : $(call gb_Exter
        $(call gb_Output_announce,python3 - remove reference to installroot 
from scripts,build,CUS,5)
        $(COMMAND_ECHO)cd $(python3_fw_prefix)/bin/ && \
        for file in \
-               2to3-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) \
                idle$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) \
                pip$(PYTHON_VERSION_MAJOR) \
                pip$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) \
diff --git a/external/python3/UnpackedTarball_python3.mk 
b/external/python3/UnpackedTarball_python3.mk
index 3f69563d1604..bbfb6f0316c5 100644
--- a/external/python3/UnpackedTarball_python3.mk
+++ b/external/python3/UnpackedTarball_python3.mk
@@ -18,9 +18,10 @@ $(eval $(call gb_UnpackedTarball_set_pre_action,python3,\
                mkdir -p externals/pythonx86 && \
                unzip -q -d externals/pythonx86 -o 
$(gb_UnpackedTarget_TARFILE_LOCATION)/$(PYTHON_BOOTSTRAP_TARBALL) && \
                chmod +x externals/pythonx86/tools/* && \
+               cp PC/pyconfig.h.in PC/pyconfig.h && \
        ) \
        unzip -q -d Lib/ -o 
Lib/test/wheeldata/setuptools-79.0.1-py3-none-any.whl && \
-       unzip -q -d Lib/ -o Lib/ensurepip/_bundled/pip-25.0.1-py3-none-any.whl 
&& \
+       unzip -q -d Lib/ -o Lib/ensurepip/_bundled/pip-25.3-py3-none-any.whl && 
\
        mv Lib/setuptools/_vendor/jaraco/text/Lorem\ ipsum.txt 
Lib/setuptools/_vendor/jaraco/text/Lorem_ipsum.txt \
 ))
 
@@ -40,10 +41,10 @@ $(eval $(call gb_UnpackedTarball_add_patches,python3,\
        external/python3/python-3.7.6-msvc-ssl.patch.1 \
        external/python3/python-3.5.4-msvc-disable.patch.1 \
        external/python3/ubsan.patch.0 \
-       external/python3/init-sys-streams-cant-initialize-stdin.patch.0 \
        external/python3/setuptools.patch.1 \
        external/python3/sqlite3.patch.1 \
        external/python3/lzma.patch.1 \
+       external/python3/decimal.patch.1 \
 ))
 
 ifneq ($(filter DRAGONFLY FREEBSD LINUX NETBSD OPENBSD SOLARIS,$(OS)),)
diff --git a/external/python3/decimal.patch.1 b/external/python3/decimal.patch.1
new file mode 100644
index 000000000000..328eab2a73d2
--- /dev/null
+++ b/external/python3/decimal.patch.1
@@ -0,0 +1,35 @@
+--- python3/PCbuild/_decimal.vcxproj   2025-12-11 11:46:52.855511417 +0100
++++ python3/PCbuild/_decimal.vcxproj   2025-12-11 11:49:35.386244415 +0100
+@@ -98,7 +98,7 @@
+       <PreprocessorDefinitions 
Condition="'$(Platform)'=='ARM'">CONFIG_32;ANSI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+       <PreprocessorDefinitions 
Condition="'$(Platform)'=='ARM64'">CONFIG_64;ANSI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+       <PreprocessorDefinitions Condition="'$(Platform)' == 
'x64'">CONFIG_64;MASM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+-      
<AdditionalIncludeDirectories>..\Modules\_decimal;..\Modules\_decimal\windows;$(mpdecimalDir)\libmpdec;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++      
<AdditionalIncludeDirectories>..\Modules\_decimal;$(mpdecimalDir)\libmpdec;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+     </ClCompile>
+   </ItemDefinitionGroup>
+   <ItemGroup>
+@@ -111,11 +111,7 @@
+     <ClInclude Include="..\Modules\_decimal\docstrings.h" />
+     <ClInclude Include="$(mpdecimalDir)\libmpdecnt.h" />
+     <ClInclude Include="$(mpdecimalDir)\libmpdecourstep.h" />
+-    <ClInclude Include="..\Modules\_decimal\windows\mpdecimal.h" />
+-    <ClInclude Condition="'$(Platform)' == 'Win32'" 
Include="$(mpdecimalDir)\libmpdec\mpdecimal32vc.h" />
+-    <ClInclude Condition="'$(Platform)' == 'ARM'" 
Include="$(mpdecimalDir)\libmpdec\mpdecimal32vc.h" />
+-    <ClInclude Condition="'$(Platform)' == 'ARM64'" 
Include="$(mpdecimalDir)\libmpdec\mpdecimal64vc.h" />
+-    <ClInclude Condition="'$(Platform)' == 'x64'" 
Include="$(mpdecimalDir)\libmpdec\mpdecimal64vc.h" />
++    <ClInclude Include="$(mpdecimalDir)\libmpdec\mpdecimal.h" />
+     <ClInclude Include="$(mpdecimalDir)\libmpdec
umbertheory.h" />
+     <ClInclude Include="$(mpdecimalDir)\libmpdec\sixstep.h" />
+     <ClInclude Include="$(mpdecimalDir)\libmpdec      ranspose.h" />
+--- python3/PCbuild/_decimal.vcxproj.filters   2025-12-11 11:51:56.721607581 
+0100
++++ python3/PCbuild/_decimal.vcxproj.filters   2025-12-11 11:53:18.065393111 
+0100
+@@ -45,7 +45,7 @@
+     <ClInclude Include="$(mpdecimalDir)\libmpdecourstep.h">
+       <Filter>Header Files\libmpdec</Filter>
+     </ClInclude>
+-    <ClInclude Include="..\Modules\_decimal\windows\mpdecimal.h">
++    <ClInclude Include="$(mpdecimalDir)\libmpdec\mpdecimal.h">
+       <Filter>Header Files\libmpdec</Filter>
+     </ClInclude>
+     <ClInclude Include="$(mpdecimalDir)\libmpdec\mpdecimal32vc.h">
diff --git a/external/python3/init-sys-streams-cant-initialize-stdin.patch.0 
b/external/python3/init-sys-streams-cant-initialize-stdin.patch.0
deleted file mode 100644
index fa23b27fae84..000000000000
--- a/external/python3/init-sys-streams-cant-initialize-stdin.patch.0
+++ /dev/null
@@ -1,43 +0,0 @@
---- Python/pylifecycle.c       2024-03-27 14:34:43.905367358 +0000
-+++ Python/pylifecycle.c       2024-03-27 14:40:16.339134322 +0000
-@@ -1789,6 +1789,20 @@
-     if (!is_valid_fd(fd))
-         Py_RETURN_NONE;
- 
-+    /* Check that stdin, etc is not a directory
-+       Using shell redirection, you can redirect stdin to a directory,
-+       crashing the Python interpreter. Catch this common mistake here
-+       and output a useful error message. Note that under MS Windows,
-+       the shell already prevents that. */
-+#ifndef MS_WINDOWS
-+    struct _Py_stat_struct sb;
-+    if (_Py_fstat_noraise(fd, &sb) == 0 &&
-+        S_ISDIR(sb.st_mode)) {
-+        // "name" is a directory, cannot continue
-+        Py_RETURN_NONE;
-+    }
-+#endif
-+
-     /* stdin is always opened in buffered mode, first because it shouldn't
-        make a difference in common use cases, second because TextIOWrapper
-        depends on the presence of a read1() method which only exists on
-@@ -2335,19 +2335,6 @@
-     PyStatus res = _PyStatus_OK();
-     const PyConfig *config = _PyInterpreterState_GetConfig(tstate->interp);
- 
--    /* Check that stdin is not a directory
--       Using shell redirection, you can redirect stdin to a directory,
--       crashing the Python interpreter. Catch this common mistake here
--       and output a useful error message. Note that under MS Windows,
--       the shell already prevents that. */
--#ifndef MS_WINDOWS
--    struct _Py_stat_struct sb;
--    if (_Py_fstat_noraise(fileno(stdin), &sb) == 0 &&
--        S_ISDIR(sb.st_mode)) {
--        return _PyStatus_ERR("<stdin> is a directory, cannot continue");
--    }
--#endif
--
-     if (!(iomod = PyImport_ImportModule("io"))) {
-         goto error;
-     }
diff --git a/external/python3/python-3.3.0-darwin.patch.1 
b/external/python3/python-3.3.0-darwin.patch.1
index d262d55cd5b3..67f27c78d776 100644
--- a/external/python3/python-3.3.0-darwin.patch.1
+++ b/external/python3/python-3.3.0-darwin.patch.1
@@ -49,7 +49,7 @@ diff -ru python3.orig/Mac/Resources/app/Info.plist.in 
python3/Mac/Resources/app/
 -      <string>Python</string>
 +      <string>LibreOfficePython</string>
        <key>CFBundleGetInfoString</key>
-       <string>%version%, (c) 2001-2023 Python Software Foundation.</string>
+       <string>%version%, (c) 2001-2024 Python Software Foundation.</string>
        <key>CFBundleHelpBookFolder</key>
 diff -ru python3.orig/Mac/Resources/framework/Info.plist.in 
python3/Mac/Resources/framework/Info.plist.in
 --- python3.orig/Mac/Resources/framework/Info.plist.in 2015-07-05 
18:50:07.000000000 +0200
diff --git a/external/python3/python-3.3.3-elf-rpath.patch.1 
b/external/python3/python-3.3.3-elf-rpath.patch.1
index c4ce3cc78318..83e0b7803115 100644
--- a/external/python3/python-3.3.3-elf-rpath.patch.1
+++ b/external/python3/python-3.3.3-elf-rpath.patch.1
@@ -14,7 +14,7 @@ diff -ru python3.orig/Makefile.pre.in python3/Makefile.pre.in
  
  platform: $(PYTHON_FOR_BUILD_DEPS) pybuilddir.txt
        $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import 
get_platform ; print("%s-%d.%d" % (get_platform(), *sys.version_info[:2]))' 
>platform
-@@ -628,7 +628,7 @@
+@@ -921,7 +921,7 @@
        fi
  
  libpython3.so:        libpython$(LDVERSION).so
@@ -22,4 +22,4 @@ diff -ru python3.orig/Makefile.pre.in python3/Makefile.pre.in
 +      $(BLDSHARED) $(NO_AS_NEEDED) -o $@ -Wl,-h$@ $^ -Wl,-rpath,\$$ORIGIN
  
  libpython$(LDVERSION).dylib: $(LIBRARY_OBJS)
-        $(CC) -dynamiclib -Wl,-single_module $(PY_CORE_LDFLAGS) -undefined 
dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(LDVERSION).dylib 
-Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@ 
$(LIBRARY_OBJS) $(DTRACE_OBJS) $(SHLIBS) $(LIBC) $(LIBM); \
+        $(CC) -dynamiclib $(PY_CORE_LDFLAGS) -undefined dynamic_lookup 
-Wl,-install_name,$(prefix)/lib/libpython$(LDVERSION).dylib 
-Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@ 
$(LIBRARY_OBJS) $(DTRACE_OBJS) $(SHLIBS) $(LIBC) $(LIBM); \
diff --git a/external/python3/python-3.5.4-msvc-disable.patch.1 
b/external/python3/python-3.5.4-msvc-disable.patch.1
index 1f906f35fcdf..8bd8a9d8a6e4 100644
--- a/external/python3/python-3.5.4-msvc-disable.patch.1
+++ b/external/python3/python-3.5.4-msvc-disable.patch.1
@@ -3,27 +3,32 @@ Disable some stuff LO does not need, especially stuff with 
external dependencies
 diff -ru python3.orig/PCbuild/pcbuild.sln python3/PCbuild/pcbuild.sln
 --- python3.orig/PCbuild/pcbuild.sln   2023-08-25 04:36:32.000000000 +0900
 +++ python3/PCbuild/pcbuild.sln        2023-09-20 17:43:05.442089400 +0900
-@@ -21,20 +21,15 @@
-               {CB435430-EBB1-478B-8F4E-C256F6838F55} = 
{CB435430-EBB1-478B-8F4E-C256F6838F55}
-               {17E1E049-C309-4D79-843F-AE483C264AEA} = 
{17E1E049-C309-4D79-843F-AE483C264AEA}
-               {384C224A-7474-476E-A01B-750EA7DE918C} = 
{384C224A-7474-476E-A01B-750EA7DE918C}
+@@ -13,8 +13,6 @@
+               {01FDF29A-40A1-46DF-84F5-85EBBD2A2410} = 
{01FDF29A-40A1-46DF-84F5-85EBBD2A2410}
+               {0E9791DB-593A-465F-98BC-681011311617} = 
{0E9791DB-593A-465F-98BC-681011311617}
+               {0E9791DB-593A-465F-98BC-681011311618} = 
{0E9791DB-593A-465F-98BC-681011311618}
 -              {12728250-16EC-4DC6-94D7-E21DD88947F8} = 
{12728250-16EC-4DC6-94D7-E21DD88947F8}
-               {86937F53-C189-40EF-8CE8-8759D8E7D480} = 
{86937F53-C189-40EF-8CE8-8759D8E7D480}
-               {28B5D777-DDF2-4B6B-B34F-31D938813856} = 
{28B5D777-DDF2-4B6B-B34F-31D938813856}
-               {31FFC478-7B4A-43E8-9954-8D03E2187E9C} = 
{31FFC478-7B4A-43E8-9954-8D03E2187E9C}
--              {F9D71780-F393-11E0-BE50-0800200C9A66} = 
{F9D71780-F393-11E0-BE50-0800200C9A66}
-               {494BAC80-A60C-43A9-99E7-ACB691CE2C4D} = 
{494BAC80-A60C-43A9-99E7-ACB691CE2C4D}
-               {C6E20F84-3247-4AD6-B051-B073268F73BA} = 
{C6E20F84-3247-4AD6-B051-B073268F73BA}
-               {B244E787-C445-441C-BDF4-5A4F1A3A1E51} = 
{B244E787-C445-441C-BDF4-5A4F1A3A1E51}
-               {18CAE28C-B454-46C1-87A0-493D91D97F03} = 
{18CAE28C-B454-46C1-87A0-493D91D97F03}
 -              {13CECB97-4119-4316-9D42-8534019A5A44} = 
{13CECB97-4119-4316-9D42-8534019A5A44}
-               {885D4898-D08D-4091-9C40-C700CFE3FC5A} = 
{885D4898-D08D-4091-9C40-C700CFE3FC5A}
+               {16BFE6F0-22EF-40B5-B831-7E937119EF10} = 
{16BFE6F0-22EF-40B5-B831-7E937119EF10}
+               {17E1E049-C309-4D79-843F-AE483C264AEA} = 
{17E1E049-C309-4D79-843F-AE483C264AEA}
+               {18CAE28C-B454-46C1-87A0-493D91D97F03} = 
{18CAE28C-B454-46C1-87A0-493D91D97F03}
+@@ -22,8 +20,6 @@
+               {28B5D777-DDF2-4B6B-B34F-31D938813856} = 
{28B5D777-DDF2-4B6B-B34F-31D938813856}
+               {36D0C52C-DF4E-45D0-8BC7-E294C3ABC781} = 
{36D0C52C-DF4E-45D0-8BC7-E294C3ABC781}
+               {384C224A-7474-476E-A01B-750EA7DE918C} = 
{384C224A-7474-476E-A01B-750EA7DE918C}
 -              {447F05A8-F581-4CAC-A466-5AC7936E207E} = 
{447F05A8-F581-4CAC-A466-5AC7936E207E}
-               {ECC7CEAC-A5E5-458E-BB9E-2413CC847881} = 
{ECC7CEAC-A5E5-458E-BB9E-2413CC847881}
 -              {4946ECAC-2E69-4BF8-A90A-F5136F5094DF} = 
{4946ECAC-2E69-4BF8-A90A-F5136F5094DF}
+               {494BAC80-A60C-43A9-99E7-ACB691CE2C4D} = 
{494BAC80-A60C-43A9-99E7-ACB691CE2C4D}
+               {54B1431F-B86B-4ACB-B28C-88BCF93191D8} = 
{54B1431F-B86B-4ACB-B28C-88BCF93191D8}
+               {6901D91C-6E48-4BB7-9FEC-700C8131DF1D} = 
{6901D91C-6E48-4BB7-9FEC-700C8131DF1D}
+@@ -44,7 +40,6 @@
+               {EB6E69DD-04BF-4543-9B92-49FAABCEAC2E} = 
{EB6E69DD-04BF-4543-9B92-49FAABCEAC2E}
+               {ECC7CEAC-A5E5-458E-BB9E-2413CC847881} = 
{ECC7CEAC-A5E5-458E-BB9E-2413CC847881}
+               {F749B822-B489-4CA5-A3AD-CE078F5F338A} = 
{F749B822-B489-4CA5-A3AD-CE078F5F338A}
+-              {F9D71780-F393-11E0-BE50-0800200C9A66} = 
{F9D71780-F393-11E0-BE50-0800200C9A66}
+               {FCBE1EF2-E0F0-40B1-88B5-00A35D378742} = 
{FCBE1EF2-E0F0-40B1-88B5-00A35D378742}
                {FDB84CBB-2FB6-47C8-A2D6-091E0833239D} = 
{FDB84CBB-2FB6-47C8-A2D6-091E0833239D}
-               {73FCD2BD-F133-46B7-8EC1-144CD82A59D5} = 
{73FCD2BD-F133-46B7-8EC1-144CD82A59D5}
-               {2097F1C1-597C-4167-93E3-656A7D6339B2} = 
{2097F1C1-597C-4167-93E3-656A7D6339B2}
+       EndProjectSection
 @@ -85,8 +80,6 @@
  EndProject
  Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_testimportmultiple", 
"_testimportmultiple.vcxproj", "{36D0C52C-DF4E-45D0-8BC7-E294C3ABC781}"
diff --git a/external/python3/ubsan.patch.0 b/external/python3/ubsan.patch.0
index d5320adacef7..a6c3431f66c5 100644
--- a/external/python3/ubsan.patch.0
+++ b/external/python3/ubsan.patch.0
@@ -12,9 +12,9 @@
  #ifdef F_OK
 --- Objects/dictobject.c
 +++ Objects/dictobject.c
-@@ -1497,7 +1497,7 @@
+@@ -2105,7 +2105,7 @@
              if (unicode) { // combined unicode -> combined unicode
-                 PyDictUnicodeEntry *newentries = 
DK_UNICODE_ENTRIES(mp->ma_keys);
+                 PyDictUnicodeEntry *newentries = DK_UNICODE_ENTRIES(newkeys);
                  if (oldkeys->dk_nentries == numentries && 
mp->ma_keys->dk_kind == DICT_KEYS_UNICODE) {
 -                    memcpy(newentries, oldentries, numentries * 
sizeof(PyDictUnicodeEntry));
 +                    memcpy(newentries, (void *) oldentries, numentries * 
sizeof(PyDictUnicodeEntry));
@@ -32,17 +32,3 @@
      for (i = 0; i < Py_SIZE(b); i++) {
          PyObject *v = src[i];
          dest[i] = Py_NewRef(v);
---- Parser/tokenizer.c
-+++ Parser/tokenizer.c
-@@ -373,9 +373,9 @@
- 
-   for (index = tok->tok_mode_stack_index; index >= 0; --index) {
-     mode = &(tok->tok_mode_stack[index]);
--    mode->f_string_start = tok->buf + mode->f_string_start_offset;
-+    mode->f_string_start = (char *) (((intptr_t) tok->buf) + 
mode->f_string_start_offset);
-     mode->f_string_multi_line_start =
--        tok->buf + mode->f_string_multi_line_start_offset;
-+        (char *) (((intptr_t) tok->buf) + 
mode->f_string_multi_line_start_offset);
-   }
- }
- 

Reply via email to