* [Buildroot] [PATCH v4 1/3] package/python-pygame: drop package
@ 2023-12-18 22:04 Adam Duskett
2023-12-18 22:04 ` [Buildroot] [PATCH v4 2/3] package/python-crossbar: " Adam Duskett
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Adam Duskett @ 2023-12-18 22:04 UTC (permalink / raw)
To: buildroot; +Cc: James Hilliard, Adam Duskett, Asaf Kahlon, Thomas Petazzoni
The python-pygame package has not recieved any update since
Sun May 1 22:15:17 2016 (commit: a9ec96e545102ae5ccd4280323d35360b0a5072d)
Also, this package no longer builds properly against python 3.12.0. Recieving
the following error when building:
```
src/surface.c:2812:14: error: invalid type argument of unary ‘*’ (have
‘int’)
2812 | ch = *PyUnicode_AS_UNICODE (obj);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/surface.c: In function ‘PySurface_Blit’:
```
If someone wants to re-introduce this package at a later date they are more
than welcome to do so!
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
---
Config.in.legacy | 9 ++
DEVELOPERS | 1 -
package/Config.in | 1 -
package/python-pygame/Config.in | 50 ----------
package/python-pygame/python-pygame.hash | 3 -
package/python-pygame/python-pygame.mk | 111 -----------------------
6 files changed, 9 insertions(+), 166 deletions(-)
delete mode 100644 package/python-pygame/Config.in
delete mode 100644 package/python-pygame/python-pygame.hash
delete mode 100644 package/python-pygame/python-pygame.mk
diff --git a/Config.in.legacy b/Config.in.legacy
index 4689226290..7e065524db 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -144,6 +144,15 @@ endif
###############################################################################
+comment "Legacy options removed in 2024.02"
+
+config BR2_PACKAGE_PYTHON_PYGAME
+ bool "python-pygame removed"
+ select BR2_LEGACY
+ help
+ python-pygame has been removed due to being abandoned and
+ the old version no longer building with python 3.12.0.
+
comment "Legacy options removed in 2023.11"
config BR2_KERNEL_HEADERS_6_5
diff --git a/DEVELOPERS b/DEVELOPERS
index 311dcd9504..77bbbe8c9f 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1695,7 +1695,6 @@ F: package/libcddb/
F: package/libmodbus/
F: package/ltris/
F: package/opentyrian/
-F: package/python-pygame/
N: Julien Corjon <corjon.j@ecagroup.com>
F: package/qt5/
diff --git a/package/Config.in b/package/Config.in
index fcc09b07c4..4e7e9492c0 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1233,7 +1233,6 @@ menu "External python modules"
source "package/python-pydyf/Config.in"
source "package/python-pyelftools/Config.in"
source "package/python-pyftpdlib/Config.in"
- source "package/python-pygame/Config.in"
source "package/python-pygments/Config.in"
source "package/python-pyhamcrest/Config.in"
source "package/python-pyicu/Config.in"
diff --git a/package/python-pygame/Config.in b/package/python-pygame/Config.in
deleted file mode 100644
index 57eb020742..0000000000
--- a/package/python-pygame/Config.in
+++ /dev/null
@@ -1,50 +0,0 @@
-config BR2_PACKAGE_PYTHON_PYGAME
- bool "python-pygame"
- select BR2_PACKAGE_SDL
- help
- Pygame is a cross-platfrom library designed to make it easy
- to write multimedia software, such as games, in
- Python. Pygame requires the Python language and SDL
- multimedia library.
- It can also make use of several other popular libraries.
-
- http://www.pygame.org/
-
-if BR2_PACKAGE_PYTHON_PYGAME
-config BR2_PACKAGE_PYTHON_PYGAME_IMAGE
- bool "pygame.image"
- select BR2_PACKAGE_SDL_IMAGE
- select BR2_PACKAGE_SDL_IMAGE_PNG
- select BR2_PACKAGE_SDL_IMAGE_JPEG
- help
- pygame module for loading, saving and transfering images.
- Will autoselect sdl_image with png and jpeg support.
-
-config BR2_PACKAGE_PYTHON_PYGAME_EXAMPLES
- bool "pygame.examples"
- help
- Include examples.
- Selecting this option adds about 1.5 MB to the target file
- system.
-
-config BR2_PACKAGE_PYTHON_PYGAME_FONT
- bool "pygame.font"
- select BR2_PACKAGE_SDL_TTF
- help
- pygame module for loading and rendering fonts.
- Will autoselect sdl_ttf.
-
-config BR2_PACKAGE_PYTHON_PYGAME_MIXER
- bool "pygame.mixer"
- select BR2_PACKAGE_SDL_MIXER
- help
- pygame module for loading and playing sounds.
- Will autoselect sdl_mixer.
-
-config BR2_PACKAGE_PYTHON_PYGAME_SCRAP
- bool "pygame.scrap"
- depends on BR2_PACKAGE_SDL_X11
- help
- pygame module for clipboard support (X11 needed)
-
-endif
diff --git a/package/python-pygame/python-pygame.hash b/package/python-pygame/python-pygame.hash
deleted file mode 100644
index c0496515e2..0000000000
--- a/package/python-pygame/python-pygame.hash
+++ /dev/null
@@ -1,3 +0,0 @@
-# Locally computed
-sha256 f95a7dd68ea294d415e36e068d2f533c5a01c67773452d14a535c5c7455681fe pygame-d61ea8eabd56.tar.gz
-sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 LGPL
diff --git a/package/python-pygame/python-pygame.mk b/package/python-pygame/python-pygame.mk
deleted file mode 100644
index 84fd6df4e2..0000000000
--- a/package/python-pygame/python-pygame.mk
+++ /dev/null
@@ -1,111 +0,0 @@
-################################################################################
-#
-# python-pygame
-#
-################################################################################
-
-# stable 1.9.1 release requires V4L which has been wiped out of recent Linux
-# kernels, so use latest mercurial revision until next stable release is out.
-PYTHON_PYGAME_VERSION = d61ea8eabd56
-PYTHON_PYGAME_SOURCE = pygame-$(PYTHON_PYGAME_VERSION).tar.gz
-PYTHON_PYGAME_SITE = https://bitbucket.org/pygame/pygame
-PYTHON_PYGAME_SITE_METHOD = hg
-PYTHON_PYGAME_SETUP_TYPE = setuptools
-PYTHON_PYGAME_LICENSE = LGPL-2.1+
-PYTHON_PYGAME_LICENSE_FILES = LGPL
-
-ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_IMAGE),y)
-PYTHON_PYGAME_OPT_DEPENDS += sdl_image
-endif
-
-ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_FONT),y)
-PYTHON_PYGAME_OPT_DEPENDS += sdl_ttf
-endif
-
-ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_MIXER),y)
-PYTHON_PYGAME_OPT_DEPENDS += sdl_mixer
-endif
-
-PYTHON_PYGAME_DEPENDENCIES = sdl $(PYTHON_PYGAME_OPT_DEPENDS)
-
-ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_IMAGE),y)
-define PYTHON_PYGAME_UNCONFIGURE_IMAGE
- $(SED) 's/^imageext/#imageext/' $(@D)/Setup
-endef
-endif
-
-ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_FONT),y)
-define PYTHON_PYGAME_UNCONFIGURE_FONT
- $(SED) 's/^font/#font/' $(@D)/Setup
-endef
-endif
-
-ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_MIXER),y)
-define PYTHON_PYGAME_UNCONFIGURE_MIXER
- $(SED) 's/^mixer/#mixer/g' $(@D)/Setup
-endef
-endif
-
-# Both require numpy or numeric python module
-define PYTHON_PYGAME_UNCONFIGURE_SNDARRAY
- $(SED) 's/^_numericsndarray/#_numericsndarray/' $(@D)/Setup
-endef
-
-define PYTHON_PYGAME_UNCONFIGURE_SURFARRAY
- $(SED) 's/^_numericsurfarray/#_numericsurfarray/' $(@D)/Setup
-endef
-
-# Requires smpeg
-define PYTHON_PYGAME_UNCONFIGURE_MOVIE
- $(SED) 's/^movie/#movie/' $(@D)/Setup
-endef
-
-ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_SCRAP),y)
-define PYTHON_PYGAME_UNCONFIGURE_SCRAP
- $(SED) 's/^scrap/#scrap/' $(@D)/Setup
-endef
-endif
-
-define PYTHON_PYGAME_UNCONFIGURE_FREETYPE
- $(SED) 's/^_freetype/#_freetype/' $(@D)/Setup
-endef
-
-PYTHON_PYGAME_SDL_FLAGS = `$(STAGING_DIR)/usr/bin/sdl-config --cflags`
-PYTHON_PYGAME_SDL_FLAGS += `$(STAGING_DIR)/usr/bin/sdl-config --libs`
-
-# Pygame needs a Setup file where options should be commented out if
-# dependencies are not available
-define PYTHON_PYGAME_CONFIGURE_CMDS
- cp -f $(@D)/Setup.in $(@D)/Setup
- $(SED) "s~^SDL = ~SDL = $(PYTHON_PYGAME_SDL_FLAGS) \n#~" $(@D)/Setup
- $(SED) 's/^pypm/#pypm/' $(@D)/Setup
- $(PYTHON_PYGAME_UNCONFIGURE_IMAGE)
- $(PYTHON_PYGAME_UNCONFIGURE_FONT)
- $(PYTHON_PYGAME_UNCONFIGURE_MIXER)
- $(PYTHON_PYGAME_UNCONFIGURE_SNDARRAY)
- $(PYTHON_PYGAME_UNCONFIGURE_SURFARRAY)
- $(PYTHON_PYGAME_UNCONFIGURE_MOVIE)
- $(PYTHON_PYGAME_UNCONFIGURE_SCRAP)
- $(PYTHON_PYGAME_UNCONFIGURE_FREETYPE)
-endef
-
-define PYTHON_PYGAME_REMOVE_DOC
- rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/docs
-endef
-
-PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_DOC
-
-define PYTHON_PYGAME_REMOVE_TESTS
- rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/tests
-endef
-
-PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_TESTS
-
-ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_EXAMPLES),y)
-define PYTHON_PYGAME_REMOVE_EXAMPLES
- rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/pygame/examples
-endef
-PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_EXAMPLES
-endif
-
-$(eval $(python-package))
--
2.43.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread* [Buildroot] [PATCH v4 2/3] package/python-crossbar: drop package 2023-12-18 22:04 [Buildroot] [PATCH v4 1/3] package/python-pygame: drop package Adam Duskett @ 2023-12-18 22:04 ` Adam Duskett 2024-02-06 22:31 ` Thomas Petazzoni via buildroot 2023-12-18 22:04 ` [Buildroot] [PATCH v4 3/3] package/python3: bump version to 3.12.1 Adam Duskett 2024-02-06 22:31 ` [Buildroot] [PATCH v4 1/3] package/python-pygame: drop package Thomas Petazzoni via buildroot 2 siblings, 1 reply; 12+ messages in thread From: Adam Duskett @ 2023-12-18 22:04 UTC (permalink / raw) To: buildroot; +Cc: James Hilliard, Adam Duskett, Asaf Kahlon, Thomas Petazzoni The current package has not recieved an update since Sat Oct 9 2021 33ece2446e25e20929d1c7eefa9f3244a3b79a92 and is not python 3.12 compatible. Furthermore, the current version requires at least 42 new packages worth of depedencies of which several require patches to be python 3.12 compatible. As nobody has stepped up to maintain the package and its ever-growing list of dependencies, along with the other problems, it is time to drop the package. Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> --- Config.in.legacy | 16 ++++ DEVELOPERS | 1 - package/Config.in | 1 - .../0001-Avoid-intentional-syntax-error.patch | 29 -------- ...s-min.txt-drop-indirect-dependencies.patch | 74 ------------------- ...ice-wap-use-markupsafe-instead-of-we.patch | 53 ------------- package/python-crossbar/Config.in | 72 ------------------ package/python-crossbar/python-crossbar.hash | 5 -- package/python-crossbar/python-crossbar.mk | 14 ---- 9 files changed, 16 insertions(+), 249 deletions(-) delete mode 100644 package/python-crossbar/0001-Avoid-intentional-syntax-error.patch delete mode 100644 package/python-crossbar/0002-requirements-min.txt-drop-indirect-dependencies.patch delete mode 100644 package/python-crossbar/0003-crossbar-webservice-wap-use-markupsafe-instead-of-we.patch delete mode 100644 package/python-crossbar/Config.in delete mode 100644 package/python-crossbar/python-crossbar.hash delete mode 100644 package/python-crossbar/python-crossbar.mk diff --git a/Config.in.legacy b/Config.in.legacy index 7e065524db..1e331d17da 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -146,6 +146,22 @@ endif comment "Legacy options removed in 2024.02" +config BR2_PACKAGE_PYTHON_CROSSBAR + bool "python-crossbar removed" + select BR2_LEGACY + help + python-crossbar has been removed. The current package has + not recieved an update since Sat Oct 9 13:55:06 2021 + commit: 33ece2446e25e20929d1c7eefa9f3244a3b79a92 + and is not python 3.12.0 compatible. + + Furthermore, the current version requires at least 42 new + packages worth of depedencies of which several require + patches to be python 3.12.0 compatible. As nobody has + stepped up to maintain the package and its ever-growing + list of dependencies, along with the other problems, it + is time to drop the package. + config BR2_PACKAGE_PYTHON_PYGAME bool "python-pygame removed" select BR2_LEGACY diff --git a/DEVELOPERS b/DEVELOPERS index 77bbbe8c9f..c7c640585c 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2095,7 +2095,6 @@ F: package/python-autobahn/ F: package/python-cbor/ F: package/python-characteristic/ F: package/python-click/ -F: package/python-crossbar/ F: package/python-lmdb/ F: package/python-mistune/ F: package/python-netaddr/ diff --git a/package/Config.in b/package/Config.in index 4e7e9492c0..7249d887d6 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1035,7 +1035,6 @@ menu "External python modules" source "package/python-crc16/Config.in" source "package/python-crcmod/Config.in" source "package/python-crontab/Config.in" - source "package/python-crossbar/Config.in" source "package/python-cryptography/Config.in" source "package/python-cssselect/Config.in" source "package/python-cssselect2/Config.in" diff --git a/package/python-crossbar/0001-Avoid-intentional-syntax-error.patch b/package/python-crossbar/0001-Avoid-intentional-syntax-error.patch deleted file mode 100644 index 0ff7cae21a..0000000000 --- a/package/python-crossbar/0001-Avoid-intentional-syntax-error.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 423a1b081f6b7198f6a921ca83043270ebbace1a Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Sun, 1 May 2016 15:35:32 +0200 -Subject: [PATCH] Avoid intentional syntax error - -This file has an intentional syntax error, meant to validate QA, but -it breaks byte compilation of this package. - -Issue reported upstream: -https://github.com/crossbario/crossbar/issues/750. - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> ---- - crossbar/worker/test/examples/syntaxerror.py | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/crossbar/worker/test/examples/syntaxerror.py b/crossbar/worker/test/examples/syntaxerror.py -index 7b88e088..cd7de901 100644 ---- a/crossbar/worker/test/examples/syntaxerror.py -+++ b/crossbar/worker/test/examples/syntaxerror.py -@@ -27,5 +27,3 @@ - # with this program. If not, see <http://www.gnu.org/licenses/agpl-3.0.en.html>. - # - ##################################################################################### -- --class # noqa --- -2.20.1 - diff --git a/package/python-crossbar/0002-requirements-min.txt-drop-indirect-dependencies.patch b/package/python-crossbar/0002-requirements-min.txt-drop-indirect-dependencies.patch deleted file mode 100644 index 12027d779c..0000000000 --- a/package/python-crossbar/0002-requirements-min.txt-drop-indirect-dependencies.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 3ae2b36e48fc0f75f0bb6c89f893ece033bccd87 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@bootlin.com> -Date: Sun, 7 Aug 2022 18:44:29 +0200 -Subject: [PATCH] requirements-min.txt: drop indirect dependencies - -For some interesting reason, the crossbar maintainers have decided to -include indirect dependencies in their requirements-min.txt, i.e -dependencies that they don't use directly, but that packages they -depend on themselves depend on. - -This makes the packaging in Buildroot confusing, as it means not all -dependencies in requirements-min.txt should be taken into -account. Also some of these indirect dependencies cause issues due to -upper bounds set on the version (which is the case for idna and -urllib3). - -This patch therefore clarifies the situation by removing such indirect -dependencies from requirements-min.txt. As the patch is obviously not -upstreamable, it will require some maintenance effort, but that effort -is anyway already there to sort out direct dependencies from indirect -dependencies when updating the Buildroot packaging for crossbar. - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> ---- - requirements-min.txt | 12 ------------ - 1 file changed, 12 deletions(-) - -diff --git a/requirements-min.txt b/requirements-min.txt -index 5ac4e0ee..cdd82d27 100644 ---- a/requirements-min.txt -+++ b/requirements-min.txt -@@ -1,20 +1,13 @@ --attrs>=17.2.0 - autobahn[asyncio,twisted,encryption,compress,serialization,scram]>=21.3.1 - bitstring>=3.1.5 --bcrypt>=3.1.6 - cbor>=1.0.0 - click>=6.7 - colorama>=0.4.4 --constantly>=15.1.0 - cryptography>=2.6.1 --h2>=3.2.0 --idna<2.6,>=2.5 - importlib-resources>=4.1.1 --incremental>=17.5.0 - jinja2>=2.10.1 - lmdb>=0.92 - mistune>=0.7.4 --netaddr>=0.7.19 - passlib>=1.7.1 - priority>=1.3.0 - psutil>=5.2.2 -@@ -28,7 +21,6 @@ pyqrcode>=1.2.1 - pytrie>=0.3 - pyyaml>=4.2b4 - sdnotify>=0.3.1 --service_identity>=17.0.0 - setproctitle>=1.1.10 - setuptools>=36.2.7 - treq>=20.4.1 -@@ -37,10 +29,6 @@ twisted[tls,conch,http2,osx_platform]>=20.3.0; sys_platform == 'darwin' - twisted[tls,conch,http2,windows_platform]>=20.3.0; sys_platform == 'win32' - txaio>=21.2.1 - txtorcon>=20.0.0 --u-msgpack-python>=2.4.1 --# urllib3 is an indirect dependency, but we force a recent version because of https://nvd.nist.gov/vuln/detail/CVE-2019-11324 --# workaround for version conflict in requests vs sth else: --urllib3<1.25,>=1.21.1 - vmprof>=0.4.12; platform_machine=='x86_64' or platform_machine=='i386' or platform_machine=='arm' - watchdog>=0.8.3 - werkzeug>=0.14.1 --- -2.37.1 - diff --git a/package/python-crossbar/0003-crossbar-webservice-wap-use-markupsafe-instead-of-we.patch b/package/python-crossbar/0003-crossbar-webservice-wap-use-markupsafe-instead-of-we.patch deleted file mode 100644 index ab2d4709bd..0000000000 --- a/package/python-crossbar/0003-crossbar-webservice-wap-use-markupsafe-instead-of-we.patch +++ /dev/null @@ -1,53 +0,0 @@ -From a6866509b0387ab6d6f99f68cd82bcac922fe839 Mon Sep 17 00:00:00 2001 -From: Romain Naour <romain.naour@gmail.com> -Date: Mon, 30 May 2022 19:38:11 +0200 -Subject: [PATCH] crossbar/webservice/wap: use markupsafe instead of werkzeug - -wap.py use escape from werkzeug but it has been removed since -the version 2.1.0 [1]. - -Replace with escape from markupsafe like upstream commit [2] -(wihout other changes). - -[1] https://github.com/pallets/werkzeug/commit/22d1e9ac13829b83347107a9b4d77072a8e1af6a -[2] https://github.com/crossbario/crossbar/commit/ca8d383f01231e2b3f986e791f215f12f2deee5d - -Signed-off-by: Romain Naour <romain.naour@gmail.com> ---- - crossbar/webservice/wap.py | 7 ++++++- - requirements-min.txt | 1 + - 2 files changed, 7 insertions(+), 1 deletion(-) - -diff --git a/crossbar/webservice/wap.py b/crossbar/webservice/wap.py -index 825558b1..6daa9b21 100644 ---- a/crossbar/webservice/wap.py -+++ b/crossbar/webservice/wap.py -@@ -36,7 +36,12 @@ from collections.abc import Mapping, Sequence - - from werkzeug.routing import Map, Rule - from werkzeug.exceptions import NotFound, MethodNotAllowed --from werkzeug.utils import escape -+ -+try: -+ # removed in werkzeug 2.1.0 -+ from werkzeug.utils import escape -+except ImportError: -+ from markupsafe import escape - - from jinja2 import Environment, FileSystemLoader - from jinja2.sandbox import SandboxedEnvironment -diff --git a/requirements-min.txt b/requirements-min.txt -index cdd82d27..50cb1489 100644 ---- a/requirements-min.txt -+++ b/requirements-min.txt -@@ -7,6 +7,7 @@ cryptography>=2.6.1 - importlib-resources>=4.1.1 - jinja2>=2.10.1 - lmdb>=0.92 -+MarkupSafe>=1.1.1 - mistune>=0.7.4 - passlib>=1.7.1 - priority>=1.3.0 --- -2.37.1 - diff --git a/package/python-crossbar/Config.in b/package/python-crossbar/Config.in deleted file mode 100644 index 357be4803c..0000000000 --- a/package/python-crossbar/Config.in +++ /dev/null @@ -1,72 +0,0 @@ -config BR2_PACKAGE_PYTHON_CROSSBAR - bool "python-crossbar" - depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-cryptography - depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS # python-numpy - depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy - depends on BR2_INSTALL_LIBSTDCPP # python-autobahn's compress and serialization - # All the following dependencies are runtime dependencies. It - # matches almost 1:1 the requirements-min.txt from crossbar - # with the following exceptions: - # - importlib-resources is in Python itself, so no external - # module is needed - # - vmprof, while listed as a needed dependency, isn't - # actually strictly necesary - # - wsaccel is not a direct dependency, it is there to make - # sure autobahn has the 'accelerate' feature, when the - # Python implementation is CPython, and our package does - # enable autobahn[accelerate] - select BR2_PACKAGE_PYTHON_AUTOBAHN - select BR2_PACKAGE_PYTHON_AUTOBAHN_ACCELERATE - select BR2_PACKAGE_PYTHON_AUTOBAHN_COMPRESS - select BR2_PACKAGE_PYTHON_AUTOBAHN_ENCRYPTION - select BR2_PACKAGE_PYTHON_AUTOBAHN_SCRAM - select BR2_PACKAGE_PYTHON_AUTOBAHN_SERIALIZATION - select BR2_PACKAGE_PYTHON_AUTOBAHN_TWISTED - select BR2_PACKAGE_PYTHON_BITSTRING - select BR2_PACKAGE_PYTHON_CBOR - select BR2_PACKAGE_PYTHON_CLICK - select BR2_PACKAGE_PYTHON_COLORAMA - select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY - select BR2_PACKAGE_PYTHON_JINJA2 - select BR2_PACKAGE_PYTHON_LMDB - select BR2_PACKAGE_PYTHON_MARKUPSAFE - select BR2_PACKAGE_PYTHON_MISTUNE - select BR2_PACKAGE_PYTHON_PASSLIB - select BR2_PACKAGE_PYTHON_PRIORITY - select BR2_PACKAGE_PYTHON_PSUTIL - select BR2_PACKAGE_PYTHON_PYASN1 - select BR2_PACKAGE_PYTHON_PYASN1_MODULES - select BR2_PACKAGE_PYTHON_PYGMENTS - select BR2_PACKAGE_PYTHON_PYNACL - select BR2_PACKAGE_PYTHON_PYOPENSSL - select BR2_PACKAGE_PYTHON_PYQRCODE - select BR2_PACKAGE_PYTHON_PYTRIE - select BR2_PACKAGE_PYTHON_PYYAML - select BR2_PACKAGE_PYTHON_SDNOTIFY - select BR2_PACKAGE_PYTHON_SETPROCTITLE - select BR2_PACKAGE_PYTHON_SETUPTOOLS - select BR2_PACKAGE_PYTHON_TREQ - select BR2_PACKAGE_PYTHON_TWISTED - select BR2_PACKAGE_PYTHON_TWISTED_CONCH - select BR2_PACKAGE_PYTHON_TWISTED_HTTP2 - select BR2_PACKAGE_PYTHON_TWISTED_TLS - select BR2_PACKAGE_PYTHON_TXAIO - select BR2_PACKAGE_PYTHON_TXTORCON - select BR2_PACKAGE_PYTHON_UBJSON - select BR2_PACKAGE_PYTHON_WATCHDOG - select BR2_PACKAGE_PYTHON_WERKZEUG - select BR2_PACKAGE_PYTHON_ZLMDB - select BR2_PACKAGE_PYTHON_ZOPE_INTERFACE - help - Crossbar.io is an open-source WAMP application router that - allows to build advanced applications from loosely-coupled - components that can talk in real-time with each other. - - https://pypi.python.org/pypi/crossbar - -comment "python-crossbar needs a glibc or musl toolchain w/ C++, gcc >= 9" - depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS - depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS - depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) || \ - !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_9 diff --git a/package/python-crossbar/python-crossbar.hash b/package/python-crossbar/python-crossbar.hash deleted file mode 100644 index 4441578a29..0000000000 --- a/package/python-crossbar/python-crossbar.hash +++ /dev/null @@ -1,5 +0,0 @@ -# md5, sha256 from https://pypi.org/pypi/crossbar/json -md5 df576100bcf6e423cdc1e2e96b602140 crossbar-21.3.1.tar.gz -sha256 ac71959f0c57ab08d43f7830b85c6312e000b25543a179cd751ac357944dd7ef crossbar-21.3.1.tar.gz -# Locally computed -sha256 57c8ff33c9c0cfc3ef00e650a1cc910d7ee479a8bc509f6c9209a7c2a11399d6 crossbar/LICENSE diff --git a/package/python-crossbar/python-crossbar.mk b/package/python-crossbar/python-crossbar.mk deleted file mode 100644 index aae61cd2e8..0000000000 --- a/package/python-crossbar/python-crossbar.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# python-crossbar -# -################################################################################ - -PYTHON_CROSSBAR_VERSION = 21.3.1 -PYTHON_CROSSBAR_SOURCE = crossbar-$(PYTHON_CROSSBAR_VERSION).tar.gz -PYTHON_CROSSBAR_SITE = https://files.pythonhosted.org/packages/17/37/aafc4ec30068fd7ebb97f1a00d4ddf8de482dfa4c1d2a1fc6bb814d91400 -PYTHON_CROSSBAR_LICENSE = AGPL-3.0 -PYTHON_CROSSBAR_LICENSE_FILES = crossbar/LICENSE -PYTHON_CROSSBAR_SETUP_TYPE = setuptools - -$(eval $(python-package)) -- 2.43.0 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v4 2/3] package/python-crossbar: drop package 2023-12-18 22:04 ` [Buildroot] [PATCH v4 2/3] package/python-crossbar: " Adam Duskett @ 2024-02-06 22:31 ` Thomas Petazzoni via buildroot 0 siblings, 0 replies; 12+ messages in thread From: Thomas Petazzoni via buildroot @ 2024-02-06 22:31 UTC (permalink / raw) To: Adam Duskett; +Cc: James Hilliard, Asaf Kahlon, buildroot On Mon, 18 Dec 2023 15:04:55 -0700 Adam Duskett <adam.duskett@amarulasolutions.com> wrote: > The current package has not recieved an update since Sat Oct 9 2021 > 33ece2446e25e20929d1c7eefa9f3244a3b79a92 and is not python 3.12 compatible. > > Furthermore, the current version requires at least 42 new packages worth of > depedencies of which several require patches to be python 3.12 compatible. > As nobody has stepped up to maintain the package and its ever-growing list of > dependencies, along with the other problems, it is time to drop the package. > > Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> > --- > Config.in.legacy | 16 ++++ > DEVELOPERS | 1 - > package/Config.in | 1 - > .../0001-Avoid-intentional-syntax-error.patch | 29 -------- > ...s-min.txt-drop-indirect-dependencies.patch | 74 ------------------- > ...ice-wap-use-markupsafe-instead-of-we.patch | 53 ------------- > package/python-crossbar/Config.in | 72 ------------------ > package/python-crossbar/python-crossbar.hash | 5 -- > package/python-crossbar/python-crossbar.mk | 14 ---- > 9 files changed, 16 insertions(+), 249 deletions(-) > delete mode 100644 package/python-crossbar/0001-Avoid-intentional-syntax-error.patch > delete mode 100644 package/python-crossbar/0002-requirements-min.txt-drop-indirect-dependencies.patch > delete mode 100644 package/python-crossbar/0003-crossbar-webservice-wap-use-markupsafe-instead-of-we.patch > delete mode 100644 package/python-crossbar/Config.in > delete mode 100644 package/python-crossbar/python-crossbar.hash > delete mode 100644 package/python-crossbar/python-crossbar.mk Applied to master, thanks. Thomas -- Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH v4 3/3] package/python3: bump version to 3.12.1 2023-12-18 22:04 [Buildroot] [PATCH v4 1/3] package/python-pygame: drop package Adam Duskett 2023-12-18 22:04 ` [Buildroot] [PATCH v4 2/3] package/python-crossbar: " Adam Duskett @ 2023-12-18 22:04 ` Adam Duskett 2023-12-24 22:12 ` Adam Duskett 2024-02-06 22:33 ` Thomas Petazzoni via buildroot 2024-02-06 22:31 ` [Buildroot] [PATCH v4 1/3] package/python-pygame: drop package Thomas Petazzoni via buildroot 2 siblings, 2 replies; 12+ messages in thread From: Adam Duskett @ 2023-12-18 22:04 UTC (permalink / raw) To: buildroot; +Cc: James Hilliard, Adam Duskett, Asaf Kahlon, Thomas Petazzoni Python 3.12.1 has removed distutils support. As such, we remove the distutils option from pkg-python.mk as well. Tested on Fedora 39, and Debian 11. All 68 package tests pass. Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> --- v3 -> v4: - Drop distutils in pkg-python.mk - 3.12.0 -> 3.12.1 package/pkg-python.mk | 38 +----- ...e-the-build-of-pyc-files-conditional.patch | 24 ++-- ...taddrinfo-configure-test-when-cross-.patch | 2 +- ...re-to-disable-the-build-of-certain-e.patch | 108 ------------------ ...-header-paths-for-cross-compilation.patch} | 31 ++--- ...tch => 0004-Serial-ioctl-workaround.patch} | 0 ...ook-in-usr-lib-termcap-for-libraries.patch | 31 ----- ...g.sh.in-ensure-sed-invocations-only.patch} | 0 ...0006-Add-an-option-to-disable-pydoc.patch} | 50 ++------ .../0006-Don-t-add-multiarch-paths.patch | 37 ------ .../0007-Abort-on-failed-module-build.patch | 30 ----- ...07-Add-an-option-to-disable-lib2to3.patch} | 74 +++++------- ... 0008-Add-an-option-to-disable-IDLE.patch} | 43 ++----- ...e-shebang-of-Python-scripts-for-cros.patch | 35 ------ ...hon-config.sh-don-t-reassign-prefix.patch} | 0 ...d-an-option-to-disable-the-tk-module.patch | 79 +++++++++++++ ...fix-building-on-older-distributions.patch} | 12 +- ...p-CC-print-multiarch-output-for-mus.patch} | 2 +- ...option-to-disable-the-sqlite3-module.patch | 62 ---------- ...ng-doesn-t-set-errno-when-encryptio.patch} | 0 ...d-an-option-to-disable-the-tk-module.patch | 77 ------------- ...-option-to-disable-the-curses-module.patch | 61 ---------- .../0016-Add-an-option-to-disable-expat.patch | 82 ------------- ...-Add-an-option-to-disable-CJK-codecs.patch | 30 ----- .../0018-Add-an-option-to-disable-NIS.patch | 33 ------ ...Add-an-option-to-disable-unicodedata.patch | 30 ----- ...021-Add-an-option-to-disable-decimal.patch | 54 --------- ...on-to-disable-the-ossaudiodev-module.patch | 30 ----- ...an-option-to-disable-openssl-support.patch | 30 ----- ...ption-to-disable-the-readline-module.patch | 30 ----- ...to-disable-zlib-bzip2-and-xz-modules.patch | 42 ------- ...Add-an-option-to-disable-uuid-module.patch | 33 ------ ...ion-to-disable-the-berkeleydb-module.patch | 30 ----- package/python3/python3.hash | 6 +- package/python3/python3.mk | 81 ++++++++----- 35 files changed, 216 insertions(+), 1091 deletions(-) delete mode 100644 package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch rename package/python3/{0004-Adjust-library-header-paths-for-cross-compilation.patch => 0003-Adjust-library-header-paths-for-cross-compilation.patch} (64%) rename package/python3/{0008-Serial-ioctl-workaround.patch => 0004-Serial-ioctl-workaround.patch} (100%) delete mode 100644 package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch rename package/python3/{0010-Misc-python-config.sh.in-ensure-sed-invocations-only.patch => 0005-Misc-python-config.sh.in-ensure-sed-invocations-only.patch} (100%) rename package/python3/{0011-Add-an-option-to-disable-pydoc.patch => 0006-Add-an-option-to-disable-pydoc.patch} (54%) delete mode 100644 package/python3/0006-Don-t-add-multiarch-paths.patch delete mode 100644 package/python3/0007-Abort-on-failed-module-build.patch rename package/python3/{0012-Add-an-option-to-disable-lib2to3.patch => 0007-Add-an-option-to-disable-lib2to3.patch} (59%) rename package/python3/{0020-Add-an-option-to-disable-IDLE.patch => 0008-Add-an-option-to-disable-IDLE.patch} (57%) delete mode 100644 package/python3/0009-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch rename package/python3/{0026-python-config.sh-don-t-reassign-prefix.patch => 0009-python-config.sh-don-t-reassign-prefix.patch} (100%) create mode 100644 package/python3/0010-Add-an-option-to-disable-the-tk-module.patch rename package/python3/{0028-fix-building-on-older-distributions.patch => 0011-fix-building-on-older-distributions.patch} (82%) rename package/python3/{0029-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch => 0012-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch} (97%) delete mode 100644 package/python3/0013-Add-option-to-disable-the-sqlite3-module.patch rename package/python3/{0031-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch => 0013-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch} (100%) delete mode 100644 package/python3/0014-Add-an-option-to-disable-the-tk-module.patch delete mode 100644 package/python3/0015-Add-an-option-to-disable-the-curses-module.patch delete mode 100644 package/python3/0016-Add-an-option-to-disable-expat.patch delete mode 100644 package/python3/0017-Add-an-option-to-disable-CJK-codecs.patch delete mode 100644 package/python3/0018-Add-an-option-to-disable-NIS.patch delete mode 100644 package/python3/0019-Add-an-option-to-disable-unicodedata.patch delete mode 100644 package/python3/0021-Add-an-option-to-disable-decimal.patch delete mode 100644 package/python3/0022-Add-an-option-to-disable-the-ossaudiodev-module.patch delete mode 100644 package/python3/0023-Add-an-option-to-disable-openssl-support.patch delete mode 100644 package/python3/0024-Add-an-option-to-disable-the-readline-module.patch delete mode 100644 package/python3/0025-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch delete mode 100644 package/python3/0027-Add-an-option-to-disable-uuid-module.patch delete mode 100644 package/python3/0030-Add-an-option-to-disable-the-berkeleydb-module.patch diff --git a/package/pkg-python.mk b/package/pkg-python.mk index 4bed5a1835..94f28ff841 100644 --- a/package/pkg-python.mk +++ b/package/pkg-python.mk @@ -52,40 +52,6 @@ HOST_PKG_PYTHON_ENV = \ PYTHONNOUSERSITE=1 \ $(HOST_CONFIGURE_OPTS) -# Target distutils-based packages -PKG_PYTHON_DISTUTILS_ENV = \ - $(PKG_PYTHON_ENV) \ - LDSHARED="$(TARGET_CROSS)gcc -shared" - -PKG_PYTHON_DISTUTILS_BUILD_CMD = \ - setup.py build \ - --executable=/usr/bin/python - -PKG_PYTHON_DISTUTILS_INSTALL_OPTS = \ - --install-headers=/usr/include/python$(PYTHON3_VERSION_MAJOR) \ - --prefix=/usr - -PKG_PYTHON_DISTUTILS_INSTALL_TARGET_CMD = \ - setup.py install --no-compile \ - $(PKG_PYTHON_DISTUTILS_INSTALL_OPTS) \ - --root=$(TARGET_DIR) - -PKG_PYTHON_DISTUTILS_INSTALL_STAGING_CMD = \ - setup.py install \ - $(PKG_PYTHON_DISTUTILS_INSTALL_OPTS) \ - --root=$(STAGING_DIR) - -# Host distutils-based packages -HOST_PKG_PYTHON_DISTUTILS_ENV = \ - $(HOST_PKG_PYTHON_ENV) - -HOST_PKG_PYTHON_DISTUTILS_BUILD_CMD = \ - setup.py build \ - -HOST_PKG_PYTHON_DISTUTILS_INSTALL_CMD = \ - setup.py install \ - --prefix=$(HOST_DIR) - # Target setuptools-based packages PKG_PYTHON_SETUPTOOLS_ENV = \ $(PKG_PYTHON_ENV) @@ -287,8 +253,8 @@ endif $(2)_SETUP_TYPE_UPPER = $$(call UPPERCASE,$$($(2)_SETUP_TYPE)) -ifneq ($$(filter-out distutils setuptools setuptools-rust pep517 flit flit-bootstrap maturin,$$($(2)_SETUP_TYPE)),) -$$(error "Invalid $(2)_SETUP_TYPE. Valid options are 'distutils', 'maturin', 'setuptools', 'setuptools-rust', 'pep517' or 'flit'.") +ifneq ($$(filter-out setuptools setuptools-rust pep517 flit flit-bootstrap maturin,$$($(2)_SETUP_TYPE)),) +$$(error "Invalid $(2)_SETUP_TYPE. Valid options are 'maturin', 'setuptools', 'setuptools-rust', 'pep517' or 'flit'.") endif ifeq ($(4)-$$($(2)_SETUP_TYPE),target-flit-bootstrap) $$(error flit-bootstrap setup type only supported for host packages) diff --git a/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch b/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch index 92aa7274ba..16cd1dd985 100644 --- a/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch +++ b/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch @@ -9,6 +9,8 @@ the compilation of pyc. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> [ Andrey Smrinov: ported to Python 3.6 ] Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> +[ Adam Duskett: ported to Python 3.12.0 ] +Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> --- Makefile.pre.in | 2 ++ configure.ac | 6 ++++++ @@ -18,17 +20,17 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index 8fbcd7ac17..2957c8e5a1 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -2078,6 +2078,7 @@ libinstall: all $(srcdir)/Modules/xxmodule.c - $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \ - $(DESTDIR)$(LIBDEST)/distutils/tests ; \ - fi +@@ -2316,6 +2316,7 @@ libinstall: all $(srcdir)/Modules/xxmodule.c + $(DESTDIR)$(LIBDEST); \ + $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt + @ # Build PYC files for the 3 optimization levels (0, 1, 2) +ifeq (@PYC_BUILD@,yes) - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ + -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ + $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \ + -o 0 -o 1 -o 2 $(COMPILEALL_OPTS) -d $(LIBDEST) -f \ +@@ -2325,6 +2326,7 @@ libinstall: all $(srcdir)/Modules/xxmodule.c $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \ - -j0 -d $(LIBDEST) -f \ -@@ -2105,6 +2106,7 @@ libinstall: all $(srcdir)/Modules/xxmodule.c - $(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \ - -j0 -d $(LIBDEST)/site-packages -f \ + -o 0 -o 1 -o 2 $(COMPILEALL_OPTS) -d $(LIBDEST)/site-packages -f \ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages +endif -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ @@ -38,9 +40,9 @@ diff --git a/configure.ac b/configure.ac index ab5e1de6fa..0cf89ed641 100644 --- a/configure.ac +++ b/configure.ac -@@ -1441,6 +1441,12 @@ fi +@@ -1479,6 +1479,12 @@ fi - AC_MSG_CHECKING(LDLIBRARY) + AC_MSG_CHECKING([LDLIBRARY]) +AC_SUBST(PYC_BUILD) + diff --git a/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch b/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch index 5389cb5d15..ce3ba9069b 100644 --- a/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch +++ b/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch @@ -13,7 +13,7 @@ diff --git a/configure.ac b/configure.ac index 0cf89ed641..830885fcb3 100644 --- a/configure.ac +++ b/configure.ac -@@ -5086,7 +5086,7 @@ fi])) +@@ -5401,7 +5401,7 @@ fi])) dnl if ac_cv_func_getaddrinfo ]) diff --git a/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch b/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch deleted file mode 100644 index 5b3911374e..0000000000 --- a/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 8e02cebdac536dfb6748da2c50656a26f70d9da7 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Wed, 22 Feb 2017 16:33:22 -0800 -Subject: [PATCH] Add infrastructure to disable the build of certain extensions - -Some of the extensions part of the Python core have dependencies on -external libraries (sqlite, tk, etc.) or are relatively big and not -necessarly always useful (CJK codecs for example). By extensions, we -mean part of Python modules that are written in C and therefore -compiled to binary code. - -Therefore, we introduce a small infrastructure that allows to disable -some of those extensions. This can be done inside the configure.ac by -adding values to the DISABLED_EXTENSIONS variable (which is a -word-separated list of extensions). - -The implementation works as follow : - - * configure.ac defines a DISABLED_EXTENSIONS variable, which is - substituted (so that when Makefile.pre is generated from - Makefile.pre.in, the value of the variable is substituted). For - now, this DISABLED_EXTENSIONS variable is empty, later patches will - use it. - - * Makefile.pre.in passes the DISABLED_EXTENSIONS value down to the - variables passed in the environment when calling the setup.py - script that actually builds and installs those extensions. - - * setup.py is modified so that the existing "disabled_module_list" is - filled with those pre-disabled extensions listed in - DISABLED_EXTENSIONS. - -Patch ported to python2.7 by Maxime Ripard <ripard@archos.com>, and -then extended by Thomas Petazzoni -<thomas.petazzoni@free-electrons.com>. - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -[ Andrey Smirnov: ported to Python 3.6 ] -Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> ---- - Makefile.pre.in | 6 +++++- - configure.ac | 2 ++ - setup.py | 5 ++++- - 3 files changed, 11 insertions(+), 2 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 2957c8e5a1..c1cfb96767 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -239,6 +239,8 @@ FILEMODE= 644 - # configure script arguments - CONFIG_ARGS= @CONFIG_ARGS@ - -+# disabled extensions -+DISABLED_EXTENSIONS= @DISABLED_EXTENSIONS@ - - # Subdirectories with code - SRCDIRS= @SRCDIRS@ -@@ -739,6 +741,7 @@ sharedmods: $(PYTHON_FOR_BUILD_DEPS) pybuilddir.txt @LIBMPDEC_INTERNAL@ @LIBEXPA - *) quiet="";; \ - esac; \ - echo "$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ -+ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \ - $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build"; \ - $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ - $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build -@@ -2228,7 +2231,8 @@ libainstall: all python-config - # Install the dynamically loadable modules - # This goes into $(exec_prefix) - sharedinstall: all -- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ -+ $(RUNSHARED) DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \ -+ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ - --prefix=$(prefix) \ - --install-scripts=$(BINDIR) \ - --install-platlib=$(DESTSHARED) \ -diff --git a/configure.ac b/configure.ac -index 830885fcb3..5a6a1fe608 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3562,6 +3562,8 @@ LIBS="$withval $LIBS" - ], - [AC_MSG_RESULT(no)]) - -+AC_SUBST(DISABLED_EXTENSIONS) -+ - # Check for use of the system expat library - AC_MSG_CHECKING(for --with-system-expat) - AC_ARG_WITH(system_expat, -diff --git a/setup.py b/setup.py -index 15d0d4576a..e496ee34c2 100644 ---- a/setup.py -+++ b/setup.py -@@ -56,7 +56,10 @@ - - - # This global variable is used to hold the list of modules to be disabled. --DISABLED_MODULE_LIST = [] -+try: -+ DISABLED_MODULE_LIST = sysconfig.get_config_var("DISABLED_EXTENSIONS").split(" ") -+except KeyError: -+ DISABLED_MODULE_LIST = list() - - # --list-module-names option used by Tools/scripts/generate_module_names.py - LIST_MODULE_NAMES = False --- -2.34.1 - diff --git a/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch b/package/python3/0003-Adjust-library-header-paths-for-cross-compilation.patch similarity index 64% rename from package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch rename to package/python3/0003-Adjust-library-header-paths-for-cross-compilation.patch index 9a55d2582d..25115b7e63 100644 --- a/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch +++ b/package/python3/0003-Adjust-library-header-paths-for-cross-compilation.patch @@ -15,34 +15,19 @@ values, and get correct header/library paths when cross-compiling third-party Python modules. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +[ Adam Duskett: ported to Python 3.10.0 ] Signed-off-by: Adam Duskett <aduskett@gmail.com> -Refresh for 3.10.0 +[ Adam Duskett: ported to Python 3.12.1 ] +Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> --- - Lib/distutils/command/build_ext.py | 5 ++++- - Lib/sysconfig.py | 15 +++++++++++---- - 2 files changed, 15 insertions(+), 5 deletions(-) + Lib/sysconfig.py | 15 +++++++++++---- + 1 file changed, 11 insertions(+), 4 deletions(-) -diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py -index f287b34998..298234d6a1 100644 ---- a/Lib/distutils/command/build_ext.py -+++ b/Lib/distutils/command/build_ext.py -@@ -234,7 +234,10 @@ def finalize_options(self): - if (sysconfig.get_config_var('Py_ENABLE_SHARED')): - if not sysconfig.python_build: - # building third party extensions -- self.library_dirs.append(sysconfig.get_config_var('LIBDIR')) -+ libdir = sysconfig.get_config_var('LIBDIR') -+ if "_python_sysroot" in os.environ: -+ libdir = os.environ.get("_python_sysroot") + libdir -+ self.library_dirs.append(libdir) - else: - # building python standard extensions - self.library_dirs.append('.') diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py index ebe3711827..6328ec41af 100644 --- a/Lib/sysconfig.py +++ b/Lib/sysconfig.py -@@ -168,10 +168,17 @@ def joinuser(*args): +@@ -169,10 +169,17 @@ _SCHEME_KEYS = ('stdlib', 'platstdlib', 'purelib', 'platlib', 'include', _PY_VERSION = sys.version.split()[0] _PY_VERSION_SHORT = f'{sys.version_info[0]}.{sys.version_info[1]}' _PY_VERSION_SHORT_NO_DOT = f'{sys.version_info[0]}{sys.version_info[1]}' @@ -61,9 +46,9 @@ index ebe3711827..6328ec41af 100644 + _EXEC_PREFIX = os.path.normpath(sys.exec_prefix) + _BASE_PREFIX = os.path.normpath(sys.base_prefix) + _BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix) + # Mutex guarding initialization of _CONFIG_VARS. + _CONFIG_VARS_LOCK = threading.RLock() _CONFIG_VARS = None - _USER_BASE = None - -- 2.34.1 diff --git a/package/python3/0008-Serial-ioctl-workaround.patch b/package/python3/0004-Serial-ioctl-workaround.patch similarity index 100% rename from package/python3/0008-Serial-ioctl-workaround.patch rename to package/python3/0004-Serial-ioctl-workaround.patch diff --git a/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch b/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch deleted file mode 100644 index 78b3ae596d..0000000000 --- a/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 5d13e384b30a2c0b1c7b65718590b7fb0c3ba55e Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Wed, 23 Dec 2015 11:36:00 +0100 -Subject: [PATCH] Don't look in /usr/lib/termcap for libraries - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> ---- - setup.py | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/setup.py b/setup.py -index e496ee34c2..1904898165 100644 ---- a/setup.py -+++ b/setup.py -@@ -1107,12 +1107,9 @@ def detect_readline_curses(self): - pass # Issue 7384: Already linked against curses or tinfo. - elif curses_library: - readline_libs.append(curses_library) -- elif self.compiler.find_library_file(self.lib_dirs + -- ['/usr/lib/termcap'], -- 'termcap'): -+ elif self.compiler.find_library_file(self.lib_dirs, 'termcap'): - readline_libs.append('termcap') - self.add(Extension('readline', ['readline.c'], -- library_dirs=['/usr/lib/termcap'], - libraries=readline_libs)) - else: - self.missing.append('readline') --- -2.34.1 - diff --git a/package/python3/0010-Misc-python-config.sh.in-ensure-sed-invocations-only.patch b/package/python3/0005-Misc-python-config.sh.in-ensure-sed-invocations-only.patch similarity index 100% rename from package/python3/0010-Misc-python-config.sh.in-ensure-sed-invocations-only.patch rename to package/python3/0005-Misc-python-config.sh.in-ensure-sed-invocations-only.patch diff --git a/package/python3/0011-Add-an-option-to-disable-pydoc.patch b/package/python3/0006-Add-an-option-to-disable-pydoc.patch similarity index 54% rename from package/python3/0011-Add-an-option-to-disable-pydoc.patch rename to package/python3/0006-Add-an-option-to-disable-pydoc.patch index f7bfd437bb..b9ef85d90c 100644 --- a/package/python3/0011-Add-an-option-to-disable-pydoc.patch +++ b/package/python3/0006-Add-an-option-to-disable-pydoc.patch @@ -12,17 +12,18 @@ Signed-off-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> [ Adam Duskett: ported to Python 3.10.0 ] Signed-off-by: Adam Duskett <aduskett@gmail.com> +[ Adam Duskett: ported to Python 3.12.1 ] +Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> --- Makefile.pre.in | 7 ++++++- configure.ac | 6 ++++++ - setup.py | 9 +++++++-- - 3 files changed, 19 insertions(+), 3 deletions(-) + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Makefile.pre.in b/Makefile.pre.in index c1cfb96767..403380e181 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1864,7 +1864,9 @@ bininstall: altbininstall +@@ -2046,7 +2046,9 @@ bininstall: commoninstall altbininstall -rm -f $(DESTDIR)$(BINDIR)/idle3 (cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3) -rm -f $(DESTDIR)$(BINDIR)/pydoc3 @@ -32,7 +33,7 @@ index c1cfb96767..403380e181 100644 -rm -f $(DESTDIR)$(BINDIR)/2to3 (cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3) if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \ -@@ -1915,7 +1917,6 @@ LIBSUBDIRS= asyncio \ +@@ -2098,7 +2100,6 @@ LIBSUBDIRS= asyncio \ lib2to3 lib2to3/fixes lib2to3/pgen2 \ logging \ multiprocessing multiprocessing/dummy \ @@ -40,22 +41,22 @@ index c1cfb96767..403380e181 100644 re \ site-packages \ sqlite3 \ -@@ -2008,6 +2009,10 @@ TESTSUBDIRS= ctypes/test \ - tkinter/test/test_ttk \ - unittest/test unittest/test/testmock +@@ -2244,6 +2245,10 @@ TESTSUBDIRS= idlelib/idle_test \ + + COMPILEALL_OPTS=-j0 +ifeq (@PYDOC@,yes) +LIBSUBDIRS += pydoc_data +endif + TEST_MODULES=@TEST_MODULES@ - libinstall: all $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ + + .PHONY: libinstall diff --git a/configure.ac b/configure.ac index 5a6a1fe608..f68ea72321 100644 --- a/configure.ac +++ b/configure.ac -@@ -4171,6 +4171,12 @@ AS_VAR_IF([posix_threads], [stub], [ +@@ -4485,6 +4485,12 @@ AS_VAR_IF([posix_threads], [stub], [ AC_DEFINE([HAVE_PTHREAD_STUBS], [1], [Define if platform requires stubbed pthreads support]) ]) @@ -66,35 +67,8 @@ index 5a6a1fe608..f68ea72321 100644 + [ PYDOC="${enableval}" ], [ PYDOC=yes ]) + # Check for enable-ipv6 - AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified]) + AH_TEMPLATE([ENABLE_IPV6], [Define if --enable-ipv6 is specified]) AC_MSG_CHECKING([if --enable-ipv6 is specified]) -diff --git a/setup.py b/setup.py -index 0e04944ce0..3e55f5b2e0 100644 ---- a/setup.py -+++ b/setup.py -@@ -1593,6 +1593,12 @@ class DummyProcess: - # turn off warnings when deprecated modules are imported - import warnings - warnings.filterwarnings("ignore",category=DeprecationWarning) -+ -+ scripts = ['Tools/scripts/idle3', 'Tools/scripts/2to3', -+ 'Lib/smtpd.py'] -+ if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): -+ scripts += [ 'Tools/scripts/pydoc3' ] -+ - setup(# PyPI Metadata (PEP 301) - name = "Python", - version = sys.version.split()[0], -@@ -1617,8 +1623,7 @@ class DummyProcess: - # If you change the scripts installed here, you also need to - # check the PyBuildScripts command above, and change the links - # created by the bininstall target in Makefile.pre.in -- scripts = ["Tools/scripts/pydoc3", "Tools/scripts/idle3", -- "Tools/scripts/2to3"] -+ scripts = scripts - ) - - # --install-platlib -- 2.34.1 diff --git a/package/python3/0006-Don-t-add-multiarch-paths.patch b/package/python3/0006-Don-t-add-multiarch-paths.patch deleted file mode 100644 index 749e295df1..0000000000 --- a/package/python3/0006-Don-t-add-multiarch-paths.patch +++ /dev/null @@ -1,37 +0,0 @@ -From ad463b5d58ae79f69b011fb048861bd874d34369 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Wed, 23 Dec 2015 11:36:27 +0100 -Subject: [PATCH] Don't add multiarch paths - -The add_multiarch_paths() function leads, in certain build -environments, to the addition of host header paths to the CFLAGS, -which is not appropriate for cross-compilation. This patch fixes that -by simply removing the call to add_multiarch_paths() when we're -cross-compiling. - -Investigation done by David <buildroot-2014@inbox.com>. - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> ---- - setup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index 1904898165..32294546b6 100644 ---- a/setup.py -+++ b/setup.py -@@ -852,10 +852,10 @@ def configure_compiler(self): - if not CROSS_COMPILING: - add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') - add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') -+ self.add_multiarch_paths() - # only change this for cross builds for 3.3, issues on Mageia - if CROSS_COMPILING: - self.add_cross_compiling_paths() -- self.add_multiarch_paths() - self.add_ldflags_cppflags() - - def init_inc_lib_dirs(self): --- -2.34.1 - diff --git a/package/python3/0007-Abort-on-failed-module-build.patch b/package/python3/0007-Abort-on-failed-module-build.patch deleted file mode 100644 index a473896127..0000000000 --- a/package/python3/0007-Abort-on-failed-module-build.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 60b1664a7acebadb1a3d6df871145147f33b5afe Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Wed, 23 Dec 2015 11:43:24 +0100 -Subject: [PATCH] Abort on failed module build - -When building a Python module fails, the setup.py script currently -doesn't exit with an error, and simply continues. This is not a really -nice behavior, so this patch changes setup.py to abort with an error, -so that the build issue is clearly noticeable. - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> ---- - setup.py | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/setup.py b/setup.py -index 32294546b6..0e04944ce0 100644 ---- a/setup.py -+++ b/setup.py -@@ -579,6 +579,7 @@ def print_three_column(lst): - print("Failed to build these modules:") - print_three_column(failed) - print() -+ sys.exit(1) - - if self.failed_on_import: - failed = self.failed_on_import[:] --- -2.34.1 - diff --git a/package/python3/0012-Add-an-option-to-disable-lib2to3.patch b/package/python3/0007-Add-an-option-to-disable-lib2to3.patch similarity index 59% rename from package/python3/0012-Add-an-option-to-disable-lib2to3.patch rename to package/python3/0007-Add-an-option-to-disable-lib2to3.patch index 228b86a90b..278fd47a23 100644 --- a/package/python3/0012-Add-an-option-to-disable-lib2to3.patch +++ b/package/python3/0007-Add-an-option-to-disable-lib2to3.patch @@ -14,17 +14,18 @@ Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Adam Duskett <aduskett@gmail.com> [ Bernd Kuhls: ported to Python 3.11.4] Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> +[ Adam Duskett: ported to Python 3.12.1 ] +Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> --- Makefile.pre.in | 17 ++++++++++++----- configure.ac | 6 ++++++ - setup.py | 6 +++--- - 3 files changed, 21 insertions(+), 8 deletions(-) + 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in index 403380e181..f5d0573067 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1868,7 +1868,9 @@ ifeq (@PYDOC@,yes) +@@ -2050,7 +2050,9 @@ ifeq (@PYDOC@,yes) (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) endif -rm -f $(DESTDIR)$(BINDIR)/2to3 @@ -34,7 +35,7 @@ index 403380e181..f5d0573067 100644 if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \ rm -f $(DESTDIR)$(BINDIR)/python3-32$(EXE); \ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-32$(EXE) python3-32$(EXE)) \ -@@ -1914,7 +1916,6 @@ LIBSUBDIRS= asyncio \ +@@ -2097,7 +2099,6 @@ LIBSUBDIRS= asyncio \ idlelib idlelib/Icons \ importlib importlib/resources importlib/metadata \ json \ @@ -42,34 +43,34 @@ index 403380e181..f5d0573067 100644 logging \ multiprocessing multiprocessing/dummy \ re \ -@@ -1934,10 +1935,6 @@ LIBSUBDIRS= asyncio \ - TESTSUBDIRS= ctypes/test \ - distutils/tests \ - idlelib/idle_test \ -- lib2to3/tests \ -- lib2to3/tests/data \ -- lib2to3/tests/data/fixers \ -- lib2to3/tests/data/fixers/myfixes \ - test \ - test/audiodata \ - test/capath \ -@@ -2013,6 +2010,14 @@ ifeq (@PYDOC@,yes) +@@ -2200,10 +2201,6 @@ TESTSUBDIRS= idlelib/idle_test \ + test/test_importlib/resources/zipdata02 \ + test/test_importlib/source \ + test/test_json \ +- test/test_lib2to3 \ +- test/test_lib2to3/data \ +- test/test_lib2to3/data/fixers \ +- test/test_lib2to3/data/fixers/myfixes \ + test/test_module \ + test/test_peg_generator \ + test/test_sqlite3 \ +@@ -2249,6 +2246,14 @@ ifeq (@PYDOC@,yes) LIBSUBDIRS += pydoc_data endif +ifeq (@LIB2TO3@,yes) +LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2 -+TESTSUBDIRS += lib2to3/tests \ -+ lib2to3/tests/data \ -+ lib2to3/tests/data/fixers \ -+ lib2to3/tests/data/fixers/myfixes ++TESTSUBDIRS += test/test_lib2to3 \ ++ test/test_lib2to3/data \ ++ test/test_lib2to3/data/fixers \ ++ test/test_lib2to3/data/fixers/myfixes +endif + TEST_MODULES=@TEST_MODULES@ - libinstall: all $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ -@@ -2115,10 +2120,12 @@ ifeq (@PYC_BUILD@,yes) - -j0 -d $(LIBDEST)/site-packages -f \ + + .PHONY: libinstall +@@ -2332,10 +2337,12 @@ ifeq (@PYC_BUILD@,yes) + -o 0 -o 1 -o 2 $(COMPILEALL_OPTS) -d $(LIBDEST)/site-packages -f \ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages endif +ifeq (@LIB2TO3@,yes) @@ -85,7 +86,7 @@ diff --git a/configure.ac b/configure.ac index f68ea72321..d8e10cf2b2 100644 --- a/configure.ac +++ b/configure.ac -@@ -7078,6 +7078,12 @@ PY_STDLIB_MOD([xxlimited_35], [test "$with_trace_refs" = "no"], [test "$ac_cv_fu +@@ -7529,6 +7529,12 @@ PY_STDLIB_MOD([xxlimited_35], [test "$with_trace_refs" = "no"], [test "$ac_cv_fu # substitute multiline block, must come after last PY_STDLIB_MOD() AC_SUBST([MODULE_BLOCK]) @@ -96,27 +97,8 @@ index f68ea72321..d8e10cf2b2 100644 + [ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ]) + # generate output files - AC_CONFIG_FILES(Makefile.pre Misc/python.pc Misc/python-embed.pc Misc/python-config.sh) - AC_CONFIG_FILES([Modules/Setup.bootstrap Modules/Setup.stdlib]) -diff --git a/setup.py b/setup.py -index 3e55f5b2e0..c490b0b08f 100644 ---- a/setup.py -+++ b/setup.py -@@ -1594,11 +1594,11 @@ class DummyProcess: - import warnings - warnings.filterwarnings("ignore",category=DeprecationWarning) - -- scripts = ['Tools/scripts/idle3', 'Tools/scripts/2to3', -- 'Lib/smtpd.py'] -+ scripts = ['Tools/scripts/idle3', 'Lib/smtpd.py'] - if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): - scripts += [ 'Tools/scripts/pydoc3' ] -- -+ if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"): -+ scripts += [ 'Tools/scripts/2to3' ] - setup(# PyPI Metadata (PEP 301) - name = "Python", - version = sys.version.split()[0], + AC_CONFIG_FILES(m4_normalize([ + Makefile.pre -- 2.34.1 diff --git a/package/python3/0020-Add-an-option-to-disable-IDLE.patch b/package/python3/0008-Add-an-option-to-disable-IDLE.patch similarity index 57% rename from package/python3/0020-Add-an-option-to-disable-IDLE.patch rename to package/python3/0008-Add-an-option-to-disable-IDLE.patch index 09b5f13cdb..16d1cc9921 100644 --- a/package/python3/0020-Add-an-option-to-disable-IDLE.patch +++ b/package/python3/0008-Add-an-option-to-disable-IDLE.patch @@ -11,17 +11,18 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> [ Adam Duskett: ported to Python 3.10.0 ] Signed-off-by: Adam Duskett <aduskett@gmail.com> +[ Adam Duskett: ported to Python 3.12.1 ] +Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> --- Makefile.pre.in | 7 ++++++- configure.ac | 6 ++++++ - setup.py | 5 ++++- - 3 files changed, 16 insertions(+), 2 deletions(-) + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Makefile.pre.in b/Makefile.pre.in index 80d617cf7f..8d1ba1356c 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1862,7 +1862,9 @@ bininstall: altbininstall +@@ -2044,7 +2044,9 @@ bininstall: commoninstall altbininstall -rm -f $(DESTDIR)$(LIBPC)/python3-embed.pc (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION)-embed.pc python3-embed.pc) -rm -f $(DESTDIR)$(BINDIR)/idle3 @@ -31,7 +32,7 @@ index 80d617cf7f..8d1ba1356c 100644 -rm -f $(DESTDIR)$(BINDIR)/pydoc3 ifeq (@PYDOC@,yes) (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) -@@ -1912,7 +1914,6 @@ LIBSUBDIRS= asyncio \ +@@ -2096,7 +2098,6 @@ LIBSUBDIRS= asyncio \ ensurepip ensurepip/_bundled \ html \ http \ @@ -39,8 +40,8 @@ index 80d617cf7f..8d1ba1356c 100644 importlib importlib/resources importlib/metadata \ json \ logging \ -@@ -2030,6 +2031,10 @@ ifeq (@EXPAT@,yes) - LIBSUBDIRS += $(XMLLIBSUBDIRS) +@@ -2254,6 +2255,10 @@ TESTSUBDIRS += test/test_lib2to3 \ + test/test_lib2to3/data/fixers/myfixes endif +ifeq (@IDLE@,yes) @@ -48,13 +49,13 @@ index 80d617cf7f..8d1ba1356c 100644 +endif + TEST_MODULES=@TEST_MODULES@ - libinstall: all $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ + + .PHONY: libinstall diff --git a/configure.ac b/configure.ac index ba4b0e0c1c..5e6d72f7db 100644 --- a/configure.ac +++ b/configure.ac -@@ -7137,6 +7137,12 @@ AC_ARG_ENABLE(lib2to3, +@@ -7535,6 +7535,12 @@ AC_ARG_ENABLE(lib2to3, AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]), [ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ]) @@ -65,28 +66,8 @@ index ba4b0e0c1c..5e6d72f7db 100644 + [ IDLE="${enableval}" ], [ IDLE=yes ]) + # generate output files - AC_CONFIG_FILES(Makefile.pre Misc/python.pc Misc/python-embed.pc Misc/python-config.sh) - AC_CONFIG_FILES([Modules/Setup.bootstrap Modules/Setup.stdlib]) -diff --git a/setup.py b/setup.py -index c490b0b08f..4d49a792f7 100644 ---- a/setup.py -+++ b/setup.py -@@ -1594,11 +1594,14 @@ class DummyProcess: - import warnings - warnings.filterwarnings("ignore",category=DeprecationWarning) - -- scripts = ['Tools/scripts/idle3', 'Lib/smtpd.py'] -+ scripts = [ 'Lib/smtpd.py'] - if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): - scripts += [ 'Tools/scripts/pydoc3' ] - if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"): - scripts += [ 'Tools/scripts/2to3' ] -+ if not '--disable-idle3' in sysconfig.get_config_var("CONFIG_ARGS"): -+ scripts += [ 'Tools/scripts/idle3' ] -+ - setup(# PyPI Metadata (PEP 301) - name = "Python", - version = sys.version.split()[0], + AC_CONFIG_FILES(m4_normalize([ + Makefile.pre -- 2.34.1 diff --git a/package/python3/0009-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch b/package/python3/0009-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch deleted file mode 100644 index eff8fc7694..0000000000 --- a/package/python3/0009-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 2439bd2ed5dbdd7e5fda15adefd0f6f1b047ec1b Mon Sep 17 00:00:00 2001 -From: Christophe Vu-Brugier <cvubrugier@fastmail.fm> -Date: Wed, 23 Dec 2015 11:44:30 +0100 -Subject: [PATCH] Do not adjust the shebang of Python scripts for - cross-compilation - -The copy_scripts() method in distutils copies the scripts listed in -the setup file and adjusts the first line to refer to the current -Python interpreter. When cross-compiling, this means that the adjusted -shebang refers to the host Python interpreter. - -This patch modifies copy_scripts() to preserve the shebang when -cross-compilation is detected. - -Signed-off-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm> ---- - Lib/distutils/command/build_scripts.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Lib/distutils/command/build_scripts.py b/Lib/distutils/command/build_scripts.py -index ccc70e6465..d6d54195c1 100644 ---- a/Lib/distutils/command/build_scripts.py -+++ b/Lib/distutils/command/build_scripts.py -@@ -91,7 +91,7 @@ def copy_scripts(self): - adjust = True - post_interp = match.group(1) or b'' - -- if adjust: -+ if adjust and not '_python_sysroot' in os.environ: - log.info("copying and adjusting %s -> %s", script, - self.build_dir) - updated_files.append(outfile) --- -2.34.1 - diff --git a/package/python3/0026-python-config.sh-don-t-reassign-prefix.patch b/package/python3/0009-python-config.sh-don-t-reassign-prefix.patch similarity index 100% rename from package/python3/0026-python-config.sh-don-t-reassign-prefix.patch rename to package/python3/0009-python-config.sh-don-t-reassign-prefix.patch diff --git a/package/python3/0010-Add-an-option-to-disable-the-tk-module.patch b/package/python3/0010-Add-an-option-to-disable-the-tk-module.patch new file mode 100644 index 0000000000..b65578726c --- /dev/null +++ b/package/python3/0010-Add-an-option-to-disable-the-tk-module.patch @@ -0,0 +1,79 @@ +From bbbfe699d648a5cb191203b16e1786e8cf4ea908 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Wed, 22 Feb 2017 17:23:42 -0800 +Subject: [PATCH] Add an option to disable the tk module + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Signed-off-by: Samuel Martin <s.martin49@gmail.com> +[ Andrey Smirnov: ported to Python 3.6 ] +Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> +[ Adam Duskett: ported to Python 3.10.0 ] +Signed-off-by: Adam Duskett <aduskett@gmail.com> +[ Bernd Kuhls: ported to Python 3.11.4] +Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> +[ Adam Duskett: ported to Python 3.12.1 ] +Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> +--- + Makefile.pre.in | 8 +++++--- + configure.ac | 5 +++++ + 2 files changed, 10 insertions(+), 3 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 9f4cdf14cf..4f83911200 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -2105,7 +2105,6 @@ LIBSUBDIRS= asyncio \ + re \ + site-packages \ + sqlite3 \ +- tkinter \ + tomllib \ + turtledemo \ + unittest \ +@@ -2205,7 +2204,6 @@ TESTSUBDIRS= idlelib/idle_test \ + test/test_module \ + test/test_peg_generator \ + test/test_sqlite3 \ +- test/test_tkinter \ + test/test_tomllib \ + test/test_tomllib/data \ + test/test_tomllib/data/invalid \ +@@ -2225,7 +2223,6 @@ TESTSUBDIRS= idlelib/idle_test \ + test/test_tomllib/data/valid/dates-and-times \ + test/test_tomllib/data/valid/multiline-basic-str \ + test/test_tools \ +- test/test_ttk \ + test/test_unittest \ + test/test_unittest/testmock \ + test/test_warnings \ +@@ -2241,6 +2238,11 @@ TESTSUBDIRS= idlelib/idle_test \ + test/xmltestdata/c14n-20 \ + test/ziptestdata + ++ifeq (@TK@,yes) ++LIBSUBDIRS += tkinter ++TESTSUBDIRS += test/test_tkinter test/test_ttk ++endif ++ + COMPILEALL_OPTS=-j0 + + ifeq (@PYDOC@,yes) +diff --git a/configure.ac b/configure.ac +index 4cc0951ab9..f4ce506801 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -4491,6 +4491,11 @@ AC_ARG_ENABLE(pydoc, + AS_HELP_STRING([--disable-pydoc], [disable pydoc]), + [ PYDOC="${enableval}" ], [ PYDOC=yes ]) + ++AC_SUBST(TK) ++AC_ARG_ENABLE(tk, ++ AS_HELP_STRING([--disable-tk], [disable tk]), ++ [ TK="${enableval}" ], [ TK=yes ]) ++ + # Check for enable-ipv6 + AH_TEMPLATE([ENABLE_IPV6], [Define if --enable-ipv6 is specified]) + AC_MSG_CHECKING([if --enable-ipv6 is specified]) +-- +2.34.1 + diff --git a/package/python3/0028-fix-building-on-older-distributions.patch b/package/python3/0011-fix-building-on-older-distributions.patch similarity index 82% rename from package/python3/0028-fix-building-on-older-distributions.patch rename to package/python3/0011-fix-building-on-older-distributions.patch index 4541b31c5f..bcd8a60d01 100644 --- a/package/python3/0028-fix-building-on-older-distributions.patch +++ b/package/python3/0011-fix-building-on-older-distributions.patch @@ -16,14 +16,16 @@ This change fixes building on older systems such as CentOS7, that only come with python 2. Signed-off-by: Adam Duskett <aduskett@gmail.com> +[ Adam Duskett: ported to Python 3.12.1 ] +Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> --- - Tools/scripts/update_file.py | 4 ++-- + Tools/build/update_file.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/Tools/scripts/update_file.py b/Tools/scripts/update_file.py -index b4182c1d0c..ab443cb1a6 100644 ---- a/Tools/scripts/update_file.py -+++ b/Tools/scripts/update_file.py +diff --git a/Tools/build/update_file.py b/Tools/build/update_file.py +index b4182c1..ab443cb 100644 +--- a/Tools/build/update_file.py ++++ b/Tools/build/update_file.py @@ -53,7 +53,7 @@ def update_file_with_tmpfile(filename, tmpfile, *, create=False): if not create: raise # re-raise diff --git a/package/python3/0029-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch b/package/python3/0012-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch similarity index 97% rename from package/python3/0029-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch rename to package/python3/0012-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch index 5253076d90..9acb6e0e67 100644 --- a/package/python3/0029-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch +++ b/package/python3/0012-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch @@ -33,7 +33,7 @@ diff --git a/configure.ac b/configure.ac index ed03b27fb1..841fd6732c 100644 --- a/configure.ac +++ b/configure.ac -@@ -1086,7 +1086,11 @@ AC_MSG_CHECKING([for multiarch]) +@@ -1123,7 +1123,11 @@ AC_MSG_CHECKING([for multiarch]) AS_CASE([$ac_sys_system], [Darwin*], [MULTIARCH=""], [FreeBSD*], [MULTIARCH=""], diff --git a/package/python3/0013-Add-option-to-disable-the-sqlite3-module.patch b/package/python3/0013-Add-option-to-disable-the-sqlite3-module.patch deleted file mode 100644 index 795ea3b898..0000000000 --- a/package/python3/0013-Add-option-to-disable-the-sqlite3-module.patch +++ /dev/null @@ -1,62 +0,0 @@ -From ef8c030e01b1be8be582e90c31298a5863094858 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Wed, 22 Feb 2017 17:20:45 -0800 -Subject: [PATCH] Add option to disable the sqlite3 module - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Signed-off-by: Samuel Martin <s.martin49@gmail.com> -[ Andrey Smirnov: ported to Python 3.6 ] -Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> -[ Adam Duskett: ported to Python 3.10.0 ] -Signed-off-by: Adam Duskett <aduskett@gmail.com> ---- - Makefile.pre.in | 5 ++++- - configure.ac | 9 +++++++++ - 2 files changed, 13 insertions(+), 1 deletion(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index f5d0573067..9f4cdf14cf 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1920,7 +1920,6 @@ LIBSUBDIRS= asyncio \ - multiprocessing multiprocessing/dummy \ - re \ - site-packages \ -- sqlite3 \ - tkinter \ - tomllib \ - turtledemo \ -@@ -2018,6 +2017,10 @@ TESTSUBDIRS += lib2to3/tests \ - lib2to3/tests/data/fixers/myfixes - endif - -+ifeq (@SQLITE3@,yes) -+LIBSUBDIRS += sqlite3 -+endif -+ - TEST_MODULES=@TEST_MODULES@ - libinstall: all $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ -diff --git a/configure.ac b/configure.ac -index d8e10cf2b2..4cc0951ab9 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4171,6 +4171,15 @@ AS_VAR_IF([posix_threads], [stub], [ - AC_DEFINE([HAVE_PTHREAD_STUBS], [1], [Define if platform requires stubbed pthreads support]) - ]) - -+AC_SUBST(SQLITE3) -+AC_ARG_ENABLE(sqlite3, -+ AS_HELP_STRING([--disable-sqlite3], [disable sqlite3]), -+ [ SQLITE3="${enableval}" ], [ SQLITE3=yes ]) -+ -+if test "$SQLITE3" = "no" ; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" -+fi -+ - AC_SUBST(PYDOC) - - AC_ARG_ENABLE(pydoc, --- -2.34.1 - diff --git a/package/python3/0031-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch b/package/python3/0013-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch similarity index 100% rename from package/python3/0031-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch rename to package/python3/0013-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch diff --git a/package/python3/0014-Add-an-option-to-disable-the-tk-module.patch b/package/python3/0014-Add-an-option-to-disable-the-tk-module.patch deleted file mode 100644 index b89e1d27bc..0000000000 --- a/package/python3/0014-Add-an-option-to-disable-the-tk-module.patch +++ /dev/null @@ -1,77 +0,0 @@ -From bbbfe699d648a5cb191203b16e1786e8cf4ea908 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Wed, 22 Feb 2017 17:23:42 -0800 -Subject: [PATCH] Add an option to disable the tk module - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Signed-off-by: Samuel Martin <s.martin49@gmail.com> -[ Andrey Smirnov: ported to Python 3.6 ] -Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> -[ Adam Duskett: ported to Python 3.10.0 ] -Signed-off-by: Adam Duskett <aduskett@gmail.com> -[ Bernd Kuhls: ported to Python 3.11.4] -Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> ---- - Makefile.pre.in | 10 +++++++--- - configure.ac | 9 +++++++++ - 2 files changed, 16 insertions(+), 3 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 9f4cdf14cf..4f83911200 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1920,7 +1920,6 @@ LIBSUBDIRS= asyncio \ - multiprocessing multiprocessing/dummy \ - re \ - site-packages \ -- tkinter \ - tomllib \ - turtledemo \ - unittest \ -@@ -2038,9 +2038,6 @@ - test/xmltestdata \ - test/xmltestdata/c14n-20 \ - test/ziptestdata \ -- tkinter/test \ -- tkinter/test/test_tkinter \ -- tkinter/test/test_ttk \ - unittest/test \ - unittest/test/testmock - ifeq (@PYDOC@,yes) -@@ -2021,6 +2018,13 @@ ifeq (@SQLITE3@,yes) - LIBSUBDIRS += sqlite3 - endif - -+ifeq (@TK@,yes) -+LIBSUBDIRS += tkinter -+TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \ -+ tkinter/test/test_ttk -+endif -+ -+ - TEST_MODULES=@TEST_MODULES@ - libinstall: all $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ -diff --git a/configure.ac b/configure.ac -index 4cc0951ab9..f4ce506801 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4180,6 +4180,15 @@ if test "$SQLITE3" = "no" ; then - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" - fi - -+AC_SUBST(TK) -+AC_ARG_ENABLE(tk, -+ AS_HELP_STRING([--disable-tk], [disable tk]), -+ [ TK="${enableval}" ], [ TK=yes ]) -+ -+if test "$TK" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" -+fi -+ - AC_SUBST(PYDOC) - - AC_ARG_ENABLE(pydoc, --- -2.34.1 - diff --git a/package/python3/0015-Add-an-option-to-disable-the-curses-module.patch b/package/python3/0015-Add-an-option-to-disable-the-curses-module.patch deleted file mode 100644 index da6f891104..0000000000 --- a/package/python3/0015-Add-an-option-to-disable-the-curses-module.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 03e28cdd46dac1b7e4e9c8bbd2ea44b09e514205 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Wed, 22 Feb 2017 17:31:51 -0800 -Subject: [PATCH] Add an option to disable the curses module - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Signed-off-by: Samuel Martin <s.martin49@gmail.com> -[ Andrey Smirnov: ported to Python 3.6 ] -Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> -[ Adam Duskett: ported to Python 3.10.0 ] -Signed-off-by: Adam Duskett <aduskett@gmail.com> ---- - Makefile.pre.in | 4 +++- - configure.ac | 9 +++++++++ - 2 files changed, 12 insertions(+), 1 deletion(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 4f83911200..8e879b35c6 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1905,7 +1905,6 @@ LIBSUBDIRS= asyncio \ - concurrent concurrent/futures \ - csv \ - ctypes ctypes/macholib \ -- curses \ - dbm \ - distutils distutils/command \ - email email/mime \ -@@ -2024,6 +2023,9 @@ TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \ - tkinter/test/test_ttk - endif - -+ifeq (@CURSES@,yes) -+LIBSUBDIRS += curses -+endif - - TEST_MODULES=@TEST_MODULES@ - libinstall: all $(srcdir)/Modules/xxmodule.c -diff --git a/configure.ac b/configure.ac -index f4ce506801..0ae9863cd6 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4189,6 +4189,15 @@ if test "$TK" = "no"; then - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" - fi - -+AC_SUBST(CURSES) -+AC_ARG_ENABLE(curses, -+ AS_HELP_STRING([--disable-curses], [disable curses]), -+ [ CURSES="${enableval}" ], [ CURSES=yes ]) -+ -+if test "$CURSES" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel" -+fi -+ - AC_SUBST(PYDOC) - - AC_ARG_ENABLE(pydoc, --- -2.34.1 - diff --git a/package/python3/0016-Add-an-option-to-disable-expat.patch b/package/python3/0016-Add-an-option-to-disable-expat.patch deleted file mode 100644 index c30740762a..0000000000 --- a/package/python3/0016-Add-an-option-to-disable-expat.patch +++ /dev/null @@ -1,82 +0,0 @@ -From c9a2ea3edacf57746517600ccc11c254a9fd6c48 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Wed, 22 Feb 2017 17:40:45 -0800 -Subject: [PATCH] Add an option to disable expat - -This patch replaces the existing --with-system-expat option with a ---with-expat={system,builtin,none} option, which allows to tell Python -whether we want to use the system expat (already installed), the expat -builtin the Python sources, or no expat at all (which disables the -installation of XML modules). - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Signed-off-by: Samuel Martin <s.martin49@gmail.com> -[ Andrey Smirnov: ported to Python 3.6 ] -Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> -[ Adam Duskett: ported to Python 3.10.0 ] -Signed-off-by: Adam Duskett <aduskett@gmail.com> ---- - Makefile.pre.in | 5 ++++- - configure.ac | 20 ++++++++++++++------ - 2 files changed, 18 insertions(+), 7 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 8e879b35c6..80d617cf7f 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1925,7 +1925,6 @@ LIBSUBDIRS= asyncio \ - urllib \ - venv venv/scripts venv/scripts/common venv/scripts/posix \ - wsgiref \ -- $(XMLLIBSUBDIRS) \ - xmlrpc \ - zoneinfo \ - __phello__ -@@ -2027,6 +2026,10 @@ ifeq (@CURSES@,yes) - LIBSUBDIRS += curses - endif - -+ifeq (@EXPAT@,yes) -+LIBSUBDIRS += $(XMLLIBSUBDIRS) -+endif -+ - TEST_MODULES=@TEST_MODULES@ - libinstall: all $(srcdir)/Modules/xxmodule.c - @for i in $(SCRIPTDIR) $(LIBDEST); \ -diff --git a/configure.ac b/configure.ac -index 0ae9863cd6..201cad0bfc 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3565,15 +3565,23 @@ LIBS="$withval $LIBS" - AC_SUBST(DISABLED_EXTENSIONS) - - # Check for use of the system expat library --AC_MSG_CHECKING(for --with-system-expat) --AC_ARG_WITH(system_expat, -- AS_HELP_STRING([--with-system-expat], [build pyexpat module using an installed expat library, see Doc/library/pyexpat.rst (default is no)]), -+AC_MSG_CHECKING(for --with-expat) -+AC_ARG_WITH(expat, -+ AS_HELP_STRING([--with-expat], [select which expat version to use: system, builtin, none]), - [], -- [with_system_expat="no"]) -+ [with_expat="builtin"]) - --AC_MSG_RESULT($with_system_expat) -+AC_MSG_RESULT($with_expat) - --AS_VAR_IF([with_system_expat], [yes], [ -+if test "$with_expat" != "none"; then -+ EXPAT=yes -+else -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} pyexpat" -+ EXPAT=no -+fi -+AC_SUBST(EXPAT) -+ -+AS_VAR_IF([with_expat], [system], [ - LIBEXPAT_CFLAGS=${LIBEXPAT_CFLAGS-""} - LIBEXPAT_LDFLAGS=${LIBEXPAT_LDFLAGS-"-lexpat"} - LIBEXPAT_INTERNAL= --- -2.34.1 - diff --git a/package/python3/0017-Add-an-option-to-disable-CJK-codecs.patch b/package/python3/0017-Add-an-option-to-disable-CJK-codecs.patch deleted file mode 100644 index 63a07fb514..0000000000 --- a/package/python3/0017-Add-an-option-to-disable-CJK-codecs.patch +++ /dev/null @@ -1,30 +0,0 @@ -From d8ef6a7a9f2b954cf1c1e37fc3c35055b42af0f5 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Wed, 23 Dec 2015 11:49:55 +0100 -Subject: [PATCH] Add an option to disable CJK codecs - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 201cad0bfc..ecdd7dbc07 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4188,6 +4188,12 @@ if test "$SQLITE3" = "no" ; then - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" - fi - -+AC_ARG_ENABLE(codecs-cjk, -+ AS_HELP_STRING([--disable-codecs-cjk], [disable CJK codecs]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk _codecs_iso2022" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), --- -2.34.1 - diff --git a/package/python3/0018-Add-an-option-to-disable-NIS.patch b/package/python3/0018-Add-an-option-to-disable-NIS.patch deleted file mode 100644 index 977955d1cb..0000000000 --- a/package/python3/0018-Add-an-option-to-disable-NIS.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 09fc9f72ebe60bb65e80732a6bd4f12a84159f6d Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Wed, 23 Dec 2015 11:50:11 +0100 -Subject: [PATCH] Add an option to disable NIS - -NIS is not necessarily available in uClibc, so we need an option to -not compile support for it. - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index ecdd7dbc07..1bdde7f69d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4194,6 +4194,12 @@ AC_ARG_ENABLE(codecs-cjk, - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk _codecs_iso2022" - fi]) - -+AC_ARG_ENABLE(nis, -+ AS_HELP_STRING([--disable-nis], [disable NIS]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), --- -2.34.1 - diff --git a/package/python3/0019-Add-an-option-to-disable-unicodedata.patch b/package/python3/0019-Add-an-option-to-disable-unicodedata.patch deleted file mode 100644 index 74702b67a5..0000000000 --- a/package/python3/0019-Add-an-option-to-disable-unicodedata.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 4fe7f375a3d171d294caebdd7b7ce49bbc9ad9f3 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Wed, 23 Dec 2015 11:50:27 +0100 -Subject: [PATCH] Add an option to disable unicodedata - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 1bdde7f69d..ba4b0e0c1c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4200,6 +4200,12 @@ AC_ARG_ENABLE(nis, - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" - fi]) - -+AC_ARG_ENABLE(unicodedata, -+ AS_HELP_STRING([--disable-unicodedata], [disable unicodedata]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), --- -2.34.1 - diff --git a/package/python3/0021-Add-an-option-to-disable-decimal.patch b/package/python3/0021-Add-an-option-to-disable-decimal.patch deleted file mode 100644 index d683565f94..0000000000 --- a/package/python3/0021-Add-an-option-to-disable-decimal.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 7091fdf77f612425c178a75148560f9c3514e8b8 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Wed, 23 Dec 2015 11:51:31 +0100 -Subject: [PATCH] Add an option to disable decimal - -This patch replaces the existing --with-system-libmpdec option with a ---with-libmpdec={system,builtin,none} option, which allows to tell -Python whether we want to use the system libmpdec (already installed), -the libmpdec builtin the Python sources, or no libmpdec at all. - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -[aduskett@gmail.com: Update for python 3.7.0] -Signed-off-by: Adam Duskett <aduskett@gmail.com> -[james.hilliard1@gmail.com: adapt to python 3.9] -Signed-off-by: James Hilliard <james.hilliard1@gmail.com> ---- - configure.ac | 19 +++++++++++++------ - 1 file changed, 13 insertions(+), 6 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 5e6d72f7db..e6b1f1e9de 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3630,14 +3630,21 @@ fi - AC_SUBST(LIBFFI_INCLUDEDIR) - - # Check for use of the system libmpdec library --AC_MSG_CHECKING(for --with-system-libmpdec) --AC_ARG_WITH(system_libmpdec, -- AS_HELP_STRING([--with-system-libmpdec], [build _decimal module using an installed libmpdec library, see Doc/library/decimal.rst (default is no)]), -+AC_MSG_CHECKING(for --with-libmpdec) -+AC_ARG_WITH(libmpdec, -+ AS_HELP_STRING([--with-libmpdec], [select which libmpdec version to use: system, builtin, none]), - [], -- [with_system_libmpdec="no"]) --AC_MSG_RESULT($with_system_libmpdec) -+ [with_libmpdec="builtin"]) -+AC_MSG_RESULT($with_libmpdec) -+if test "$with_libmpdec" != "none"; then -+ MPDEC=yes -+else -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _decimal" -+ MPDEC=no -+fi -+AC_SUBST(MPDEC) - --AS_VAR_IF([with_system_libmpdec], [yes], [ -+AS_VAR_IF([with_libmpdec], [system], [ - LIBMPDEC_CFLAGS=${LIBMPDEC_CFLAGS-""} - LIBMPDEC_LDFLAGS=${LIBMPDEC_LDFLAGS-"-lmpdec"} - LIBMPDEC_INTERNAL= --- -2.34.1 - diff --git a/package/python3/0022-Add-an-option-to-disable-the-ossaudiodev-module.patch b/package/python3/0022-Add-an-option-to-disable-the-ossaudiodev-module.patch deleted file mode 100644 index 56713a7f8f..0000000000 --- a/package/python3/0022-Add-an-option-to-disable-the-ossaudiodev-module.patch +++ /dev/null @@ -1,30 +0,0 @@ -From d48d9da534cec7891ae444b4ab94a76ac67f5daa Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Wed, 23 Dec 2015 11:51:58 +0100 -Subject: [PATCH] Add an option to disable the ossaudiodev module - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index e6b1f1e9de..db33d567ad 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3678,6 +3678,12 @@ fi - - AC_MSG_RESULT($with_decimal_contextvar) - -+AC_ARG_ENABLE(ossaudiodev, -+ AS_HELP_STRING([--disable-ossaudiodev], [disable OSSAUDIODEV]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ossaudiodev" -+ fi]) -+ - # Check for libmpdec machine flavor - AC_MSG_CHECKING(for decimal libmpdec machine) - AS_CASE([$ac_sys_system], --- -2.34.1 - diff --git a/package/python3/0023-Add-an-option-to-disable-openssl-support.patch b/package/python3/0023-Add-an-option-to-disable-openssl-support.patch deleted file mode 100644 index d4c9fd43be..0000000000 --- a/package/python3/0023-Add-an-option-to-disable-openssl-support.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 25c900e81a2fc0bbe35e7c94e2e5028cfbf6582a Mon Sep 17 00:00:00 2001 -From: Nicolas Cavallari <nicolas.cavallari@green-communications.fr> -Date: Wed, 22 Feb 2017 17:55:59 -0800 -Subject: [PATCH] Add an option to disable openssl support. - -Signed-off-by: Nicolas Cavallari <nicolas.cavallari@green-communications.fr> ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index db33d567ad..42fe6c8f5a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4219,6 +4219,12 @@ AC_ARG_ENABLE(unicodedata, - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata" - fi]) - -+AC_ARG_ENABLE(openssl, -+ AS_HELP_STRING([--disable-openssl], [disable openssl support]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), --- -2.34.1 - diff --git a/package/python3/0024-Add-an-option-to-disable-the-readline-module.patch b/package/python3/0024-Add-an-option-to-disable-the-readline-module.patch deleted file mode 100644 index 9250007dae..0000000000 --- a/package/python3/0024-Add-an-option-to-disable-the-readline-module.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 9082468ca620db77b670ccf568a96bbabb865f80 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Tue, 7 Mar 2017 23:29:05 +0100 -Subject: [PATCH] Add an option to disable the readline module - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 42fe6c8f5a..19875d7d30 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4225,6 +4225,12 @@ AC_ARG_ENABLE(openssl, - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib" - fi]) - -+AC_ARG_ENABLE(readline, -+ AS_HELP_STRING([--disable-readline], [disable readline]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), --- -2.34.1 - diff --git a/package/python3/0025-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch b/package/python3/0025-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch deleted file mode 100644 index 70a0d6cd15..0000000000 --- a/package/python3/0025-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 988a335cb34b5fc25ea345ba04ff5ddffe2e946c Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Tue, 7 Mar 2017 23:31:11 +0100 -Subject: [PATCH] Add options to disable zlib, bzip2 and xz modules - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> ---- - configure.ac | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 19875d7d30..ca6c16491a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4231,6 +4231,24 @@ AC_ARG_ENABLE(readline, - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline" - fi]) - -+AC_ARG_ENABLE(bzip2, -+ AS_HELP_STRING([--disable-bzip2], [disable bzip2]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _bz2" -+ fi]) -+ -+AC_ARG_ENABLE(zlib, -+ AS_HELP_STRING([--disable-zlib], [disable zlib]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} zlib" -+ fi]) -+ -+AC_ARG_ENABLE(xz, -+ AS_HELP_STRING([--disable-xz], [disable xz]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _lzma" -+ fi]) -+ - AC_SUBST(TK) - AC_ARG_ENABLE(tk, - AS_HELP_STRING([--disable-tk], [disable tk]), --- -2.34.1 - diff --git a/package/python3/0027-Add-an-option-to-disable-uuid-module.patch b/package/python3/0027-Add-an-option-to-disable-uuid-module.patch deleted file mode 100644 index a9501ec189..0000000000 --- a/package/python3/0027-Add-an-option-to-disable-uuid-module.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 58027d25c3cabcf654cb0b31a61d7cbd53dc68c0 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@bootlin.com> -Date: Sat, 18 Aug 2018 10:54:56 +0200 -Subject: [PATCH] Add an option to disable uuid module - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> ---- - configure.ac | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/configure.ac b/configure.ac -index ca6c16491a..ed03b27fb1 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4267,6 +4267,15 @@ if test "$CURSES" = "no"; then - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel" - fi - -+AC_SUBST(UUID) -+AC_ARG_ENABLE(uuid, -+ AS_HELP_STRING([--disable-uuid], [disable uuid]), -+ [ UUID="${enableval}" ], [ UUID=yes ]) -+ -+if test "$UUID" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _uuid" -+fi -+ - AC_SUBST(PYDOC) - - AC_ARG_ENABLE(pydoc, --- -2.34.1 - diff --git a/package/python3/0030-Add-an-option-to-disable-the-berkeleydb-module.patch b/package/python3/0030-Add-an-option-to-disable-the-berkeleydb-module.patch deleted file mode 100644 index 5fb436db59..0000000000 --- a/package/python3/0030-Add-an-option-to-disable-the-berkeleydb-module.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 67e9793d070ac5c8e83abbe95b9208533ffeadd0 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls <bernd.kuhls@t-online.de> -Date: Sat, 11 Apr 2020 22:01:40 +0200 -Subject: [PATCH] Add an option to disable the berkeleydb module - -Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 841fd6732c..06c9a81f95 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4280,6 +4280,12 @@ if test "$UUID" = "no"; then - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _uuid" - fi - -+AC_ARG_ENABLE(berkeleydb, -+ AS_HELP_STRING([--disable-berkeleydb], [disable berkeleydb]), -+ [ if test "$enableval" = "no"; then -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _dbm" -+ fi]) -+ - AC_SUBST(PYDOC) - - AC_ARG_ENABLE(pydoc, --- -2.34.1 - diff --git a/package/python3/python3.hash b/package/python3/python3.hash index 39a16c1f71..725c854050 100644 --- a/package/python3/python3.hash +++ b/package/python3/python3.hash @@ -1,5 +1,5 @@ -# From https://www.python.org/downloads/release/python-3116/ -md5 d0c5a1a31efe879723e51addf56dd206 Python-3.11.6.tar.xz +# From https://www.python.org/downloads/release/python-3121/ +md5 50f827c800483776c8ef86e6a53831fa Python-3.12.1.tar.xz # Locally computed -sha256 0fab78fa7f133f4f38210c6260d90d7c0d5c7198446419ce057ec7ac2e6f5f38 Python-3.11.6.tar.xz +sha256 8dfb8f426fcd226657f9e2bd5f1e96e53264965176fa17d32658e873591aeb21 Python-3.12.1.tar.xz sha256 3b2f81fe21d181c499c59a256c8e1968455d6689d269aa85373bfb6af41da3bf LICENSE diff --git a/package/python3/python3.mk b/package/python3/python3.mk index b9c5054a21..16e8567b9e 100644 --- a/package/python3/python3.mk +++ b/package/python3/python3.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON3_VERSION_MAJOR = 3.11 -PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).6 +PYTHON3_VERSION_MAJOR = 3.12 +PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).1 PYTHON3_SOURCE = Python-$(PYTHON3_VERSION).tar.xz PYTHON3_SITE = https://python.org/ftp/python/$(PYTHON3_VERSION) PYTHON3_LICENSE = Python-2.0, others @@ -19,16 +19,10 @@ PYTHON3_CPE_ID_PRODUCT = python HOST_PYTHON3_CONF_OPTS += \ --without-ensurepip \ --without-cxx-main \ - --disable-sqlite3 \ --disable-tk \ - --with-expat=system \ - --disable-curses \ - --disable-codecs-cjk \ - --disable-nis \ - --enable-unicodedata \ + --with-system-expat \ --disable-test-modules \ --disable-idle3 \ - --disable-uuid \ --disable-ossaudiodev # Make sure that LD_LIBRARY_PATH overrides -rpath. @@ -38,6 +32,19 @@ HOST_PYTHON3_CONF_OPTS += \ # communicate over the network during the build. HOST_PYTHON3_CONF_ENV += \ LDFLAGS="$(HOST_LDFLAGS) -Wl,--enable-new-dtags" \ + py_cv_module__curses=n/a \ + py_cv_module__curses_panel=n/a \ + py_cv_module_nis=n/a \ + py_cv_module_unicodedata=yes \ + py_cv_module__codecs_cn=n/a \ + py_cv_module__codecs_hk=n/a \ + py_cv_module__codecs_iso2022=n/a \ + py_cv_module__codecs_jp=n/a \ + py_cv_module__codecs_kr=n/a \ + py_cv_module__codecs_tw=n/a \ + py_cv_module__sqlite3=n/a \ + py_cv_module__tkinter=n/a \ + py_cv_module__uuid=n/a \ ac_cv_prog_HAS_HG=/bin/false PYTHON3_DEPENDENCIES = host-python3 libffi @@ -52,13 +59,15 @@ HOST_PYTHON3_DEPENDENCIES = \ ifeq ($(BR2_PACKAGE_HOST_PYTHON3_BZIP2),y) HOST_PYTHON3_DEPENDENCIES += host-bzip2 else -HOST_PYTHON3_CONF_OPTS += --disable-bzip2 +HOST_PYTHON3_CONF_ENV += py_cv_module__bz2=n/a endif ifeq ($(BR2_PACKAGE_HOST_PYTHON3_SSL),y) HOST_PYTHON3_DEPENDENCIES += host-openssl else -HOST_PYTHON3_CONF_OPTS += --disable-openssl +HOST_PYTHON3_CONF_ENV += \ + py_cv_module__hashlib=n/a \ + py_cv_module__ssl=n/a endif PYTHON3_INSTALL_STAGING = YES @@ -72,83 +81,92 @@ endif ifeq ($(BR2_PACKAGE_PYTHON3_BERKELEYDB),y) PYTHON3_DEPENDENCIES += berkeleydb else -PYTHON3_CONF_OPTS += --disable-berkeleydb +PYTHON3_CONF_ENV += py_cv_module__dbm=n/a endif ifeq ($(BR2_PACKAGE_PYTHON3_READLINE),y) +PYTHON3_CONF_OPTS += --with-readline PYTHON3_DEPENDENCIES += readline else -PYTHON3_CONF_OPTS += --disable-readline +PYTHON3_CONF_OPTS += --without-readline endif ifeq ($(BR2_PACKAGE_PYTHON3_CURSES),y) PYTHON3_DEPENDENCIES += ncurses else -PYTHON3_CONF_OPTS += --disable-curses +PYTHON3_CONF_ENV += \ + py_cv_module__curses=n/a \ + py_cv_module__curses_panel=n/a endif ifeq ($(BR2_PACKAGE_PYTHON3_DECIMAL),y) PYTHON3_DEPENDENCIES += mpdecimal -PYTHON3_CONF_OPTS += --with-libmpdec=system +PYTHON3_CONF_OPTS += --with-system-libmpdec else -PYTHON3_CONF_OPTS += --with-libmpdec=none +PYTHON3_CONF_ENV += py_cv_module__decimal=n/a endif ifeq ($(BR2_PACKAGE_PYTHON3_PYEXPAT),y) PYTHON3_DEPENDENCIES += expat -PYTHON3_CONF_OPTS += --with-expat=system +PYTHON3_CONF_OPTS += --with-system-expat else -PYTHON3_CONF_OPTS += --with-expat=none +PYTHON3_CONF_ENV += py_cv_module_pyexpat=n/a endif ifeq ($(BR2_PACKAGE_PYTHON3_SQLITE),y) PYTHON3_DEPENDENCIES += sqlite else -PYTHON3_CONF_OPTS += --disable-sqlite3 +PYTHON3_CONF_ENV += py_cv_module__sqlite3=n/a endif ifeq ($(BR2_PACKAGE_PYTHON3_SSL),y) PYTHON3_DEPENDENCIES += openssl PYTHON3_CONF_OPTS += --with-openssl=$(STAGING_DIR)/usr else -PYTHON3_CONF_OPTS += --disable-openssl +PYTHON3_CONF_ENV += \ + py_cv_module__hashlib=n/a \ + py_cv_module__ssl=n/a endif ifneq ($(BR2_PACKAGE_PYTHON3_CODECSCJK),y) -PYTHON3_CONF_OPTS += --disable-codecs-cjk +PYTHON3_CONF_ENV += \ + py_cv_module__codecs_cn=n/a \ + py_cv_module__codecs_hk=n/a \ + py_cv_module__codecs_iso2022=n/a \ + py_cv_module__codecs_jp=n/a \ + py_cv_module__codecs_kr=n/a \ + py_cv_module__codecs_tw=n/a endif ifneq ($(BR2_PACKAGE_PYTHON3_UNICODEDATA),y) -PYTHON3_CONF_OPTS += --disable-unicodedata +PYTHON3_CONF_ENV += py_cv_module_unicodedata=n/a endif # Disable auto-detection of uuid.h (util-linux) # which would add _uuid module support, instead # default to the pure python implementation -PYTHON3_CONF_OPTS += --disable-uuid +PYTHON3_CONF_ENV += py_cv_module__uuid=n/a ifeq ($(BR2_PACKAGE_PYTHON3_BZIP2),y) PYTHON3_DEPENDENCIES += bzip2 else -PYTHON3_CONF_OPTS += --disable-bzip2 +PYTHON3_CONF_ENV += py_cv_module__bz2=n/a endif ifeq ($(BR2_PACKAGE_PYTHON3_XZ),y) PYTHON3_DEPENDENCIES += xz else -PYTHON3_CONF_OPTS += --disable-xz +PYTHON3_CONF_ENV += py_cv_module__lzma=n/a endif ifeq ($(BR2_PACKAGE_PYTHON3_ZLIB),y) PYTHON3_DEPENDENCIES += zlib else -PYTHON3_CONF_OPTS += --disable-zlib +PYTHON3_CONF_ENV += py_cv_module_zlib=n/a endif -ifeq ($(BR2_PACKAGE_PYTHON3_OSSAUDIODEV),y) -PYTHON3_CONF_OPTS += --enable-ossaudiodev -else -PYTHON3_CONF_OPTS += --disable-ossaudiodev +ifneq ($(BR2_PACKAGE_PYTHON3_OSSAUDIODEV),y) +PYTHON3_CONF_ENV += py_cv_module_ossaudiodev=n/a endif # Make python believe we don't have 'hg', so that it doesn't try to @@ -158,6 +176,8 @@ PYTHON3_CONF_ENV += \ ac_cv_file__dev_ptmx=yes \ ac_cv_file__dev_ptc=yes \ ac_cv_working_tzset=yes \ + py_cv_module_nis=n/a \ + py_cv_module__tkinter=n/a \ ac_cv_prog_HAS_HG=/bin/false # GCC is always compliant with IEEE754 @@ -185,7 +205,6 @@ PYTHON3_CONF_OPTS += \ --disable-pydoc \ --disable-test-modules \ --disable-tk \ - --disable-nis \ --disable-idle3 \ --disable-pyc-build -- 2.43.0 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v4 3/3] package/python3: bump version to 3.12.1 2023-12-18 22:04 ` [Buildroot] [PATCH v4 3/3] package/python3: bump version to 3.12.1 Adam Duskett @ 2023-12-24 22:12 ` Adam Duskett 2024-02-06 22:33 ` Thomas Petazzoni via buildroot 1 sibling, 0 replies; 12+ messages in thread From: Adam Duskett @ 2023-12-24 22:12 UTC (permalink / raw) To: Adam Duskett; +Cc: James Hilliard, Thomas Petazzoni, Asaf Kahlon, buildroot Marked as rejected as Amarula doesn't currently have a business need for Python 3.12.1, or at least they haven't asked me for this patch series yet. Anyone else is more than welcome to write a better patch series with a more comprehensive commit message. Thanks Adam On Mon, Dec 18, 2023 at 3:06 PM Adam Duskett <adam.duskett@amarulasolutions.com> wrote: > > Python 3.12.1 has removed distutils support. As such, we remove the distutils > option from pkg-python.mk as well. > > Tested on Fedora 39, and Debian 11. All 68 package tests pass. > > Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> > --- > v3 -> v4: > - Drop distutils in pkg-python.mk > - 3.12.0 -> 3.12.1 > > package/pkg-python.mk | 38 +----- > ...e-the-build-of-pyc-files-conditional.patch | 24 ++-- > ...taddrinfo-configure-test-when-cross-.patch | 2 +- > ...re-to-disable-the-build-of-certain-e.patch | 108 ------------------ > ...-header-paths-for-cross-compilation.patch} | 31 ++--- > ...tch => 0004-Serial-ioctl-workaround.patch} | 0 > ...ook-in-usr-lib-termcap-for-libraries.patch | 31 ----- > ...g.sh.in-ensure-sed-invocations-only.patch} | 0 > ...0006-Add-an-option-to-disable-pydoc.patch} | 50 ++------ > .../0006-Don-t-add-multiarch-paths.patch | 37 ------ > .../0007-Abort-on-failed-module-build.patch | 30 ----- > ...07-Add-an-option-to-disable-lib2to3.patch} | 74 +++++------- > ... 0008-Add-an-option-to-disable-IDLE.patch} | 43 ++----- > ...e-shebang-of-Python-scripts-for-cros.patch | 35 ------ > ...hon-config.sh-don-t-reassign-prefix.patch} | 0 > ...d-an-option-to-disable-the-tk-module.patch | 79 +++++++++++++ > ...fix-building-on-older-distributions.patch} | 12 +- > ...p-CC-print-multiarch-output-for-mus.patch} | 2 +- > ...option-to-disable-the-sqlite3-module.patch | 62 ---------- > ...ng-doesn-t-set-errno-when-encryptio.patch} | 0 > ...d-an-option-to-disable-the-tk-module.patch | 77 ------------- > ...-option-to-disable-the-curses-module.patch | 61 ---------- > .../0016-Add-an-option-to-disable-expat.patch | 82 ------------- > ...-Add-an-option-to-disable-CJK-codecs.patch | 30 ----- > .../0018-Add-an-option-to-disable-NIS.patch | 33 ------ > ...Add-an-option-to-disable-unicodedata.patch | 30 ----- > ...021-Add-an-option-to-disable-decimal.patch | 54 --------- > ...on-to-disable-the-ossaudiodev-module.patch | 30 ----- > ...an-option-to-disable-openssl-support.patch | 30 ----- > ...ption-to-disable-the-readline-module.patch | 30 ----- > ...to-disable-zlib-bzip2-and-xz-modules.patch | 42 ------- > ...Add-an-option-to-disable-uuid-module.patch | 33 ------ > ...ion-to-disable-the-berkeleydb-module.patch | 30 ----- > package/python3/python3.hash | 6 +- > package/python3/python3.mk | 81 ++++++++----- > 35 files changed, 216 insertions(+), 1091 deletions(-) > delete mode 100644 package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch > rename package/python3/{0004-Adjust-library-header-paths-for-cross-compilation.patch => 0003-Adjust-library-header-paths-for-cross-compilation.patch} (64%) > rename package/python3/{0008-Serial-ioctl-workaround.patch => 0004-Serial-ioctl-workaround.patch} (100%) > delete mode 100644 package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch > rename package/python3/{0010-Misc-python-config.sh.in-ensure-sed-invocations-only.patch => 0005-Misc-python-config.sh.in-ensure-sed-invocations-only.patch} (100%) > rename package/python3/{0011-Add-an-option-to-disable-pydoc.patch => 0006-Add-an-option-to-disable-pydoc.patch} (54%) > delete mode 100644 package/python3/0006-Don-t-add-multiarch-paths.patch > delete mode 100644 package/python3/0007-Abort-on-failed-module-build.patch > rename package/python3/{0012-Add-an-option-to-disable-lib2to3.patch => 0007-Add-an-option-to-disable-lib2to3.patch} (59%) > rename package/python3/{0020-Add-an-option-to-disable-IDLE.patch => 0008-Add-an-option-to-disable-IDLE.patch} (57%) > delete mode 100644 package/python3/0009-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch > rename package/python3/{0026-python-config.sh-don-t-reassign-prefix.patch => 0009-python-config.sh-don-t-reassign-prefix.patch} (100%) > create mode 100644 package/python3/0010-Add-an-option-to-disable-the-tk-module.patch > rename package/python3/{0028-fix-building-on-older-distributions.patch => 0011-fix-building-on-older-distributions.patch} (82%) > rename package/python3/{0029-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch => 0012-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch} (97%) > delete mode 100644 package/python3/0013-Add-option-to-disable-the-sqlite3-module.patch > rename package/python3/{0031-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch => 0013-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch} (100%) > delete mode 100644 package/python3/0014-Add-an-option-to-disable-the-tk-module.patch > delete mode 100644 package/python3/0015-Add-an-option-to-disable-the-curses-module.patch > delete mode 100644 package/python3/0016-Add-an-option-to-disable-expat.patch > delete mode 100644 package/python3/0017-Add-an-option-to-disable-CJK-codecs.patch > delete mode 100644 package/python3/0018-Add-an-option-to-disable-NIS.patch > delete mode 100644 package/python3/0019-Add-an-option-to-disable-unicodedata.patch > delete mode 100644 package/python3/0021-Add-an-option-to-disable-decimal.patch > delete mode 100644 package/python3/0022-Add-an-option-to-disable-the-ossaudiodev-module.patch > delete mode 100644 package/python3/0023-Add-an-option-to-disable-openssl-support.patch > delete mode 100644 package/python3/0024-Add-an-option-to-disable-the-readline-module.patch > delete mode 100644 package/python3/0025-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch > delete mode 100644 package/python3/0027-Add-an-option-to-disable-uuid-module.patch > delete mode 100644 package/python3/0030-Add-an-option-to-disable-the-berkeleydb-module.patch > > diff --git a/package/pkg-python.mk b/package/pkg-python.mk > index 4bed5a1835..94f28ff841 100644 > --- a/package/pkg-python.mk > +++ b/package/pkg-python.mk > @@ -52,40 +52,6 @@ HOST_PKG_PYTHON_ENV = \ > PYTHONNOUSERSITE=1 \ > $(HOST_CONFIGURE_OPTS) > > -# Target distutils-based packages > -PKG_PYTHON_DISTUTILS_ENV = \ > - $(PKG_PYTHON_ENV) \ > - LDSHARED="$(TARGET_CROSS)gcc -shared" > - > -PKG_PYTHON_DISTUTILS_BUILD_CMD = \ > - setup.py build \ > - --executable=/usr/bin/python > - > -PKG_PYTHON_DISTUTILS_INSTALL_OPTS = \ > - --install-headers=/usr/include/python$(PYTHON3_VERSION_MAJOR) \ > - --prefix=/usr > - > -PKG_PYTHON_DISTUTILS_INSTALL_TARGET_CMD = \ > - setup.py install --no-compile \ > - $(PKG_PYTHON_DISTUTILS_INSTALL_OPTS) \ > - --root=$(TARGET_DIR) > - > -PKG_PYTHON_DISTUTILS_INSTALL_STAGING_CMD = \ > - setup.py install \ > - $(PKG_PYTHON_DISTUTILS_INSTALL_OPTS) \ > - --root=$(STAGING_DIR) > - > -# Host distutils-based packages > -HOST_PKG_PYTHON_DISTUTILS_ENV = \ > - $(HOST_PKG_PYTHON_ENV) > - > -HOST_PKG_PYTHON_DISTUTILS_BUILD_CMD = \ > - setup.py build \ > - > -HOST_PKG_PYTHON_DISTUTILS_INSTALL_CMD = \ > - setup.py install \ > - --prefix=$(HOST_DIR) > - > # Target setuptools-based packages > PKG_PYTHON_SETUPTOOLS_ENV = \ > $(PKG_PYTHON_ENV) > @@ -287,8 +253,8 @@ endif > > $(2)_SETUP_TYPE_UPPER = $$(call UPPERCASE,$$($(2)_SETUP_TYPE)) > > -ifneq ($$(filter-out distutils setuptools setuptools-rust pep517 flit flit-bootstrap maturin,$$($(2)_SETUP_TYPE)),) > -$$(error "Invalid $(2)_SETUP_TYPE. Valid options are 'distutils', 'maturin', 'setuptools', 'setuptools-rust', 'pep517' or 'flit'.") > +ifneq ($$(filter-out setuptools setuptools-rust pep517 flit flit-bootstrap maturin,$$($(2)_SETUP_TYPE)),) > +$$(error "Invalid $(2)_SETUP_TYPE. Valid options are 'maturin', 'setuptools', 'setuptools-rust', 'pep517' or 'flit'.") > endif > ifeq ($(4)-$$($(2)_SETUP_TYPE),target-flit-bootstrap) > $$(error flit-bootstrap setup type only supported for host packages) > diff --git a/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch b/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch > index 92aa7274ba..16cd1dd985 100644 > --- a/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch > +++ b/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch > @@ -9,6 +9,8 @@ the compilation of pyc. > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > [ Andrey Smrinov: ported to Python 3.6 ] > Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> > +[ Adam Duskett: ported to Python 3.12.0 ] > +Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> > --- > Makefile.pre.in | 2 ++ > configure.ac | 6 ++++++ > @@ -18,17 +20,17 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in > index 8fbcd7ac17..2957c8e5a1 100644 > --- a/Makefile.pre.in > +++ b/Makefile.pre.in > -@@ -2078,6 +2078,7 @@ libinstall: all $(srcdir)/Modules/xxmodule.c > - $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \ > - $(DESTDIR)$(LIBDEST)/distutils/tests ; \ > - fi > +@@ -2316,6 +2316,7 @@ libinstall: all $(srcdir)/Modules/xxmodule.c > + $(DESTDIR)$(LIBDEST); \ > + $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt > + @ # Build PYC files for the 3 optimization levels (0, 1, 2) > +ifeq (@PYC_BUILD@,yes) > - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ > + -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ > + $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \ > + -o 0 -o 1 -o 2 $(COMPILEALL_OPTS) -d $(LIBDEST) -f \ > +@@ -2325,6 +2326,7 @@ libinstall: all $(srcdir)/Modules/xxmodule.c > $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \ > - -j0 -d $(LIBDEST) -f \ > -@@ -2105,6 +2106,7 @@ libinstall: all $(srcdir)/Modules/xxmodule.c > - $(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \ > - -j0 -d $(LIBDEST)/site-packages -f \ > + -o 0 -o 1 -o 2 $(COMPILEALL_OPTS) -d $(LIBDEST)/site-packages -f \ > -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages > +endif > -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ > @@ -38,9 +40,9 @@ diff --git a/configure.ac b/configure.ac > index ab5e1de6fa..0cf89ed641 100644 > --- a/configure.ac > +++ b/configure.ac > -@@ -1441,6 +1441,12 @@ fi > +@@ -1479,6 +1479,12 @@ fi > > - AC_MSG_CHECKING(LDLIBRARY) > + AC_MSG_CHECKING([LDLIBRARY]) > > +AC_SUBST(PYC_BUILD) > + > diff --git a/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch b/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch > index 5389cb5d15..ce3ba9069b 100644 > --- a/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch > +++ b/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch > @@ -13,7 +13,7 @@ diff --git a/configure.ac b/configure.ac > index 0cf89ed641..830885fcb3 100644 > --- a/configure.ac > +++ b/configure.ac > -@@ -5086,7 +5086,7 @@ fi])) > +@@ -5401,7 +5401,7 @@ fi])) > dnl if ac_cv_func_getaddrinfo > ]) > > diff --git a/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch b/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch > deleted file mode 100644 > index 5b3911374e..0000000000 > --- a/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch > +++ /dev/null > @@ -1,108 +0,0 @@ > -From 8e02cebdac536dfb6748da2c50656a26f70d9da7 Mon Sep 17 00:00:00 2001 > -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -Date: Wed, 22 Feb 2017 16:33:22 -0800 > -Subject: [PATCH] Add infrastructure to disable the build of certain extensions > - > -Some of the extensions part of the Python core have dependencies on > -external libraries (sqlite, tk, etc.) or are relatively big and not > -necessarly always useful (CJK codecs for example). By extensions, we > -mean part of Python modules that are written in C and therefore > -compiled to binary code. > - > -Therefore, we introduce a small infrastructure that allows to disable > -some of those extensions. This can be done inside the configure.ac by > -adding values to the DISABLED_EXTENSIONS variable (which is a > -word-separated list of extensions). > - > -The implementation works as follow : > - > - * configure.ac defines a DISABLED_EXTENSIONS variable, which is > - substituted (so that when Makefile.pre is generated from > - Makefile.pre.in, the value of the variable is substituted). For > - now, this DISABLED_EXTENSIONS variable is empty, later patches will > - use it. > - > - * Makefile.pre.in passes the DISABLED_EXTENSIONS value down to the > - variables passed in the environment when calling the setup.py > - script that actually builds and installs those extensions. > - > - * setup.py is modified so that the existing "disabled_module_list" is > - filled with those pre-disabled extensions listed in > - DISABLED_EXTENSIONS. > - > -Patch ported to python2.7 by Maxime Ripard <ripard@archos.com>, and > -then extended by Thomas Petazzoni > -<thomas.petazzoni@free-electrons.com>. > - > -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -[ Andrey Smirnov: ported to Python 3.6 ] > -Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> > ---- > - Makefile.pre.in | 6 +++++- > - configure.ac | 2 ++ > - setup.py | 5 ++++- > - 3 files changed, 11 insertions(+), 2 deletions(-) > - > -diff --git a/Makefile.pre.in b/Makefile.pre.in > -index 2957c8e5a1..c1cfb96767 100644 > ---- a/Makefile.pre.in > -+++ b/Makefile.pre.in > -@@ -239,6 +239,8 @@ FILEMODE= 644 > - # configure script arguments > - CONFIG_ARGS= @CONFIG_ARGS@ > - > -+# disabled extensions > -+DISABLED_EXTENSIONS= @DISABLED_EXTENSIONS@ > - > - # Subdirectories with code > - SRCDIRS= @SRCDIRS@ > -@@ -739,6 +741,7 @@ sharedmods: $(PYTHON_FOR_BUILD_DEPS) pybuilddir.txt @LIBMPDEC_INTERNAL@ @LIBEXPA > - *) quiet="";; \ > - esac; \ > - echo "$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ > -+ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \ > - $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build"; \ > - $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ > - $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build > -@@ -2228,7 +2231,8 @@ libainstall: all python-config > - # Install the dynamically loadable modules > - # This goes into $(exec_prefix) > - sharedinstall: all > -- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ > -+ $(RUNSHARED) DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \ > -+ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ > - --prefix=$(prefix) \ > - --install-scripts=$(BINDIR) \ > - --install-platlib=$(DESTSHARED) \ > -diff --git a/configure.ac b/configure.ac > -index 830885fcb3..5a6a1fe608 100644 > ---- a/configure.ac > -+++ b/configure.ac > -@@ -3562,6 +3562,8 @@ LIBS="$withval $LIBS" > - ], > - [AC_MSG_RESULT(no)]) > - > -+AC_SUBST(DISABLED_EXTENSIONS) > -+ > - # Check for use of the system expat library > - AC_MSG_CHECKING(for --with-system-expat) > - AC_ARG_WITH(system_expat, > -diff --git a/setup.py b/setup.py > -index 15d0d4576a..e496ee34c2 100644 > ---- a/setup.py > -+++ b/setup.py > -@@ -56,7 +56,10 @@ > - > - > - # This global variable is used to hold the list of modules to be disabled. > --DISABLED_MODULE_LIST = [] > -+try: > -+ DISABLED_MODULE_LIST = sysconfig.get_config_var("DISABLED_EXTENSIONS").split(" ") > -+except KeyError: > -+ DISABLED_MODULE_LIST = list() > - > - # --list-module-names option used by Tools/scripts/generate_module_names.py > - LIST_MODULE_NAMES = False > --- > -2.34.1 > - > diff --git a/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch b/package/python3/0003-Adjust-library-header-paths-for-cross-compilation.patch > similarity index 64% > rename from package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch > rename to package/python3/0003-Adjust-library-header-paths-for-cross-compilation.patch > index 9a55d2582d..25115b7e63 100644 > --- a/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch > +++ b/package/python3/0003-Adjust-library-header-paths-for-cross-compilation.patch > @@ -15,34 +15,19 @@ values, and get correct header/library paths when cross-compiling > third-party Python modules. > > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > +[ Adam Duskett: ported to Python 3.10.0 ] > Signed-off-by: Adam Duskett <aduskett@gmail.com> > -Refresh for 3.10.0 > +[ Adam Duskett: ported to Python 3.12.1 ] > +Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> > --- > - Lib/distutils/command/build_ext.py | 5 ++++- > - Lib/sysconfig.py | 15 +++++++++++---- > - 2 files changed, 15 insertions(+), 5 deletions(-) > + Lib/sysconfig.py | 15 +++++++++++---- > + 1 file changed, 11 insertions(+), 4 deletions(-) > > -diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py > -index f287b34998..298234d6a1 100644 > ---- a/Lib/distutils/command/build_ext.py > -+++ b/Lib/distutils/command/build_ext.py > -@@ -234,7 +234,10 @@ def finalize_options(self): > - if (sysconfig.get_config_var('Py_ENABLE_SHARED')): > - if not sysconfig.python_build: > - # building third party extensions > -- self.library_dirs.append(sysconfig.get_config_var('LIBDIR')) > -+ libdir = sysconfig.get_config_var('LIBDIR') > -+ if "_python_sysroot" in os.environ: > -+ libdir = os.environ.get("_python_sysroot") + libdir > -+ self.library_dirs.append(libdir) > - else: > - # building python standard extensions > - self.library_dirs.append('.') > diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py > index ebe3711827..6328ec41af 100644 > --- a/Lib/sysconfig.py > +++ b/Lib/sysconfig.py > -@@ -168,10 +168,17 @@ def joinuser(*args): > +@@ -169,10 +169,17 @@ _SCHEME_KEYS = ('stdlib', 'platstdlib', 'purelib', 'platlib', 'include', > _PY_VERSION = sys.version.split()[0] > _PY_VERSION_SHORT = f'{sys.version_info[0]}.{sys.version_info[1]}' > _PY_VERSION_SHORT_NO_DOT = f'{sys.version_info[0]}{sys.version_info[1]}' > @@ -61,9 +46,9 @@ index ebe3711827..6328ec41af 100644 > + _EXEC_PREFIX = os.path.normpath(sys.exec_prefix) > + _BASE_PREFIX = os.path.normpath(sys.base_prefix) > + _BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix) > + # Mutex guarding initialization of _CONFIG_VARS. > + _CONFIG_VARS_LOCK = threading.RLock() > _CONFIG_VARS = None > - _USER_BASE = None > - > -- > 2.34.1 > > diff --git a/package/python3/0008-Serial-ioctl-workaround.patch b/package/python3/0004-Serial-ioctl-workaround.patch > similarity index 100% > rename from package/python3/0008-Serial-ioctl-workaround.patch > rename to package/python3/0004-Serial-ioctl-workaround.patch > diff --git a/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch b/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch > deleted file mode 100644 > index 78b3ae596d..0000000000 > --- a/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch > +++ /dev/null > @@ -1,31 +0,0 @@ > -From 5d13e384b30a2c0b1c7b65718590b7fb0c3ba55e Mon Sep 17 00:00:00 2001 > -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -Date: Wed, 23 Dec 2015 11:36:00 +0100 > -Subject: [PATCH] Don't look in /usr/lib/termcap for libraries > - > -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > ---- > - setup.py | 5 +---- > - 1 file changed, 1 insertion(+), 4 deletions(-) > - > -diff --git a/setup.py b/setup.py > -index e496ee34c2..1904898165 100644 > ---- a/setup.py > -+++ b/setup.py > -@@ -1107,12 +1107,9 @@ def detect_readline_curses(self): > - pass # Issue 7384: Already linked against curses or tinfo. > - elif curses_library: > - readline_libs.append(curses_library) > -- elif self.compiler.find_library_file(self.lib_dirs + > -- ['/usr/lib/termcap'], > -- 'termcap'): > -+ elif self.compiler.find_library_file(self.lib_dirs, 'termcap'): > - readline_libs.append('termcap') > - self.add(Extension('readline', ['readline.c'], > -- library_dirs=['/usr/lib/termcap'], > - libraries=readline_libs)) > - else: > - self.missing.append('readline') > --- > -2.34.1 > - > diff --git a/package/python3/0010-Misc-python-config.sh.in-ensure-sed-invocations-only.patch b/package/python3/0005-Misc-python-config.sh.in-ensure-sed-invocations-only.patch > similarity index 100% > rename from package/python3/0010-Misc-python-config.sh.in-ensure-sed-invocations-only.patch > rename to package/python3/0005-Misc-python-config.sh.in-ensure-sed-invocations-only.patch > diff --git a/package/python3/0011-Add-an-option-to-disable-pydoc.patch b/package/python3/0006-Add-an-option-to-disable-pydoc.patch > similarity index 54% > rename from package/python3/0011-Add-an-option-to-disable-pydoc.patch > rename to package/python3/0006-Add-an-option-to-disable-pydoc.patch > index f7bfd437bb..b9ef85d90c 100644 > --- a/package/python3/0011-Add-an-option-to-disable-pydoc.patch > +++ b/package/python3/0006-Add-an-option-to-disable-pydoc.patch > @@ -12,17 +12,18 @@ Signed-off-by: Samuel Martin <s.martin49@gmail.com> > Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> > [ Adam Duskett: ported to Python 3.10.0 ] > Signed-off-by: Adam Duskett <aduskett@gmail.com> > +[ Adam Duskett: ported to Python 3.12.1 ] > +Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> > --- > Makefile.pre.in | 7 ++++++- > configure.ac | 6 ++++++ > - setup.py | 9 +++++++-- > - 3 files changed, 19 insertions(+), 3 deletions(-) > + 2 files changed, 12 insertions(+), 1 deletion(-) > > diff --git a/Makefile.pre.in b/Makefile.pre.in > index c1cfb96767..403380e181 100644 > --- a/Makefile.pre.in > +++ b/Makefile.pre.in > -@@ -1864,7 +1864,9 @@ bininstall: altbininstall > +@@ -2046,7 +2046,9 @@ bininstall: commoninstall altbininstall > -rm -f $(DESTDIR)$(BINDIR)/idle3 > (cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3) > -rm -f $(DESTDIR)$(BINDIR)/pydoc3 > @@ -32,7 +33,7 @@ index c1cfb96767..403380e181 100644 > -rm -f $(DESTDIR)$(BINDIR)/2to3 > (cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3) > if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \ > -@@ -1915,7 +1917,6 @@ LIBSUBDIRS= asyncio \ > +@@ -2098,7 +2100,6 @@ LIBSUBDIRS= asyncio \ > lib2to3 lib2to3/fixes lib2to3/pgen2 \ > logging \ > multiprocessing multiprocessing/dummy \ > @@ -40,22 +41,22 @@ index c1cfb96767..403380e181 100644 > re \ > site-packages \ > sqlite3 \ > -@@ -2008,6 +2009,10 @@ TESTSUBDIRS= ctypes/test \ > - tkinter/test/test_ttk \ > - unittest/test unittest/test/testmock > +@@ -2244,6 +2245,10 @@ TESTSUBDIRS= idlelib/idle_test \ > + > + COMPILEALL_OPTS=-j0 > > +ifeq (@PYDOC@,yes) > +LIBSUBDIRS += pydoc_data > +endif > + > TEST_MODULES=@TEST_MODULES@ > - libinstall: all $(srcdir)/Modules/xxmodule.c > - @for i in $(SCRIPTDIR) $(LIBDEST); \ > + > + .PHONY: libinstall > diff --git a/configure.ac b/configure.ac > index 5a6a1fe608..f68ea72321 100644 > --- a/configure.ac > +++ b/configure.ac > -@@ -4171,6 +4171,12 @@ AS_VAR_IF([posix_threads], [stub], [ > +@@ -4485,6 +4485,12 @@ AS_VAR_IF([posix_threads], [stub], [ > AC_DEFINE([HAVE_PTHREAD_STUBS], [1], [Define if platform requires stubbed pthreads support]) > ]) > > @@ -66,35 +67,8 @@ index 5a6a1fe608..f68ea72321 100644 > + [ PYDOC="${enableval}" ], [ PYDOC=yes ]) > + > # Check for enable-ipv6 > - AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified]) > + AH_TEMPLATE([ENABLE_IPV6], [Define if --enable-ipv6 is specified]) > AC_MSG_CHECKING([if --enable-ipv6 is specified]) > -diff --git a/setup.py b/setup.py > -index 0e04944ce0..3e55f5b2e0 100644 > ---- a/setup.py > -+++ b/setup.py > -@@ -1593,6 +1593,12 @@ class DummyProcess: > - # turn off warnings when deprecated modules are imported > - import warnings > - warnings.filterwarnings("ignore",category=DeprecationWarning) > -+ > -+ scripts = ['Tools/scripts/idle3', 'Tools/scripts/2to3', > -+ 'Lib/smtpd.py'] > -+ if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): > -+ scripts += [ 'Tools/scripts/pydoc3' ] > -+ > - setup(# PyPI Metadata (PEP 301) > - name = "Python", > - version = sys.version.split()[0], > -@@ -1617,8 +1623,7 @@ class DummyProcess: > - # If you change the scripts installed here, you also need to > - # check the PyBuildScripts command above, and change the links > - # created by the bininstall target in Makefile.pre.in > -- scripts = ["Tools/scripts/pydoc3", "Tools/scripts/idle3", > -- "Tools/scripts/2to3"] > -+ scripts = scripts > - ) > - > - # --install-platlib > -- > 2.34.1 > > diff --git a/package/python3/0006-Don-t-add-multiarch-paths.patch b/package/python3/0006-Don-t-add-multiarch-paths.patch > deleted file mode 100644 > index 749e295df1..0000000000 > --- a/package/python3/0006-Don-t-add-multiarch-paths.patch > +++ /dev/null > @@ -1,37 +0,0 @@ > -From ad463b5d58ae79f69b011fb048861bd874d34369 Mon Sep 17 00:00:00 2001 > -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -Date: Wed, 23 Dec 2015 11:36:27 +0100 > -Subject: [PATCH] Don't add multiarch paths > - > -The add_multiarch_paths() function leads, in certain build > -environments, to the addition of host header paths to the CFLAGS, > -which is not appropriate for cross-compilation. This patch fixes that > -by simply removing the call to add_multiarch_paths() when we're > -cross-compiling. > - > -Investigation done by David <buildroot-2014@inbox.com>. > - > -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > ---- > - setup.py | 2 +- > - 1 file changed, 1 insertion(+), 1 deletion(-) > - > -diff --git a/setup.py b/setup.py > -index 1904898165..32294546b6 100644 > ---- a/setup.py > -+++ b/setup.py > -@@ -852,10 +852,10 @@ def configure_compiler(self): > - if not CROSS_COMPILING: > - add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') > - add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') > -+ self.add_multiarch_paths() > - # only change this for cross builds for 3.3, issues on Mageia > - if CROSS_COMPILING: > - self.add_cross_compiling_paths() > -- self.add_multiarch_paths() > - self.add_ldflags_cppflags() > - > - def init_inc_lib_dirs(self): > --- > -2.34.1 > - > diff --git a/package/python3/0007-Abort-on-failed-module-build.patch b/package/python3/0007-Abort-on-failed-module-build.patch > deleted file mode 100644 > index a473896127..0000000000 > --- a/package/python3/0007-Abort-on-failed-module-build.patch > +++ /dev/null > @@ -1,30 +0,0 @@ > -From 60b1664a7acebadb1a3d6df871145147f33b5afe Mon Sep 17 00:00:00 2001 > -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -Date: Wed, 23 Dec 2015 11:43:24 +0100 > -Subject: [PATCH] Abort on failed module build > - > -When building a Python module fails, the setup.py script currently > -doesn't exit with an error, and simply continues. This is not a really > -nice behavior, so this patch changes setup.py to abort with an error, > -so that the build issue is clearly noticeable. > - > -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > ---- > - setup.py | 1 + > - 1 file changed, 1 insertion(+) > - > -diff --git a/setup.py b/setup.py > -index 32294546b6..0e04944ce0 100644 > ---- a/setup.py > -+++ b/setup.py > -@@ -579,6 +579,7 @@ def print_three_column(lst): > - print("Failed to build these modules:") > - print_three_column(failed) > - print() > -+ sys.exit(1) > - > - if self.failed_on_import: > - failed = self.failed_on_import[:] > --- > -2.34.1 > - > diff --git a/package/python3/0012-Add-an-option-to-disable-lib2to3.patch b/package/python3/0007-Add-an-option-to-disable-lib2to3.patch > similarity index 59% > rename from package/python3/0012-Add-an-option-to-disable-lib2to3.patch > rename to package/python3/0007-Add-an-option-to-disable-lib2to3.patch > index 228b86a90b..278fd47a23 100644 > --- a/package/python3/0012-Add-an-option-to-disable-lib2to3.patch > +++ b/package/python3/0007-Add-an-option-to-disable-lib2to3.patch > @@ -14,17 +14,18 @@ Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> > Signed-off-by: Adam Duskett <aduskett@gmail.com> > [ Bernd Kuhls: ported to Python 3.11.4] > Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> > +[ Adam Duskett: ported to Python 3.12.1 ] > +Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> > --- > Makefile.pre.in | 17 ++++++++++++----- > configure.ac | 6 ++++++ > - setup.py | 6 +++--- > - 3 files changed, 21 insertions(+), 8 deletions(-) > + 2 files changed, 18 insertions(+), 5 deletions(-) > > diff --git a/Makefile.pre.in b/Makefile.pre.in > index 403380e181..f5d0573067 100644 > --- a/Makefile.pre.in > +++ b/Makefile.pre.in > -@@ -1868,7 +1868,9 @@ ifeq (@PYDOC@,yes) > +@@ -2050,7 +2050,9 @@ ifeq (@PYDOC@,yes) > (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) > endif > -rm -f $(DESTDIR)$(BINDIR)/2to3 > @@ -34,7 +35,7 @@ index 403380e181..f5d0573067 100644 > if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \ > rm -f $(DESTDIR)$(BINDIR)/python3-32$(EXE); \ > (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-32$(EXE) python3-32$(EXE)) \ > -@@ -1914,7 +1916,6 @@ LIBSUBDIRS= asyncio \ > +@@ -2097,7 +2099,6 @@ LIBSUBDIRS= asyncio \ > idlelib idlelib/Icons \ > importlib importlib/resources importlib/metadata \ > json \ > @@ -42,34 +43,34 @@ index 403380e181..f5d0573067 100644 > logging \ > multiprocessing multiprocessing/dummy \ > re \ > -@@ -1934,10 +1935,6 @@ LIBSUBDIRS= asyncio \ > - TESTSUBDIRS= ctypes/test \ > - distutils/tests \ > - idlelib/idle_test \ > -- lib2to3/tests \ > -- lib2to3/tests/data \ > -- lib2to3/tests/data/fixers \ > -- lib2to3/tests/data/fixers/myfixes \ > - test \ > - test/audiodata \ > - test/capath \ > -@@ -2013,6 +2010,14 @@ ifeq (@PYDOC@,yes) > +@@ -2200,10 +2201,6 @@ TESTSUBDIRS= idlelib/idle_test \ > + test/test_importlib/resources/zipdata02 \ > + test/test_importlib/source \ > + test/test_json \ > +- test/test_lib2to3 \ > +- test/test_lib2to3/data \ > +- test/test_lib2to3/data/fixers \ > +- test/test_lib2to3/data/fixers/myfixes \ > + test/test_module \ > + test/test_peg_generator \ > + test/test_sqlite3 \ > +@@ -2249,6 +2246,14 @@ ifeq (@PYDOC@,yes) > LIBSUBDIRS += pydoc_data > endif > > +ifeq (@LIB2TO3@,yes) > +LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2 > -+TESTSUBDIRS += lib2to3/tests \ > -+ lib2to3/tests/data \ > -+ lib2to3/tests/data/fixers \ > -+ lib2to3/tests/data/fixers/myfixes > ++TESTSUBDIRS += test/test_lib2to3 \ > ++ test/test_lib2to3/data \ > ++ test/test_lib2to3/data/fixers \ > ++ test/test_lib2to3/data/fixers/myfixes > +endif > + > TEST_MODULES=@TEST_MODULES@ > - libinstall: all $(srcdir)/Modules/xxmodule.c > - @for i in $(SCRIPTDIR) $(LIBDEST); \ > -@@ -2115,10 +2120,12 @@ ifeq (@PYC_BUILD@,yes) > - -j0 -d $(LIBDEST)/site-packages -f \ > + > + .PHONY: libinstall > +@@ -2332,10 +2337,12 @@ ifeq (@PYC_BUILD@,yes) > + -o 0 -o 1 -o 2 $(COMPILEALL_OPTS) -d $(LIBDEST)/site-packages -f \ > -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages > endif > +ifeq (@LIB2TO3@,yes) > @@ -85,7 +86,7 @@ diff --git a/configure.ac b/configure.ac > index f68ea72321..d8e10cf2b2 100644 > --- a/configure.ac > +++ b/configure.ac > -@@ -7078,6 +7078,12 @@ PY_STDLIB_MOD([xxlimited_35], [test "$with_trace_refs" = "no"], [test "$ac_cv_fu > +@@ -7529,6 +7529,12 @@ PY_STDLIB_MOD([xxlimited_35], [test "$with_trace_refs" = "no"], [test "$ac_cv_fu > # substitute multiline block, must come after last PY_STDLIB_MOD() > AC_SUBST([MODULE_BLOCK]) > > @@ -96,27 +97,8 @@ index f68ea72321..d8e10cf2b2 100644 > + [ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ]) > + > # generate output files > - AC_CONFIG_FILES(Makefile.pre Misc/python.pc Misc/python-embed.pc Misc/python-config.sh) > - AC_CONFIG_FILES([Modules/Setup.bootstrap Modules/Setup.stdlib]) > -diff --git a/setup.py b/setup.py > -index 3e55f5b2e0..c490b0b08f 100644 > ---- a/setup.py > -+++ b/setup.py > -@@ -1594,11 +1594,11 @@ class DummyProcess: > - import warnings > - warnings.filterwarnings("ignore",category=DeprecationWarning) > - > -- scripts = ['Tools/scripts/idle3', 'Tools/scripts/2to3', > -- 'Lib/smtpd.py'] > -+ scripts = ['Tools/scripts/idle3', 'Lib/smtpd.py'] > - if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): > - scripts += [ 'Tools/scripts/pydoc3' ] > -- > -+ if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"): > -+ scripts += [ 'Tools/scripts/2to3' ] > - setup(# PyPI Metadata (PEP 301) > - name = "Python", > - version = sys.version.split()[0], > + AC_CONFIG_FILES(m4_normalize([ > + Makefile.pre > -- > 2.34.1 > > diff --git a/package/python3/0020-Add-an-option-to-disable-IDLE.patch b/package/python3/0008-Add-an-option-to-disable-IDLE.patch > similarity index 57% > rename from package/python3/0020-Add-an-option-to-disable-IDLE.patch > rename to package/python3/0008-Add-an-option-to-disable-IDLE.patch > index 09b5f13cdb..16d1cc9921 100644 > --- a/package/python3/0020-Add-an-option-to-disable-IDLE.patch > +++ b/package/python3/0008-Add-an-option-to-disable-IDLE.patch > @@ -11,17 +11,18 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> > Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> > [ Adam Duskett: ported to Python 3.10.0 ] > Signed-off-by: Adam Duskett <aduskett@gmail.com> > +[ Adam Duskett: ported to Python 3.12.1 ] > +Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> > --- > Makefile.pre.in | 7 ++++++- > configure.ac | 6 ++++++ > - setup.py | 5 ++++- > - 3 files changed, 16 insertions(+), 2 deletions(-) > + 2 files changed, 12 insertions(+), 1 deletion(-) > > diff --git a/Makefile.pre.in b/Makefile.pre.in > index 80d617cf7f..8d1ba1356c 100644 > --- a/Makefile.pre.in > +++ b/Makefile.pre.in > -@@ -1862,7 +1862,9 @@ bininstall: altbininstall > +@@ -2044,7 +2044,9 @@ bininstall: commoninstall altbininstall > -rm -f $(DESTDIR)$(LIBPC)/python3-embed.pc > (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION)-embed.pc python3-embed.pc) > -rm -f $(DESTDIR)$(BINDIR)/idle3 > @@ -31,7 +32,7 @@ index 80d617cf7f..8d1ba1356c 100644 > -rm -f $(DESTDIR)$(BINDIR)/pydoc3 > ifeq (@PYDOC@,yes) > (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) > -@@ -1912,7 +1914,6 @@ LIBSUBDIRS= asyncio \ > +@@ -2096,7 +2098,6 @@ LIBSUBDIRS= asyncio \ > ensurepip ensurepip/_bundled \ > html \ > http \ > @@ -39,8 +40,8 @@ index 80d617cf7f..8d1ba1356c 100644 > importlib importlib/resources importlib/metadata \ > json \ > logging \ > -@@ -2030,6 +2031,10 @@ ifeq (@EXPAT@,yes) > - LIBSUBDIRS += $(XMLLIBSUBDIRS) > +@@ -2254,6 +2255,10 @@ TESTSUBDIRS += test/test_lib2to3 \ > + test/test_lib2to3/data/fixers/myfixes > endif > > +ifeq (@IDLE@,yes) > @@ -48,13 +49,13 @@ index 80d617cf7f..8d1ba1356c 100644 > +endif > + > TEST_MODULES=@TEST_MODULES@ > - libinstall: all $(srcdir)/Modules/xxmodule.c > - @for i in $(SCRIPTDIR) $(LIBDEST); \ > + > + .PHONY: libinstall > diff --git a/configure.ac b/configure.ac > index ba4b0e0c1c..5e6d72f7db 100644 > --- a/configure.ac > +++ b/configure.ac > -@@ -7137,6 +7137,12 @@ AC_ARG_ENABLE(lib2to3, > +@@ -7535,6 +7535,12 @@ AC_ARG_ENABLE(lib2to3, > AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]), > [ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ]) > > @@ -65,28 +66,8 @@ index ba4b0e0c1c..5e6d72f7db 100644 > + [ IDLE="${enableval}" ], [ IDLE=yes ]) > + > # generate output files > - AC_CONFIG_FILES(Makefile.pre Misc/python.pc Misc/python-embed.pc Misc/python-config.sh) > - AC_CONFIG_FILES([Modules/Setup.bootstrap Modules/Setup.stdlib]) > -diff --git a/setup.py b/setup.py > -index c490b0b08f..4d49a792f7 100644 > ---- a/setup.py > -+++ b/setup.py > -@@ -1594,11 +1594,14 @@ class DummyProcess: > - import warnings > - warnings.filterwarnings("ignore",category=DeprecationWarning) > - > -- scripts = ['Tools/scripts/idle3', 'Lib/smtpd.py'] > -+ scripts = [ 'Lib/smtpd.py'] > - if not '--disable-pydoc' in sysconfig.get_config_var("CONFIG_ARGS"): > - scripts += [ 'Tools/scripts/pydoc3' ] > - if not '--disable-lib2to3' in sysconfig.get_config_var("CONFIG_ARGS"): > - scripts += [ 'Tools/scripts/2to3' ] > -+ if not '--disable-idle3' in sysconfig.get_config_var("CONFIG_ARGS"): > -+ scripts += [ 'Tools/scripts/idle3' ] > -+ > - setup(# PyPI Metadata (PEP 301) > - name = "Python", > - version = sys.version.split()[0], > + AC_CONFIG_FILES(m4_normalize([ > + Makefile.pre > -- > 2.34.1 > > diff --git a/package/python3/0009-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch b/package/python3/0009-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch > deleted file mode 100644 > index eff8fc7694..0000000000 > --- a/package/python3/0009-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch > +++ /dev/null > @@ -1,35 +0,0 @@ > -From 2439bd2ed5dbdd7e5fda15adefd0f6f1b047ec1b Mon Sep 17 00:00:00 2001 > -From: Christophe Vu-Brugier <cvubrugier@fastmail.fm> > -Date: Wed, 23 Dec 2015 11:44:30 +0100 > -Subject: [PATCH] Do not adjust the shebang of Python scripts for > - cross-compilation > - > -The copy_scripts() method in distutils copies the scripts listed in > -the setup file and adjusts the first line to refer to the current > -Python interpreter. When cross-compiling, this means that the adjusted > -shebang refers to the host Python interpreter. > - > -This patch modifies copy_scripts() to preserve the shebang when > -cross-compilation is detected. > - > -Signed-off-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm> > ---- > - Lib/distutils/command/build_scripts.py | 2 +- > - 1 file changed, 1 insertion(+), 1 deletion(-) > - > -diff --git a/Lib/distutils/command/build_scripts.py b/Lib/distutils/command/build_scripts.py > -index ccc70e6465..d6d54195c1 100644 > ---- a/Lib/distutils/command/build_scripts.py > -+++ b/Lib/distutils/command/build_scripts.py > -@@ -91,7 +91,7 @@ def copy_scripts(self): > - adjust = True > - post_interp = match.group(1) or b'' > - > -- if adjust: > -+ if adjust and not '_python_sysroot' in os.environ: > - log.info("copying and adjusting %s -> %s", script, > - self.build_dir) > - updated_files.append(outfile) > --- > -2.34.1 > - > diff --git a/package/python3/0026-python-config.sh-don-t-reassign-prefix.patch b/package/python3/0009-python-config.sh-don-t-reassign-prefix.patch > similarity index 100% > rename from package/python3/0026-python-config.sh-don-t-reassign-prefix.patch > rename to package/python3/0009-python-config.sh-don-t-reassign-prefix.patch > diff --git a/package/python3/0010-Add-an-option-to-disable-the-tk-module.patch b/package/python3/0010-Add-an-option-to-disable-the-tk-module.patch > new file mode 100644 > index 0000000000..b65578726c > --- /dev/null > +++ b/package/python3/0010-Add-an-option-to-disable-the-tk-module.patch > @@ -0,0 +1,79 @@ > +From bbbfe699d648a5cb191203b16e1786e8cf4ea908 Mon Sep 17 00:00:00 2001 > +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > +Date: Wed, 22 Feb 2017 17:23:42 -0800 > +Subject: [PATCH] Add an option to disable the tk module > + > +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > +Signed-off-by: Samuel Martin <s.martin49@gmail.com> > +[ Andrey Smirnov: ported to Python 3.6 ] > +Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> > +[ Adam Duskett: ported to Python 3.10.0 ] > +Signed-off-by: Adam Duskett <aduskett@gmail.com> > +[ Bernd Kuhls: ported to Python 3.11.4] > +Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> > +[ Adam Duskett: ported to Python 3.12.1 ] > +Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> > +--- > + Makefile.pre.in | 8 +++++--- > + configure.ac | 5 +++++ > + 2 files changed, 10 insertions(+), 3 deletions(-) > + > +diff --git a/Makefile.pre.in b/Makefile.pre.in > +index 9f4cdf14cf..4f83911200 100644 > +--- a/Makefile.pre.in > ++++ b/Makefile.pre.in > +@@ -2105,7 +2105,6 @@ LIBSUBDIRS= asyncio \ > + re \ > + site-packages \ > + sqlite3 \ > +- tkinter \ > + tomllib \ > + turtledemo \ > + unittest \ > +@@ -2205,7 +2204,6 @@ TESTSUBDIRS= idlelib/idle_test \ > + test/test_module \ > + test/test_peg_generator \ > + test/test_sqlite3 \ > +- test/test_tkinter \ > + test/test_tomllib \ > + test/test_tomllib/data \ > + test/test_tomllib/data/invalid \ > +@@ -2225,7 +2223,6 @@ TESTSUBDIRS= idlelib/idle_test \ > + test/test_tomllib/data/valid/dates-and-times \ > + test/test_tomllib/data/valid/multiline-basic-str \ > + test/test_tools \ > +- test/test_ttk \ > + test/test_unittest \ > + test/test_unittest/testmock \ > + test/test_warnings \ > +@@ -2241,6 +2238,11 @@ TESTSUBDIRS= idlelib/idle_test \ > + test/xmltestdata/c14n-20 \ > + test/ziptestdata > + > ++ifeq (@TK@,yes) > ++LIBSUBDIRS += tkinter > ++TESTSUBDIRS += test/test_tkinter test/test_ttk > ++endif > ++ > + COMPILEALL_OPTS=-j0 > + > + ifeq (@PYDOC@,yes) > +diff --git a/configure.ac b/configure.ac > +index 4cc0951ab9..f4ce506801 100644 > +--- a/configure.ac > ++++ b/configure.ac > +@@ -4491,6 +4491,11 @@ AC_ARG_ENABLE(pydoc, > + AS_HELP_STRING([--disable-pydoc], [disable pydoc]), > + [ PYDOC="${enableval}" ], [ PYDOC=yes ]) > + > ++AC_SUBST(TK) > ++AC_ARG_ENABLE(tk, > ++ AS_HELP_STRING([--disable-tk], [disable tk]), > ++ [ TK="${enableval}" ], [ TK=yes ]) > ++ > + # Check for enable-ipv6 > + AH_TEMPLATE([ENABLE_IPV6], [Define if --enable-ipv6 is specified]) > + AC_MSG_CHECKING([if --enable-ipv6 is specified]) > +-- > +2.34.1 > + > diff --git a/package/python3/0028-fix-building-on-older-distributions.patch b/package/python3/0011-fix-building-on-older-distributions.patch > similarity index 82% > rename from package/python3/0028-fix-building-on-older-distributions.patch > rename to package/python3/0011-fix-building-on-older-distributions.patch > index 4541b31c5f..bcd8a60d01 100644 > --- a/package/python3/0028-fix-building-on-older-distributions.patch > +++ b/package/python3/0011-fix-building-on-older-distributions.patch > @@ -16,14 +16,16 @@ This change fixes building on older systems such as CentOS7, that only come > with python 2. > > Signed-off-by: Adam Duskett <aduskett@gmail.com> > +[ Adam Duskett: ported to Python 3.12.1 ] > +Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> > --- > - Tools/scripts/update_file.py | 4 ++-- > + Tools/build/update_file.py | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > -diff --git a/Tools/scripts/update_file.py b/Tools/scripts/update_file.py > -index b4182c1d0c..ab443cb1a6 100644 > ---- a/Tools/scripts/update_file.py > -+++ b/Tools/scripts/update_file.py > +diff --git a/Tools/build/update_file.py b/Tools/build/update_file.py > +index b4182c1..ab443cb 100644 > +--- a/Tools/build/update_file.py > ++++ b/Tools/build/update_file.py > @@ -53,7 +53,7 @@ def update_file_with_tmpfile(filename, tmpfile, *, create=False): > if not create: > raise # re-raise > diff --git a/package/python3/0029-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch b/package/python3/0012-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch > similarity index 97% > rename from package/python3/0029-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch > rename to package/python3/0012-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch > index 5253076d90..9acb6e0e67 100644 > --- a/package/python3/0029-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch > +++ b/package/python3/0012-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch > @@ -33,7 +33,7 @@ diff --git a/configure.ac b/configure.ac > index ed03b27fb1..841fd6732c 100644 > --- a/configure.ac > +++ b/configure.ac > -@@ -1086,7 +1086,11 @@ AC_MSG_CHECKING([for multiarch]) > +@@ -1123,7 +1123,11 @@ AC_MSG_CHECKING([for multiarch]) > AS_CASE([$ac_sys_system], > [Darwin*], [MULTIARCH=""], > [FreeBSD*], [MULTIARCH=""], > diff --git a/package/python3/0013-Add-option-to-disable-the-sqlite3-module.patch b/package/python3/0013-Add-option-to-disable-the-sqlite3-module.patch > deleted file mode 100644 > index 795ea3b898..0000000000 > --- a/package/python3/0013-Add-option-to-disable-the-sqlite3-module.patch > +++ /dev/null > @@ -1,62 +0,0 @@ > -From ef8c030e01b1be8be582e90c31298a5863094858 Mon Sep 17 00:00:00 2001 > -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -Date: Wed, 22 Feb 2017 17:20:45 -0800 > -Subject: [PATCH] Add option to disable the sqlite3 module > - > -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -Signed-off-by: Samuel Martin <s.martin49@gmail.com> > -[ Andrey Smirnov: ported to Python 3.6 ] > -Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> > -[ Adam Duskett: ported to Python 3.10.0 ] > -Signed-off-by: Adam Duskett <aduskett@gmail.com> > ---- > - Makefile.pre.in | 5 ++++- > - configure.ac | 9 +++++++++ > - 2 files changed, 13 insertions(+), 1 deletion(-) > - > -diff --git a/Makefile.pre.in b/Makefile.pre.in > -index f5d0573067..9f4cdf14cf 100644 > ---- a/Makefile.pre.in > -+++ b/Makefile.pre.in > -@@ -1920,7 +1920,6 @@ LIBSUBDIRS= asyncio \ > - multiprocessing multiprocessing/dummy \ > - re \ > - site-packages \ > -- sqlite3 \ > - tkinter \ > - tomllib \ > - turtledemo \ > -@@ -2018,6 +2017,10 @@ TESTSUBDIRS += lib2to3/tests \ > - lib2to3/tests/data/fixers/myfixes > - endif > - > -+ifeq (@SQLITE3@,yes) > -+LIBSUBDIRS += sqlite3 > -+endif > -+ > - TEST_MODULES=@TEST_MODULES@ > - libinstall: all $(srcdir)/Modules/xxmodule.c > - @for i in $(SCRIPTDIR) $(LIBDEST); \ > -diff --git a/configure.ac b/configure.ac > -index d8e10cf2b2..4cc0951ab9 100644 > ---- a/configure.ac > -+++ b/configure.ac > -@@ -4171,6 +4171,15 @@ AS_VAR_IF([posix_threads], [stub], [ > - AC_DEFINE([HAVE_PTHREAD_STUBS], [1], [Define if platform requires stubbed pthreads support]) > - ]) > - > -+AC_SUBST(SQLITE3) > -+AC_ARG_ENABLE(sqlite3, > -+ AS_HELP_STRING([--disable-sqlite3], [disable sqlite3]), > -+ [ SQLITE3="${enableval}" ], [ SQLITE3=yes ]) > -+ > -+if test "$SQLITE3" = "no" ; then > -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" > -+fi > -+ > - AC_SUBST(PYDOC) > - > - AC_ARG_ENABLE(pydoc, > --- > -2.34.1 > - > diff --git a/package/python3/0031-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch b/package/python3/0013-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch > similarity index 100% > rename from package/python3/0031-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch > rename to package/python3/0013-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch > diff --git a/package/python3/0014-Add-an-option-to-disable-the-tk-module.patch b/package/python3/0014-Add-an-option-to-disable-the-tk-module.patch > deleted file mode 100644 > index b89e1d27bc..0000000000 > --- a/package/python3/0014-Add-an-option-to-disable-the-tk-module.patch > +++ /dev/null > @@ -1,77 +0,0 @@ > -From bbbfe699d648a5cb191203b16e1786e8cf4ea908 Mon Sep 17 00:00:00 2001 > -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -Date: Wed, 22 Feb 2017 17:23:42 -0800 > -Subject: [PATCH] Add an option to disable the tk module > - > -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -Signed-off-by: Samuel Martin <s.martin49@gmail.com> > -[ Andrey Smirnov: ported to Python 3.6 ] > -Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> > -[ Adam Duskett: ported to Python 3.10.0 ] > -Signed-off-by: Adam Duskett <aduskett@gmail.com> > -[ Bernd Kuhls: ported to Python 3.11.4] > -Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> > ---- > - Makefile.pre.in | 10 +++++++--- > - configure.ac | 9 +++++++++ > - 2 files changed, 16 insertions(+), 3 deletions(-) > - > -diff --git a/Makefile.pre.in b/Makefile.pre.in > -index 9f4cdf14cf..4f83911200 100644 > ---- a/Makefile.pre.in > -+++ b/Makefile.pre.in > -@@ -1920,7 +1920,6 @@ LIBSUBDIRS= asyncio \ > - multiprocessing multiprocessing/dummy \ > - re \ > - site-packages \ > -- tkinter \ > - tomllib \ > - turtledemo \ > - unittest \ > -@@ -2038,9 +2038,6 @@ > - test/xmltestdata \ > - test/xmltestdata/c14n-20 \ > - test/ziptestdata \ > -- tkinter/test \ > -- tkinter/test/test_tkinter \ > -- tkinter/test/test_ttk \ > - unittest/test \ > - unittest/test/testmock > - ifeq (@PYDOC@,yes) > -@@ -2021,6 +2018,13 @@ ifeq (@SQLITE3@,yes) > - LIBSUBDIRS += sqlite3 > - endif > - > -+ifeq (@TK@,yes) > -+LIBSUBDIRS += tkinter > -+TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \ > -+ tkinter/test/test_ttk > -+endif > -+ > -+ > - TEST_MODULES=@TEST_MODULES@ > - libinstall: all $(srcdir)/Modules/xxmodule.c > - @for i in $(SCRIPTDIR) $(LIBDEST); \ > -diff --git a/configure.ac b/configure.ac > -index 4cc0951ab9..f4ce506801 100644 > ---- a/configure.ac > -+++ b/configure.ac > -@@ -4180,6 +4180,15 @@ if test "$SQLITE3" = "no" ; then > - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" > - fi > - > -+AC_SUBST(TK) > -+AC_ARG_ENABLE(tk, > -+ AS_HELP_STRING([--disable-tk], [disable tk]), > -+ [ TK="${enableval}" ], [ TK=yes ]) > -+ > -+if test "$TK" = "no"; then > -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" > -+fi > -+ > - AC_SUBST(PYDOC) > - > - AC_ARG_ENABLE(pydoc, > --- > -2.34.1 > - > diff --git a/package/python3/0015-Add-an-option-to-disable-the-curses-module.patch b/package/python3/0015-Add-an-option-to-disable-the-curses-module.patch > deleted file mode 100644 > index da6f891104..0000000000 > --- a/package/python3/0015-Add-an-option-to-disable-the-curses-module.patch > +++ /dev/null > @@ -1,61 +0,0 @@ > -From 03e28cdd46dac1b7e4e9c8bbd2ea44b09e514205 Mon Sep 17 00:00:00 2001 > -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -Date: Wed, 22 Feb 2017 17:31:51 -0800 > -Subject: [PATCH] Add an option to disable the curses module > - > -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -Signed-off-by: Samuel Martin <s.martin49@gmail.com> > -[ Andrey Smirnov: ported to Python 3.6 ] > -Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> > -[ Adam Duskett: ported to Python 3.10.0 ] > -Signed-off-by: Adam Duskett <aduskett@gmail.com> > ---- > - Makefile.pre.in | 4 +++- > - configure.ac | 9 +++++++++ > - 2 files changed, 12 insertions(+), 1 deletion(-) > - > -diff --git a/Makefile.pre.in b/Makefile.pre.in > -index 4f83911200..8e879b35c6 100644 > ---- a/Makefile.pre.in > -+++ b/Makefile.pre.in > -@@ -1905,7 +1905,6 @@ LIBSUBDIRS= asyncio \ > - concurrent concurrent/futures \ > - csv \ > - ctypes ctypes/macholib \ > -- curses \ > - dbm \ > - distutils distutils/command \ > - email email/mime \ > -@@ -2024,6 +2023,9 @@ TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \ > - tkinter/test/test_ttk > - endif > - > -+ifeq (@CURSES@,yes) > -+LIBSUBDIRS += curses > -+endif > - > - TEST_MODULES=@TEST_MODULES@ > - libinstall: all $(srcdir)/Modules/xxmodule.c > -diff --git a/configure.ac b/configure.ac > -index f4ce506801..0ae9863cd6 100644 > ---- a/configure.ac > -+++ b/configure.ac > -@@ -4189,6 +4189,15 @@ if test "$TK" = "no"; then > - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" > - fi > - > -+AC_SUBST(CURSES) > -+AC_ARG_ENABLE(curses, > -+ AS_HELP_STRING([--disable-curses], [disable curses]), > -+ [ CURSES="${enableval}" ], [ CURSES=yes ]) > -+ > -+if test "$CURSES" = "no"; then > -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel" > -+fi > -+ > - AC_SUBST(PYDOC) > - > - AC_ARG_ENABLE(pydoc, > --- > -2.34.1 > - > diff --git a/package/python3/0016-Add-an-option-to-disable-expat.patch b/package/python3/0016-Add-an-option-to-disable-expat.patch > deleted file mode 100644 > index c30740762a..0000000000 > --- a/package/python3/0016-Add-an-option-to-disable-expat.patch > +++ /dev/null > @@ -1,82 +0,0 @@ > -From c9a2ea3edacf57746517600ccc11c254a9fd6c48 Mon Sep 17 00:00:00 2001 > -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -Date: Wed, 22 Feb 2017 17:40:45 -0800 > -Subject: [PATCH] Add an option to disable expat > - > -This patch replaces the existing --with-system-expat option with a > ---with-expat={system,builtin,none} option, which allows to tell Python > -whether we want to use the system expat (already installed), the expat > -builtin the Python sources, or no expat at all (which disables the > -installation of XML modules). > - > -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -Signed-off-by: Samuel Martin <s.martin49@gmail.com> > -[ Andrey Smirnov: ported to Python 3.6 ] > -Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> > -[ Adam Duskett: ported to Python 3.10.0 ] > -Signed-off-by: Adam Duskett <aduskett@gmail.com> > ---- > - Makefile.pre.in | 5 ++++- > - configure.ac | 20 ++++++++++++++------ > - 2 files changed, 18 insertions(+), 7 deletions(-) > - > -diff --git a/Makefile.pre.in b/Makefile.pre.in > -index 8e879b35c6..80d617cf7f 100644 > ---- a/Makefile.pre.in > -+++ b/Makefile.pre.in > -@@ -1925,7 +1925,6 @@ LIBSUBDIRS= asyncio \ > - urllib \ > - venv venv/scripts venv/scripts/common venv/scripts/posix \ > - wsgiref \ > -- $(XMLLIBSUBDIRS) \ > - xmlrpc \ > - zoneinfo \ > - __phello__ > -@@ -2027,6 +2026,10 @@ ifeq (@CURSES@,yes) > - LIBSUBDIRS += curses > - endif > - > -+ifeq (@EXPAT@,yes) > -+LIBSUBDIRS += $(XMLLIBSUBDIRS) > -+endif > -+ > - TEST_MODULES=@TEST_MODULES@ > - libinstall: all $(srcdir)/Modules/xxmodule.c > - @for i in $(SCRIPTDIR) $(LIBDEST); \ > -diff --git a/configure.ac b/configure.ac > -index 0ae9863cd6..201cad0bfc 100644 > ---- a/configure.ac > -+++ b/configure.ac > -@@ -3565,15 +3565,23 @@ LIBS="$withval $LIBS" > - AC_SUBST(DISABLED_EXTENSIONS) > - > - # Check for use of the system expat library > --AC_MSG_CHECKING(for --with-system-expat) > --AC_ARG_WITH(system_expat, > -- AS_HELP_STRING([--with-system-expat], [build pyexpat module using an installed expat library, see Doc/library/pyexpat.rst (default is no)]), > -+AC_MSG_CHECKING(for --with-expat) > -+AC_ARG_WITH(expat, > -+ AS_HELP_STRING([--with-expat], [select which expat version to use: system, builtin, none]), > - [], > -- [with_system_expat="no"]) > -+ [with_expat="builtin"]) > - > --AC_MSG_RESULT($with_system_expat) > -+AC_MSG_RESULT($with_expat) > - > --AS_VAR_IF([with_system_expat], [yes], [ > -+if test "$with_expat" != "none"; then > -+ EXPAT=yes > -+else > -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} pyexpat" > -+ EXPAT=no > -+fi > -+AC_SUBST(EXPAT) > -+ > -+AS_VAR_IF([with_expat], [system], [ > - LIBEXPAT_CFLAGS=${LIBEXPAT_CFLAGS-""} > - LIBEXPAT_LDFLAGS=${LIBEXPAT_LDFLAGS-"-lexpat"} > - LIBEXPAT_INTERNAL= > --- > -2.34.1 > - > diff --git a/package/python3/0017-Add-an-option-to-disable-CJK-codecs.patch b/package/python3/0017-Add-an-option-to-disable-CJK-codecs.patch > deleted file mode 100644 > index 63a07fb514..0000000000 > --- a/package/python3/0017-Add-an-option-to-disable-CJK-codecs.patch > +++ /dev/null > @@ -1,30 +0,0 @@ > -From d8ef6a7a9f2b954cf1c1e37fc3c35055b42af0f5 Mon Sep 17 00:00:00 2001 > -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -Date: Wed, 23 Dec 2015 11:49:55 +0100 > -Subject: [PATCH] Add an option to disable CJK codecs > - > -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > ---- > - configure.ac | 6 ++++++ > - 1 file changed, 6 insertions(+) > - > -diff --git a/configure.ac b/configure.ac > -index 201cad0bfc..ecdd7dbc07 100644 > ---- a/configure.ac > -+++ b/configure.ac > -@@ -4188,6 +4188,12 @@ if test "$SQLITE3" = "no" ; then > - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" > - fi > - > -+AC_ARG_ENABLE(codecs-cjk, > -+ AS_HELP_STRING([--disable-codecs-cjk], [disable CJK codecs]), > -+ [ if test "$enableval" = "no"; then > -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk _codecs_iso2022" > -+ fi]) > -+ > - AC_SUBST(TK) > - AC_ARG_ENABLE(tk, > - AS_HELP_STRING([--disable-tk], [disable tk]), > --- > -2.34.1 > - > diff --git a/package/python3/0018-Add-an-option-to-disable-NIS.patch b/package/python3/0018-Add-an-option-to-disable-NIS.patch > deleted file mode 100644 > index 977955d1cb..0000000000 > --- a/package/python3/0018-Add-an-option-to-disable-NIS.patch > +++ /dev/null > @@ -1,33 +0,0 @@ > -From 09fc9f72ebe60bb65e80732a6bd4f12a84159f6d Mon Sep 17 00:00:00 2001 > -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -Date: Wed, 23 Dec 2015 11:50:11 +0100 > -Subject: [PATCH] Add an option to disable NIS > - > -NIS is not necessarily available in uClibc, so we need an option to > -not compile support for it. > - > -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > ---- > - configure.ac | 6 ++++++ > - 1 file changed, 6 insertions(+) > - > -diff --git a/configure.ac b/configure.ac > -index ecdd7dbc07..1bdde7f69d 100644 > ---- a/configure.ac > -+++ b/configure.ac > -@@ -4194,6 +4194,12 @@ AC_ARG_ENABLE(codecs-cjk, > - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk _codecs_iso2022" > - fi]) > - > -+AC_ARG_ENABLE(nis, > -+ AS_HELP_STRING([--disable-nis], [disable NIS]), > -+ [ if test "$enableval" = "no"; then > -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" > -+ fi]) > -+ > - AC_SUBST(TK) > - AC_ARG_ENABLE(tk, > - AS_HELP_STRING([--disable-tk], [disable tk]), > --- > -2.34.1 > - > diff --git a/package/python3/0019-Add-an-option-to-disable-unicodedata.patch b/package/python3/0019-Add-an-option-to-disable-unicodedata.patch > deleted file mode 100644 > index 74702b67a5..0000000000 > --- a/package/python3/0019-Add-an-option-to-disable-unicodedata.patch > +++ /dev/null > @@ -1,30 +0,0 @@ > -From 4fe7f375a3d171d294caebdd7b7ce49bbc9ad9f3 Mon Sep 17 00:00:00 2001 > -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -Date: Wed, 23 Dec 2015 11:50:27 +0100 > -Subject: [PATCH] Add an option to disable unicodedata > - > -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > ---- > - configure.ac | 6 ++++++ > - 1 file changed, 6 insertions(+) > - > -diff --git a/configure.ac b/configure.ac > -index 1bdde7f69d..ba4b0e0c1c 100644 > ---- a/configure.ac > -+++ b/configure.ac > -@@ -4200,6 +4200,12 @@ AC_ARG_ENABLE(nis, > - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" > - fi]) > - > -+AC_ARG_ENABLE(unicodedata, > -+ AS_HELP_STRING([--disable-unicodedata], [disable unicodedata]), > -+ [ if test "$enableval" = "no"; then > -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata" > -+ fi]) > -+ > - AC_SUBST(TK) > - AC_ARG_ENABLE(tk, > - AS_HELP_STRING([--disable-tk], [disable tk]), > --- > -2.34.1 > - > diff --git a/package/python3/0021-Add-an-option-to-disable-decimal.patch b/package/python3/0021-Add-an-option-to-disable-decimal.patch > deleted file mode 100644 > index d683565f94..0000000000 > --- a/package/python3/0021-Add-an-option-to-disable-decimal.patch > +++ /dev/null > @@ -1,54 +0,0 @@ > -From 7091fdf77f612425c178a75148560f9c3514e8b8 Mon Sep 17 00:00:00 2001 > -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -Date: Wed, 23 Dec 2015 11:51:31 +0100 > -Subject: [PATCH] Add an option to disable decimal > - > -This patch replaces the existing --with-system-libmpdec option with a > ---with-libmpdec={system,builtin,none} option, which allows to tell > -Python whether we want to use the system libmpdec (already installed), > -the libmpdec builtin the Python sources, or no libmpdec at all. > - > -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -[aduskett@gmail.com: Update for python 3.7.0] > -Signed-off-by: Adam Duskett <aduskett@gmail.com> > -[james.hilliard1@gmail.com: adapt to python 3.9] > -Signed-off-by: James Hilliard <james.hilliard1@gmail.com> > ---- > - configure.ac | 19 +++++++++++++------ > - 1 file changed, 13 insertions(+), 6 deletions(-) > - > -diff --git a/configure.ac b/configure.ac > -index 5e6d72f7db..e6b1f1e9de 100644 > ---- a/configure.ac > -+++ b/configure.ac > -@@ -3630,14 +3630,21 @@ fi > - AC_SUBST(LIBFFI_INCLUDEDIR) > - > - # Check for use of the system libmpdec library > --AC_MSG_CHECKING(for --with-system-libmpdec) > --AC_ARG_WITH(system_libmpdec, > -- AS_HELP_STRING([--with-system-libmpdec], [build _decimal module using an installed libmpdec library, see Doc/library/decimal.rst (default is no)]), > -+AC_MSG_CHECKING(for --with-libmpdec) > -+AC_ARG_WITH(libmpdec, > -+ AS_HELP_STRING([--with-libmpdec], [select which libmpdec version to use: system, builtin, none]), > - [], > -- [with_system_libmpdec="no"]) > --AC_MSG_RESULT($with_system_libmpdec) > -+ [with_libmpdec="builtin"]) > -+AC_MSG_RESULT($with_libmpdec) > -+if test "$with_libmpdec" != "none"; then > -+ MPDEC=yes > -+else > -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _decimal" > -+ MPDEC=no > -+fi > -+AC_SUBST(MPDEC) > - > --AS_VAR_IF([with_system_libmpdec], [yes], [ > -+AS_VAR_IF([with_libmpdec], [system], [ > - LIBMPDEC_CFLAGS=${LIBMPDEC_CFLAGS-""} > - LIBMPDEC_LDFLAGS=${LIBMPDEC_LDFLAGS-"-lmpdec"} > - LIBMPDEC_INTERNAL= > --- > -2.34.1 > - > diff --git a/package/python3/0022-Add-an-option-to-disable-the-ossaudiodev-module.patch b/package/python3/0022-Add-an-option-to-disable-the-ossaudiodev-module.patch > deleted file mode 100644 > index 56713a7f8f..0000000000 > --- a/package/python3/0022-Add-an-option-to-disable-the-ossaudiodev-module.patch > +++ /dev/null > @@ -1,30 +0,0 @@ > -From d48d9da534cec7891ae444b4ab94a76ac67f5daa Mon Sep 17 00:00:00 2001 > -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -Date: Wed, 23 Dec 2015 11:51:58 +0100 > -Subject: [PATCH] Add an option to disable the ossaudiodev module > - > -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > ---- > - configure.ac | 6 ++++++ > - 1 file changed, 6 insertions(+) > - > -diff --git a/configure.ac b/configure.ac > -index e6b1f1e9de..db33d567ad 100644 > ---- a/configure.ac > -+++ b/configure.ac > -@@ -3678,6 +3678,12 @@ fi > - > - AC_MSG_RESULT($with_decimal_contextvar) > - > -+AC_ARG_ENABLE(ossaudiodev, > -+ AS_HELP_STRING([--disable-ossaudiodev], [disable OSSAUDIODEV]), > -+ [ if test "$enableval" = "no"; then > -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ossaudiodev" > -+ fi]) > -+ > - # Check for libmpdec machine flavor > - AC_MSG_CHECKING(for decimal libmpdec machine) > - AS_CASE([$ac_sys_system], > --- > -2.34.1 > - > diff --git a/package/python3/0023-Add-an-option-to-disable-openssl-support.patch b/package/python3/0023-Add-an-option-to-disable-openssl-support.patch > deleted file mode 100644 > index d4c9fd43be..0000000000 > --- a/package/python3/0023-Add-an-option-to-disable-openssl-support.patch > +++ /dev/null > @@ -1,30 +0,0 @@ > -From 25c900e81a2fc0bbe35e7c94e2e5028cfbf6582a Mon Sep 17 00:00:00 2001 > -From: Nicolas Cavallari <nicolas.cavallari@green-communications.fr> > -Date: Wed, 22 Feb 2017 17:55:59 -0800 > -Subject: [PATCH] Add an option to disable openssl support. > - > -Signed-off-by: Nicolas Cavallari <nicolas.cavallari@green-communications.fr> > ---- > - configure.ac | 6 ++++++ > - 1 file changed, 6 insertions(+) > - > -diff --git a/configure.ac b/configure.ac > -index db33d567ad..42fe6c8f5a 100644 > ---- a/configure.ac > -+++ b/configure.ac > -@@ -4219,6 +4219,12 @@ AC_ARG_ENABLE(unicodedata, > - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata" > - fi]) > - > -+AC_ARG_ENABLE(openssl, > -+ AS_HELP_STRING([--disable-openssl], [disable openssl support]), > -+ [ if test "$enableval" = "no"; then > -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib" > -+ fi]) > -+ > - AC_SUBST(TK) > - AC_ARG_ENABLE(tk, > - AS_HELP_STRING([--disable-tk], [disable tk]), > --- > -2.34.1 > - > diff --git a/package/python3/0024-Add-an-option-to-disable-the-readline-module.patch b/package/python3/0024-Add-an-option-to-disable-the-readline-module.patch > deleted file mode 100644 > index 9250007dae..0000000000 > --- a/package/python3/0024-Add-an-option-to-disable-the-readline-module.patch > +++ /dev/null > @@ -1,30 +0,0 @@ > -From 9082468ca620db77b670ccf568a96bbabb865f80 Mon Sep 17 00:00:00 2001 > -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -Date: Tue, 7 Mar 2017 23:29:05 +0100 > -Subject: [PATCH] Add an option to disable the readline module > - > -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > ---- > - configure.ac | 6 ++++++ > - 1 file changed, 6 insertions(+) > - > -diff --git a/configure.ac b/configure.ac > -index 42fe6c8f5a..19875d7d30 100644 > ---- a/configure.ac > -+++ b/configure.ac > -@@ -4225,6 +4225,12 @@ AC_ARG_ENABLE(openssl, > - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib" > - fi]) > - > -+AC_ARG_ENABLE(readline, > -+ AS_HELP_STRING([--disable-readline], [disable readline]), > -+ [ if test "$enableval" = "no"; then > -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline" > -+ fi]) > -+ > - AC_SUBST(TK) > - AC_ARG_ENABLE(tk, > - AS_HELP_STRING([--disable-tk], [disable tk]), > --- > -2.34.1 > - > diff --git a/package/python3/0025-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch b/package/python3/0025-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch > deleted file mode 100644 > index 70a0d6cd15..0000000000 > --- a/package/python3/0025-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch > +++ /dev/null > @@ -1,42 +0,0 @@ > -From 988a335cb34b5fc25ea345ba04ff5ddffe2e946c Mon Sep 17 00:00:00 2001 > -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -Date: Tue, 7 Mar 2017 23:31:11 +0100 > -Subject: [PATCH] Add options to disable zlib, bzip2 and xz modules > - > -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > ---- > - configure.ac | 18 ++++++++++++++++++ > - 1 file changed, 18 insertions(+) > - > -diff --git a/configure.ac b/configure.ac > -index 19875d7d30..ca6c16491a 100644 > ---- a/configure.ac > -+++ b/configure.ac > -@@ -4231,6 +4231,24 @@ AC_ARG_ENABLE(readline, > - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline" > - fi]) > - > -+AC_ARG_ENABLE(bzip2, > -+ AS_HELP_STRING([--disable-bzip2], [disable bzip2]), > -+ [ if test "$enableval" = "no"; then > -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _bz2" > -+ fi]) > -+ > -+AC_ARG_ENABLE(zlib, > -+ AS_HELP_STRING([--disable-zlib], [disable zlib]), > -+ [ if test "$enableval" = "no"; then > -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} zlib" > -+ fi]) > -+ > -+AC_ARG_ENABLE(xz, > -+ AS_HELP_STRING([--disable-xz], [disable xz]), > -+ [ if test "$enableval" = "no"; then > -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _lzma" > -+ fi]) > -+ > - AC_SUBST(TK) > - AC_ARG_ENABLE(tk, > - AS_HELP_STRING([--disable-tk], [disable tk]), > --- > -2.34.1 > - > diff --git a/package/python3/0027-Add-an-option-to-disable-uuid-module.patch b/package/python3/0027-Add-an-option-to-disable-uuid-module.patch > deleted file mode 100644 > index a9501ec189..0000000000 > --- a/package/python3/0027-Add-an-option-to-disable-uuid-module.patch > +++ /dev/null > @@ -1,33 +0,0 @@ > -From 58027d25c3cabcf654cb0b31a61d7cbd53dc68c0 Mon Sep 17 00:00:00 2001 > -From: Thomas Petazzoni <thomas.petazzoni@bootlin.com> > -Date: Sat, 18 Aug 2018 10:54:56 +0200 > -Subject: [PATCH] Add an option to disable uuid module > - > -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> > ---- > - configure.ac | 9 +++++++++ > - 1 file changed, 9 insertions(+) > - > -diff --git a/configure.ac b/configure.ac > -index ca6c16491a..ed03b27fb1 100644 > ---- a/configure.ac > -+++ b/configure.ac > -@@ -4267,6 +4267,15 @@ if test "$CURSES" = "no"; then > - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel" > - fi > - > -+AC_SUBST(UUID) > -+AC_ARG_ENABLE(uuid, > -+ AS_HELP_STRING([--disable-uuid], [disable uuid]), > -+ [ UUID="${enableval}" ], [ UUID=yes ]) > -+ > -+if test "$UUID" = "no"; then > -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _uuid" > -+fi > -+ > - AC_SUBST(PYDOC) > - > - AC_ARG_ENABLE(pydoc, > --- > -2.34.1 > - > diff --git a/package/python3/0030-Add-an-option-to-disable-the-berkeleydb-module.patch b/package/python3/0030-Add-an-option-to-disable-the-berkeleydb-module.patch > deleted file mode 100644 > index 5fb436db59..0000000000 > --- a/package/python3/0030-Add-an-option-to-disable-the-berkeleydb-module.patch > +++ /dev/null > @@ -1,30 +0,0 @@ > -From 67e9793d070ac5c8e83abbe95b9208533ffeadd0 Mon Sep 17 00:00:00 2001 > -From: Bernd Kuhls <bernd.kuhls@t-online.de> > -Date: Sat, 11 Apr 2020 22:01:40 +0200 > -Subject: [PATCH] Add an option to disable the berkeleydb module > - > -Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> > ---- > - configure.ac | 6 ++++++ > - 1 file changed, 6 insertions(+) > - > -diff --git a/configure.ac b/configure.ac > -index 841fd6732c..06c9a81f95 100644 > ---- a/configure.ac > -+++ b/configure.ac > -@@ -4280,6 +4280,12 @@ if test "$UUID" = "no"; then > - DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _uuid" > - fi > - > -+AC_ARG_ENABLE(berkeleydb, > -+ AS_HELP_STRING([--disable-berkeleydb], [disable berkeleydb]), > -+ [ if test "$enableval" = "no"; then > -+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _dbm" > -+ fi]) > -+ > - AC_SUBST(PYDOC) > - > - AC_ARG_ENABLE(pydoc, > --- > -2.34.1 > - > diff --git a/package/python3/python3.hash b/package/python3/python3.hash > index 39a16c1f71..725c854050 100644 > --- a/package/python3/python3.hash > +++ b/package/python3/python3.hash > @@ -1,5 +1,5 @@ > -# From https://www.python.org/downloads/release/python-3116/ > -md5 d0c5a1a31efe879723e51addf56dd206 Python-3.11.6.tar.xz > +# From https://www.python.org/downloads/release/python-3121/ > +md5 50f827c800483776c8ef86e6a53831fa Python-3.12.1.tar.xz > # Locally computed > -sha256 0fab78fa7f133f4f38210c6260d90d7c0d5c7198446419ce057ec7ac2e6f5f38 Python-3.11.6.tar.xz > +sha256 8dfb8f426fcd226657f9e2bd5f1e96e53264965176fa17d32658e873591aeb21 Python-3.12.1.tar.xz > sha256 3b2f81fe21d181c499c59a256c8e1968455d6689d269aa85373bfb6af41da3bf LICENSE > diff --git a/package/python3/python3.mk b/package/python3/python3.mk > index b9c5054a21..16e8567b9e 100644 > --- a/package/python3/python3.mk > +++ b/package/python3/python3.mk > @@ -4,8 +4,8 @@ > # > ################################################################################ > > -PYTHON3_VERSION_MAJOR = 3.11 > -PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).6 > +PYTHON3_VERSION_MAJOR = 3.12 > +PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).1 > PYTHON3_SOURCE = Python-$(PYTHON3_VERSION).tar.xz > PYTHON3_SITE = https://python.org/ftp/python/$(PYTHON3_VERSION) > PYTHON3_LICENSE = Python-2.0, others > @@ -19,16 +19,10 @@ PYTHON3_CPE_ID_PRODUCT = python > HOST_PYTHON3_CONF_OPTS += \ > --without-ensurepip \ > --without-cxx-main \ > - --disable-sqlite3 \ > --disable-tk \ > - --with-expat=system \ > - --disable-curses \ > - --disable-codecs-cjk \ > - --disable-nis \ > - --enable-unicodedata \ > + --with-system-expat \ > --disable-test-modules \ > --disable-idle3 \ > - --disable-uuid \ > --disable-ossaudiodev > > # Make sure that LD_LIBRARY_PATH overrides -rpath. > @@ -38,6 +32,19 @@ HOST_PYTHON3_CONF_OPTS += \ > # communicate over the network during the build. > HOST_PYTHON3_CONF_ENV += \ > LDFLAGS="$(HOST_LDFLAGS) -Wl,--enable-new-dtags" \ > + py_cv_module__curses=n/a \ > + py_cv_module__curses_panel=n/a \ > + py_cv_module_nis=n/a \ > + py_cv_module_unicodedata=yes \ > + py_cv_module__codecs_cn=n/a \ > + py_cv_module__codecs_hk=n/a \ > + py_cv_module__codecs_iso2022=n/a \ > + py_cv_module__codecs_jp=n/a \ > + py_cv_module__codecs_kr=n/a \ > + py_cv_module__codecs_tw=n/a \ > + py_cv_module__sqlite3=n/a \ > + py_cv_module__tkinter=n/a \ > + py_cv_module__uuid=n/a \ > ac_cv_prog_HAS_HG=/bin/false > > PYTHON3_DEPENDENCIES = host-python3 libffi > @@ -52,13 +59,15 @@ HOST_PYTHON3_DEPENDENCIES = \ > ifeq ($(BR2_PACKAGE_HOST_PYTHON3_BZIP2),y) > HOST_PYTHON3_DEPENDENCIES += host-bzip2 > else > -HOST_PYTHON3_CONF_OPTS += --disable-bzip2 > +HOST_PYTHON3_CONF_ENV += py_cv_module__bz2=n/a > endif > > ifeq ($(BR2_PACKAGE_HOST_PYTHON3_SSL),y) > HOST_PYTHON3_DEPENDENCIES += host-openssl > else > -HOST_PYTHON3_CONF_OPTS += --disable-openssl > +HOST_PYTHON3_CONF_ENV += \ > + py_cv_module__hashlib=n/a \ > + py_cv_module__ssl=n/a > endif > > PYTHON3_INSTALL_STAGING = YES > @@ -72,83 +81,92 @@ endif > ifeq ($(BR2_PACKAGE_PYTHON3_BERKELEYDB),y) > PYTHON3_DEPENDENCIES += berkeleydb > else > -PYTHON3_CONF_OPTS += --disable-berkeleydb > +PYTHON3_CONF_ENV += py_cv_module__dbm=n/a > endif > > ifeq ($(BR2_PACKAGE_PYTHON3_READLINE),y) > +PYTHON3_CONF_OPTS += --with-readline > PYTHON3_DEPENDENCIES += readline > else > -PYTHON3_CONF_OPTS += --disable-readline > +PYTHON3_CONF_OPTS += --without-readline > endif > > ifeq ($(BR2_PACKAGE_PYTHON3_CURSES),y) > PYTHON3_DEPENDENCIES += ncurses > else > -PYTHON3_CONF_OPTS += --disable-curses > +PYTHON3_CONF_ENV += \ > + py_cv_module__curses=n/a \ > + py_cv_module__curses_panel=n/a > endif > > ifeq ($(BR2_PACKAGE_PYTHON3_DECIMAL),y) > PYTHON3_DEPENDENCIES += mpdecimal > -PYTHON3_CONF_OPTS += --with-libmpdec=system > +PYTHON3_CONF_OPTS += --with-system-libmpdec > else > -PYTHON3_CONF_OPTS += --with-libmpdec=none > +PYTHON3_CONF_ENV += py_cv_module__decimal=n/a > endif > > ifeq ($(BR2_PACKAGE_PYTHON3_PYEXPAT),y) > PYTHON3_DEPENDENCIES += expat > -PYTHON3_CONF_OPTS += --with-expat=system > +PYTHON3_CONF_OPTS += --with-system-expat > else > -PYTHON3_CONF_OPTS += --with-expat=none > +PYTHON3_CONF_ENV += py_cv_module_pyexpat=n/a > endif > > ifeq ($(BR2_PACKAGE_PYTHON3_SQLITE),y) > PYTHON3_DEPENDENCIES += sqlite > else > -PYTHON3_CONF_OPTS += --disable-sqlite3 > +PYTHON3_CONF_ENV += py_cv_module__sqlite3=n/a > endif > > ifeq ($(BR2_PACKAGE_PYTHON3_SSL),y) > PYTHON3_DEPENDENCIES += openssl > PYTHON3_CONF_OPTS += --with-openssl=$(STAGING_DIR)/usr > else > -PYTHON3_CONF_OPTS += --disable-openssl > +PYTHON3_CONF_ENV += \ > + py_cv_module__hashlib=n/a \ > + py_cv_module__ssl=n/a > endif > > ifneq ($(BR2_PACKAGE_PYTHON3_CODECSCJK),y) > -PYTHON3_CONF_OPTS += --disable-codecs-cjk > +PYTHON3_CONF_ENV += \ > + py_cv_module__codecs_cn=n/a \ > + py_cv_module__codecs_hk=n/a \ > + py_cv_module__codecs_iso2022=n/a \ > + py_cv_module__codecs_jp=n/a \ > + py_cv_module__codecs_kr=n/a \ > + py_cv_module__codecs_tw=n/a > endif > > ifneq ($(BR2_PACKAGE_PYTHON3_UNICODEDATA),y) > -PYTHON3_CONF_OPTS += --disable-unicodedata > +PYTHON3_CONF_ENV += py_cv_module_unicodedata=n/a > endif > > # Disable auto-detection of uuid.h (util-linux) > # which would add _uuid module support, instead > # default to the pure python implementation > -PYTHON3_CONF_OPTS += --disable-uuid > +PYTHON3_CONF_ENV += py_cv_module__uuid=n/a > > ifeq ($(BR2_PACKAGE_PYTHON3_BZIP2),y) > PYTHON3_DEPENDENCIES += bzip2 > else > -PYTHON3_CONF_OPTS += --disable-bzip2 > +PYTHON3_CONF_ENV += py_cv_module__bz2=n/a > endif > > ifeq ($(BR2_PACKAGE_PYTHON3_XZ),y) > PYTHON3_DEPENDENCIES += xz > else > -PYTHON3_CONF_OPTS += --disable-xz > +PYTHON3_CONF_ENV += py_cv_module__lzma=n/a > endif > > ifeq ($(BR2_PACKAGE_PYTHON3_ZLIB),y) > PYTHON3_DEPENDENCIES += zlib > else > -PYTHON3_CONF_OPTS += --disable-zlib > +PYTHON3_CONF_ENV += py_cv_module_zlib=n/a > endif > > -ifeq ($(BR2_PACKAGE_PYTHON3_OSSAUDIODEV),y) > -PYTHON3_CONF_OPTS += --enable-ossaudiodev > -else > -PYTHON3_CONF_OPTS += --disable-ossaudiodev > +ifneq ($(BR2_PACKAGE_PYTHON3_OSSAUDIODEV),y) > +PYTHON3_CONF_ENV += py_cv_module_ossaudiodev=n/a > endif > > # Make python believe we don't have 'hg', so that it doesn't try to > @@ -158,6 +176,8 @@ PYTHON3_CONF_ENV += \ > ac_cv_file__dev_ptmx=yes \ > ac_cv_file__dev_ptc=yes \ > ac_cv_working_tzset=yes \ > + py_cv_module_nis=n/a \ > + py_cv_module__tkinter=n/a \ > ac_cv_prog_HAS_HG=/bin/false > > # GCC is always compliant with IEEE754 > @@ -185,7 +205,6 @@ PYTHON3_CONF_OPTS += \ > --disable-pydoc \ > --disable-test-modules \ > --disable-tk \ > - --disable-nis \ > --disable-idle3 \ > --disable-pyc-build > > -- > 2.43.0 > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v4 3/3] package/python3: bump version to 3.12.1 2023-12-18 22:04 ` [Buildroot] [PATCH v4 3/3] package/python3: bump version to 3.12.1 Adam Duskett 2023-12-24 22:12 ` Adam Duskett @ 2024-02-06 22:33 ` Thomas Petazzoni via buildroot 2024-02-07 2:32 ` James Hilliard ` (2 more replies) 1 sibling, 3 replies; 12+ messages in thread From: Thomas Petazzoni via buildroot @ 2024-02-06 22:33 UTC (permalink / raw) To: Adam Duskett; +Cc: James Hilliard, Asaf Kahlon, buildroot Hello Adam, On Mon, 18 Dec 2023 15:04:56 -0700 Adam Duskett <adam.duskett@amarulasolutions.com> wrote: > Python 3.12.1 has removed distutils support. As such, we remove the distutils > option from pkg-python.mk as well. > > Tested on Fedora 39, and Debian 11. All 68 package tests pass. > > Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> > --- > v3 -> v4: > - Drop distutils in pkg-python.mk > - 3.12.0 -> 3.12.1 I applied, but after doing a number of changes. The most important one is that I had to reintroduce some of our --disable options: for ncurses, sqlite and expat. Indeed, without these, you ended up with the Python code installed, but not the correspond native library (the py_cv_module__<something>=n/a only disables building the native library). I split up the pkg-python.mk change into a separate commit, which is made before the python 3.12 bump. Indeed, it's semantically separate. Finally, I updated the Buildroot manual to no longer mention distutils support. And I did a separate commit to update the Buildroot manual with other _SETUP_TYPE values that we support. Thanks! Thomas -- Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v4 3/3] package/python3: bump version to 3.12.1 2024-02-06 22:33 ` Thomas Petazzoni via buildroot @ 2024-02-07 2:32 ` James Hilliard 2024-02-24 13:58 ` Peter Korsgaard [not found] ` <87wmqut14w.fsf__36507.8827760712$1708783134$gmane$org@48ers.dk> 2 siblings, 0 replies; 12+ messages in thread From: James Hilliard @ 2024-02-07 2:32 UTC (permalink / raw) To: Thomas Petazzoni; +Cc: Adam Duskett, Asaf Kahlon, buildroot On Tue, Feb 6, 2024 at 3:33 PM Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote: > > Hello Adam, > > On Mon, 18 Dec 2023 15:04:56 -0700 > Adam Duskett <adam.duskett@amarulasolutions.com> wrote: > > > Python 3.12.1 has removed distutils support. As such, we remove the distutils > > option from pkg-python.mk as well. > > > > Tested on Fedora 39, and Debian 11. All 68 package tests pass. > > > > Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> > > --- > > v3 -> v4: > > - Drop distutils in pkg-python.mk > > - 3.12.0 -> 3.12.1 > > I applied, but after doing a number of changes. The most important one > is that I had to reintroduce some of our --disable options: for > ncurses, sqlite and expat. Indeed, without these, you ended up with the > Python code installed, but not the correspond native library (the > py_cv_module__<something>=n/a only disables building the native > library). > > I split up the pkg-python.mk change into a separate commit, which is > made before the python 3.12 bump. Indeed, it's semantically separate. > > Finally, I updated the Buildroot manual to no longer mention distutils > support. And I did a separate commit to update the Buildroot manual > with other _SETUP_TYPE values that we support. There seems to be a bug somewhere here breaking builds when the host and target have the same architecture: /home/buildroot/buildroot/output/per-package/python3/host/bin/x86_64-linux-gcc -I./Modules/_sqlite -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -D_FORTIFY_SOURCE=1 -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -fPIC -c ./Modules/_sqlite/util.c -o Modules/_sqlite/util.o /home/buildroot/buildroot/output/per-package/python3/host/bin/x86_64-linux-gcc -shared Modules/_sqlite/blob.o Modules/_sqlite/connection.o Modules/_sqlite/cursor.o Modules/_sqlite/microprotocols.o Modules/_sqlite/module.o Modules/_sqlite/prepare_protocol.o Modules/_sqlite/row.o Modules/_sqlite/statement.o Modules/_sqlite/util.o -L/home/buildroot/buildroot/output/per-package/python3/host/bin/../x86_64-buildroot-linux-gnu/sysroot/usr/lib -lsqlite3 -o Modules/_sqlite3.cpython-312-x86_64-linux-gnu.so /home/buildroot/buildroot/output/per-package/python3/host/bin/x86_64-linux-gcc -I/home/buildroot/buildroot/output/per-package/python3/host/x86_64-buildroot-linux-gnu/sysroot/usr/include -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -D_FORTIFY_SOURCE=1 -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -fPIC -c ./Modules/_ssl.c -o Modules/_ssl.o /home/buildroot/buildroot/output/per-package/python3/host/bin/x86_64-linux-gcc -shared Modules/_ssl.o -L/home/buildroot/buildroot/output/per-package/python3/host/x86_64-buildroot-linux-gnu/sysroot/usr/lib -lssl -lcrypto -o Modules/_ssl.cpython-312-x86_64-linux-gnu.so /home/buildroot/buildroot/output/per-package/python3/host/bin/x86_64-linux-gcc -I/home/buildroot/buildroot/output/per-package/python3/host/x86_64-buildroot-linux-gnu/sysroot/usr/include -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -D_FORTIFY_SOURCE=1 -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -fPIC -c ./Modules/_hashopenssl.c -o Modules/_hashopenssl.o /home/buildroot/buildroot/output/per-package/python3/host/bin/x86_64-linux-gcc -shared Modules/_hashopenssl.o -L/home/buildroot/buildroot/output/per-package/python3/host/x86_64-buildroot-linux-gnu/sysroot/usr/lib -lcrypto -o Modules/_hashlib.cpython-312-x86_64-linux-gnu.so /home/buildroot/buildroot/output/per-package/python3/host/bin/x86_64-linux-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -D_FORTIFY_SOURCE=1 -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -fPIC -c ./Modules/xxlimited.c -o Modules/xxlimited.o /home/buildroot/buildroot/output/per-package/python3/host/bin/x86_64-linux-gcc -shared Modules/xxlimited.o -o Modules/xxlimited.cpython-312-x86_64-linux-gnu.so /home/buildroot/buildroot/output/per-package/python3/host/bin/x86_64-linux-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -D_FORTIFY_SOURCE=1 -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -fPIC -c ./Modules/xxlimited_35.c -o Modules/xxlimited_35.o /home/buildroot/buildroot/output/per-package/python3/host/bin/x86_64-linux-gcc -shared Modules/xxlimited_35.o -o Modules/xxlimited_35.cpython-312-x86_64-linux-gnu.so /usr/bin/install -c -m 644 ./Tools/gdb/libpython.py python-gdb.py /home/buildroot/buildroot/output/per-package/python3/host/bin/x86_64-linux-gcc -c -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -D_FORTIFY_SOURCE=1 -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -DPy_BUILD_CORE -o Programs/_testembed.o ./Programs/_testembed.c /home/buildroot/buildroot/output/per-package/python3/host/bin/x86_64-linux-gcc -Xlinker -export-dynamic -o Programs/_testembed Programs/_testembed.o -L. -lpython3.12 -ldl -lpthread -lm sed -e "s,/usr/bin/env python3,/usr/bin/python3.12," < ./Tools/scripts/2to3 > build/scripts-3.12/2to3-3.12 sed -e "s,/usr/bin/env python3,/usr/bin/python3.12," < ./Tools/scripts/idle3 > build/scripts-3.12/idle3.12 sed -e "s,/usr/bin/env python3,/usr/bin/python3.12," < ./Tools/scripts/pydoc3 > build/scripts-3.12/pydoc3.12 sed -e "s,@EXENAME@,/usr/bin/python3.12," < ./Misc/python-config.in >python-config.py LC_ALL=C sed -e 's,\$(\([A-Za-z0-9_]*\)),\$\{\1\},g' < Misc/python-config.sh >python-config Traceback (most recent call last): File "/home/buildroot/buildroot/output/build/python3-3.12.1/./Tools/build/check_extension_modules.py", line 25, in <module> import pathlib File "/home/buildroot/buildroot/output/build/python3-3.12.1/Lib/pathlib.py", line 20, in <module> from urllib.parse import quote_from_bytes as urlquote_from_bytes File "/home/buildroot/buildroot/output/build/python3-3.12.1/Lib/urllib/parse.py", line 36, in <module> import math ImportError: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.38' not found (required by /home/buildroot/buildroot/output/build/python3-3.12.1/build/lib.linux-x86_64-3.12/math.cpython-312-x86_64-linux-gnu.so) make[2]: *** [Makefile:1136: checksharedmods] Error 1 make[1]: *** [package/pkg-generic.mk:283: /home/buildroot/buildroot/output/build/python3-3.12.1/.stamp_built] Error 2 > > Thanks! > > Thomas > -- > Thomas Petazzoni, CTO, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v4 3/3] package/python3: bump version to 3.12.1 2024-02-06 22:33 ` Thomas Petazzoni via buildroot 2024-02-07 2:32 ` James Hilliard @ 2024-02-24 13:58 ` Peter Korsgaard [not found] ` <87wmqut14w.fsf__36507.8827760712$1708783134$gmane$org@48ers.dk> 2 siblings, 0 replies; 12+ messages in thread From: Peter Korsgaard @ 2024-02-24 13:58 UTC (permalink / raw) To: Thomas Petazzoni via buildroot Cc: Asaf Kahlon, Adam Duskett, James Hilliard, Thomas Petazzoni >>>>> "Thomas" == Thomas Petazzoni via buildroot <buildroot@buildroot.org> writes: > Hello Adam, > On Mon, 18 Dec 2023 15:04:56 -0700 > Adam Duskett <adam.duskett@amarulasolutions.com> wrote: >> Python 3.12.1 has removed distutils support. As such, we remove the distutils >> option from pkg-python.mk as well. >> >> Tested on Fedora 39, and Debian 11. All 68 package tests pass. >> >> Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> >> --- >> v3 -> v4: >> - Drop distutils in pkg-python.mk >> - 3.12.0 -> 3.12.1 > I applied, but after doing a number of changes. The most important one > is that I had to reintroduce some of our --disable options: for > ncurses, sqlite and expat. Indeed, without these, you ended up with the > Python code installed, but not the correspond native library (the > py_cv_module__<something>=n/a only disables building the native > library). > I split up the pkg-python.mk change into a separate commit, which is > made before the python 3.12 bump. Indeed, it's semantically separate. > Finally, I updated the Buildroot manual to no longer mention distutils > support. And I did a separate commit to update the Buildroot manual > with other _SETUP_TYPE values that we support. We unfortunately are still having a number of build failures because of this, E.G. for target == host or packages using the imp module and we are very late for 2024.02.x, so I have reverted this again. We can apply it again 2024.05.x after the release and work on the remaining issues. -- Bye, Peter Korsgaard _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <87wmqut14w.fsf__36507.8827760712$1708783134$gmane$org@48ers.dk>]
* Re: [Buildroot] [PATCH v4 3/3] package/python3: bump version to 3.12.1 [not found] ` <87wmqut14w.fsf__36507.8827760712$1708783134$gmane$org@48ers.dk> @ 2024-02-24 19:01 ` Bernd Kuhls 2024-02-25 11:21 ` Yann E. MORIN 0 siblings, 1 reply; 12+ messages in thread From: Bernd Kuhls @ 2024-02-24 19:01 UTC (permalink / raw) To: buildroot Am Sat, 24 Feb 2024 14:58:23 +0100 schrieb Peter Korsgaard: > We unfortunately are still having a number of build failures because of > this, E.G. for target == host Hi, ftr, the host == target problem is solved by using a patch from here: https://github.com/python/cpython/issues/115382#issuecomment-1952936367 Regards, Bernd _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v4 3/3] package/python3: bump version to 3.12.1 2024-02-24 19:01 ` Bernd Kuhls @ 2024-02-25 11:21 ` Yann E. MORIN 2024-02-26 14:02 ` Arnout Vandecappelle via buildroot 0 siblings, 1 reply; 12+ messages in thread From: Yann E. MORIN @ 2024-02-25 11:21 UTC (permalink / raw) To: Bernd Kuhls; +Cc: buildroot Bernd, All, On 2024-02-24 20:01 +0100, Bernd Kuhls spake thusly: > Am Sat, 24 Feb 2024 14:58:23 +0100 schrieb Peter Korsgaard: > > > We unfortunately are still having a number of build failures because of > > this, E.G. for target == host > > Hi, > > ftr, the host == target problem is solved by using a patch from here: > https://github.com/python/cpython/issues/115382#issuecomment-1952936367 The issue with that, is that none of the upstream maintainers have chimed in to express their view on whether this is the correct approach, or to suggest something else. If we go and carry that patch without upstream feedback, we risk carrying forever without the issue ever being fixed upstream. What happens in other buildsystems, like OE or openWRT? Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v4 3/3] package/python3: bump version to 3.12.1 2024-02-25 11:21 ` Yann E. MORIN @ 2024-02-26 14:02 ` Arnout Vandecappelle via buildroot 0 siblings, 0 replies; 12+ messages in thread From: Arnout Vandecappelle via buildroot @ 2024-02-26 14:02 UTC (permalink / raw) To: Yann E. MORIN, Bernd Kuhls; +Cc: Benoit Debled, buildroot On 25/02/2024 12:21, Yann E. MORIN wrote: > Bernd, All, > > On 2024-02-24 20:01 +0100, Bernd Kuhls spake thusly: >> Am Sat, 24 Feb 2024 14:58:23 +0100 schrieb Peter Korsgaard: >> >>> We unfortunately are still having a number of build failures because of >>> this, E.G. for target == host >> >> Hi, >> >> ftr, the host == target problem is solved by using a patch from here: >> https://github.com/python/cpython/issues/115382#issuecomment-1952936367 > > The issue with that, is that none of the upstream maintainers have > chimed in to express their view on whether this is the correct approach, > or to suggest something else. > > If we go and carry that patch without upstream feedback, we risk > carrying forever without the issue ever being fixed upstream. > > What happens in other buildsystems, like OE or openWRT? My colleague Benoit (not on the list, but added in Cc) ran into this Python issue himself, so I asked him to investigate a little. Here are his conclusions. OpenWRT uses currently python 3.11.7 on the master branch as it can be seen here: https://github.com/openwrt/packages/blob/master/lang/python/python3-version.mk They updated from python 3.11.6 to 3.11.7 on dec 13 2023 I see no issues, PR, nor commit regarding an update to python 3.12 Regarding OpenEmbedded, here are the latest python version that are used: dunfell (3.1 LTS) 3.8.18 kirkstone (4.0 LTS) 3.10.13 nanbield (4.3) 3.11.5 Scarthgap (5.0 - Release date : April 2024): 3.12.1 python: update 3.11.5 -> 3.12.1: https://git.openembedded.org/openembedded-core/commit/?h=scarthgap&id=716d82352545d3667a658b69d65d6127678dd150 From the moment they have updated from 3.10.6 (f10cdc155e47af5627ee999c57e1d083f9382a91), I don't see any new major patch... I (Arnout) think that they don't have the problem because since 2019 they're carrying the following patch. From 5b66463c10fec1440e977d5a21a0167862d6d79c Mon Sep 17 00:00:00 2001 From: Ricardo Ribalda <ricardo@ribalda.com> Date: Tue, 18 Nov 2014 03:35:33 -0500 Subject: [PATCH] configure.ac: add CROSSPYTHONPATH into PYTHONPATH for PYTHON_FOR_BUILD When building x86->x86 the system will try to execute .so and related items from the default PYTHONPATH. This will fail if the target CPU contains instructions that the host CPU does not have, add CROSSPYTHONPATH into PYTHONPATH so we can prepend the list to find correct libs. Upstream-Status: Inappropriate [OE-Core integration specific] Credits-to: Mark Hatle <mark.hatle@windriver.com> Credits-to: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Ricardo Ribalda <ricardo@ribalda.com> (CROSSPYTHONPATH points to the equivalent of our host/lib/python3.X). Regards, Arnout > > Regards, > Yann E. MORIN. > _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v4 1/3] package/python-pygame: drop package 2023-12-18 22:04 [Buildroot] [PATCH v4 1/3] package/python-pygame: drop package Adam Duskett 2023-12-18 22:04 ` [Buildroot] [PATCH v4 2/3] package/python-crossbar: " Adam Duskett 2023-12-18 22:04 ` [Buildroot] [PATCH v4 3/3] package/python3: bump version to 3.12.1 Adam Duskett @ 2024-02-06 22:31 ` Thomas Petazzoni via buildroot 2 siblings, 0 replies; 12+ messages in thread From: Thomas Petazzoni via buildroot @ 2024-02-06 22:31 UTC (permalink / raw) To: Adam Duskett; +Cc: James Hilliard, Asaf Kahlon, buildroot On Mon, 18 Dec 2023 15:04:54 -0700 Adam Duskett <adam.duskett@amarulasolutions.com> wrote: > The python-pygame package has not recieved any update since > Sun May 1 22:15:17 2016 (commit: a9ec96e545102ae5ccd4280323d35360b0a5072d) > > Also, this package no longer builds properly against python 3.12.0. Recieving > the following error when building: > > ``` > src/surface.c:2812:14: error: invalid type argument of unary ‘*’ (have > ‘int’) > 2812 | ch = *PyUnicode_AS_UNICODE (obj); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ > src/surface.c: In function ‘PySurface_Blit’: > ``` > > If someone wants to re-introduce this package at a later date they are more > than welcome to do so! > > Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> > --- > Config.in.legacy | 9 ++ > DEVELOPERS | 1 - > package/Config.in | 1 - > package/python-pygame/Config.in | 50 ---------- > package/python-pygame/python-pygame.hash | 3 - > package/python-pygame/python-pygame.mk | 111 ----------------------- > 6 files changed, 9 insertions(+), 166 deletions(-) > delete mode 100644 package/python-pygame/Config.in > delete mode 100644 package/python-pygame/python-pygame.hash > delete mode 100644 package/python-pygame/python-pygame.mk Applied to master, thanks. Thomas -- Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2024-02-26 14:02 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-18 22:04 [Buildroot] [PATCH v4 1/3] package/python-pygame: drop package Adam Duskett
2023-12-18 22:04 ` [Buildroot] [PATCH v4 2/3] package/python-crossbar: " Adam Duskett
2024-02-06 22:31 ` Thomas Petazzoni via buildroot
2023-12-18 22:04 ` [Buildroot] [PATCH v4 3/3] package/python3: bump version to 3.12.1 Adam Duskett
2023-12-24 22:12 ` Adam Duskett
2024-02-06 22:33 ` Thomas Petazzoni via buildroot
2024-02-07 2:32 ` James Hilliard
2024-02-24 13:58 ` Peter Korsgaard
[not found] ` <87wmqut14w.fsf__36507.8827760712$1708783134$gmane$org@48ers.dk>
2024-02-24 19:01 ` Bernd Kuhls
2024-02-25 11:21 ` Yann E. MORIN
2024-02-26 14:02 ` Arnout Vandecappelle via buildroot
2024-02-06 22:31 ` [Buildroot] [PATCH v4 1/3] package/python-pygame: drop package Thomas Petazzoni via buildroot
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox