configure.ac                                       |    4 
 download.lst                                       |    4 
 external/python3/ExternalPackage_python3.mk        |  371 +++++----------------
 external/python3/ExternalProject_python3.mk        |    7 
 external/python3/UnpackedTarball_python3.mk        |    8 
 external/python3/darwin.patch.0                    |   10 
 external/python3/internal-zlib.patch.0             |   17 
 external/python3/python-3.5.4-msvc-disable.patch.1 |   44 ++
 external/python3/python-3.7.6-msvc-ssl.patch.1     |   12 
 external/python3/tsan.patch.0                      |   10 
 external/python3/ubsan.patch.0                     |   26 -
 pyuno/source/loader/pyuno_loader.cxx               |    2 
 12 files changed, 169 insertions(+), 346 deletions(-)

New commits:
commit 528cdd6573748d01c9d99ca3710a808866281921
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Mon Feb 17 14:14:49 2025 +0100
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Tue Jun 17 20:39:18 2025 +0200

    python3: upgrade to 3.12.11 (master only)
    
    * Py_DontWriteBytecodeFlag is deprecated now, replace it with
    PyConfig.write_bytecode
    
    * setuptools and pip are no longer available by default on mac.
    Get them from the wheel files the same way linux and windows do
    
    Downloaded from 
https://www.python.org/ftp/python/3.12.11/Python-3.12.11.tar.xz
    
    Change-Id: Id1043671d8fbb6b3bfa39afbf6aedd634c92c5f4
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181785
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/configure.ac b/configure.ac
index 65d31a0bac67..afe38b969770 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10523,8 +10523,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=11
-    PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.13
+    PYTHON_VERSION_MINOR=12
+    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 e897d17f6318..4b884ebf7c6e 100644
--- a/download.lst
+++ b/download.lst
@@ -596,8 +596,8 @@ POSTGRESQL_TARBALL := postgresql-15.13.tar.bz2
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-PYTHON_SHA256SUM := 
8fb5f9fbc7609fa822cb31549884575db7fd9657cbffb89510b5d7975963a83a
-PYTHON_TARBALL := Python-3.11.13.tar.xz
+PYTHON_SHA256SUM := 
c30bb24b7f1e9a19b11b55a546434f74e739bb4c271a3e3a80ff4380d49f7adb
+PYTHON_TARBALL := Python-3.12.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 3e10b65a0320..f9edcec4a404 100644
--- a/external/python3/ExternalPackage_python3.mk
+++ b/external/python3/ExternalPackage_python3.mk
@@ -69,71 +69,71 @@ SOABI=-x86_64-linux-gnu
 endif
 
python3_EXTENSION_MODULE_SUFFIX=cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)$(if
 $(ENABLE_DBGUTIL),d)$(SOABI)
 python3_EXTENSION_MODULES= \
-       LO_lib/array.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_asyncio.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/audioop.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/binascii.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_bisect.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_blake2.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_bz2.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/cmath.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_codecs_cn.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_codecs_hk.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_codecs_iso2022.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_codecs_jp.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_codecs_kr.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_codecs_tw.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_contextvars.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_crypt.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_csv.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_ctypes.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_datetime.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_decimal.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_elementtree.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/fcntl.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/grp.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       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 \
+       Modules/_bz2.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/cmath.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/_codecs_cn.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/_codecs_hk.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/_codecs_iso2022.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/_codecs_jp.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       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 \
+       Modules/_decimal.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/_elementtree.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/fcntl.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/grp.$(python3_EXTENSION_MODULE_SUFFIX).so \
        $(if $(ENABLE_OPENSSL), \
-               LO_lib/_hashlib.$(python3_EXTENSION_MODULE_SUFFIX).so \
+               Modules/_hashlib.$(python3_EXTENSION_MODULE_SUFFIX).so \
        ) \
-       LO_lib/_heapq.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_json.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_lsprof.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/math.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_md5.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/mmap.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_multibytecodec.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_multiprocessing.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_opcode.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/ossaudiodev.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_pickle.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_posixshmem.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_posixsubprocess.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/pyexpat.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_queue.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_random.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/resource.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/select.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_sha1.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_sha256.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_sha3.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_sha512.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_socket.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/spwd.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/_heapq.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/_json.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/_lsprof.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/math.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/_md5.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/mmap.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       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 \
+       Modules/pyexpat.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/_queue.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/_random.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/resource.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/select.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/_sha1.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/_sha2.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/_sha3.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/_socket.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/spwd.$(python3_EXTENSION_MODULE_SUFFIX).so \
        $(if $(ENABLE_OPENSSL), \
-               LO_lib/_ssl.$(python3_EXTENSION_MODULE_SUFFIX).so \
+               Modules/_ssl.$(python3_EXTENSION_MODULE_SUFFIX).so \
        ) \
-       LO_lib/_statistics.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_struct.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/syslog.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/termios.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/unicodedata.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_uuid.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/xxlimited_35.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/xxlimited.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_xxsubinterpreters.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_xxtestfuzz.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/zlib.$(python3_EXTENSION_MODULE_SUFFIX).so \
-       LO_lib/_zoneinfo.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/_statistics.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/_struct.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/syslog.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/termios.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       Modules/unicodedata.$(python3_EXTENSION_MODULE_SUFFIX).so \
+       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 \
+       Modules/_zoneinfo.$(python3_EXTENSION_MODULE_SUFFIX).so \
 
 
 $(eval $(call 
gb_ExternalPackage_add_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/lib-dynload,\
@@ -186,15 +186,16 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/__future__.py \
        Lib/__hello__.py \
        Lib/_aix_support.py \
-       Lib/_bootsubprocess.py \
        Lib/_collections_abc.py \
        Lib/_compat_pickle.py \
        Lib/_compression.py \
        Lib/_markupbase.py \
        Lib/_osx_support.py \
        Lib/_py_abc.py \
+       Lib/_pydatetime.py \
        Lib/_pydecimal.py \
        Lib/_pyio.py \
+       Lib/_pylong.py \
        Lib/_sitebuiltins.py \
        Lib/_strptime.py \
        Lib/_threading_local.py \
@@ -204,8 +205,6 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/antigravity.py \
        Lib/argparse.py \
        Lib/ast.py \
-       Lib/asynchat.py \
-       Lib/asyncore.py \
        Lib/base64.py \
        Lib/bdb.py \
        Lib/bisect.py \
@@ -253,7 +252,6 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/hmac.py \
        Lib/imaplib.py \
        Lib/imghdr.py \
-       Lib/imp.py \
        Lib/inspect.py \
        Lib/io.py \
        Lib/ipaddress.py \
@@ -305,7 +303,6 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/shutil.py \
        Lib/signal.py \
        Lib/site.py \
-       Lib/smtpd.py \
        Lib/smtplib.py \
        Lib/sndhdr.py \
        Lib/socket.py \
@@ -348,7 +345,6 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/webbrowser.py \
        Lib/xdrlib.py \
        Lib/zipapp.py \
-       Lib/zipfile.py \
        Lib/zipimport.py \
 ))
 
@@ -434,61 +430,6 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/ctypes/macholib/framework.py \
 ))
 
-$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/distutils,\
-       Lib/distutils/__init__.py \
-       Lib/distutils/_msvccompiler.py \
-       Lib/distutils/archive_util.py \
-       Lib/distutils/bcppcompiler.py \
-       Lib/distutils/ccompiler.py \
-       Lib/distutils/cmd.py \
-       Lib/distutils/config.py \
-       Lib/distutils/core.py \
-       Lib/distutils/cygwinccompiler.py \
-       Lib/distutils/debug.py \
-       Lib/distutils/dep_util.py \
-       Lib/distutils/dir_util.py \
-       Lib/distutils/dist.py \
-       Lib/distutils/errors.py \
-       Lib/distutils/extension.py \
-       Lib/distutils/fancy_getopt.py \
-       Lib/distutils/file_util.py \
-       Lib/distutils/filelist.py \
-       Lib/distutils/log.py \
-       Lib/distutils/msvc9compiler.py \
-       Lib/distutils/msvccompiler.py \
-       Lib/distutils/spawn.py \
-       Lib/distutils/sysconfig.py \
-       Lib/distutils/text_file.py \
-       Lib/distutils/unixccompiler.py \
-       Lib/distutils/util.py \
-       Lib/distutils/version.py \
-       Lib/distutils/versionpredicate.py \
-))
-
-$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/distutils/command,\
-       Lib/distutils/command/__init__.py \
-       Lib/distutils/command/bdist.py \
-       Lib/distutils/command/bdist_dumb.py \
-       Lib/distutils/command/bdist_rpm.py \
-       Lib/distutils/command/build.py \
-       Lib/distutils/command/build_clib.py \
-       Lib/distutils/command/build_ext.py \
-       Lib/distutils/command/build_py.py \
-       Lib/distutils/command/build_scripts.py \
-       Lib/distutils/command/check.py \
-       Lib/distutils/command/clean.py \
-       Lib/distutils/command/config.py \
-       Lib/distutils/command/install.py \
-       Lib/distutils/command/install_data.py \
-       Lib/distutils/command/install_egg_info.py \
-       Lib/distutils/command/install_headers.py \
-       Lib/distutils/command/install_lib.py \
-       Lib/distutils/command/install_scripts.py \
-       Lib/distutils/command/register.py \
-       Lib/distutils/command/sdist.py \
-       Lib/distutils/command/upload.py \
-))
-
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/email,\
        Lib/email/__init__.py \
        Lib/email/_encoded_words.py \
@@ -862,6 +803,7 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/pip/_internal/cli/base_command.py \
        Lib/pip/_internal/cli/cmdoptions.py \
        Lib/pip/_internal/cli/command_context.py \
+       Lib/pip/_internal/cli/index_command.py \
        Lib/pip/_internal/cli/main.py \
        Lib/pip/_internal/cli/main_parser.py \
        Lib/pip/_internal/cli/parser.py \
@@ -1020,7 +962,6 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/pip/_internal/utils/deprecation.py \
        Lib/pip/_internal/utils/direct_url_helpers.py \
        Lib/pip/_internal/utils/egg_link.py \
-       Lib/pip/_internal/utils/encoding.py \
        Lib/pip/_internal/utils/entrypoints.py \
        Lib/pip/_internal/utils/filesystem.py \
        Lib/pip/_internal/utils/filetypes.py \
@@ -1028,8 +969,8 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/pip/_internal/utils/hashes.py \
        Lib/pip/_internal/utils/logging.py \
        Lib/pip/_internal/utils/misc.py \
-       Lib/pip/_internal/utils/models.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 \
@@ -1050,7 +991,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,\
        Lib/pip/_vendor/__init__.py \
-       Lib/pip/_vendor/six.py \
        Lib/pip/_vendor/typing_extensions.py \
        Lib/pip/_vendor/vendor.txt \
 ))
@@ -1080,72 +1020,6 @@ $(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/chardet,\
-       Lib/pip/_vendor/chardet/__init__.py \
-       Lib/pip/_vendor/chardet/big5freq.py \
-       Lib/pip/_vendor/chardet/big5prober.py \
-       Lib/pip/_vendor/chardet/chardistribution.py \
-       Lib/pip/_vendor/chardet/charsetgroupprober.py \
-       Lib/pip/_vendor/chardet/charsetprober.py \
-       Lib/pip/_vendor/chardet/codingstatemachine.py \
-       Lib/pip/_vendor/chardet/codingstatemachinedict.py \
-       Lib/pip/_vendor/chardet/cp949prober.py \
-       Lib/pip/_vendor/chardet/enums.py \
-       Lib/pip/_vendor/chardet/escprober.py \
-       Lib/pip/_vendor/chardet/escsm.py \
-       Lib/pip/_vendor/chardet/eucjpprober.py \
-       Lib/pip/_vendor/chardet/euckrfreq.py \
-       Lib/pip/_vendor/chardet/euckrprober.py \
-       Lib/pip/_vendor/chardet/euctwfreq.py \
-       Lib/pip/_vendor/chardet/euctwprober.py \
-       Lib/pip/_vendor/chardet/gb2312freq.py \
-       Lib/pip/_vendor/chardet/gb2312prober.py \
-       Lib/pip/_vendor/chardet/hebrewprober.py \
-       Lib/pip/_vendor/chardet/jisfreq.py \
-       Lib/pip/_vendor/chardet/johabfreq.py \
-       Lib/pip/_vendor/chardet/johabprober.py \
-       Lib/pip/_vendor/chardet/jpcntx.py \
-       Lib/pip/_vendor/chardet/langbulgarianmodel.py \
-       Lib/pip/_vendor/chardet/langgreekmodel.py \
-       Lib/pip/_vendor/chardet/langhebrewmodel.py \
-       Lib/pip/_vendor/chardet/langhungarianmodel.py \
-       Lib/pip/_vendor/chardet/langrussianmodel.py \
-       Lib/pip/_vendor/chardet/langthaimodel.py \
-       Lib/pip/_vendor/chardet/langturkishmodel.py \
-       Lib/pip/_vendor/chardet/latin1prober.py \
-       Lib/pip/_vendor/chardet/macromanprober.py \
-       Lib/pip/_vendor/chardet/mbcharsetprober.py \
-       Lib/pip/_vendor/chardet/mbcsgroupprober.py \
-       Lib/pip/_vendor/chardet/mbcssm.py \
-       Lib/pip/_vendor/chardet/resultdict.py \
-       Lib/pip/_vendor/chardet/sbcharsetprober.py \
-       Lib/pip/_vendor/chardet/sbcsgroupprober.py \
-       Lib/pip/_vendor/chardet/sjisprober.py \
-       Lib/pip/_vendor/chardet/universaldetector.py \
-       Lib/pip/_vendor/chardet/utf1632prober.py \
-       Lib/pip/_vendor/chardet/utf8prober.py \
-       Lib/pip/_vendor/chardet/version.py \
-))
-
-$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/chardet/cli,\
-       Lib/pip/_vendor/chardet/cli/__init__.py \
-       Lib/pip/_vendor/chardet/cli/chardetect.py \
-))
-
-$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/chardet/metadata,\
-       Lib/pip/_vendor/chardet/metadata/__init__.py \
-       Lib/pip/_vendor/chardet/metadata/languages.py \
-))
-
-$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/colorama,\
-       Lib/pip/_vendor/colorama/__init__.py \
-       Lib/pip/_vendor/colorama/ansi.py \
-       Lib/pip/_vendor/colorama/ansitowin32.py \
-       Lib/pip/_vendor/colorama/initialise.py \
-       Lib/pip/_vendor/colorama/win32.py \
-       Lib/pip/_vendor/colorama/winterm.py \
-))
-
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/distlib,\
        Lib/pip/_vendor/distlib/__init__.py \
        Lib/pip/_vendor/distlib/compat.py \
@@ -1193,12 +1067,15 @@ $(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/packaging,\
-       Lib/pip/_vendor/packaging/__about__.py \
        Lib/pip/_vendor/packaging/__init__.py \
+       Lib/pip/_vendor/packaging/_elffile.py \
        Lib/pip/_vendor/packaging/_manylinux.py \
        Lib/pip/_vendor/packaging/_musllinux.py \
+       Lib/pip/_vendor/packaging/_parser.py \
        Lib/pip/_vendor/packaging/_structures.py \
+       Lib/pip/_vendor/packaging/_tokenizer.py \
        Lib/pip/_vendor/packaging/markers.py \
+       Lib/pip/_vendor/packaging/metadata.py \
        Lib/pip/_vendor/packaging/requirements.py \
        Lib/pip/_vendor/packaging/specifiers.py \
        Lib/pip/_vendor/packaging/tags.py \
@@ -1206,6 +1083,11 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/pip/_vendor/packaging/version.py \
 ))
 
+$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/packaging/licenses,\
+       Lib/pip/_vendor/packaging/licenses/__init__.py \
+       Lib/pip/_vendor/packaging/licenses/_spdx.py \
+))
+
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/pkg_resources,\
        Lib/pip/_vendor/pkg_resources/__init__.py \
 ))
@@ -1269,28 +1151,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/pygments/styles,\
        Lib/pip/_vendor/pygments/styles/__init__.py \
-))
-
-$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/pyparsing,\
-       Lib/pip/_vendor/pyparsing/__init__.py \
-       Lib/pip/_vendor/pyparsing/actions.py \
-       Lib/pip/_vendor/pyparsing/common.py \
-       Lib/pip/_vendor/pyparsing/core.py \
-       Lib/pip/_vendor/pyparsing/exceptions.py \
-       Lib/pip/_vendor/pyparsing/helpers.py \
-       Lib/pip/_vendor/pyparsing/results.py \
-       Lib/pip/_vendor/pyparsing/testing.py \
-       Lib/pip/_vendor/pyparsing/unicode.py \
-       Lib/pip/_vendor/pyparsing/util.py \
-))
-
-$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/pyparsing/diagram,\
-       Lib/pip/_vendor/pyparsing/diagram/__init__.py \
+       Lib/pip/_vendor/pygments/styles/_mapping.py \
 ))
 
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/pyproject_hooks,\
        Lib/pip/_vendor/pyproject_hooks/__init__.py \
-       Lib/pip/_vendor/pyproject_hooks/_compat.py \
        Lib/pip/_vendor/pyproject_hooks/_impl.py \
 ))
 
@@ -1413,20 +1278,6 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/pip/_vendor/rich/tree.py \
 ))
 
-$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/tenacity,\
-       Lib/pip/_vendor/tenacity/__init__.py \
-       Lib/pip/_vendor/tenacity/_asyncio.py \
-       Lib/pip/_vendor/tenacity/_utils.py \
-       Lib/pip/_vendor/tenacity/after.py \
-       Lib/pip/_vendor/tenacity/before.py \
-       Lib/pip/_vendor/tenacity/before_sleep.py \
-       Lib/pip/_vendor/tenacity/nap.py \
-       Lib/pip/_vendor/tenacity/retry.py \
-       Lib/pip/_vendor/tenacity/stop.py \
-       Lib/pip/_vendor/tenacity/tornadoweb.py \
-       Lib/pip/_vendor/tenacity/wait.py \
-))
-
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/tomli,\
        Lib/pip/_vendor/tomli/__init__.py \
        Lib/pip/_vendor/tomli/_parser.py \
@@ -1500,21 +1351,13 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/pip/_vendor/urllib3/util/wait.py \
 ))
 
-$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pip/_vendor/webencodings,\
-       Lib/pip/_vendor/webencodings/__init__.py \
-       Lib/pip/_vendor/webencodings/labels.py \
-       Lib/pip/_vendor/webencodings/mklabels.py \
-       Lib/pip/_vendor/webencodings/tests.py \
-       Lib/pip/_vendor/webencodings/x_user_defined.py \
-))
-
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pkg_resources,\
        Lib/pkg_resources/__init__.py \
 ))
 
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pkg_resources/_vendor,\
        Lib/pkg_resources/_vendor/__init__.py \
-       Lib/pkg_resources/_vendor/appdirs.py \
+       Lib/pkg_resources/_vendor/typing_extensions.py \
        Lib/pkg_resources/_vendor/zipp.py \
 ))
 
@@ -1547,11 +1390,13 @@ $(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/pkg_resources/_vendor/packaging,\
-       Lib/pkg_resources/_vendor/packaging/__about__.py \
        Lib/pkg_resources/_vendor/packaging/__init__.py \
+       Lib/pkg_resources/_vendor/packaging/_elffile.py \
        Lib/pkg_resources/_vendor/packaging/_manylinux.py \
        Lib/pkg_resources/_vendor/packaging/_musllinux.py \
+       Lib/pkg_resources/_vendor/packaging/_parser.py \
        Lib/pkg_resources/_vendor/packaging/_structures.py \
+       Lib/pkg_resources/_vendor/packaging/_tokenizer.py \
        Lib/pkg_resources/_vendor/packaging/markers.py \
        Lib/pkg_resources/_vendor/packaging/requirements.py \
        Lib/pkg_resources/_vendor/packaging/specifiers.py \
@@ -1560,21 +1405,15 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/pkg_resources/_vendor/packaging/version.py \
 ))
 
-$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pkg_resources/_vendor/pyparsing,\
-       Lib/pkg_resources/_vendor/pyparsing/__init__.py \
-       Lib/pkg_resources/_vendor/pyparsing/actions.py \
-       Lib/pkg_resources/_vendor/pyparsing/common.py \
-       Lib/pkg_resources/_vendor/pyparsing/core.py \
-       Lib/pkg_resources/_vendor/pyparsing/exceptions.py \
-       Lib/pkg_resources/_vendor/pyparsing/helpers.py \
-       Lib/pkg_resources/_vendor/pyparsing/results.py \
-       Lib/pkg_resources/_vendor/pyparsing/testing.py \
-       Lib/pkg_resources/_vendor/pyparsing/unicode.py \
-       Lib/pkg_resources/_vendor/pyparsing/util.py \
-))
-
-$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pkg_resources/_vendor/pyparsing/diagram,\
-       Lib/pkg_resources/_vendor/pyparsing/diagram/__init__.py \
+$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pkg_resources/_vendor/platformdirs,\
+       Lib/pkg_resources/_vendor/platformdirs/__init__.py \
+       Lib/pkg_resources/_vendor/platformdirs/__main__.py \
+       Lib/pkg_resources/_vendor/platformdirs/android.py \
+       Lib/pkg_resources/_vendor/platformdirs/api.py \
+       Lib/pkg_resources/_vendor/platformdirs/macos.py \
+       Lib/pkg_resources/_vendor/platformdirs/unix.py \
+       Lib/pkg_resources/_vendor/platformdirs/version.py \
+       Lib/pkg_resources/_vendor/platformdirs/windows.py \
 ))
 
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pkg_resources/extern,\
@@ -1601,6 +1440,7 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/setuptools/_imp.py \
        Lib/setuptools/_importlib.py \
        Lib/setuptools/_itertools.py \
+       Lib/setuptools/_normalization.py \
        Lib/setuptools/_path.py \
        Lib/setuptools/_reqs.py \
        Lib/setuptools/archive_util.py \
@@ -1639,6 +1479,7 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/setuptools/_distutils/__init__.py \
        Lib/setuptools/_distutils/_collections.py \
        Lib/setuptools/_distutils/_functools.py \
+       Lib/setuptools/_distutils/_log.py \
        Lib/setuptools/_distutils/_macos_compat.py \
        Lib/setuptools/_distutils/_msvccompiler.py \
        Lib/setuptools/_distutils/archive_util.py \
@@ -1712,6 +1553,7 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/setuptools/_vendor/importlib_metadata/_functools.py \
        Lib/setuptools/_vendor/importlib_metadata/_itertools.py \
        Lib/setuptools/_vendor/importlib_metadata/_meta.py \
+       Lib/setuptools/_vendor/importlib_metadata/_py39compat.py \
        Lib/setuptools/_vendor/importlib_metadata/_text.py \
 ))
 
@@ -1744,11 +1586,13 @@ $(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/setuptools/_vendor/packaging,\
-       Lib/setuptools/_vendor/packaging/__about__.py \
        Lib/setuptools/_vendor/packaging/__init__.py \
+       Lib/setuptools/_vendor/packaging/_elffile.py \
        Lib/setuptools/_vendor/packaging/_manylinux.py \
        Lib/setuptools/_vendor/packaging/_musllinux.py \
+       Lib/setuptools/_vendor/packaging/_parser.py \
        Lib/setuptools/_vendor/packaging/_structures.py \
+       Lib/setuptools/_vendor/packaging/_tokenizer.py \
        Lib/setuptools/_vendor/packaging/markers.py \
        Lib/setuptools/_vendor/packaging/requirements.py \
        Lib/setuptools/_vendor/packaging/specifiers.py \
@@ -1757,23 +1601,6 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/setuptools/_vendor/packaging/version.py \
 ))
 
-$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/setuptools/_vendor/pyparsing,\
-       Lib/setuptools/_vendor/pyparsing/__init__.py \
-       Lib/setuptools/_vendor/pyparsing/actions.py \
-       Lib/setuptools/_vendor/pyparsing/common.py \
-       Lib/setuptools/_vendor/pyparsing/core.py \
-       Lib/setuptools/_vendor/pyparsing/exceptions.py \
-       Lib/setuptools/_vendor/pyparsing/helpers.py \
-       Lib/setuptools/_vendor/pyparsing/results.py \
-       Lib/setuptools/_vendor/pyparsing/testing.py \
-       Lib/setuptools/_vendor/pyparsing/unicode.py \
-       Lib/setuptools/_vendor/pyparsing/util.py \
-))
-
-$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/setuptools/_vendor/pyparsing/diagram,\
-       Lib/setuptools/_vendor/pyparsing/diagram/__init__.py \
-))
-
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/setuptools/_vendor/tomli,\
        Lib/setuptools/_vendor/tomli/__init__.py \
        Lib/setuptools/_vendor/tomli/_parser.py \
@@ -1920,6 +1747,16 @@ $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p
        Lib/xmlrpc/server.py \
 ))
 
+$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/zipfile,\
+       Lib/zipfile/__init__.py \
+       Lib/zipfile/__main__.py \
+))
+
+$(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/zipfile/_path,\
+       Lib/zipfile/_path/__init__.py \
+       Lib/zipfile/_path/glob.py \
+))
+
 $(eval $(call 
gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/zoneinfo,\
        Lib/zoneinfo/__init__.py \
        Lib/zoneinfo/_common.py \
diff --git a/external/python3/ExternalProject_python3.mk 
b/external/python3/ExternalProject_python3.mk
index 7530031563ee..68d71462ffc3 100644
--- a/external/python3/ExternalProject_python3.mk
+++ b/external/python3/ExternalProject_python3.mk
@@ -20,6 +20,7 @@ $(eval $(call gb_ExternalProject_use_externals,python3,\
 $(eval $(call gb_ExternalProject_register_targets,python3,\
        build \
        $(if $(filter MACOSX,$(OS)),\
+               packages \
                fixscripts \
                fixinstallnames \
                executables \
@@ -145,6 +146,12 @@ ifeq ($(OS),MACOSX)
 
python3_fw_prefix:=$(gb_UnpackedTarball_workdir)/python3/python-inst/@__________________________________________________OOO/LibreOfficePython.framework/Versions/$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)
 
python3_EXTENSION_MODULE_SUFFIX:=cpython-$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)$(if
 $(ENABLE_DBGUTIL),d)-darwin
 
+# Since python 3.12 setuptools and pip are not available by default
+$(call gb_ExternalProject_get_state_target,python3,packages) : $(call 
gb_ExternalProject_get_state_target,python3,build)
+       cp -r $(gb_UnpackedTarball_workdir)/python3/Lib/setuptools 
$(python3_fw_prefix)/lib/python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/site-packages/
+       cp -r $(gb_UnpackedTarball_workdir)/python3/Lib/_distutils_hack 
$(python3_fw_prefix)/lib/python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/site-packages/
+       cp -r $(gb_UnpackedTarball_workdir)/python3/Lib/pip 
$(python3_fw_prefix)/lib/python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)/site-packages/
+
 # rule to allow relocating the whole framework, removing reference to 
buildinstallation directory
 # also scripts are not allowed to be signed as executables (with extended 
attributes), but need to
 # be treated as data/put into Resources folder, see also
diff --git a/external/python3/UnpackedTarball_python3.mk 
b/external/python3/UnpackedTarball_python3.mk
index 28c22d0e3fca..bc979c337c4a 100644
--- a/external/python3/UnpackedTarball_python3.mk
+++ b/external/python3/UnpackedTarball_python3.mk
@@ -13,17 +13,15 @@ $(eval $(call 
gb_UnpackedTarball_set_tarball,python3,$(PYTHON_TARBALL),,python3)
 
 # Since Python 3.11, _freeze_module.vcxproj needs python.exe to build 
deepfreeze.c on Windows
 # Since a wheel file is just a zip file, unzil them to the Lib directory with 
the other libraries
-ifneq ($(OS),MACOSX)
 $(eval $(call gb_UnpackedTarball_set_pre_action,python3,\
        $(if $(filter WNT,$(OS)), \
                mkdir -p externals/pythonx86 && \
                unzip -q -d externals/pythonx86 -o 
$(gb_UnpackedTarget_TARFILE_LOCATION)/$(PYTHON_BOOTSTRAP_TARBALL) && \
                chmod +x externals/pythonx86/tools/* && \
        ) \
-       unzip -q -d Lib/ -o 
Lib/ensurepip/_bundled/setuptools-65.5.0-py3-none-any.whl && \
-       unzip -q -d Lib/ -o Lib/ensurepip/_bundled/pip-24.0-py3-none-any.whl \
+       unzip -q -d Lib/ -o 
Lib/test/wheeldata/setuptools-67.6.1-py3-none-any.whl && \
+       unzip -q -d Lib/ -o Lib/ensurepip/_bundled/pip-25.0.1-py3-none-any.whl \
 ))
-endif
 
 $(eval $(call gb_UnpackedTarball_fix_end_of_line,python3,\
        PCbuild/libffi.props \
@@ -41,8 +39,6 @@ $(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/darwin.patch.0 \
-       external/python3/tsan.patch.0 \
        external/python3/init-sys-streams-cant-initialize-stdin.patch.0 \
 ))
 
diff --git a/external/python3/darwin.patch.0 b/external/python3/darwin.patch.0
deleted file mode 100644
index 139cdc9780bb..000000000000
--- a/external/python3/darwin.patch.0
+++ /dev/null
@@ -1,10 +0,0 @@
---- Modules/_ctypes/libffi_osx/x86/darwin64.S
-+++ Modules/_ctypes/libffi_osx/x86/darwin64.S
-@@ -29,7 +29,6 @@
- #include <fficonfig.h>
- #include <ffi.h>
- 
-- .file "darwin64.S"
- .text
- 
- /* ffi_call_unix64 (void *args, unsigned long bytes, unsigned flags,
diff --git a/external/python3/internal-zlib.patch.0 
b/external/python3/internal-zlib.patch.0
index 6cbb26c5b467..ca59110a2190 100644
--- a/external/python3/internal-zlib.patch.0
+++ b/external/python3/internal-zlib.patch.0
@@ -1,16 +1,17 @@
 --- configure
 +++ configure
-@@ -16356,13 +16356,13 @@
+@@ -19904,14 +19904,14 @@
        ZLIB_CFLAGS=${ZLIB_CFLAGS-""}
        ZLIB_LIBS=${ZLIB_LIBS-"-lz"}
        py_check_lib_save_LIBS=$LIBS
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflateCopy in -lz" >&5
--$as_echo_n "checking for inflateCopy in -lz... " >&6; }
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflateCopy in -lzlib" 
>&5
-+$as_echo_n "checking for inflateCopy in -lzlib... " >&6; }
- if ${ac_cv_lib_z_inflateCopy+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
+-{ printf "%s
" "$as_me:${as_lineno-$LINENO}: checking for inflateCopy in -lz" >&5
+-printf %s "checking for inflateCopy in -lz... " >&6; }
++{ printf "%s
" "$as_me:${as_lineno-$LINENO}: checking for inflateCopy in -lzlib" >&5
++printf %s "checking for inflateCopy in -lzlib... " >&6; }
+ if test ${ac_cv_lib_z_inflateCopy+y}
+ then :
+   printf %s "(cached) " >&6
+ else $as_nop
    ac_check_lib_save_LIBS=$LIBS
 -LIBS="-lz  $LIBS"
 +LIBS="-lzlib  $LIBS"
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 023856055447..74a96f8800e3 100644
--- a/external/python3/python-3.5.4-msvc-disable.patch.1
+++ b/external/python3/python-3.5.4-msvc-disable.patch.1
@@ -3,16 +3,40 @@ 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
-@@ -18,8 +18,6 @@
+@@ -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}
+-              {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}
+-              {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}
+               {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}
+@@ -54,11 +49,6 @@
                {19C0C13F-47CA-4432-AFF3-799A296A4DDC} = 
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}
        EndProjectSection
  EndProject
 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pythonw", 
"pythonw.vcxproj", "{F4229CC3-873C-49AE-9729-DD308ED4CD4A}"
+-      ProjectSection(ProjectDependencies) = postProject
+-              {B11D750F-CD1F-4A96-85CE-E69A5C5259F9} = 
{B11D750F-CD1F-4A96-85CE-E69A5C5259F9}
+-      EndProjectSection
 -EndProject
  Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winsound", 
"winsound.vcxproj", "{28B5D777-DDF2-4B6B-B34F-31D938813856}"
  EndProject
  Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_decimal", 
"_decimal.vcxproj", "{0E9791DB-593A-465F-98BC-681011311617}"
-@@ -31,8 +29,6 @@
+@@ -73,8 +63,6 @@
  EndProject
  Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_socket", 
"_socket.vcxproj", "{86937F53-C189-40EF-8CE8-8759D8E7D480}"
  EndProject
@@ -21,7 +45,7 @@ diff -ru python3.orig/PCbuild/pcbuild.sln 
python3/PCbuild/pcbuild.sln
  Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ssl", "_ssl.vcxproj", 
"{C6E20F84-3247-4AD6-B051-B073268F73BA}"
  EndProject
  Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_testcapi", 
"_testcapi.vcxproj", "{6901D91C-6E48-4BB7-9FEC-700C8131DF1D}"
-@@ -41,22 +37,14 @@
+@@ -85,22 +73,14 @@
  EndProject
  Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_testimportmultiple", 
"_testimportmultiple.vcxproj", "{36D0C52C-DF4E-45D0-8BC7-E294C3ABC781}"
  EndProject
@@ -44,12 +68,22 @@ diff -ru python3.orig/PCbuild/pcbuild.sln 
python3/PCbuild/pcbuild.sln
  Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_multiprocessing", 
"_multiprocessing.vcxproj", "{9E48B300-37D1-11DD-8C41-005056C00008}"
  EndProject
  Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "python3dll", 
"python3dll.vcxproj", "{885D4898-D08D-4091-9C40-C700CFE3FC5A}"
-@@ -93,8 +81,6 @@
+@@ -139,8 +119,6 @@
  EndProject
  Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_queue", 
"_queue.vcxproj", "{78D80A15-BD8C-44E2-B49E-1F05B0A0A687}"
  EndProject
 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liblzma", 
"liblzma.vcxproj", "{12728250-16EC-4DC6-94D7-E21DD88947F8}"
 -EndProject
  Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "python_uwp", 
"python_uwp.vcxproj", "{9DE9E23D-C8D4-4817-92A9-920A8B1FE5FF}"
+       ProjectSection(ProjectDependencies) = postProject
+               {B11D750F-CD1F-4A96-85CE-E69A5C5259F9} = 
{B11D750F-CD1F-4A96-85CE-E69A5C5259F9}
+@@ -151,9 +129,6 @@
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "venvwlauncher", 
"venvwlauncher.vcxproj", "{FDB84CBB-2FB6-47C8-A2D6-091E0833239D}"
+ EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pythonw_uwp", 
"pythonw_uwp.vcxproj", "{AB603547-1E2A-45B3-9E09-B04596006393}"
+-      ProjectSection(ProjectDependencies) = postProject
+-              {F4229CC3-873C-49AE-9729-DD308ED4CD4A} = 
{F4229CC3-873C-49AE-9729-DD308ED4CD4A}
+-      EndProjectSection
+ EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_uuid", "_uuid.vcxproj", 
"{CB435430-EBB1-478B-8F4E-C256F6838F55}"
  EndProject
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "venvlauncher", 
"venvlauncher.vcxproj", "{494BAC80-A60C-43A9-99E7-ACB691CE2C4D}"
diff --git a/external/python3/python-3.7.6-msvc-ssl.patch.1 
b/external/python3/python-3.7.6-msvc-ssl.patch.1
index 0c475debe94c..e9fa8d2bb128 100644
--- a/external/python3/python-3.7.6-msvc-ssl.patch.1
+++ b/external/python3/python-3.7.6-msvc-ssl.patch.1
@@ -1,17 +1,5 @@
 No use for applink.c OPENSSL_Applink, everything is compiled with the same MSVC
 
---- python3/PCbuild/_ssl.vcxproj.orig2 2019-12-23 15:54:19.254298900 +0100
-+++ python3/PCbuild/_ssl.vcxproj       2019-12-23 15:54:24.693251200 +0100
-@@ -99,9 +99,6 @@
-   </ItemDefinitionGroup>
-   <ItemGroup>
-     <ClCompile Include="..\Modules\_ssl.c" />
--    <ClCompile Include="$(opensslIncludeDir)pplink.c">
--      
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;$(PreprocessorDefinitions)</PreprocessorDefinitions>
--    </ClCompile>
-   </ItemGroup>
-   <ItemGroup>
-     <ResourceCompile Include="..\PC\python_nt.rc" />
 --- python3/PCbuild/openssl.props.orig 2019-12-23 16:20:34.588135900 +0100
 +++ python3/PCbuild/openssl.props      2019-12-23 16:20:51.074001300 +0100
 @@ -11,8 +11,6 @@
diff --git a/external/python3/tsan.patch.0 b/external/python3/tsan.patch.0
deleted file mode 100644
index 6f0d36818769..000000000000
--- a/external/python3/tsan.patch.0
+++ /dev/null
@@ -1,10 +0,0 @@
---- Python/ceval_gil.h
-+++ Python/ceval_gil.h
-@@ -136,6 +136,7 @@
- #ifdef HAVE_FORK
- static void recreate_gil(struct _gil_runtime_state *gil)
- {
-+    _Py_ANNOTATE_RWLOCK_RELEASED(&gil->locked, 1);
-     _Py_ANNOTATE_RWLOCK_DESTROY(&gil->locked);
-     /* XXX should we destroy the old OS resources here? */
-     create_gil(gil);
diff --git a/external/python3/ubsan.patch.0 b/external/python3/ubsan.patch.0
index d9e9d4423214..fcaabad569bd 100644
--- a/external/python3/ubsan.patch.0
+++ b/external/python3/ubsan.patch.0
@@ -1,23 +1,3 @@
---- Modules/_ctypes/libffi_osx/x86/x86-ffi64.c
-+++ Modules/_ctypes/libffi_osx/x86/x86-ffi64.c
-@@ -599,9 +599,15 @@
-       tramp = (volatile unsigned short*)&closure->tramp[0];
- 
-       tramp[0] = 0xbb49;              /* mov <code>, %r11     */
--      *(void* volatile*)&tramp[1] = ffi_closure_unix64;
-+      tramp[1] = (unsigned short) ffi_closure_unix64;
-+      tramp[2] = (unsigned short) (((unsigned long)ffi_closure_unix64) >> 16);
-+      tramp[3] = (unsigned short) (((unsigned long)ffi_closure_unix64) >> 32);
-+      tramp[4] = (unsigned short) (((unsigned long)ffi_closure_unix64) >> 48);
-       tramp[5] = 0xba49;              /* mov <data>, %r10     */
--      *(void* volatile*)&tramp[6] = closure;
-+      tramp[6] = (unsigned short) closure;
-+      tramp[7] = (unsigned short) (((unsigned long)closure) >> 16);
-+      tramp[8] = (unsigned short) (((unsigned long)closure) >> 32);
-+      tramp[9] = (unsigned short) (((unsigned long)closure) >> 48);
- 
-       /*      Set the carry bit if the function uses any sse registers.
-               This is clc or stc, together with the first byte of the jmp.  */
 --- Modules/posixmodule.c
 +++ Modules/posixmodule.c
 @@ -13998,6 +13998,9 @@
@@ -43,12 +23,12 @@
                      PyDictUnicodeEntry *ep = oldentries;
 --- Objects/listobject.c
 +++ Objects/listobject.c
-@@ -554,7 +554,7 @@
-         dest[i] = v;
+@@ -539,7 +539,7 @@
+         dest[i] = Py_NewRef(v);
      }
      src = b->ob_item;
 -    dest = np->ob_item + Py_SIZE(a);
 +    dest = Py_SIZE(a) == 0 ? np->ob_item : np->ob_item + Py_SIZE(a);
      for (i = 0; i < Py_SIZE(b); i++) {
          PyObject *v = src[i];
-         Py_INCREF(v);
+         dest[i] = Py_NewRef(v);
diff --git a/pyuno/source/loader/pyuno_loader.cxx 
b/pyuno/source/loader/pyuno_loader.cxx
index ca3ad6768f64..e1b71af5c360 100644
--- a/pyuno/source/loader/pyuno_loader.cxx
+++ b/pyuno/source/loader/pyuno_loader.cxx
@@ -242,7 +242,7 @@ void pythonInit() {
     PyImport_AppendInittab( "pyuno", PyInit_pyuno );
 
 #if HAVE_FEATURE_READONLY_INSTALLSET
-    Py_DontWriteBytecodeFlag = 1;
+    config.write_bytecode = 0;
 #endif
 
     // initialize python

Reply via email to