summaryrefslogtreecommitdiffstats
path: root/package/python/python-2.7-012-correct-32bit-64bit-check.patch
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2014-02-13 21:48:53 +0100
committerPeter Korsgaard <peter@korsgaard.com>2014-02-14 21:41:43 +0100
commit7e960dc9da56d4a484b5480746aaf617ca491274 (patch)
tree214a78615dbc3700847ca2be645ad75b5235d7ba /package/python/python-2.7-012-correct-32bit-64bit-check.patch
parent577e52ac087a1a3c63837d0da37c93949c455941 (diff)
downloadbuildroot-7e960dc9da56d4a484b5480746aaf617ca491274.tar.gz
buildroot-7e960dc9da56d4a484b5480746aaf617ca491274.zip
python: bump to 2.7.6
Even though jumping from 2.7.3 to 2.7.6 looks like a minor version bump, it is in fact a fairly significant one, because a good number of changes to help cross-compilation have been merged into Python upstream. Therefore, most of our patches are affected by this change. In detail, this commit: * Renames all the patches to follow the naming convention of patches in Buildroot: the patch file names should not have any version number. * The patches numbered above 100, that add configuration options to disable certain modules of the Python standard library, are only renamed and slightly adapted, they didn't change that much. * The patches numbered below 100 are almost entirely rewritten: many of the cross-compilation problems that used to exist in Python 2.7.3 no longer exist, and the number of remaining problems is smaller, and can be fixed with smaller patches. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'package/python/python-2.7-012-correct-32bit-64bit-check.patch')
-rw-r--r--package/python/python-2.7-012-correct-32bit-64bit-check.patch55
1 files changed, 0 insertions, 55 deletions
diff --git a/package/python/python-2.7-012-correct-32bit-64bit-check.patch b/package/python/python-2.7-012-correct-32bit-64bit-check.patch
deleted file mode 100644
index bfccbfd292..0000000000
--- a/package/python/python-2.7-012-correct-32bit-64bit-check.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-Use correct mechanism to determine 32/64 bits
-
-Python setup.py builds certain extensions (dl and imageop) only on 32
-bits architecture. However, to test whether the architecture is 32
-bits or not, it was looking at the sys.maxint value of the host Python
-interpreter... which might run on a 64 bits architecture even though
-the target is 32 bits, or which might run on a 32 bits architecture
-even though the target is 64 bits.
-
-Therefore, we introduce a is_arch_64_bits() function, which looks at
-the pyconfig.h file generated by ./configure for the value of
-SIZEOF_LONG to determine if the architecture is 32 or 64 bits.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- setup.py | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
-
-Index: Python-2.7.2/setup.py
-===================================================================
---- Python-2.7.2.orig/setup.py
-+++ Python-2.7.2/setup.py
-@@ -29,6 +29,14 @@
- except KeyError:
- disabled_module_list = list()
-
-+def is_arch_64_bits():
-+ data = open('pyconfig.h').read()
-+ m = re.search(r"#s*define\s+SIZEOF_LONG\s+4\s*", data)
-+ if m is None:
-+ return True
-+ else:
-+ return False
-+
- def add_dir_to_list(dirlist, dir):
- """Add the directory 'dir' to the list 'dirlist' (at the front) if
- 1) 'dir' is not already in 'dirlist'
-@@ -628,7 +636,7 @@
- exts.append( Extension('audioop', ['audioop.c']) )
-
- # Disabled on 64-bit platforms
-- if sys.maxint != 9223372036854775807L:
-+ if not is_arch_64_bits():
- # Operations on images
- exts.append( Extension('imageop', ['imageop.c']) )
- else:
-@@ -1444,7 +1452,7 @@
- missing.append('_codecs_%s' % loc)
-
- # Dynamic loading module
-- if sys.maxint == 0x7fffffff:
-+ if not is_arch_64_bits():
- # This requires sizeof(int) == sizeof(long) == sizeof(char*)
- dl_inc = find_file('dlfcn.h', [], inc_dirs)
- if (dl_inc is not None) and (platform not in ['atheos']):
OpenPOWER on IntegriCloud