python3{,-native}: update to 3.7.0
PATCH v6 1/1 python3{,-native}: update to 3.7.0
Update python3 to recent 3.7.0 release.
Details about new features and bug-fixes can be taken from
* https://docs.python.org/3/whatsnew/3.7.html
* https://docs.python.org/3/whatsnew/3.6.html
Remove patches when they were fixed upstream and rebase the remaining ones. If necessary, the patches are adopted to keep the idea when upstream code was changed. Also remove backports from 3.6 and 3.7 into 3.5.6 codebase for TLS and multiprocessing.
Open TODO: track patches in a -STABLE rebased git branch for easier rebasing or upstream submitting.
Enhancement requests for Yocto project
* https://bugzilla.yoctoproject.org/show_bug.cgi?id=12375
* https://bugzilla.yoctoproject.org/show_bug.cgi?id=12901
are solved by this.
--- meta/classes/python3-dir.bbclass | 6 +- .../python/python3-native_3.5.6.bb | 100 ------ .../python/python3-native_3.7.0.bb | 73 ++++ meta/recipes-devtools/python/python3.inc | 65 +++- ...hell-version-of-python-config-that-w.patch | 21 +- ..._sysconfigdata.py-to-initialize-dist.patch | 66 ---- ...ontext-has-improved-default-settings.patch | 272 --------------- ...d-target-to-split-profile-generation.patch | 40 --- ...S-1.3-cipher-suites-and-OP_NO_TLSv1_.patch | 227 ------------ ...for-TLS-1.3-and-OpenSSL-1.1.1-GH-876.patch | 173 --------- ....3-ciphers-for-OpenSSL-1.1.1-GH-6976.patch | 110 ------ ...ALPN-changes-for-OpenSSL-1.1.0f-2305.patch | 68 ---- .../python3/03-fix-tkinter-detection.patch | 12 +- .../python3/030-fixup-include-dirs.patch | 9 - .../080-distutils-dont_adjust_files.patch | 4 +- .../python/python3/150-fix-setupterm.patch | 17 - ...GS-for-extensions-when-cross-compili.patch | 53 ++- .../python3/avoid-ncursesw-include-path.patch | 18 +- .../python3/avoid_warning_about_tkinter.patch | 18 +- .../python3/configure.ac-fix-LIBPL.patch | 21 +- .../python/python3/float-endian.patch | 9 +- ...ssing-libraries-to-Extension-for-mul.patch | 26 +- .../python/python3/python-3.3-multilib.patch | 241 +++++++------ .../python/python3/python3-manifest.json | 35 +- ...CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch | 17 +- .../python/python3/regen-all.patch | 25 -- .../python/python3/signal.patch | 56 --- ...port_SOURCE_DATE_EPOCH_in_py_compile.patch | 36 +- .../python3/sysroot-include-headers.patch | 23 +- .../python3/uuid_when_cross_compiling.patch | 24 ++ meta/recipes-devtools/python/python3_3.5.6.bb | 329 ------------------ meta/recipes-devtools/python/python3_3.7.0.bb | 299 ++++++++++++++++ 32 files changed, 722 insertions(+), 1771 deletions(-) delete mode 100644 meta/recipes-devtools/python/python3-native_3.5.6.bb create mode 100644 meta/recipes-devtools/python/python3-native_3.7.0.bb delete mode 100644 meta/recipes-devtools/python/python3/0001-Issue-21272-Use-_sysconfigdata.py-to-initialize-dist.patch delete mode 100644 meta/recipes-devtools/python/python3/0001-Issue-28043-SSLContext-has-improved-default-settings.patch delete mode 100644 meta/recipes-devtools/python/python3/0002-Makefile-add-target-to-split-profile-generation.patch delete mode 100644 meta/recipes-devtools/python/python3/0002-bpo-29136-Add-TLS-1.3-cipher-suites-and-OP_NO_TLSv1_.patch delete mode 100644 meta/recipes-devtools/python/python3/0003-bpo-32947-Fixes-for-TLS-1.3-and-OpenSSL-1.1.1-GH-876.patch delete mode 100644 meta/recipes-devtools/python/python3/0004-bpo-33570-TLS-1.3-ciphers-for-OpenSSL-1.1.1-GH-6976.patch delete mode 100644 meta/recipes-devtools/python/python3/0005-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-2305.patch delete mode 100644 meta/recipes-devtools/python/python3/150-fix-setupterm.patch delete mode 100644 meta/recipes-devtools/python/python3/regen-all.patch delete mode 100644 meta/recipes-devtools/python/python3/signal.patch create mode 100644 meta/recipes-devtools/python/python3/uuid_when_cross_compiling.patch delete mode 100644 meta/recipes-devtools/python/python3_3.5.6.bb create mode 100644 meta/recipes-devtools/python/python3_3.7.0.bb
meta/classes/python3-dir.bbclass +5 -1
@@ -1,4 +1,8 @@ -PYTHON_BASEVERSION = "3.5" +PYTHON_BASEVERSION = "3.7" +# [d][m][u] +# d: py_debug +# m: my_malloc +# u: wide-char unicode PYTHON_ABI = "m" PYTHON_DIR = "python${PYTHON_BASEVERSION}" PYTHON_PN = "python3"
meta/recipes-devtools/python/python3-native_3.5.6.bb deleted +0 -100
100 lines not on this page · raw message
meta/recipes-devtools/python/python3-native_3.7.0.bb new file +73 -0
73 lines not on this page · raw message
meta/recipes-devtools/python/python3.inc +49 -16
90 lines not on this page · raw message
meta/recipes-devtools/python/python3/0001-Do-not-use-the-shell-version-of-python-config-that-w.patch +9 -12
@@ -14,25 +14,22 @@ Signed-off-by: Alexander Kanavin <[email protected]> 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in -index 236f005..5c4337f 100644 +index 31b4bcabb3..7da6d6941e 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1348,12 +1348,9 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh +@@ -1415,12 +1415,9 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh sed -e "s,@EXENAME@,$(BINDIR)/python$(LDVERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config.py - # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR} + @ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR} LC_ALL=C sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' < Misc/python-config.sh >python-config -- # On Darwin, always use the python version of the script, the shell -- # version doesn't use the compiler customizations that are provided -- # in python (_osx_support.py). -- if test `uname -s` = Darwin; then \ +- @ # On Darwin, always use the python version of the script, the shell +- @ # version doesn't use the compiler customizations that are provided +- @ # in python (_osx_support.py). +- @if test `uname -s` = Darwin; then \ - cp python-config.py python-config; \ - fi -+ # In OpenEmbedded, always use the python version of the script, the shell -+ # version is broken in multiple ways, and doesn't return correct directories ++ @ # In OpenEmbedded, always use the python version of the script, the shell ++ @ # version is broken in multiple ways, and doesn't return correct directories + cp python-config.py python-config # Install the include files --- -2.11.0 -
meta/recipes-devtools/python/python3/0001-Issue-21272-Use-_sysconfigdata.py-to-initialize-dist.patch deleted +0 -66
66 lines not on this page · raw message
meta/recipes-devtools/python/python3/0001-Issue-28043-SSLContext-has-improved-default-settings.patch deleted +0 -272
272 lines not on this page · raw message
meta/recipes-devtools/python/python3/0002-Makefile-add-target-to-split-profile-generation.patch deleted +0 -40
@@ -1,40 +0,0 @@ -From 98586d6dc598e40b8b821b0dde57599e188a7ca4 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <[email protected]> -Date: Tue, 7 Aug 2018 16:43:17 +0800 -Subject: [PATCH 2/2] Makefile: add target to split profile generation - -We don't want to have profile task invoked from here and want to use -qemu-user instead. Split the profile-opt task so qemu can be invoked -once binaries have been built with instrumentation and then we can go -ahead and build again using the profile data generated. - -Upstream-Status: Inappropriate [OE-specific] - -Signed-off-by: Anuj Mittal <[email protected]> ---- - Makefile.pre.in | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 84bc3ff..017a2c4 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -469,13 +469,12 @@ profile-opt: - $(MAKE) profile-removal - $(MAKE) build_all_generate_profile - $(MAKE) profile-removal -- @echo "Running code to generate profile data (this can take a while):" -- $(MAKE) run_profile_task -- $(MAKE) build_all_merge_profile -+ -+clean_and_use_profile: - @echo "Rebuilding with profile guided optimizations:" - $(MAKE) clean - $(MAKE) build_all_use_profile - $(MAKE) profile-removal - - build_all_generate_profile: - $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS) $(EXTRA_CFLAGS) $(PGO_PROF_GEN_FLAG) @LTOFLAGS@" LDFLAGS="$(LDFLAGS) $(PGO_PROF_GEN_FLAG) @LTOFLAGS@" LIBS="$(LIBS)" --- -2.17.1 -
meta/recipes-devtools/python/python3/0002-bpo-29136-Add-TLS-1.3-cipher-suites-and-OP_NO_TLSv1_.patch deleted +0 -227
227 lines not on this page · raw message
meta/recipes-devtools/python/python3/0003-bpo-32947-Fixes-for-TLS-1.3-and-OpenSSL-1.1.1-GH-876.patch deleted +0 -173
173 lines not on this page · raw message
meta/recipes-devtools/python/python3/0004-bpo-33570-TLS-1.3-ciphers-for-OpenSSL-1.1.1-GH-6976.patch deleted +0 -110
110 lines not on this page · raw message
meta/recipes-devtools/python/python3/0005-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-2305.patch deleted +0 -68
68 lines not on this page · raw message
meta/recipes-devtools/python/python3/03-fix-tkinter-detection.patch +6 -6
@@ -4,11 +4,11 @@ Upstream-Status: Inappropriate [embedded specific] # will not be found. # Signed-Off: Michael 'Mickey' Lauer <[email protected]> -Index: Python-3.3.0rc2/setup.py -=================================================================== ---- Python-3.3.0rc2.orig/setup.py 2012-09-20 15:24:14.009124003 -0700 -+++ Python-3.3.0rc2/setup.py 2012-09-20 15:25:08.449124963 -0700 -@@ -1620,7 +1620,7 @@ +diff --git a/setup.py b/setup.py +index 37c5dd58a6..7f0e4d1010 100644 +--- a/setup.py ++++ b/setup.py +@@ -1803,7 +1803,7 @@ class PyBuildExt(build_ext): dotversion = dotversion[:-1] + '.' + dotversion[-1] tcl_include_sub = [] tk_include_sub = []
@@ -17,7 +17,7 @@ Index: Python-3.3.0rc2/setup.py tcl_include_sub += [dir + os.sep + "tcl" + dotversion] tk_include_sub += [dir + os.sep + "tk" + dotversion] tk_include_sub += tcl_include_sub -@@ -1639,22 +1639,6 @@ +@@ -1822,22 +1822,6 @@ class PyBuildExt(build_ext): if dir not in include_dirs: include_dirs.append(dir)
meta/recipes-devtools/python/python3/030-fixup-include-dirs.patch +0 -9
@@ -22,12 +22,3 @@ Index: Python-3.3.2/setup.py # Add paths specified in the environment variables LDFLAGS and # CPPFLAGS for header and library files. -@@ -480,7 +481,7 @@ class PyBuildExt(build_ext): - for directory in reversed(options.dirs): - add_dir_to_list(dir_list, directory) - -- if os.path.normpath(sys.base_prefix) != '/usr' \ -+ if not cross_compiling and os.path.normpath(sys.base_prefix) != '/usr' \ - and not sysconfig.get_config_var('PYTHONFRAMEWORK'): - # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework - # (PYTHONFRAMEWORK is set) to avoid # linking problems when
meta/recipes-devtools/python/python3/080-distutils-dont_adjust_files.patch +2 -2
@@ -14,11 +14,11 @@ Upstream-Status: Inappropriate [Embedded-Specific] def copy_scripts(self): -- """Copy each script listed in 'self.scripts'; if it's marked as a +- r"""Copy each script listed in 'self.scripts'; if it's marked as a - Python script in the Unix way (first line matches 'first_line_re', - ie. starts with "\#!" and contains "python"), then adjust the first - line to refer to the current Python interpreter as we copy. -+ """Copy each script listed in 'self.scripts' ++ r"""Copy each script listed in 'self.scripts' """ self.mkpath(self.build_dir) outfiles = []
meta/recipes-devtools/python/python3/150-fix-setupterm.patch deleted +0 -17
@@ -1,17 +0,0 @@ -Fix warning with newer compiler - --Khem - -Upstream-Status: Pending - ---- a/Modules/_cursesmodule.c -+++ b/Modules/_cursesmodule.c -@@ -116,7 +116,7 @@ char *PyCursesVersion = "2.2"; - #defines many common symbols (such as "lines") which breaks the - curses module in other ways. So the code will just specify - explicit prototypes here. */ --extern int setupterm(char *,int,int *); -+//extern int setupterm(char *,int,int *); - #ifdef __sgi - #include <term.h> - #endif
meta/recipes-devtools/python/python3/Use-correct-CFLAGS-for-extensions-when-cross-compili.patch +24 -29
71 lines not on this page · raw message
meta/recipes-devtools/python/python3/avoid-ncursesw-include-path.patch +9 -9
@@ -6,16 +6,16 @@ hardcoded locations for include paths Signed-off-by: Khem Raj <[email protected]> -Index: Python-3.4.2/configure.ac -=================================================================== ---- Python-3.4.2.orig/configure.ac -+++ Python-3.4.2/configure.ac -@@ -4434,7 +4434,7 @@ fi - +diff --git a/configure.ac b/configure.ac +index 2b8aa4d592..1f5bf4b4b0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -4976,7 +4976,7 @@ fi # first curses header check ac_save_cppflags="$CPPFLAGS" --CPPFLAGS="$CPPFLAGS -I/usr/include/ncursesw" -+CPPFLAGS="$CPPFLAGS -I=/usr/include/ncursesw" + if test "$cross_compiling" = no; then +- CPPFLAGS="$CPPFLAGS -I/usr/include/ncursesw" ++ CPPFLAGS="$CPPFLAGS -I=/usr/include/ncursesw" + fi AC_CHECK_HEADERS(curses.h ncurses.h) -
meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch +11 -7
@@ -5,13 +5,17 @@ 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. + +2018-08: Rebased for 3.7.0 + -- Jens + Signed-off-by: Andrei Gherzan <[email protected]> -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): +diff --git a/setup.py b/setup.py +index 37c5dd58a6..0321245761 100644 +--- a/setup.py ++++ b/setup.py +@@ -1608,10 +1608,12 @@ class PyBuildExt(build_ext): self.extensions.extend(exts) # Call the method for detecting whether _tkinter can be compiled
@@ -25,5 +29,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"])
meta/recipes-devtools/python/python3/configure.ac-fix-LIBPL.patch +12 -9
@@ -7,24 +7,27 @@ Use LIBDIR rather than prefix/lib, so that it would work when lib64. Upstream-Status: Pending +2018-08: rebased and adopted for 3.7 + -- Jens + Signed-off-by: Robert Yang <[email protected]> --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 63aef8e..aefb27f 100644 +index 2b8aa4d592..0da15fbbdf 100644 --- a/configure.ac +++ b/configure.ac -@@ -4366,7 +4366,7 @@ AC_MSG_RESULT($LDVERSION) - +@@ -4674,9 +4674,9 @@ AC_MSG_RESULT($LDVERSION) dnl define LIBPL after ABIFLAGS and LDVERSION is defined. AC_SUBST(PY_ENABLE_SHARED) --LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}" -+LIBPL='$(LIBDIR)'"/python${VERSION}/config-${LDVERSION}" + if test x$PLATFORM_TRIPLET = x; then +- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}" ++ LIBPL='$(LIBDIR)'"/python${VERSION}/config-${LDVERSION}" + else +- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" ++ LIBPL='$(LIBDIR)'"/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" + fi AC_SUBST(LIBPL) - # Check whether right shifting a negative integer extends the sign bit --- -1.7.9.5 -
meta/recipes-devtools/python/python3/float-endian.patch +4 -5
@@ -21,19 +21,19 @@ Subject: [PATCH] Don't do runtime test to get float byte order create mode 100644 m4/ax_c_float_words_bigendian.m4 diff --git a/configure.ac b/configure.ac -index c9b755f0f4..1215969871 100644 +index 2b8aa4d592..80aa37125f 100644 --- a/configure.ac +++ b/configure.ac -@@ -9,6 +9,8 @@ AC_PREREQ(2.65) +@@ -11,6 +11,8 @@ AC_INIT(python, PYTHON_VERSION, https://bugs.python.org/) - AC_INIT(python, PYTHON_VERSION, https://bugs.python.org/) + AC_CONFIG_MACRO_DIR(m4) +AC_CONFIG_MACRO_DIR(m4) + AC_SUBST(BASECPPFLAGS) if test "$srcdir" != . -a "$srcdir" != "$(pwd)"; then # If we're building out-of-tree, we need to make sure the following -@@ -4128,77 +4130,19 @@ fi +@@ -4264,77 +4266,19 @@ fi # * Check for various properties of floating point * # **************************************************
@@ -209,4 +209,3 @@ index 0000000000..216b90d803 +])# AX_C_FLOAT_WORDS_BIGENDIAN -- 2.11.0 -
meta/recipes-devtools/python/python3/pass-missing-libraries-to-Extension-for-mul.patch +13 -13
@@ -47,16 +47,19 @@ And the semaphore issue also caused multiprocessing.Queue().put() hung. Upstream-Status: Submitted [https://github.com/python/cpython/pull/2999] +2018-08: rebased for 3.7 + -- Jens + Signed-off-by: Hongxu Jia <[email protected]> --- setup.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py -index 4f0f522..d05707d 100644 +index a97a7559ca..633eba8f1e 100644 --- a/setup.py +++ b/setup.py -@@ -1606,8 +1606,10 @@ class PyBuildExt(build_ext): +@@ -1580,8 +1580,10 @@ class PyBuildExt(build_ext): elif host_platform.startswith('netbsd'): macros = dict() libraries = []
@@ -69,14 +72,11 @@ index 4f0f522..d05707d 100644 macros = dict() libraries = ['rt'] -@@ -1626,6 +1628,7 @@ class PyBuildExt(build_ext): - if sysconfig.get_config_var('WITH_THREAD'): - exts.append ( Extension('_multiprocessing', multiprocessing_srcs, - define_macros=list(macros.items()), -+ libraries=libraries, - include_dirs=["Modules/_multiprocessing"])) - else: - missing.append('_multiprocessing') --- -2.7.4 - +@@ -1599,6 +1601,7 @@ class PyBuildExt(build_ext): + + exts.append ( Extension('_multiprocessing', multiprocessing_srcs, + define_macros=list(macros.items()), ++ libraries=libraries, + include_dirs=["Modules/_multiprocessing"])) + # End multiprocessing +
meta/recipes-devtools/python/python3/python-3.3-multilib.patch +126 -115
353 lines not on this page · raw message
meta/recipes-devtools/python/python3/python3-manifest.json +16 -19
@@ -27,24 +27,17 @@ "asyncio": { "summary": "Python Asynchronous I/", "rdepends": [ - "compression", "core", - "crypt", "io", "logging", - "math", - "multiprocessing", "netclient", - "pickle", - "shell", - "stringold", - "threading", - "unixadmin" + "stringold" ], "files": [ "${libdir}/python${PYTHON_MAJMIN}/asyncio", "${libdir}/python${PYTHON_MAJMIN}/concurrent", - "${libdir}/python${PYTHON_MAJMIN}/concurrent/futures" + "${libdir}/python${PYTHON_MAJMIN}/concurrent/futures", + "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_asyncio.*.so" ], "cached": [] },
@@ -149,7 +142,7 @@ "${libdir}/python${PYTHON_MAJMIN}/_collections_abc.py", "${libdir}/python${PYTHON_MAJMIN}/_markupbase.py", "${libdir}/python${PYTHON_MAJMIN}/_sitebuiltins.py", - "${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py", + "${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py", "${libdir}/python${PYTHON_MAJMIN}/_weakrefset.py", "${libdir}/python${PYTHON_MAJMIN}/abc.py", "${libdir}/python${PYTHON_MAJMIN}/argparse.py",
@@ -162,6 +155,7 @@ "${libdir}/python${PYTHON_MAJMIN}/collections/abc.py", "${libdir}/python${PYTHON_MAJMIN}/configparser.py", "${libdir}/python${PYTHON_MAJMIN}/contextlib.py", + "${libdir}/python${PYTHON_MAJMIN}/contextvars.py", "${libdir}/python${PYTHON_MAJMIN}/copy.py", "${libdir}/python${PYTHON_MAJMIN}/copyreg.py", "${libdir}/python${PYTHON_MAJMIN}/csv.py",
@@ -191,6 +185,7 @@ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/time.*.so", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/xreadlines.*.so", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_bisect.*.so", + "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_contextvars.*.so", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_csv.*.so", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_heapq.*.so", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_opcode.*.so",
@@ -256,6 +251,7 @@ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/codeop.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/configparser.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/contextlib.*.pyc", + "${libdir}/python${PYTHON_MAJMIN}/__pycache__/contextvars.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/copy.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/copyreg.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/csv.*.pyc",
@@ -323,9 +319,13 @@ "files": [ "${libdir}/python${PYTHON_MAJMIN}/crypt.py", "${libdir}/python${PYTHON_MAJMIN}/hashlib.py", + "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_blake2.*.so", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_crypt.*.so", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_hashlib.*.so", + "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_md5.*.so", + "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha1.*.so", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha256.*.so", + "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha3.*.so", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha512.*.so" ], "cached": [
@@ -729,7 +729,9 @@ "multiprocessing": { "summary": "Python multiprocessing support", "rdepends": [ - "core" + "core", + "io", + "pickle" ], "files": [ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_multiprocessing.*.so",
@@ -740,18 +742,14 @@ "netclient": { "summary": "Python Internet Protocol clients", "rdepends": [ - "compression", "core", "crypt", - "ctypes", "datetime", "email", "io", "math", "mime", - "shell", - "stringold", - "unixadmin" + "stringold" ], "files": [ "${libdir}/python${PYTHON_MAJMIN}/base64.py",
@@ -1043,13 +1041,12 @@ "files": [ "${libdir}/python${PYTHON_MAJMIN}/_dummy_thread.py", "${libdir}/python${PYTHON_MAJMIN}/_threading_local.py", - "${libdir}/python${PYTHON_MAJMIN}/dummy_threading.py", + "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_queue.*.so", "${libdir}/python${PYTHON_MAJMIN}/queue.py" ], "cached": [ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_dummy_thread.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_threading_local.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/dummy_threading.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/queue.*.pyc" ] },
meta/recipes-devtools/python/python3/python3-use-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch +10 -7
@@ -5,21 +5,24 @@ Subject: [PATCH] python3 use CROSSPYTHONPATH for PYTHON_FOR_BUILD Upstream-Status: Inappropriate [Cross compile specific] +2018-08: Rebased and adopted for 3.7 + -- Jens + Signed-off-by: Jackie Huang <[email protected]> --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: Python-3.5.4/configure.ac -=================================================================== ---- Python-3.5.4.orig/configure.ac -+++ Python-3.5.4/configure.ac -@@ -73,7 +73,7 @@ if test "$cross_compiling" = yes; then +diff --git a/configure.ac b/configure.ac +index 2b8aa4d592..a361436f4f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -75,7 +75,7 @@ if test "$cross_compiling" = yes; then AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found]) fi AC_MSG_RESULT($interp) -- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp -+ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(CROSSPYTHONPATH) '$interp +- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$interp ++ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(CROSSPYTHONPATH) _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$interp fi elif test "$cross_compiling" = maybe; then AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH])
meta/recipes-devtools/python/python3/regen-all.patch deleted +0 -25
@@ -1,25 +0,0 @@ -python3-native: run regen-importlib target correctly - -regen-importlib depends on other regen- targets, so we must be sure to -run it after (most of) the others. In reality, we do not need to run it -at all since "make" will invoke it, if necessary. We do not want to -rely on that, though. - -Upstream-Status: Pending - -Signed-off-by: Joe Slater <[email protected]> - - - ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -709,7 +709,8 @@ regen-importlib: Programs/_freeze_import - ############################################################################ - # Regenerate all generated files - --regen-all: regen-opcode regen-opcode-targets regen-typeslots regen-grammar regen-ast regen-importlib -+regen-all: regen-opcode regen-opcode-targets regen-typeslots regen-grammar regen-ast -+ $(MAKE) regen-importlib - - ############################################################################ - # Special rules for object files
meta/recipes-devtools/python/python3/signal.patch deleted +0 -56
56 lines not on this page · raw message
meta/recipes-devtools/python/python3/support_SOURCE_DATE_EPOCH_in_py_compile.patch +18 -18
@@ -36,12 +36,12 @@ The software will still work, but it will not use the .pyc file as it should. 3 files changed, 27 insertions(+) diff --git a/Doc/library/py_compile.rst b/Doc/library/py_compile.rst -index 0af8fb1..841f3e8 100644 +index d720e01050..c8cc738f3d 100644 --- a/Doc/library/py_compile.rst +++ b/Doc/library/py_compile.rst -@@ -53,6 +53,10 @@ byte-code cache files in the directory containing the source code. - :func:`compile` function. The default of ``-1`` selects the optimization - level of the current interpreter. +@@ -59,6 +59,10 @@ byte-code cache files in the directory containing the source code. + *invalidation_mode* will be forced to + :attr:`PycInvalidationMode.CHECKED_HASH`. + If the SOURCE_DATE_EPOCH environment variable is set, the .py file mtime + and timestamp entry in .pyc file header, will be limited to this value.
@@ -51,27 +51,27 @@ index 0af8fb1..841f3e8 100644 Changed default value of *cfile* to be :PEP:`3147`-compliant. Previous default was *file* + ``'c'`` (``'o'`` if optimization was enabled). diff --git a/Lib/py_compile.py b/Lib/py_compile.py -index 11c5b50..62dcdc7 100644 +index 16dc0a011f..b7c28e4fdd 100644 --- a/Lib/py_compile.py +++ b/Lib/py_compile.py -@@ -137,6 +137,10 @@ def compile(file, cfile=None, dfile=None, doraise=False, optimize=-1): - except FileExistsError: +@@ -149,6 +149,10 @@ def compile(file, cfile=None, dfile=None, doraise=False, optimize=-1, pass - source_stats = loader.path_stats(file) -+ sde = os.environ.get('SOURCE_DATE_EPOCH') -+ if sde and source_stats['mtime'] > int(sde): -+ source_stats['mtime'] = int(sde) -+ os.utime(file, (source_stats['mtime'], source_stats['mtime'])) - bytecode = importlib._bootstrap_external._code_to_bytecode( + if invalidation_mode == PycInvalidationMode.TIMESTAMP: + source_stats = loader.path_stats(file) ++ sde = os.environ.get('SOURCE_DATE_EPOCH') ++ if sde and source_stats['mtime'] > int(sde): ++ source_stats['mtime'] = int(sde) ++ os.utime(file, (source_stats['mtime'], source_stats['mtime'])) + bytecode = importlib._bootstrap_external._code_to_timestamp_pyc( code, source_stats['mtime'], source_stats['size']) - mode = importlib._bootstrap_external._calc_mode(file) + else: diff --git a/Lib/test/test_py_compile.py b/Lib/test/test_py_compile.py -index 4a6caa5..3d09963 100644 +index 8fc0b3308c..1445a14548 100644 --- a/Lib/test/test_py_compile.py +++ b/Lib/test/test_py_compile.py -@@ -98,6 +98,25 @@ def test_bad_coding(self): - self.assertFalse(os.path.exists( - importlib.util.cache_from_source(bad_coding))) +@@ -110,6 +110,25 @@ class PyCompileTests(unittest.TestCase): + fp.read(), 'test', {}) + self.assertEqual(flags, 0b11) + def test_source_date_epoch(self): + testtime = 123456789
meta/recipes-devtools/python/python3/sysroot-include-headers.patch +12 -11
@@ -6,26 +6,27 @@ Should fix things like configure:6972: arm-angstrom-linux-gnueabi-gcc -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8 -DNDEBUG -fno-inline -D__SOFTFP__ --sysroot=/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone -c -O2 -pipe -g -feliminate-unused-debug-types -I/usr/include/ncursesw conftest.c >&5 cc1: warning: include location "/usr/include/ncursesw" is unsafe for cross-compilation [-Wpoison-system-directories] +2018-08: Rebased to 3.7.0 + -- Jens Signed-off-by: Khem Raj Upstream-Status: Pending - -Index: Python-3.3.2/setup.py -=================================================================== ---- Python-3.3.2.orig/setup.py 2013-07-30 01:30:48.000000000 -0700 -+++ Python-3.3.2/setup.py 2013-07-30 01:41:11.697862723 -0700 -@@ -1210,7 +1210,7 @@ - panel_library = 'panel' +diff --git a/setup.py b/setup.py +index 37c5dd58a6..41e88a152b 100644 +--- a/setup.py ++++ b/setup.py +@@ -1333,7 +1333,7 @@ class PyBuildExt(build_ext): if curses_library == 'ncursesw': curses_defines.append(('HAVE_NCURSESW', '1')) -- curses_includes.append('/usr/include/ncursesw') -+ curses_includes.append('=/usr/include/ncursesw') + if not cross_compiling: +- curses_includes.append('/usr/include/ncursesw') ++ curses_includes.append('=/usr/include/ncursesw') # Bug 1464056: If _curses.so links with ncursesw, # _curses_panel.so must link with panelw. panel_library = 'panelw' -@@ -1819,7 +1819,7 @@ - if host_platform == 'darwin': +@@ -1968,7 +1968,7 @@ class PyBuildExt(build_ext): + return # OS X 10.5 comes with libffi.dylib; the include files are # in /usr/include/ffi - inc_dirs.append('/usr/include/ffi')
meta/recipes-devtools/python/python3/uuid_when_cross_compiling.patch new file +24 -0
@@ -0,0 +1,24 @@ +Subject: [PATCH] util-linux uuid support + +Scan for uuid.h in include/uuid/ as well as in include/ to catch +the uuid/uuid.h well supported but accidently not detected. + +Upstream-Status: Pending + +Signed-off-by: Jens Rehsack <[email protected]> +diff --git a/setup.py b/setup.py +index a97a7559ca..01d8f24fdd 100644 +--- a/setup.py ++++ b/setup.py +@@ -1596,8 +1596,9 @@ class PyBuildExt(build_ext): + # missing.append('_tkinter') + + # Build the _uuid module if possible +- uuid_incs = find_file("uuid.h", inc_dirs, ["/usr/include/uuid"]) +- if uuid_incs is not None: ++ uuid_incs = find_file("uuid.h", inc_dirs, []) ++ uuid_uuid_incs = find_file("uuid/uuid.h", inc_dirs, []) ++ if uuid_incs is not None or uuid_uuid_incs is not None: + if self.compiler.find_library_file(lib_dirs, 'uuid'): + uuid_libs = ['uuid'] + else:
meta/recipes-devtools/python/python3_3.5.6.bb deleted +0 -329
329 lines not on this page · raw message
meta/recipes-devtools/python/python3_3.7.0.bb new file +299 -0
299 lines not on this page · raw message
Signature · 1 line
2.17.1