diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2009-05-12 10:23:41 +0100 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2009-05-12 10:23:41 +0100 |
commit | 9db2b57fcaf3a93cbaa1971309da80304d25d5b4 (patch) | |
tree | b06191df7a23b4df5928a6583884106842dc3094 | |
parent | 06e878caadb7be7408d3d69b9d1900171bdae41d (diff) | |
download | poky-9db2b57fcaf3a93cbaa1971309da80304d25d5b4.tar.gz |
python-native: Fix the _ctypes module (and remove some dead files)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
6 files changed, 108 insertions, 84 deletions
diff --git a/meta/packages/python/python-native-2.5.1/enable-ctypes-module.patch b/meta/packages/python/python-native-2.5.1/enable-ctypes-module.patch new file mode 100644 index 0000000000..dd5adaf0e7 --- /dev/null +++ b/meta/packages/python/python-native-2.5.1/enable-ctypes-module.patch | |||
@@ -0,0 +1,106 @@ | |||
1 | diff -Naur Python-2.5.1.orig/setup.py Python-2.5.1/setup.py | ||
2 | --- Python-2.5.orig/setup.py 2006-08-10 01:42:18.000000000 +0200 | ||
3 | +++ Python-2.5/setup.py 2007-11-21 18:00:43.000000000 +0100 | ||
4 | @@ -1321,16 +1329,16 @@ | ||
5 | ffi_configfile): | ||
6 | from distutils.dir_util import mkpath | ||
7 | mkpath(ffi_builddir) | ||
8 | - config_args = [] | ||
9 | + config_args = ['--host=%s' % os.environ["HOST_SYS"], ] | ||
10 | |||
11 | # Pass empty CFLAGS because we'll just append the resulting | ||
12 | # CFLAGS to Python's; -g or -O2 is to be avoided. | ||
13 | - cmd = "cd %s && env CFLAGS='' '%s/configure' %s" \ | ||
14 | - % (ffi_builddir, ffi_srcdir, " ".join(config_args)) | ||
15 | + cmd = "(cd %s && autoconf -W cross) && (cd %s && env CFLAGS='' '%s/configure' %s)" \ | ||
16 | + % (ffi_srcdir, ffi_builddir, ffi_srcdir, " ".join(config_args)) | ||
17 | |||
18 | res = os.system(cmd) | ||
19 | if res or not os.path.exists(ffi_configfile): | ||
20 | - print "Failed to configure _ctypes module" | ||
21 | + print "Failed to configure _ctypes module, ret %d or missing %s"% (res, ffi_configfile, ) | ||
22 | return False | ||
23 | |||
24 | fficonfig = {} | ||
25 | diff -Naur Python-2.5.1.orig/Modules/_ctypes/callbacks.c Python-2.5.1/Modules/_ctypes/callbacks.c | ||
26 | --- Python-2.5.1.orig/Modules/_ctypes/callbacks.c 2006-10-17 21:41:10.000000000 +0200 | ||
27 | +++ Python-2.5.1/Modules/_ctypes/callbacks.c 2007-11-22 10:29:33.000000000 +0100 | ||
28 | @@ -273,11 +273,13 @@ | ||
29 | PyErr_NoMemory(); | ||
30 | return NULL; | ||
31 | } | ||
32 | +#if FFI_CLOSURES | ||
33 | p->pcl = MallocClosure(); | ||
34 | if (p->pcl == NULL) { | ||
35 | PyErr_NoMemory(); | ||
36 | goto error; | ||
37 | } | ||
38 | +#endif | ||
39 | |||
40 | for (i = 0; i < nArgs; ++i) { | ||
41 | PyObject *cnv = PySequence_GetItem(converters, i); | ||
42 | @@ -315,12 +317,14 @@ | ||
43 | "ffi_prep_cif failed with %d", result); | ||
44 | goto error; | ||
45 | } | ||
46 | +#if FFI_CLOSURES | ||
47 | result = ffi_prep_closure(p->pcl, &p->cif, closure_fcn, p); | ||
48 | if (result != FFI_OK) { | ||
49 | PyErr_Format(PyExc_RuntimeError, | ||
50 | "ffi_prep_closure failed with %d", result); | ||
51 | goto error; | ||
52 | } | ||
53 | +#endif | ||
54 | |||
55 | p->converters = converters; | ||
56 | p->callable = callable; | ||
57 | @@ -328,8 +332,10 @@ | ||
58 | |||
59 | error: | ||
60 | if (p) { | ||
61 | +#if FFI_CLOSURES | ||
62 | if (p->pcl) | ||
63 | FreeClosure(p->pcl); | ||
64 | +#endif | ||
65 | PyMem_Free(p); | ||
66 | } | ||
67 | return NULL; | ||
68 | diff -Naur Python-2.5.1.orig/Modules/_ctypes/_ctypes.c Python-2.5.1/Modules/_ctypes/_ctypes.c | ||
69 | --- Python-2.5.1.orig/Modules/_ctypes/_ctypes.c 2007-03-23 20:56:45.000000000 +0100 | ||
70 | +++ Python-2.5.1/Modules/_ctypes/_ctypes.c 2007-11-22 10:29:01.000000000 +0100 | ||
71 | @@ -3419,7 +3419,9 @@ | ||
72 | Py_CLEAR(self->paramflags); | ||
73 | |||
74 | if (self->thunk) { | ||
75 | +#if FFI_CLOSURES | ||
76 | FreeClosure(self->thunk->pcl); | ||
77 | +#endif | ||
78 | PyMem_Free(self->thunk); | ||
79 | self->thunk = NULL; | ||
80 | } | ||
81 | diff -Naur Python-2.5.1.orig/Modules/_ctypes/ctypes.h Python-2.5.1/Modules/_ctypes/ctypes.h | ||
82 | --- Python-2.5.1.orig/Modules/_ctypes/ctypes.h 2006-08-14 13:17:48.000000000 +0200 | ||
83 | +++ Python-2.5.1/Modules/_ctypes/ctypes.h 2007-11-22 10:29:44.000000000 +0100 | ||
84 | @@ -68,7 +68,9 @@ | ||
85 | }; | ||
86 | |||
87 | typedef struct { | ||
88 | +#if FFI_CLOSURES | ||
89 | ffi_closure *pcl; /* the C callable */ | ||
90 | +#endif | ||
91 | ffi_cif cif; | ||
92 | PyObject *converters; | ||
93 | PyObject *callable; | ||
94 | diff -Naur Python-2.5.1.orig/Modules/_ctypes/malloc_closure.c Python-2.5.1/Modules/_ctypes/malloc_closure.c | ||
95 | --- Python-2.5.1.orig/Modules/_ctypes/malloc_closure.c 2006-06-12 22:56:48.000000000 +0200 | ||
96 | +++ Python-2.5.1/Modules/_ctypes/malloc_closure.c 2007-11-22 10:30:17.000000000 +0100 | ||
97 | @@ -27,7 +27,9 @@ | ||
98 | /******************************************************************/ | ||
99 | |||
100 | typedef union _tagITEM { | ||
101 | +#if FFI_CLOSURES | ||
102 | ffi_closure closure; | ||
103 | +#endif | ||
104 | union _tagITEM *next; | ||
105 | } ITEM; | ||
106 | |||
diff --git a/meta/packages/python/python-native-2.5.2/bindir-libdir.patch b/meta/packages/python/python-native-2.5.2/bindir-libdir.patch deleted file mode 100644 index 999bddc449..0000000000 --- a/meta/packages/python/python-native-2.5.2/bindir-libdir.patch +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | |||
2 | # | ||
3 | # Made by http://www.mn-logistik.de/unsupported/pxa250/patcher | ||
4 | # | ||
5 | |||
6 | --- Python-2.3.1/Makefile.pre.in~bindir-libdir 2003-09-20 12:50:28.000000000 +0200 | ||
7 | +++ Python-2.3.1/Makefile.pre.in 2003-11-02 19:53:17.000000000 +0100 | ||
8 | @@ -78,8 +78,8 @@ | ||
9 | exec_prefix= @exec_prefix@ | ||
10 | |||
11 | # Expanded directories | ||
12 | -BINDIR= $(exec_prefix)/bin | ||
13 | -LIBDIR= $(exec_prefix)/lib | ||
14 | +BINDIR= @bindir@ | ||
15 | +LIBDIR= @libdir@ | ||
16 | MANDIR= @mandir@ | ||
17 | INCLUDEDIR= @includedir@ | ||
18 | CONFINCLUDEDIR= $(exec_prefix)/include | ||
diff --git a/meta/packages/python/python-native-2.5.2/cross-distutils.patch b/meta/packages/python/python-native-2.5.2/cross-distutils.patch deleted file mode 100644 index 3356c1abbe..0000000000 --- a/meta/packages/python/python-native-2.5.2/cross-distutils.patch +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | |||
2 | # | ||
3 | # Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher | ||
4 | # | ||
5 | |||
6 | --- Python-2.3.3/Lib/distutils/sysconfig.py~cross-distutils 2003-02-10 15:02:33.000000000 +0100 | ||
7 | +++ Python-2.3.3/Lib/distutils/sysconfig.py 2004-03-02 20:15:05.000000000 +0100 | ||
8 | @@ -19,8 +19,8 @@ | ||
9 | from errors import DistutilsPlatformError | ||
10 | |||
11 | # These are needed in a couple of spots, so just compute them once. | ||
12 | -PREFIX = os.path.normpath(sys.prefix) | ||
13 | -EXEC_PREFIX = os.path.normpath(sys.exec_prefix) | ||
14 | +PREFIX = os.path.normpath(sys.prefix).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") ) | ||
15 | +EXEC_PREFIX = os.path.normpath(sys.exec_prefix).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") ) | ||
16 | |||
17 | # python_build: (Boolean) if true, we're either building Python or | ||
18 | # building an extension with an un-installed Python, so we use | ||
19 | @@ -192,7 +192,7 @@ | ||
20 | else: | ||
21 | # The name of the config.h file changed in 2.2 | ||
22 | config_h = 'pyconfig.h' | ||
23 | - return os.path.join(inc_dir, config_h) | ||
24 | + return os.path.join(inc_dir, config_h).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") ) | ||
25 | |||
26 | |||
27 | def get_makefile_filename(): | ||
28 | @@ -200,7 +200,7 @@ | ||
29 | if python_build: | ||
30 | return os.path.join(os.path.dirname(sys.executable), "Makefile") | ||
31 | lib_dir = get_python_lib(plat_specific=1, standard_lib=1) | ||
32 | - return os.path.join(lib_dir, "config", "Makefile") | ||
33 | + return os.path.join(lib_dir, "config", "Makefile").replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") ) | ||
34 | |||
35 | |||
36 | def parse_config_h(fp, g=None): | ||
diff --git a/meta/packages/python/python-native-2.5.2/default-is-optimized.patch b/meta/packages/python/python-native-2.5.2/default-is-optimized.patch deleted file mode 100644 index 6beeb6e022..0000000000 --- a/meta/packages/python/python-native-2.5.2/default-is-optimized.patch +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | Index: Python-2.5.1/Python/compile.c | ||
2 | =================================================================== | ||
3 | --- Python-2.5.1.orig/Python/compile.c | ||
4 | +++ Python-2.5.1/Python/compile.c | ||
5 | @@ -30,7 +30,7 @@ | ||
6 | #include "symtable.h" | ||
7 | #include "opcode.h" | ||
8 | |||
9 | -int Py_OptimizeFlag = 0; | ||
10 | +int Py_OptimizeFlag = 1; | ||
11 | |||
12 | /* | ||
13 | ISSUES: | ||
diff --git a/meta/packages/python/python-native-2.5.2/dont-modify-shebang-line.patch b/meta/packages/python/python-native-2.5.2/dont-modify-shebang-line.patch deleted file mode 100644 index 54109afd62..0000000000 --- a/meta/packages/python/python-native-2.5.2/dont-modify-shebang-line.patch +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | |||
2 | # | ||
3 | # Signed off by Michael 'Mickey' Lauer <mickey@Vanille.de> | ||
4 | # | ||
5 | |||
6 | --- Python-2.4/Lib/distutils/command/build_scripts.py~dont-modify-shebang-line | ||
7 | +++ Python-2.4/Lib/distutils/command/build_scripts.py | ||
8 | @@ -87,7 +87,7 @@ | ||
9 | continue | ||
10 | |||
11 | match = first_line_re.match(first_line) | ||
12 | - if match: | ||
13 | + if False: #match: | ||
14 | adjust = 1 | ||
15 | post_interp = match.group(1) or '' | ||
16 | |||
diff --git a/meta/packages/python/python-native_2.5.1.bb b/meta/packages/python/python-native_2.5.1.bb index 71345347b2..4f6a4a84ca 100644 --- a/meta/packages/python/python-native_2.5.1.bb +++ b/meta/packages/python/python-native_2.5.1.bb | |||
@@ -4,7 +4,7 @@ LICENSE = "PSF" | |||
4 | DEPENDS = "openssl-native bzip2-full-native sqlite3-native" | 4 | DEPENDS = "openssl-native bzip2-full-native sqlite3-native" |
5 | SECTION = "devel/python" | 5 | SECTION = "devel/python" |
6 | PRIORITY = "optional" | 6 | PRIORITY = "optional" |
7 | PR = "ml5" | 7 | PR = "ml6" |
8 | 8 | ||
9 | EXCLUDE_FROM_WORLD = "1" | 9 | EXCLUDE_FROM_WORLD = "1" |
10 | 10 | ||
@@ -16,6 +16,7 @@ SRC_URI = "\ | |||
16 | file://default-is-optimized.patch;patch=1 \ | 16 | file://default-is-optimized.patch;patch=1 \ |
17 | file://catchup-with-swig.patch;patch=1 \ | 17 | file://catchup-with-swig.patch;patch=1 \ |
18 | file://fix-staging.patch;patch=1 \ | 18 | file://fix-staging.patch;patch=1 \ |
19 | file://enable-ctypes-module.patch;patch=1 \ | ||
19 | " | 20 | " |
20 | S = "${WORKDIR}/Python-${PV}" | 21 | S = "${WORKDIR}/Python-${PV}" |
21 | 22 | ||