From 476f5fc8f6eba6ee44ce2e0812a1492609331f7d Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 1 May 2016 22:15:12 +0200 Subject: python3: bump to 3.5.1 The major changes in terms of Buildroot packaging are: - Due to PEP488, Python no longer generates .pyc (unoptimized) and .pyo (optimized) byte-code files. Instead, it generates .pyc, .opt-1.pyc and .opt-2.pyc. Therefore, we removed the --disable-pyo-build option and kept only the --disable-pyc-build option, which completely disables building all .pyc files. In addition, since the optimized .opt-X.pyc files don't work if the corresponding un-optimized .pyc file is not present, we are for the moment unconditionally removing the optimized ones (keeping both the unoptimized and optimized ones doubles the required filesystem size!). So basically we preserve the behavior we had before this commit: BR2_PACKAGE_PYTHON3_PY_ONLY -> only *.py BR2_PACKAGE_PYTHON3_PYC_ONLY -> only non-optimized *.pyc BR2_PACKAGE_PYTHON3_PY_PYC -> both the *.py and non-optimized *.pyc To achieve this, the TARGET_FINALIZE_HOOKS are reworked: PYTHON3_REMOVE_PY_FILES is responsible for removing *.py files in the BR2_PACKAGE_PYTHON3_PYC_ONLY case. PYTHON3_REMOVE_PYC_FILES is responsible for removing *.pyc files in the BR2_PACKAGE_PYTHON3_PY_ONLY case. PYTHON3_REMOVE_OPTIMIZED_PYC_FILES is responsible for removing the optimized *.opt-1.pyc and *.opt-2.pyc files, which is done unconditionally. - The PEP3147 disabling patch had to be significantly reworked due to the code having changed heavily. The code was moved into a _bootstrap_external.py, which is a "frozen" Python module, i.e a module generated into a .h file at compile time using the _freeze_importlib program. - Due to the above, we now need to regenerate importlib.h at build time. Unfortunately, for the target Python _freeze_importlib is built for the target, so we can't run it on the build machine. To fix this, we copy the _freeze_importlib program from the host-python in $(HOST_DIR), and then patch the target python to use it. Since the same solution can be used for 'pgen', we do it, and avoid having to touch the graminit.{c,h} files. Signed-off-by: Thomas Petazzoni Reviewed-by: Samuel Martin Signed-off-by: Thomas Petazzoni --- .../python3/0001-setup.py-do-not-add-invalid-header-locations.patch | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'package/python3/0001-setup.py-do-not-add-invalid-header-locations.patch') diff --git a/package/python3/0001-setup.py-do-not-add-invalid-header-locations.patch b/package/python3/0001-setup.py-do-not-add-invalid-header-locations.patch index 3fafd903a1..defaad9c45 100644 --- a/package/python3/0001-setup.py-do-not-add-invalid-header-locations.patch +++ b/package/python3/0001-setup.py-do-not-add-invalid-header-locations.patch @@ -1,4 +1,4 @@ -From 03a4c313f42ea1bbdfc4c64a285b3930766c2b23 Mon Sep 17 00:00:00 2001 +From d6093bad6c700312ff7ff4a7bb15c815dda6f46b Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Wed, 23 Dec 2015 11:28:34 +0100 Subject: [PATCH] setup.py: do not add invalid header locations @@ -28,10 +28,10 @@ Signed-off-by: Thomas Petazzoni 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py -index 2779658..d3bf8e5 100644 +index da67731..dbd2a3c 100644 --- a/setup.py +++ b/setup.py -@@ -493,7 +493,8 @@ class PyBuildExt(build_ext): +@@ -511,7 +511,8 @@ class PyBuildExt(build_ext): add_dir_to_list(dir_list, directory) if os.path.normpath(sys.base_prefix) != '/usr' \ -- cgit v1.2.3