Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 190732 Details for
Bug 269098
dev-lang/python: Fix building of _ctypes module on architectures without FFI_CLOSURE defined
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Python patch for python-2.5.4
python-2.5.4-enable-ctypes-module.patch (text/plain), 2.96 KB, created by
Sven 'sleipnir' Rebhan
on 2009-05-09 08:29:12 UTC
(
hide
)
Description:
Python patch for python-2.5.4
Filename:
MIME Type:
Creator:
Sven 'sleipnir' Rebhan
Created:
2009-05-09 08:29:12 UTC
Size:
2.96 KB
patch
obsolete
>This patch was taken from gitweb.openembedded.org (Author: Michael 'mickey' Lauer) and >enables the compilation of the ctypes module on arm. > >--- setup.py 2006-08-10 01:42:18.000000000 +0200 >+++ setup.py.new 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["CHOST"], ] > > # 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 = {} >--- Modules/_ctypes/malloc_closure.c 2006-06-12 22:56:48.000000000 +0200 >+++ Modules/_ctypes/malloc_closure.c.new 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; > >--- Modules/_ctypes/callbacks.c 2008-04-25 19:55:19.000000000 +0000 >+++ Modules/_ctypes/callbacks.c.new 2009-04-19 18:22:59.000000000 +0000 >@@ -20,8 +20,10 @@ > Py_XDECREF(self->converters); > Py_XDECREF(self->callable); > Py_XDECREF(self->restype); >+#if FFI_CLOSURES > if (self->pcl) > FreeClosure(self->pcl); >+#endif > PyObject_Del(self); > } > >@@ -365,12 +367,13 @@ > > assert(CThunk_CheckExact(p)); > >+#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); > if (cnv == NULL) >@@ -409,13 +412,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 > Py_INCREF(converters); > p->converters = converters; > Py_INCREF(callable); >--- Modules/_ctypes/ctypes.h 2009-04-19 18:35:49.000000000 +0000 >+++ Modules/_ctypes/ctypes.h.new 2009-04-19 18:36:34.000000000 +0000 >@@ -69,7 +69,9 @@ > > typedef struct { > PyObject_VAR_HEAD >+#if FFI_CLOSURES > ffi_closure *pcl; /* the C callable */ >+#endif > ffi_cif cif; > PyObject *converters; > PyObject *callable;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 269098
: 190732 |
190733
|
190734
|
190736
|
211525