summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2009-05-12 10:23:41 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2009-05-12 10:23:41 +0100
commit9db2b57fcaf3a93cbaa1971309da80304d25d5b4 (patch)
treeb06191df7a23b4df5928a6583884106842dc3094
parent06e878caadb7be7408d3d69b9d1900171bdae41d (diff)
downloadpoky-9db2b57fcaf3a93cbaa1971309da80304d25d5b4.tar.gz
python-native: Fix the _ctypes module (and remove some dead files)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
-rw-r--r--meta/packages/python/python-native-2.5.1/enable-ctypes-module.patch106
-rw-r--r--meta/packages/python/python-native-2.5.2/bindir-libdir.patch18
-rw-r--r--meta/packages/python/python-native-2.5.2/cross-distutils.patch36
-rw-r--r--meta/packages/python/python-native-2.5.2/default-is-optimized.patch13
-rw-r--r--meta/packages/python/python-native-2.5.2/dont-modify-shebang-line.patch16
-rw-r--r--meta/packages/python/python-native_2.5.1.bb3
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 @@
1diff -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 = {}
25diff -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;
68diff -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 }
81diff -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;
94diff -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 @@
1Index: 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"
4DEPENDS = "openssl-native bzip2-full-native sqlite3-native" 4DEPENDS = "openssl-native bzip2-full-native sqlite3-native"
5SECTION = "devel/python" 5SECTION = "devel/python"
6PRIORITY = "optional" 6PRIORITY = "optional"
7PR = "ml5" 7PR = "ml6"
8 8
9EXCLUDE_FROM_WORLD = "1" 9EXCLUDE_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"
20S = "${WORKDIR}/Python-${PV}" 21S = "${WORKDIR}/Python-${PV}"
21 22