From 4e95a5895eea1a3ae752b7f65dfd80a3eba086bb Mon Sep 17 00:00:00 2001 From: Alexandru Ardelean Date: Thu, 20 Aug 2026 18:35:57 +0300 Subject: [PATCH] python3: update to 3.14.7 Refresh PKG_HASH from the python.org release tarball, and bump PYTHON3_PIP_VERSION to 26.2.1 to match the pip wheel bundled in 3.14.7's ensurepip (it already matches the python-pip package version). Refresh the patches against the new source; only the hunk offsets shift. Signed-off-by: Alexandru Ardelean --- lang/python/python3-version.mk | 4 ++-- lang/python/python3/Makefile | 4 ++-- .../python3/patches/003-do-not-run-compileall.patch | 9 +++++++-- .../patches/004-do-not-write-bytes-codes.patch | 7 ++++++- ...09-don-t-run-profile-task-during-cross-build.patch | 9 +++++++-- .../patches/025-choose-python-config-version.patch | 7 ++++++- .../python3/patches/027-fix-host-build-libressl.patch | 11 ++++++++--- 7 files changed, 38 insertions(+), 13 deletions(-) diff --git a/lang/python/python3-version.mk b/lang/python/python3-version.mk index 698a65bf9d..219fe23a31 100644 --- a/lang/python/python3-version.mk +++ b/lang/python/python3-version.mk @@ -8,9 +8,9 @@ # Note: keep in sync with pip PYTHON3_VERSION_MAJOR:=3 PYTHON3_VERSION_MINOR:=14 -PYTHON3_VERSION_MICRO:=5 +PYTHON3_VERSION_MICRO:=7 PYTHON3_VERSION:=$(PYTHON3_VERSION_MAJOR).$(PYTHON3_VERSION_MINOR) PYTHON3_PIP_PKG_RELEASE:=1 -PYTHON3_PIP_VERSION:=26.1.1 +PYTHON3_PIP_VERSION:=26.2.1 diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile index fe0d3dc6e2..f692ae708e 100644 --- a/lang/python/python3/Makefile +++ b/lang/python/python3/Makefile @@ -11,12 +11,12 @@ include $(TOPDIR)/rules.mk include ../python3-version.mk PKG_NAME:=python3 -PKG_RELEASE:=2 +PKG_RELEASE:=1 PKG_VERSION:=$(PYTHON3_VERSION).$(PYTHON3_VERSION_MICRO) PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://www.python.org/ftp/python/$(PKG_VERSION) -PKG_HASH:=7e32597b99e5d9a39abed35de4693fa169df3e5850d4c334337ffd6a19a36db6 +PKG_HASH:=3b48dac8fb59f62eaa67ac83c1eb12bda1b7a08406dd286e252c11a66be27f81 PKG_MAINTAINER:=Alexandru Ardelean PKG_LICENSE:=Python-2.0.1 0BSD diff --git a/lang/python/python3/patches/003-do-not-run-compileall.patch b/lang/python/python3/patches/003-do-not-run-compileall.patch index ec3ea216cb..e33322ff72 100644 --- a/lang/python/python3/patches/003-do-not-run-compileall.patch +++ b/lang/python/python3/patches/003-do-not-run-compileall.patch @@ -1,6 +1,11 @@ +From 8a4da017902d21ac6cada21a3bb23caa5b39af0b Mon Sep 17 00:00:00 2001 +From: Jeffery To +Date: Fri, 12 May 2023 19:40:11 +0800 +Subject: [PATCH] Do not run compileall + --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -2813,6 +2813,7 @@ libinstall: all $(srcdir)/Modules/xxmodu +@@ -2819,6 +2819,7 @@ libinstall: all $(srcdir)/Modules/xxmodu echo "Applying app store compliance patch"; \ patch --force --reject-file "$(abs_builddir)/app-store-compliance.rej" --strip 2 --directory "$(DESTDIR)$(LIBDEST)" --input "$(abs_srcdir)/$(APP_STORE_COMPLIANCE_PATCH)" || true ; \ fi @@ -8,7 +13,7 @@ @ # Build PYC files for the 3 optimization levels (0, 1, 2) -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \ -@@ -2823,6 +2824,7 @@ libinstall: all $(srcdir)/Modules/xxmodu +@@ -2829,6 +2830,7 @@ libinstall: all $(srcdir)/Modules/xxmodu $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \ -o 0 -o 1 -o 2 $(COMPILEALL_OPTS) -d $(LIBDEST)/site-packages -f \ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages diff --git a/lang/python/python3/patches/004-do-not-write-bytes-codes.patch b/lang/python/python3/patches/004-do-not-write-bytes-codes.patch index 5258af827b..439a42d66b 100644 --- a/lang/python/python3/patches/004-do-not-write-bytes-codes.patch +++ b/lang/python/python3/patches/004-do-not-write-bytes-codes.patch @@ -1,6 +1,11 @@ +From 5b85eff6b2d9107bfb5bed7d6b64ff0460f3bc16 Mon Sep 17 00:00:00 2001 +From: Alexandru Ardelean +Date: Thu, 13 Nov 2014 10:44:36 +0200 +Subject: [PATCH] Do not write byte codes by default + --- a/Python/initconfig.c +++ b/Python/initconfig.c -@@ -475,7 +475,7 @@ int Py_NoSiteFlag = 0; /* Suppress 'impo +@@ -499,7 +499,7 @@ int Py_NoSiteFlag = 0; /* Suppress 'impo int Py_BytesWarningFlag = 0; /* Warn on str(bytes) and str(buffer) */ int Py_FrozenFlag = 0; /* Needed by getpath.c */ int Py_IgnoreEnvironmentFlag = 0; /* e.g. PYTHONPATH, PYTHONHOME */ diff --git a/lang/python/python3/patches/009-don-t-run-profile-task-during-cross-build.patch b/lang/python/python3/patches/009-don-t-run-profile-task-during-cross-build.patch index 803227c358..8878ef5d01 100644 --- a/lang/python/python3/patches/009-don-t-run-profile-task-during-cross-build.patch +++ b/lang/python/python3/patches/009-don-t-run-profile-task-during-cross-build.patch @@ -1,6 +1,11 @@ +From 97a92f2e7a77c39d087892f5c9a7350c31f3d65b Mon Sep 17 00:00:00 2001 +From: Alexandru Ardelean +Date: Sun, 24 Nov 2024 10:59:27 +0200 +Subject: [PATCH] Do not run profile task during cross build + --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -852,6 +852,7 @@ profile-gen-stamp: profile-clean-stamp +@@ -856,6 +856,7 @@ profile-gen-stamp: profile-clean-stamp # Run task with profile generation build to create profile information. profile-run-stamp: @@ -8,7 +13,7 @@ @echo "Running code to generate profile data (this can take a while):" # First, we need to create a clean build with profile generation # enabled. -@@ -865,6 +866,7 @@ profile-run-stamp: +@@ -869,6 +870,7 @@ profile-run-stamp: # This is an expensive target to build and it does not have proper # makefile dependency information. So, we create a "stamp" file # to record its completion and avoid re-running it. diff --git a/lang/python/python3/patches/025-choose-python-config-version.patch b/lang/python/python3/patches/025-choose-python-config-version.patch index ca81fef889..00c7d7b5ca 100644 --- a/lang/python/python3/patches/025-choose-python-config-version.patch +++ b/lang/python/python3/patches/025-choose-python-config-version.patch @@ -1,6 +1,11 @@ +From 18330902a0ca1b162e1ae938d8024cfb7e7c524d Mon Sep 17 00:00:00 2001 +From: Jeffery To +Date: Tue, 16 Feb 2021 22:23:50 +0800 +Subject: [PATCH] Choose python-config version + --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -2839,7 +2839,7 @@ python-config: $(srcdir)/Misc/python-con +@@ -2845,7 +2845,7 @@ python-config: $(srcdir)/Misc/python-con @ # On Darwin, always use the python version of the script, the shell @ # version doesn't use the compiler customizations that are provided @ # in python (_osx_support.py). diff --git a/lang/python/python3/patches/027-fix-host-build-libressl.patch b/lang/python/python3/patches/027-fix-host-build-libressl.patch index 07c16dfc45..736c8fb4d6 100644 --- a/lang/python/python3/patches/027-fix-host-build-libressl.patch +++ b/lang/python/python3/patches/027-fix-host-build-libressl.patch @@ -1,6 +1,11 @@ +From 49e3c330d4b5e17a740bc51b7ebbb9a42c67e505 Mon Sep 17 00:00:00 2001 +From: Sean Khan +Date: Thu, 27 Jun 2024 22:06:30 -0400 +Subject: [PATCH] Fix host build with LibreSSL + --- a/Modules/_ssl.c +++ b/Modules/_ssl.c -@@ -74,7 +74,10 @@ +@@ -75,7 +75,10 @@ # error "OPENSSL_THREADS is not defined, Python requires thread-safe OpenSSL" #endif @@ -12,7 +17,7 @@ struct py_ssl_error_code { const char *mnemonic; -@@ -4898,7 +4901,11 @@ _ssl__SSLContext_cert_store_stats_impl(P +@@ -4905,7 +4908,11 @@ _ssl__SSLContext_cert_store_stats_impl(P int x509 = 0, crl = 0, ca = 0, i; store = SSL_CTX_get_cert_store(self->ctx); @@ -24,7 +29,7 @@ if (objs == NULL) { PyErr_SetString(PyExc_MemoryError, "failed to query cert store"); return NULL; -@@ -4954,7 +4961,11 @@ _ssl__SSLContext_get_ca_certs_impl(PySSL +@@ -4961,7 +4968,11 @@ _ssl__SSLContext_get_ca_certs_impl(PySSL } store = SSL_CTX_get_cert_store(self->ctx);