Skip to contentSkip to conversation

python3{,-native}: update to 3.7.0

PATCH Superseded Jens Rehsack 1 participant 1 message Oct 31, 2018

v7 of 8 Superseded Latest is v8 →

lore
Share & tools
lore
#0 lore raw

PATCH v7 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 | 300 ++++++++++++++++
 32 files changed, 723 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
index 06bb046d9c..ad7ea8dd9a 100644
@@ -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
index 8ea3f03fe0..aac34533ef 100644
@@ -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
deleted file mode 100644
index 2b4ba316e4..0000000000
@@ -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
index fddfd2b2f6..b916d04d05 100644
@@ -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
index 6beac7b805..c12f11c6e7 100644
@@ -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
index b96419a638..1bd6e56117 100644
@@ -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
deleted file mode 100644
index 78d7c78670..0000000000
@@ -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
index f29ae53371..7e1dc4ef5b 100644
@@ -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
index a3cc48c9a4..ebdd64b7b5 100644
@@ -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
index 97214f9aa4..689baf00ad 100644
@@ -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
index 6ba3f5c252..1511f00bc3 100644
@@ -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
index 5c3af6b626..1ce4defe95 100644
@@ -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
index f922561368..e63fcb95e3 100644
@@ -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
index a4f8bd4710..c6aa581b4c 100644
@@ -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
deleted file mode 100644
index 36b9d9d919..0000000000
@@ -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
index 32ecab9fec..058cfdbc2d 100644
@@ -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
index 785b5567f2..d5983544c4 100644
@@ -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
new file mode 100644
index 0000000000..464f873112
@@ -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 +300 -0

300 lines not on this page · raw message

Signature · 1 line
2.17.1