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 /meta/packages/python | |
parent | 06e878caadb7be7408d3d69b9d1900171bdae41d (diff) | |
download | openembedded-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')
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}" |