summaryrefslogtreecommitdiff
path: root/meta/packages/python
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 /meta/packages/python
parent06e878caadb7be7408d3d69b9d1900171bdae41d (diff)
downloadopenembedded-core-9db2b57fcaf3a93cbaa1971309da80304d25d5b4.tar.gz
openembedded-core-9db2b57fcaf3a93cbaa1971309da80304d25d5b4.tar.bz2
openembedded-core-9db2b57fcaf3a93cbaa1971309da80304d25d5b4.zip
python-native: Fix the _ctypes module (and remove some dead files)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/packages/python')
-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 @@
+diff -Naur Python-2.5.1.orig/setup.py Python-2.5.1/setup.py
+--- Python-2.5.orig/setup.py 2006-08-10 01:42:18.000000000 +0200
++++ Python-2.5/setup.py 2007-11-21 18:00:43.000000000 +0100
+@@ -1321,16 +1329,16 @@
+ ffi_configfile):
+ from distutils.dir_util import mkpath
+ mkpath(ffi_builddir)
+- config_args = []
++ config_args = ['--host=%s' % os.environ["HOST_SYS"], ]
+
+ # Pass empty CFLAGS because we'll just append the resulting
+ # CFLAGS to Python's; -g or -O2 is to be avoided.
+- cmd = "cd %s && env CFLAGS='' '%s/configure' %s" \
+- % (ffi_builddir, ffi_srcdir, " ".join(config_args))
++ cmd = "(cd %s && autoconf -W cross) && (cd %s && env CFLAGS='' '%s/configure' %s)" \
++ % (ffi_srcdir, ffi_builddir, ffi_srcdir, " ".join(config_args))
+
+ res = os.system(cmd)
+ if res or not os.path.exists(ffi_configfile):
+- print "Failed to configure _ctypes module"
++ print "Failed to configure _ctypes module, ret %d or missing %s"% (res, ffi_configfile, )
+ return False
+
+ fficonfig = {}
+diff -Naur Python-2.5.1.orig/Modules/_ctypes/callbacks.c Python-2.5.1/Modules/_ctypes/callbacks.c
+--- Python-2.5.1.orig/Modules/_ctypes/callbacks.c 2006-10-17 21:41:10.000000000 +0200
++++ Python-2.5.1/Modules/_ctypes/callbacks.c 2007-11-22 10:29:33.000000000 +0100
+@@ -273,11 +273,13 @@
+ PyErr_NoMemory();
+ return NULL;
+ }
++#if FFI_CLOSURES
+ p->pcl = MallocClosure();
+ if (p->pcl == NULL) {
+ PyErr_NoMemory();
+ goto error;
+ }
++#endif
+
+ for (i = 0; i < nArgs; ++i) {
+ PyObject *cnv = PySequence_GetItem(converters, i);
+@@ -315,12 +317,14 @@
+ "ffi_prep_cif failed with %d", result);
+ goto error;
+ }
++#if FFI_CLOSURES
+ result = ffi_prep_closure(p->pcl, &p->cif, closure_fcn, p);
+ if (result != FFI_OK) {
+ PyErr_Format(PyExc_RuntimeError,
+ "ffi_prep_closure failed with %d", result);
+ goto error;
+ }
++#endif
+
+ p->converters = converters;
+ p->callable = callable;
+@@ -328,8 +332,10 @@
+
+ error:
+ if (p) {
++#if FFI_CLOSURES
+ if (p->pcl)
+ FreeClosure(p->pcl);
++#endif
+ PyMem_Free(p);
+ }
+ return NULL;
+diff -Naur Python-2.5.1.orig/Modules/_ctypes/_ctypes.c Python-2.5.1/Modules/_ctypes/_ctypes.c
+--- Python-2.5.1.orig/Modules/_ctypes/_ctypes.c 2007-03-23 20:56:45.000000000 +0100
++++ Python-2.5.1/Modules/_ctypes/_ctypes.c 2007-11-22 10:29:01.000000000 +0100
+@@ -3419,7 +3419,9 @@
+ Py_CLEAR(self->paramflags);
+
+ if (self->thunk) {
++#if FFI_CLOSURES
+ FreeClosure(self->thunk->pcl);
++#endif
+ PyMem_Free(self->thunk);
+ self->thunk = NULL;
+ }
+diff -Naur Python-2.5.1.orig/Modules/_ctypes/ctypes.h Python-2.5.1/Modules/_ctypes/ctypes.h
+--- Python-2.5.1.orig/Modules/_ctypes/ctypes.h 2006-08-14 13:17:48.000000000 +0200
++++ Python-2.5.1/Modules/_ctypes/ctypes.h 2007-11-22 10:29:44.000000000 +0100
+@@ -68,7 +68,9 @@
+ };
+
+ typedef struct {
++#if FFI_CLOSURES
+ ffi_closure *pcl; /* the C callable */
++#endif
+ ffi_cif cif;
+ PyObject *converters;
+ PyObject *callable;
+diff -Naur Python-2.5.1.orig/Modules/_ctypes/malloc_closure.c Python-2.5.1/Modules/_ctypes/malloc_closure.c
+--- Python-2.5.1.orig/Modules/_ctypes/malloc_closure.c 2006-06-12 22:56:48.000000000 +0200
++++ Python-2.5.1/Modules/_ctypes/malloc_closure.c 2007-11-22 10:30:17.000000000 +0100
+@@ -27,7 +27,9 @@
+ /******************************************************************/
+
+ typedef union _tagITEM {
++#if FFI_CLOSURES
+ ffi_closure closure;
++#endif
+ union _tagITEM *next;
+ } ITEM;
+
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 @@
-
-#
-# Made by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- Python-2.3.1/Makefile.pre.in~bindir-libdir 2003-09-20 12:50:28.000000000 +0200
-+++ Python-2.3.1/Makefile.pre.in 2003-11-02 19:53:17.000000000 +0100
-@@ -78,8 +78,8 @@
- exec_prefix= @exec_prefix@
-
- # Expanded directories
--BINDIR= $(exec_prefix)/bin
--LIBDIR= $(exec_prefix)/lib
-+BINDIR= @bindir@
-+LIBDIR= @libdir@
- MANDIR= @mandir@
- INCLUDEDIR= @includedir@
- 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 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- Python-2.3.3/Lib/distutils/sysconfig.py~cross-distutils 2003-02-10 15:02:33.000000000 +0100
-+++ Python-2.3.3/Lib/distutils/sysconfig.py 2004-03-02 20:15:05.000000000 +0100
-@@ -19,8 +19,8 @@
- from errors import DistutilsPlatformError
-
- # These are needed in a couple of spots, so just compute them once.
--PREFIX = os.path.normpath(sys.prefix)
--EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
-+PREFIX = os.path.normpath(sys.prefix).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
-+EXEC_PREFIX = os.path.normpath(sys.exec_prefix).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
-
- # python_build: (Boolean) if true, we're either building Python or
- # building an extension with an un-installed Python, so we use
-@@ -192,7 +192,7 @@
- else:
- # The name of the config.h file changed in 2.2
- config_h = 'pyconfig.h'
-- return os.path.join(inc_dir, config_h)
-+ return os.path.join(inc_dir, config_h).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
-
-
- def get_makefile_filename():
-@@ -200,7 +200,7 @@
- if python_build:
- return os.path.join(os.path.dirname(sys.executable), "Makefile")
- lib_dir = get_python_lib(plat_specific=1, standard_lib=1)
-- return os.path.join(lib_dir, "config", "Makefile")
-+ return os.path.join(lib_dir, "config", "Makefile").replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
-
-
- 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 @@
-Index: Python-2.5.1/Python/compile.c
-===================================================================
---- Python-2.5.1.orig/Python/compile.c
-+++ Python-2.5.1/Python/compile.c
-@@ -30,7 +30,7 @@
- #include "symtable.h"
- #include "opcode.h"
-
--int Py_OptimizeFlag = 0;
-+int Py_OptimizeFlag = 1;
-
- /*
- 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 @@
-
-#
-# Signed off by Michael 'Mickey' Lauer <mickey@Vanille.de>
-#
-
---- Python-2.4/Lib/distutils/command/build_scripts.py~dont-modify-shebang-line
-+++ Python-2.4/Lib/distutils/command/build_scripts.py
-@@ -87,7 +87,7 @@
- continue
-
- match = first_line_re.match(first_line)
-- if match:
-+ if False: #match:
- adjust = 1
- post_interp = match.group(1) or ''
-
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"
DEPENDS = "openssl-native bzip2-full-native sqlite3-native"
SECTION = "devel/python"
PRIORITY = "optional"
-PR = "ml5"
+PR = "ml6"
EXCLUDE_FROM_WORLD = "1"
@@ -16,6 +16,7 @@ SRC_URI = "\
file://default-is-optimized.patch;patch=1 \
file://catchup-with-swig.patch;patch=1 \
file://fix-staging.patch;patch=1 \
+ file://enable-ctypes-module.patch;patch=1 \
"
S = "${WORKDIR}/Python-${PV}"