[oe-commits] org.oe.dreambox python: backport ctypes fix

tmbinc commit oe at amethyst.openembedded.net
Thu Apr 17 11:58:38 UTC 2008


python: backport ctypes fix

Author: tmbinc at openembedded.org
Branch: org.openembedded.dreambox
Revision: 0e0fc9ad12790f8da99cb1fc84eead388cdad51a
ViewMTN: http://monotone.openembedded.org/revision/info/0e0fc9ad12790f8da99cb1fc84eead388cdad51a
Files:
1
packages/python/python-2.5.1/enable-ctypes-module.patch
packages/python/python-2.5.1-manifest.inc
packages/python/python_2.5.1.bb
Diffs:

#
# mt diff -rbe944a90416e033084f4074d1a5148dd4227b319 -r0e0fc9ad12790f8da99cb1fc84eead388cdad51a
#
#
#
# add_file "packages/python/python-2.5.1/enable-ctypes-module.patch"
#  content [fcdbe615e5967af46ce02747bce2fdec7aa32063]
# 
# patch "packages/python/python-2.5.1-manifest.inc"
#  from [4893d2d61d61a2cef96339dc5124cb4a03615277]
#    to [c10161bb151397247213df585f21260234cec365]
# 
# patch "packages/python/python_2.5.1.bb"
#  from [bc9fa97e447b42bca1cc1d8ef80166b71a50aeef]
#    to [2af55f0b27d6f0c2d5a2624dcbea93df49306f4d]
#
============================================================
--- packages/python/python-2.5.1/enable-ctypes-module.patch	fcdbe615e5967af46ce02747bce2fdec7aa32063
+++ packages/python/python-2.5.1/enable-ctypes-module.patch	fcdbe615e5967af46ce02747bce2fdec7aa32063
@@ -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;
+ 
============================================================
--- packages/python/python-2.5.1-manifest.inc	4893d2d61d61a2cef96339dc5124cb4a03615277
+++ packages/python/python-2.5.1-manifest.inc	c10161bb151397247213df585f21260234cec365
@@ -9,7 +9,7 @@ pydyndir=${pydir}/lib-dynload
 
 pydir=${libdir}/python2.5
 pydyndir=${pydir}/lib-dynload
-
+PROVIDES+="python-threading python-distutils python-textutils python-codecs python-pickle python-datetime python-core python-io python-compiler python-compression python-re python-xmlrpc python-terminal python-email python-image python-resource python-devel python-math python-hotshot python-unixadmin python-tkinter python-gdbm python-fcntl python-netclient python-pprint python-netserver python-curses python-syslog python-html python-readline python-pydoc python-logging python-mailbox python-xml python-mime python-tests python-unittest python-stringold python-lib-old-and-deprecated python-compile python-shell python-bsddb python-mmap python-zlib python-db python-crypt python-idle python-lang python-audio python-2.5-extensions python-2.5-ctypes python-2.5-sqlite3 "
 PACKAGES="python-threading python-distutils python-textutils python-codecs python-pickle python-datetime python-core python-io python-compiler python-compression python-re python-xmlrpc python-terminal python-email python-image python-resource python-devel python-math python-hotshot python-unixadmin python-tkinter python-gdbm python-fcntl python-netclient python-pprint python-netserver python-curses python-syslog python-html python-readline python-pydoc python-logging python-mailbox python-xml python-mime python-tests python-unittest python-stringold python-lib-old-and-deprecated python-compile python-shell python-bsddb python-mmap python-zlib python-db python-crypt python-idle python-lang python-audio python-2.5-extensions python-2.5-ctypes python-2.5-sqlite3 "
 
 DESCRIPTION_python-threading="Python Threading & Synchronization Support"
@@ -45,7 +45,7 @@ RDEPENDS_python-core=""
 DESCRIPTION_python-core="Python Interpreter and core modules (needed!)"
 PR_python-core="ml0"
 RDEPENDS_python-core=""
-FILES_python-core="${pydir}/__future__.* ${pydir}/copy.* ${pydir}/copy_reg.* ${pydir}/ConfigParser.py ${pydir}/getopt.* ${pydir}/heapq.* ${pydyndir}/_heapq.so ${pydir}/linecache.* ${pydir}/new.* ${pydir}/os.* ${pydir}/posixpath.* ${pydir}/warnings.* ${pydir}/site.* ${pydir}/stat.* ${pydir}/UserDict.* ${pydyndir}/binascii.so ${pydyndir}/_struct.so ${pydir}/struct.* ${pydyndir}/time.so ${pydyndir}/xreadlines.so ${pydyndir}/dl.so ${pydir}/types.* ${pydir}/pkgutil.* /usr/bin/python "
+FILES_python-core="${pydir}/__future__.* ${pydir}/copy.* ${pydir}/copy_reg.* ${pydir}/ConfigParser.py ${pydir}/getopt.* ${pydir}/heapq.* ${pydyndir}/_heapq.so ${pydir}/linecache.* ${pydir}/new.* ${pydir}/os.* ${pydir}/posixpath.* ${pydir}/warnings.* ${pydir}/site.* ${pydir}/stat.* ${pydir}/UserDict.* ${pydyndir}/binascii.so ${pydyndir}/_struct.so ${pydir}/struct.* ${pydyndir}/time.so ${pydyndir}/xreadlines.so ${pydyndir}/dl.so ${pydir}/types.* ${pydir}/pkgutil.* /usr/bin/python ${pydir}/platform.* "
 
 DESCRIPTION_python-io="Python Low-Level I/O"
 PR_python-io="ml0"
@@ -257,17 +257,17 @@ FILES_python-audio="${pydir}/wave.* ${py
 RDEPENDS_python-audio="python-core"
 FILES_python-audio="${pydir}/wave.* ${pydir}/chunk.* ${pydyndir}/ossaudiodev.so ${pydyndir}/audioop.so ${pydyndir}/linuxaudiodev.so "
 
-DESCRIPTION_python-2.5-extensions="Python 2.5 Extensions"
-PR_python-2.5-extensions="ml0"
-RDEPENDS_python-2.5-extensions="python-core"
-FILES_python-2.5-extensions="${pydir}/contextlib.* ${pydir}/functools.* ${pydyndir}/_functools.so ${pydir}/runpy.* "
+DESCRIPTION_python-extensions="Python 2.5 Extensions"
+PR_python-extensions="ml0"
+RDEPENDS_python-extensions="python-core"
+FILES_python-extensions="${pydir}/contextlib.* ${pydir}/functools.* ${pydyndir}/_functools.so ${pydir}/runpy.* "
 
-DESCRIPTION_python-2.5-ctypes="Python 2.5 ctypes/dlls/sharedlib Extensions"
-PR_python-2.5-ctypes="ml0"
-RDEPENDS_python-2.5-ctypes="python-core"
-FILES_python-2.5-ctypes="${pydir}/ctypes ${pydyndir}/_ctypes.so "
+DESCRIPTION_python-ctypes="Python 2.5 ctypes/dlls/sharedlib Extensions"
+PR_python-ctypes="ml0"
+RDEPENDS_python-ctypes="python-core"
+FILES_python-ctypes="${pydir}/ctypes ${pydyndir}/_ctypes.so "
 
+DESCRIPTION_python-sqlite3="Python 2.5 Sqlite Database Lib"
+PR_python-sqlite3="ml0"
+RDEPENDS_python-sqlite3="python-core"
+FILES_python-sqlite3="${pydir}/sqlite3 ${pydyndir}/_sqlite3.so "
-DESCRIPTION_python-2.5-sqlite3="Python 2.5 Sqlite Database Lib"
-PR_python-2.5-sqlite3="ml0"
-RDEPENDS_python-2.5-sqlite3="python-core"
-FILES_python-2.5-sqlite3="${pydir}/sqlite3 ${pydyndir}/_sqlite3.so "
============================================================
--- packages/python/python_2.5.1.bb	bc9fa97e447b42bca1cc1d8ef80166b71a50aeef
+++ packages/python/python_2.5.1.bb	2af55f0b27d6f0c2d5a2624dcbea93df49306f4d
@@ -5,7 +5,7 @@ DEPENDS = "python-native readline zlib g
 PRIORITY = "optional"
 MAINTAINER = "Michael 'Mickey' Lauer <mickey at Vanille.de>"
 DEPENDS = "python-native readline zlib gdbm openssl"
-PR = "ml1"
+PR = "ml2"
 
 PYTHON_MAJMIN = "2.5"
 
@@ -14,6 +14,7 @@ SRC_URI = "http://www.python.org/ftp/pyt
            file://crosscompile.patch;patch=1 \
 	   file://build-native-md5-sha.patch;patch=1 \
 	   file://fix-tkinter-detection.patch;patch=1 \
+	   file://enable-ctypes-module.patch;patch=1 \
 	   file://some_configure_fixes.patch;patch=1;pnum=0"
 
 SRC_URI_append_opendreambox = " file://forced_largefile_support.patch;patch=1;pnum=1"






More information about the Openembedded-commits mailing list