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)\libmpdecnt.h" /> + <ClInclude Include="$(mpdecimalDir)\libmpdecourstep.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)\libmpdecourstep.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); - } - } -
