Update to 2.0.4.
- patches merged - swig200-rh666429.patch - swig200-rh623854.patch Signed-off-by: Adam Tkac <atkac@redhat.com>
This commit is contained in:
parent
aad2a0b524
commit
20d03783ab
14
swig.spec
14
swig.spec
@ -3,15 +3,13 @@
|
|||||||
|
|
||||||
Summary: Connects C/C++/Objective C to some high-level programming languages
|
Summary: Connects C/C++/Objective C to some high-level programming languages
|
||||||
Name: swig
|
Name: swig
|
||||||
Version: 2.0.3
|
Version: 2.0.4
|
||||||
Release: 3%{?dist}
|
Release: 1%{?dist}
|
||||||
License: GPLv3+ and BSD
|
License: GPLv3+ and BSD
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
URL: http://swig.sourceforge.net/
|
URL: http://swig.sourceforge.net/
|
||||||
Source: http://downloads.sourceforge.net/project/swig/swig/swig-%{version}/swig-%{version}.tar.gz
|
Source: http://downloads.sourceforge.net/project/swig/swig/swig-%{version}/swig-%{version}.tar.gz
|
||||||
Patch1: swig-1.3.23-pylib.patch
|
Patch1: swig-1.3.23-pylib.patch
|
||||||
Patch2: swig200-rh623854.patch
|
|
||||||
Patch3: swig200-rh666429.patch
|
|
||||||
Patch4: swig203-rh706140.patch
|
Patch4: swig203-rh706140.patch
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
@ -45,8 +43,6 @@ This package contains documentation for SWIG and useful examples
|
|||||||
%prep
|
%prep
|
||||||
%setup -q -n swig-%{version}
|
%setup -q -n swig-%{version}
|
||||||
%patch1 -p1 -b .pylib
|
%patch1 -p1 -b .pylib
|
||||||
%patch2 -p1 -b .rh623854
|
|
||||||
%patch3 -p1 -b .rh666429
|
|
||||||
%patch4 -p1 -b .rh706140
|
%patch4 -p1 -b .rh706140
|
||||||
|
|
||||||
# as written on https://fedoraproject.org/wiki/Packaging_talk:Perl, section 2
|
# as written on https://fedoraproject.org/wiki/Packaging_talk:Perl, section 2
|
||||||
@ -119,6 +115,12 @@ rm -rf %{buildroot}
|
|||||||
%doc Doc Examples LICENSE LICENSE-GPL LICENSE-UNIVERSITIES COPYRIGHT
|
%doc Doc Examples LICENSE LICENSE-GPL LICENSE-UNIVERSITIES COPYRIGHT
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jun 20 2011 Adam Tkac <atkac redhat com> 2.0.4-1
|
||||||
|
- update to 2.0.4
|
||||||
|
- patches merged
|
||||||
|
- swig200-rh666429.patch
|
||||||
|
- swig200-rh623854.patch
|
||||||
|
|
||||||
* Mon Jun 20 2011 Marcela Mašláňová <mmaslano@redhat.com> 2.0.3-3
|
* Mon Jun 20 2011 Marcela Mašláňová <mmaslano@redhat.com> 2.0.3-3
|
||||||
- Perl mass rebuild
|
- Perl mass rebuild
|
||||||
|
|
||||||
|
@ -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);
|
|
||||||
}
|
|
@ -1,67 +0,0 @@
|
|||||||
diff -up swig-2.0.3/Lib/python/pycontainer.swg.rh666429 swig-2.0.3/Lib/python/pycontainer.swg
|
|
||||||
--- swig-2.0.3/Lib/python/pycontainer.swg.rh666429 2010-10-19 08:31:31.000000000 +0200
|
|
||||||
+++ swig-2.0.3/Lib/python/pycontainer.swg 2011-04-22 15:42:42.185982189 +0200
|
|
||||||
@@ -630,6 +630,7 @@ namespace swig
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if !NO_PYSLICE
|
|
||||||
/* typemap for slice object support */
|
|
||||||
%typemap(in) PySliceObject* {
|
|
||||||
$1 = (PySliceObject *) $input;
|
|
||||||
@@ -637,6 +638,7 @@ namespace swig
|
|
||||||
%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 @@ namespace swig
|
|
||||||
/* 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.");
|
|
||||||
@@ -668,8 +674,11 @@ namespace swig
|
|
||||||
PySlice_GetIndices(slice, self->size(), &i, &j, &step);
|
|
||||||
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 +689,11 @@ namespace swig
|
|
||||||
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 -up swig-2.0.3/Source/Modules/python.cxx.rh666429 swig-2.0.3/Source/Modules/python.cxx
|
|
||||||
--- swig-2.0.3/Source/Modules/python.cxx.rh666429 2011-03-14 08:22:08.000000000 +0100
|
|
||||||
+++ swig-2.0.3/Source/Modules/python.cxx 2011-04-22 15:43:45.122661120 +0200
|
|
||||||
@@ -438,6 +438,7 @@ public:
|
|
||||||
if (py3) {
|
|
||||||
/* force disable features that not compatible with Python 3.x */
|
|
||||||
classic = 0;
|
|
||||||
+ Preprocessor_define((DOH *) "NO_PYSLICE 1", 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cppcast) {
|
|
Loading…
Reference in New Issue
Block a user