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 @@
+ CONFIG_32;ANSI;%(PreprocessorDefinitions)
+ CONFIG_64;ANSI;%(PreprocessorDefinitions)
+ CONFIG_64;MASM;%(PreprocessorDefinitions)
+- ..\Modules\_decimal;..\Modules\_decimal\windows;$(mpdecimalDir)\libmpdec;%(AdditionalIncludeDirectories)
++ ..\Modules\_decimal;$(mpdecimalDir)\libmpdec;%(AdditionalIncludeDirectories)
+
+
+
+@@ -111,11 +111,7 @@
+
+
+
+-
+-
+-
+-
+-
++
+
+
+
+--- 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 @@
+
+ Header Files\libmpdec
+
+-
++
+ Header Files\libmpdec
+
+
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(" 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/
- Python
+ LibreOfficePython
CFBundleGetInfoString
- %version%, (c) 2001-2023 Python Software Foundation.
+ %version%, (c) 2001-2024 Python Software Foundation.
CFBundleHelpBookFolder
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);
- }
- }
-