python3: upgrade to 3.7.2

I took the same approach as the recent perl upgrade: write recipe from scratch,
taking the pieces from the old recipe only when they were proven to be necessary.

The pgo, manifest and ptest features are all preserved.

New features:

- native and target recipes are now unified into one recipe

- check_build_completeness.py runs right after do_compile() and verifies that
all optional modules have been built (a notorious source of regressions)

- a new approach to sysconfig.py and distutils/sysconfig.py returning values
appropriate for native or target builds: we copy the configuration file to a
separate folder, add that folder to sys.path (through environment variable
that differs between native and target builds), and point python to the file
through another environment variable.

There were a few other patches where it was difficult to decide if the patch
is still relevant, and how to test that it works correctly; please add those
as-needed by testing the new python.

(From OE-Core rev: 02714c105426b0d687620913c1a7401b386428b6)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin
2019-02-06 17:26:34 +01:00
committed by Richard Purdie
parent cd6c61a261
commit e2c3247c23
51 changed files with 700 additions and 3030 deletions

View File

@@ -1,17 +1,24 @@
_tkinter module needs tk module along with tcl. tk is not yet integrated
in yocto so we skip the check for this module.
Avoid a warning by not adding this module to missing variable.
From fead48c8b501a8d7c3db21df2e599f90f38f11d3 Mon Sep 17 00:00:00 2001
From: Andrei Gherzan <andrei@gherzan.ro>
Date: Mon, 28 Jan 2019 15:57:54 +0000
Subject: [PATCH] _tkinter module needs tk module along with tcl. tk is not yet
integrated in yocto so we skip the check for this module. Avoid a warning by
not adding this module to missing variable.
Upstream-Status: Inappropriate [distribution]
Also simply disable the tk module since its not in DEPENDS.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Index: Python-3.5.3/setup.py
===================================================================
--- Python-3.5.3.orig/setup.py
+++ Python-3.5.3/setup.py
@@ -1558,10 +1558,12 @@ class PyBuildExt(build_ext):
---
setup.py | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/setup.py b/setup.py
index fbec00d..b7a36a6 100644
--- a/setup.py
+++ b/setup.py
@@ -1623,10 +1623,12 @@ class PyBuildExt(build_ext):
self.extensions.extend(exts)
# Call the method for detecting whether _tkinter can be compiled
@@ -25,5 +32,5 @@ Index: Python-3.5.3/setup.py
+ #if '_tkinter' not in [e.name for e in self.extensions]:
+ # missing.append('_tkinter')
## # Uncomment these lines if you want to play with xxmodule.c
## ext = Extension('xx', ['xxmodule.c'])
# Build the _uuid module if possible
uuid_incs = find_file("uuid.h", inc_dirs, ["/usr/include/uuid"])