Date: Tuesday, May 31, 2011 @ 11:18:06 Author: stephane Revision: 125892
upgpkg: swig 2.0.4-1 version bump Modified: swig/trunk/PKGBUILD Deleted: swig/trunk/swig-deprecated-pycobject.patch swig/trunk/swig-pyslice.patch ---------------------------------+ PKGBUILD | 21 +------- swig-deprecated-pycobject.patch | 92 -------------------------------------- swig-pyslice.patch | 66 --------------------------- 3 files changed, 4 insertions(+), 175 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2011-05-31 13:23:50 UTC (rev 125891) +++ PKGBUILD 2011-05-31 15:18:06 UTC (rev 125892) @@ -3,31 +3,18 @@ # Contributor: Tom Newsom <[email protected]> pkgname=swig -pkgver=2.0.3 +pkgver=2.0.4 pkgrel=1 pkgdesc="Generate scripting interfaces to C/C++ code" arch=('i686' 'x86_64') url="http://www.swig.org/" license=('custom') -depends=('gcc-libs' 'zlib' 'pcre') -source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz - swig-deprecated-pycobject.patch - swig-pyslice.patch) -sha1sums=('da09610f0b925fae40b40186d262c46e3e1f2bf0' - 'add71330c5d839d9a27b1ca688e6c5e31f1edb7b' - 'b8e28148fcef01f24a9acc6218dc090dbde03c37') +depends=('zlib' 'pcre') +source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz) +sha1sums=('ace563563a8f6f367ba82236e5bea240adea0d94') build() { cd "${srcdir}/${pkgname}-${pkgver}" - - # Use PyCapsule API instead of deprecated PyCObject API in python bindings - # See https://bugzilla.redhat.com/show_bug.cgi?id=623854 - patch -Np1 -i ../swig-deprecated-pycobject.patch - - # Fix PySlice* API/ABI issues with the Python 3.2 - # See https://bugzilla.redhat.com/show_bug.cgi?id=666429 - patch -Np1 -i ../swig-pyslice.patch - ./configure --prefix=/usr make } Deleted: swig-deprecated-pycobject.patch =================================================================== --- swig-deprecated-pycobject.patch 2011-05-31 13:23:50 UTC (rev 125891) +++ swig-deprecated-pycobject.patch 2011-05-31 15:18:06 UTC (rev 125892) @@ -1,92 +0,0 @@ -diff -up swig-2.0.0/Lib/python/pyrun.swg.rh623854 swig-2.0.0/Lib/python/pyrun.swg ---- swig-2.0.0/Lib/python/pyrun.swg.rh623854 2010-02-28 00:26:02.000000000 +0100 -+++ swig-2.0.0/Lib/python/pyrun.swg 2010-08-17 16:32:16.581604656 +0200 -@@ -45,8 +45,18 @@ - #define SWIG_SetErrorMsg SWIG_Python_SetErrorMsg - #define SWIG_ErrorType(code) SWIG_Python_ErrorType(code) - #define SWIG_Error(code, msg) SWIG_Python_SetErrorMsg(SWIG_ErrorType(code), msg) --#define SWIG_fail goto fail -+#define SWIG_fail goto fail - -+/* -+ * Python 2.7 and newer and Python 3.1 and newer should use Capsules API instead of -+ * CObjects API. -+ */ -+#if ((PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION > 6) || \ -+ (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION > 0)) -+#define USE_CAPSULES -+#define TYPE_POINTER_NAME \ -+ ((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION ".type_pointer_capsule" SWIG_TYPE_TABLE_NAME) -+#endif - - /* Runtime API implementation */ - -@@ -1356,8 +1366,12 @@ SWIG_Python_GetModule(void) { - #ifdef SWIG_LINK_RUNTIME - type_pointer = SWIG_ReturnGlobalTypeList((void *)0); - #else -+#ifdef USE_CAPSULES -+ type_pointer = PyCapsule_Import(TYPE_POINTER_NAME, 0); -+#else - type_pointer = PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION, - (char*)"type_pointer" SWIG_TYPE_TABLE_NAME); -+#endif - if (PyErr_Occurred()) { - PyErr_Clear(); - type_pointer = (void *)0; -@@ -1402,9 +1416,14 @@ PyModule_AddObject(PyObject *m, char *na - SWIGRUNTIME void - SWIG_Python_DestroyModule(void *vptr) - { -+ size_t i; -+#ifdef USE_CAPSULES -+ swig_module_info *swig_module = -+ (swig_module_info *) PyCapsule_GetPointer((PyObject *)vptr, TYPE_POINTER_NAME); -+#else - swig_module_info *swig_module = (swig_module_info *) vptr; -+#endif - swig_type_info **types = swig_module->types; -- size_t i; - for (i =0; i < swig_module->size; ++i) { - swig_type_info *ty = types[i]; - if (ty->owndata) { -@@ -1426,9 +1445,18 @@ SWIG_Python_SetModule(swig_module_info * - PyObject *module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION, - swig_empty_runtime_method_table); - #endif -+#ifdef USE_CAPSULES -+ PyObject *pointer = PyCapsule_New((void *)swig_module, TYPE_POINTER_NAME, -+ (PyCapsule_Destructor)SWIG_Python_DestroyModule); -+#else - PyObject *pointer = PyCObject_FromVoidPtr((void *) swig_module, SWIG_Python_DestroyModule); -+#endif - if (pointer && module) { -+#ifdef USE_CAPSULES -+ PyModule_AddObject(module, (char*)"type_pointer_capsule" SWIG_TYPE_TABLE_NAME, pointer); -+#else - PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer); -+#endif - } else { - Py_XDECREF(pointer); - } -@@ -1449,12 +1477,20 @@ SWIG_Python_TypeQuery(const char *type) - PyObject *obj = PyDict_GetItem(cache, key); - swig_type_info *descriptor; - if (obj) { -+#ifdef USE_CAPSULES -+ descriptor = (swig_type_info *) PyCapsule_GetPointer(obj, type); -+#else - descriptor = (swig_type_info *) PyCObject_AsVoidPtr(obj); -+#endif - } else { - swig_module_info *swig_module = SWIG_Python_GetModule(); - descriptor = SWIG_TypeQueryModule(swig_module, swig_module, type); - if (descriptor) { -+#ifdef USE_CAPSULES -+ obj = PyCapsule_New(descriptor, type, NULL); -+#else - obj = PyCObject_FromVoidPtr(descriptor, NULL); -+#endif - PyDict_SetItem(cache, key, obj); - Py_DECREF(obj); - } Deleted: swig-pyslice.patch =================================================================== --- swig-pyslice.patch 2011-05-31 13:23:50 UTC (rev 125891) +++ swig-pyslice.patch 2011-05-31 15:18:06 UTC (rev 125892) @@ -1,66 +0,0 @@ -diff -Naur swig-2.0.3.ori/Lib/python/pycontainer.swg swig-2.0.3/Lib/python/pycontainer.swg ---- swig-2.0.3.ori/Lib/python/pycontainer.swg 2010-10-18 23:31:31.000000000 -0700 -+++ swig-2.0.3/Lib/python/pycontainer.swg 2011-04-08 08:50:37.281941342 -0700 -@@ -630,6 +630,7 @@ - return x; - } - -+#if !NO_PYSLICE - /* typemap for slice object support */ - %typemap(in) PySliceObject* { - $1 = (PySliceObject *) $input; -@@ -637,6 +638,7 @@ - %typemap(typecheck,precedence=SWIG_TYPECHECK_POINTER) PySliceObject* { - $1 = PySlice_Check($input); - } -+#endif - - Sequence* __getslice__(difference_type i, difference_type j) throw (std::out_of_range) { - return swig::getslice(self, i, j); -@@ -659,7 +661,11 @@ - /* Overloaded methods for Python 3 compatibility - * (Also useful in Python 2.x) - */ -+#if NO_PYSLICE -+ Sequence* __getitem__(PyObject *slice) throw (std::out_of_range) { -+#else - Sequence* __getitem__(PySliceObject *slice) throw (std::out_of_range) { -+#endif - Py_ssize_t i, j, step; - if( !PySlice_Check(slice) ) { - SWIG_Error(SWIG_TypeError, "Slice object expected."); -@@ -669,7 +675,11 @@ - return swig::getslice(self, i, j); - } - -+#if NO_PYSLICE -+ void __setitem__(PyObject *slice, const Sequence& v) -+#else - void __setitem__(PySliceObject *slice, const Sequence& v) -+#endif - throw (std::out_of_range, std::invalid_argument) { - Py_ssize_t i, j, step; - if( !PySlice_Check(slice) ) { -@@ -680,7 +690,11 @@ - swig::setslice(self, i, j, v); - } - -+#if NO_PYSLICE -+ void __delitem__(PyObject *slice) -+#else - void __delitem__(PySliceObject *slice) -+#endif - throw (std::out_of_range) { - Py_ssize_t i, j, step; - if( !PySlice_Check(slice) ) { -diff -Naur swig-2.0.3.ori/Source/Modules/python.cxx swig-2.0.3/Source/Modules/python.cxx ---- swig-2.0.3.ori/Source/Modules/python.cxx 2011-03-14 00:22:08.000000000 -0700 -+++ swig-2.0.3/Source/Modules/python.cxx 2011-04-08 08:53:39.288607977 -0700 -@@ -437,6 +437,7 @@ - - if (py3) { - /* force disable features that not compatible with Python 3.x */ -+ Preprocessor_define((DOH *) "NO_PYSLICE 1", 0); - classic = 0; - } -
