summaryrefslogtreecommitdiffstats
path: root/package/python3/python3-008-distutils-sysconfig-use-sysconfigdata.patch
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2014-02-18 21:40:01 +0100
committerPeter Korsgaard <peter@korsgaard.com>2014-02-18 23:22:18 +0100
commit0d327c267a57e3a75b10becde772addb7fc49297 (patch)
tree31a2ffa5ec6c7b3d002fa156d81321b3c1f867cf /package/python3/python3-008-distutils-sysconfig-use-sysconfigdata.patch
parent249778541b68c10156c6687e14888f6047556922 (diff)
downloadbuildroot-0d327c267a57e3a75b10becde772addb7fc49297.tar.gz
buildroot-0d327c267a57e3a75b10becde772addb7fc49297.zip
python3: bump to 3.4.0rc1
This commit bumps the Python3 package to use Python 3.4.0rc1. About the patches: * The patches below 100 are significantly changed, because like for Python 2.x, a good number of improvements have been made in the upstream Python for cross-compilation. Therefore, almost all of these patches have been modified. * All the patches above 100 are simply updated for Python 3.4.0, with a small refactoring for the handling of test modules. The details of the python3.mk changes are: * --without-ensurepip to tell Python to not use PIP at build time. * Many environment variables are no longer passed, they were specific to our cross-compilation patches * The fixup of the LIBDIR in the Python Makefile is no longer needed since Python has switched to _sysconfigdata.py for distutils configuration instead of parsing the Makefile. * A new post patch hooks touches the two files generated by pgen to make sure they are newer than the pgen sources, which ensures pgen is not built/executed. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'package/python3/python3-008-distutils-sysconfig-use-sysconfigdata.patch')
-rw-r--r--package/python3/python3-008-distutils-sysconfig-use-sysconfigdata.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/package/python3/python3-008-distutils-sysconfig-use-sysconfigdata.patch b/package/python3/python3-008-distutils-sysconfig-use-sysconfigdata.patch
new file mode 100644
index 0000000000..c77fed3f36
--- /dev/null
+++ b/package/python3/python3-008-distutils-sysconfig-use-sysconfigdata.patch
@@ -0,0 +1,58 @@
+Index: b/Lib/distutils/sysconfig.py
+===================================================================
+--- a/Lib/distutils/sysconfig.py
++++ b/Lib/distutils/sysconfig.py
+@@ -430,49 +430,11 @@
+
+ def _init_posix():
+ """Initialize the module as appropriate for POSIX systems."""
+- g = {}
+- # load the installed Makefile:
+- try:
+- filename = get_makefile_filename()
+- parse_makefile(filename, g)
+- except OSError as msg:
+- my_msg = "invalid Python installation: unable to open %s" % filename
+- if hasattr(msg, "strerror"):
+- my_msg = my_msg + " (%s)" % msg.strerror
+-
+- raise DistutilsPlatformError(my_msg)
+-
+- # load the installed pyconfig.h:
+- try:
+- filename = get_config_h_filename()
+- with open(filename) as file:
+- parse_config_h(file, g)
+- except OSError as msg:
+- my_msg = "invalid Python installation: unable to open %s" % filename
+- if hasattr(msg, "strerror"):
+- my_msg = my_msg + " (%s)" % msg.strerror
+-
+- raise DistutilsPlatformError(my_msg)
+-
+- # On AIX, there are wrong paths to the linker scripts in the Makefile
+- # -- these paths are relative to the Python source, but when installed
+- # the scripts are in another directory.
+- if python_build:
+- g['LDSHARED'] = g['BLDSHARED']
+-
+- elif get_python_version() < '2.1':
+- # The following two branches are for 1.5.2 compatibility.
+- if sys.platform == 'aix4': # what about AIX 3.x ?
+- # Linker script is in the config directory, not in Modules as the
+- # Makefile says.
+- python_lib = get_python_lib(standard_lib=1)
+- ld_so_aix = os.path.join(python_lib, 'config', 'ld_so_aix')
+- python_exp = os.path.join(python_lib, 'config', 'python.exp')
+-
+- g['LDSHARED'] = "%s %s -bI:%s" % (ld_so_aix, g['CC'], python_exp)
+-
++ # _sysconfigdata is generated at build time, see the sysconfig module
++ from _sysconfigdata import build_time_vars
+ global _config_vars
+- _config_vars = g
++ _config_vars = {}
++ _config_vars.update(build_time_vars)
+
+
+ def _init_nt():
OpenPOWER on IntegriCloud