diff --git a/configure.ac b/configure.ac index 35de9f3ba8a2..13592d0ae71a 100644 --- a/configure.ac +++ b/configure.ac @@ -10286,8 +10286,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=9 - PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.19 + PYTHON_VERSION_MINOR=10 + PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.14 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 a8042f8f3d78..a1d1bb7d9e73 100644 --- a/download.lst +++ b/download.lst @@ -590,8 +590,8 @@ POSTGRESQL_TARBALL := postgresql-14.12.tar.bz2 # three static lines # so that git cherry-pick # will not run into conflicts -PYTHON_SHA256SUM := d4892cd1618f6458cb851208c030df1482779609d0f3939991bd38184f8c679e -PYTHON_TARBALL := Python-3.9.19.tar.xz +PYTHON_SHA256SUM := 9c50481faa8c2832329ba0fc8868d0a606a680fc4f60ec48d26ce8e076751fda +PYTHON_TARBALL := Python-3.10.14.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 775056db220c..2227e4d6246f 100644 --- a/external/python3/ExternalPackage_python3.mk +++ b/external/python3/ExternalPackage_python3.mk @@ -96,7 +96,6 @@ python3_EXTENSION_MODULES= \ 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/parser.$(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 \ @@ -186,7 +185,6 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p Lib/__future__.py \ Lib/__phello__.foo.py \ Lib/_aix_support.py \ - Lib/_bootlocale.py \ Lib/_bootsubprocess.py \ Lib/_collections_abc.py \ Lib/_compat_pickle.py \ @@ -240,7 +238,6 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p Lib/filecmp.py \ Lib/fileinput.py \ Lib/fnmatch.py \ - Lib/formatter.py \ Lib/fractions.py \ Lib/ftplib.py \ Lib/functools.py \ @@ -325,7 +322,6 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p Lib/struct.py \ Lib/subprocess.py \ Lib/sunau.py \ - Lib/symbol.py \ Lib/symtable.py \ Lib/sysconfig.py \ Lib/tabnanny.py \ @@ -372,6 +368,7 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p Lib/asyncio/futures.py \ Lib/asyncio/locks.py \ Lib/asyncio/log.py \ + Lib/asyncio/mixins.py \ Lib/asyncio/proactor_events.py \ Lib/asyncio/protocols.py \ Lib/asyncio/queues.py \ @@ -462,7 +459,6 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p Lib/distutils/command/bdist_dumb.py \ Lib/distutils/command/bdist_msi.py \ Lib/distutils/command/bdist_rpm.py \ - Lib/distutils/command/bdist_wininst.py \ Lib/distutils/command/build.py \ Lib/distutils/command/build_clib.py \ Lib/distutils/command/build_ext.py \ @@ -481,15 +477,6 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/p Lib/distutils/command/register.py \ Lib/distutils/command/sdist.py \ Lib/distutils/command/upload.py \ - Lib/distutils/command/wininst-10.0.exe \ - Lib/distutils/command/wininst-10.0-amd64.exe \ - Lib/distutils/command/wininst-14.0.exe \ - Lib/distutils/command/wininst-14.0-amd64.exe \ - Lib/distutils/command/wininst-6.0.exe \ - Lib/distutils/command/wininst-7.1.exe \ - Lib/distutils/command/wininst-8.0.exe \ - Lib/distutils/command/wininst-9.0.exe \ - Lib/distutils/command/wininst-9.0-amd64.exe \ )) $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/email,\ @@ -669,16 +656,27 @@ $(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/importlib,\ Lib/importlib/__init__.py \ + Lib/importlib/_abc.py \ + Lib/importlib/_adapters.py \ Lib/importlib/_bootstrap.py \ Lib/importlib/_bootstrap_external.py \ Lib/importlib/_common.py \ Lib/importlib/abc.py \ Lib/importlib/machinery.py \ - Lib/importlib/metadata.py \ Lib/importlib/resources.py \ Lib/importlib/util.py \ )) +$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/importlib/metadata,\ + Lib/importlib/metadata/__init__.py \ + Lib/importlib/metadata/_adapters.py \ + Lib/importlib/metadata/_collections.py \ + Lib/importlib/metadata/_functools.py \ + Lib/importlib/metadata/_itertools.py \ + Lib/importlib/metadata/_meta.py \ + Lib/importlib/metadata/_text.py \ +)) + $(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/json,\ Lib/json/__init__.py \ Lib/json/decoder.py \ diff --git a/external/python3/UnpackedTarball_python3.mk b/external/python3/UnpackedTarball_python3.mk index 4b1ae232a3cb..4e522715afc2 100644 --- a/external/python3/UnpackedTarball_python3.mk +++ b/external/python3/UnpackedTarball_python3.mk @@ -30,7 +30,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,python3,\ external/python3/ubsan.patch.0 \ external/python3/python-3.5.tweak.strip.soabi.patch \ external/python3/darwin.patch.0 \ - external/python3/macos-11.patch.0 \ external/python3/tsan.patch.0 \ external/python3/init-sys-streams-cant-initialize-stdin.patch.0 \ )) diff --git a/external/python3/init-sys-streams-cant-initialize-stdin.patch.0 b/external/python3/init-sys-streams-cant-initialize-stdin.patch.0 index 1a3ae8969479..fa23b27fae84 100644 --- a/external/python3/init-sys-streams-cant-initialize-stdin.patch.0 +++ b/external/python3/init-sys-streams-cant-initialize-stdin.patch.0 @@ -21,7 +21,7 @@ /* 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 -@@ -1971,19 +1971,6 @@ +@@ -2335,19 +2335,6 @@ PyStatus res = _PyStatus_OK(); const PyConfig *config = _PyInterpreterState_GetConfig(tstate->interp); @@ -38,6 +38,6 @@ - } -#endif - - /* Hack to avoid a nasty recursion issue when Python is invoked - in verbose mode: pre-import the Latin-1 and UTF-8 codecs */ - if ((m = PyImport_ImportModule("encodings.utf_8")) == NULL) { + if (!(iomod = PyImport_ImportModule("io"))) { + goto error; + } diff --git a/external/python3/macos-11.patch.0 b/external/python3/macos-11.patch.0 deleted file mode 100644 index 2c8b419bbdb9..000000000000 --- a/external/python3/macos-11.patch.0 +++ /dev/null @@ -1,34 +0,0 @@ ---- setup.py -+++ setup.py -@@ -655,7 +655,10 @@ - add_dir_to_list(self.compiler.include_dirs, - sysconfig.get_config_var("INCLUDEDIR")) - -- system_lib_dirs = ['/lib64', '/usr/lib64', '/lib', '/usr/lib'] -+ if MACOS: -+ system_lib_dirs = ['/usr/lib', macosx_sdk_root()+'/usr/lib'] -+ else: -+ system_lib_dirs = ['/lib64', '/usr/lib64', '/lib', '/usr/lib'] - system_include_dirs = ['/usr/include'] - # lib_dirs and inc_dirs are used to search for files; - # if a file is found in one of those directories, it can ---- Modules/_posixsubprocess.c -+++ Modules/_posixsubprocess.c -@@ -30,6 +30,8 @@ - # define SYS_getdents64 __NR_getdents64 - #endif - -+#include -+ - #if defined(__sun) && defined(__SVR4) - /* readdir64 is used to work around Solaris 9 bug 6395699. */ - # define readdir readdir64 -@@ -201,7 +203,7 @@ - #endif - #ifdef _SC_OPEN_MAX - local_max_fd = sysconf(_SC_OPEN_MAX); -- if (local_max_fd == -1) -+ if (local_max_fd == -1 || local_max_fd == LONG_MAX) - #endif - local_max_fd = 256; /* Matches legacy Lib/subprocess.py behavior. */ - return local_max_fd; 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 b248db33ef17..b2e443659cf9 100644 --- a/external/python3/python-3.3.3-elf-rpath.patch.1 +++ b/external/python3/python-3.3.3-elf-rpath.patch.1 @@ -5,10 +5,10 @@ set RPATH (only to be used on ELF platforms) diff -ru python3.orig/Makefile.pre.in python3/Makefile.pre.in --- python3.orig/Makefile.pre.in 2015-07-26 20:29:07.126194320 +0200 +++ python3/Makefile.pre.in 2015-07-26 20:37:21.814227530 +0200 -@@ -589,7 +589,7 @@ +@@ -586,7 +586,7 @@ # Build the interpreter - $(BUILDPYTHON): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) $(EXPORTSYMS) + $(BUILDPYTHON): Programs/python.o $(LIBRARY_DEPS) - $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) + $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) -Wl,-rpath,\$$ORIGIN 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 880e4a9cfb5b..5ba33a7f8ab3 100644 --- a/external/python3/python-3.5.4-msvc-disable.patch.1 +++ b/external/python3/python-3.5.4-msvc-disable.patch.1 @@ -21,7 +21,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,24 +37,14 @@ +@@ -41,22 +37,14 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_testimportmultiple", "_testimportmultiple.vcxproj", "{36D0C52C-DF4E-45D0-8BC7-E294C3ABC781}" EndProject @@ -37,8 +37,6 @@ diff -ru python3.orig/PCbuild/pcbuild.sln python3/PCbuild/pcbuild.sln EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pyexpat", "pyexpat.vcxproj", "{D06B6426-4762-44CC-8BAD-D79052507F2F}" EndProject --Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bdist_wininst", "..\PC\bdist_wininst\bdist_wininst.vcxproj", "{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}" --EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_hashlib", "_hashlib.vcxproj", "{447F05A8-F581-4CAC-A466-5AC7936E207E}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3", "sqlite3.vcxproj", "{A1A295E5-463C-437F-81CA-1F32367685DA}" @@ -46,7 +44,7 @@ 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 +79,6 @@ +@@ -93,8 +81,6 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_queue", "_queue.vcxproj", "{78D80A15-BD8C-44E2-B49E-1F05B0A0A687}" EndProject