- Update to 2.0.6
* Various fixes with templates and typedef types. * Some template lookup problems fixed. * Templated type fixes to use correct typemaps. * Autodoc documentation generation improvements. * Python STL container wrappers improvements including addition of stepped slicing. * Approximately 70 fixes and minor enhancements for the following target languages: AllegroCL, C#, D, Go, Java, Lua, Ocaml, Octave, Perl, PHP, Python, R, Ruby, Tcl, Xml. OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/swig?expand=0&rev=35
This commit is contained in:
parent
bbab5343cc
commit
77ce9f19a6
59
r12814.patch
59
r12814.patch
@ -1,59 +0,0 @@
|
|||||||
--- a/CHANGES.current
|
|
||||||
+++ b/CHANGES.current
|
|
||||||
@@ -2,6 +2,14 @@ This file contains the changes for the c
|
|
||||||
See the CHANGES file for changes in older releases.
|
|
||||||
See the RELEASENOTES file for a summary of changes in each release.
|
|
||||||
|
|
||||||
+2011-09-19: wsfulton
|
|
||||||
+ Fix regression introduced in swig-2.0.1 reported by Teemu Ikonone leading to uncompilable code
|
|
||||||
+ when using typedef and function pointer references, for example:
|
|
||||||
+
|
|
||||||
+ typedef int FN(const int &a, int b);
|
|
||||||
+ void *typedef_call1(FN *& precallback, FN * postcallback);
|
|
||||||
+
|
|
||||||
+
|
|
||||||
Version 2.0.4 (in progress)
|
|
||||||
===========================
|
|
||||||
2011-05-19: wsfulton
|
|
||||||
--- a/Source/Swig/stype.c
|
|
||||||
+++ b/Source/Swig/stype.c
|
|
||||||
@@ -823,7 +823,8 @@ String *SwigType_rcaststr(const SwigType
|
|
||||||
Insert(result, 0, "(");
|
|
||||||
Append(result, ")");
|
|
||||||
}
|
|
||||||
- isreference = 1;
|
|
||||||
+ if (!isfunction)
|
|
||||||
+ isreference = 1;
|
|
||||||
} else if (SwigType_isarray(element)) {
|
|
||||||
DOH *size;
|
|
||||||
if (firstarray && !isreference) {
|
|
||||||
@@ -869,10 +870,8 @@ String *SwigType_rcaststr(const SwigType
|
|
||||||
cast = NewStringf("(%s)", result);
|
|
||||||
}
|
|
||||||
if (name) {
|
|
||||||
- if (!isfunction) {
|
|
||||||
- if (isreference) {
|
|
||||||
- Append(cast, "*");
|
|
||||||
- }
|
|
||||||
+ if (isreference) {
|
|
||||||
+ Append(cast, "*");
|
|
||||||
}
|
|
||||||
Append(cast, name);
|
|
||||||
}
|
|
||||||
--- a/Examples/test-suite/funcptr_cpp.i
|
|
||||||
+++ b/Examples/test-suite/funcptr_cpp.i
|
|
||||||
@@ -20,3 +20,14 @@ int call3(int & (*d)(const int &, int),
|
|
||||||
%constant int (*ADD_BY_VALUE)(const int &, int) = addByValue;
|
|
||||||
%constant int * (*ADD_BY_POINTER)(const int &, int) = addByPointer;
|
|
||||||
%constant int & (*ADD_BY_REFERENCE)(const int &, int) = addByReference;
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+%inline %{
|
|
||||||
+typedef int AddByValueTypedef(const int &a, int b);
|
|
||||||
+typedef int * AddByPointerTypedef(const int &a, int b);
|
|
||||||
+typedef int & AddByReferenceTypedef(const int &a, int b);
|
|
||||||
+void *typedef_call1(AddByValueTypedef *& precallback, AddByValueTypedef * postcallback) { return 0; }
|
|
||||||
+void *typedef_call2(AddByPointerTypedef *& precallback, AddByPointerTypedef * postcallback) { return 0; }
|
|
||||||
+void *typedef_call3(AddByReferenceTypedef *& precallback, AddByReferenceTypedef * postcallback) { return 0; }
|
|
||||||
+%}
|
|
||||||
+
|
|
@ -1,80 +0,0 @@
|
|||||||
Description: Fix overflow errors with 64-bit IVs
|
|
||||||
The perl 5.12 packages are compiled with -Duse64bitint, which means that IVs
|
|
||||||
are 64-bits even on 32-bit architectures. When converting IVs, SWIG assumes
|
|
||||||
that an IV is the same size as a long, which causes OverflowErrors with
|
|
||||||
unsigned longs when the value is greater than 2^31.
|
|
||||||
.
|
|
||||||
This patch should remove those assumptions by using the "IV" type defined by
|
|
||||||
the perl headers, and explicitly checking the values are within the correct
|
|
||||||
range for the type being converted.
|
|
||||||
Author: Chris Butler <chrisb@debian.org>
|
|
||||||
Bug-Debian: http://bugs.debian.org/579540
|
|
||||||
Forwarded: no
|
|
||||||
|
|
||||||
--- a/Lib/perl5/perlprimtypes.swg
|
|
||||||
+++ b/Lib/perl5/perlprimtypes.swg
|
|
||||||
@@ -56,8 +56,13 @@
|
|
||||||
SWIG_AsVal_dec(long)(SV *obj, long* val)
|
|
||||||
{
|
|
||||||
if (SvIOK(obj)) {
|
|
||||||
- if (val) *val = SvIV(obj);
|
|
||||||
- return SWIG_OK;
|
|
||||||
+ IV v = SvIV(obj);
|
|
||||||
+ if (v >= LONG_MIN && v <= LONG_MAX) {
|
|
||||||
+ if (val) *val = v;
|
|
||||||
+ return SWIG_OK;
|
|
||||||
+ } else {
|
|
||||||
+ return SWIG_OverflowError;
|
|
||||||
+ }
|
|
||||||
} else {
|
|
||||||
int dispatch = 0;
|
|
||||||
const char *nptr = SvPV_nolen(obj);
|
|
||||||
@@ -108,11 +113,16 @@
|
|
||||||
SWIG_AsVal_dec(unsigned long)(SV *obj, unsigned long *val)
|
|
||||||
{
|
|
||||||
if (SvUOK(obj)) {
|
|
||||||
- if (val) *val = SvUV(obj);
|
|
||||||
- return SWIG_OK;
|
|
||||||
+ UV v = SvUV(obj);
|
|
||||||
+ if (v >= 0 && v <= ULONG_MAX) {
|
|
||||||
+ if (val) *val = v;
|
|
||||||
+ return SWIG_OK;
|
|
||||||
+ } else {
|
|
||||||
+ return SWIG_OverflowError;
|
|
||||||
+ }
|
|
||||||
} else if (SvIOK(obj)) {
|
|
||||||
- long v = SvIV(obj);
|
|
||||||
- if (v >= 0) {
|
|
||||||
+ IV v = SvIV(obj);
|
|
||||||
+ if (v >= 0 && v <= ULONG_MAX) {
|
|
||||||
if (val) *val = v;
|
|
||||||
return SWIG_OK;
|
|
||||||
} else {
|
|
||||||
@@ -179,8 +189,13 @@
|
|
||||||
SWIG_AsVal_dec(long long)(SV *obj, long long *val)
|
|
||||||
{
|
|
||||||
if (SvIOK(obj)) {
|
|
||||||
- if (val) *val = SvIV(obj);
|
|
||||||
- return SWIG_OK;
|
|
||||||
+ IV v = SvIV(obj);
|
|
||||||
+ if (v >= LLONG_MIN && v <= LLONG_MAX) {
|
|
||||||
+ if (val) *val = v;
|
|
||||||
+ return SWIG_OK;
|
|
||||||
+ } else {
|
|
||||||
+ return SWIG_OverflowError;
|
|
||||||
+ }
|
|
||||||
} else {
|
|
||||||
int dispatch = 0;
|
|
||||||
const char *nptr = SvPV_nolen(obj);
|
|
||||||
@@ -246,8 +261,8 @@
|
|
||||||
if (val) *val = SvUV(obj);
|
|
||||||
return SWIG_OK;
|
|
||||||
} else if (SvIOK(obj)) {
|
|
||||||
- long v = SvIV(obj);
|
|
||||||
- if (v >= 0) {
|
|
||||||
+ IV v = SvIV(obj);
|
|
||||||
+ if (v >= 0 && v <= ULLONG_MAX) {
|
|
||||||
if (val) *val = v;
|
|
||||||
return SWIG_OK;
|
|
||||||
} else {
|
|
||||||
|
|
@ -1,143 +0,0 @@
|
|||||||
diff -wruN -x '*~' ../orig-swig-2.0.4/Lib/python/pycontainer.swg ./Lib/python/pycontainer.swg
|
|
||||||
--- ../orig-swig-2.0.4/Lib/python/pycontainer.swg 2011-09-20 12:14:29.000000000 +0200
|
|
||||||
+++ ./Lib/python/pycontainer.swg 2011-09-20 12:13:22.000000000 +0200
|
|
||||||
@@ -189,7 +189,7 @@
|
|
||||||
|
|
||||||
namespace swig {
|
|
||||||
inline size_t
|
|
||||||
- check_index(ptrdiff_t i, size_t size, bool insert = false) {
|
|
||||||
+ check_index(std::ptrdiff_t i, size_t size, bool insert = false) {
|
|
||||||
if ( i < 0 ) {
|
|
||||||
if ((size_t) (-i) <= size)
|
|
||||||
return (size_t) (i + size);
|
|
||||||
@@ -203,7 +203,7 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
inline size_t
|
|
||||||
- slice_index(ptrdiff_t i, size_t size) {
|
|
||||||
+ slice_index(std::ptrdiff_t i, size_t size) {
|
|
||||||
if ( i < 0 ) {
|
|
||||||
if ((size_t) (-i) <= size) {
|
|
||||||
return (size_t) (i + size);
|
|
||||||
diff -wruN -x '*~' ../orig-swig-2.0.4/Lib/python/pyiterators.swg ./Lib/python/pyiterators.swg
|
|
||||||
--- ../orig-swig-2.0.4/Lib/python/pyiterators.swg 2011-04-29 20:25:16.000000000 +0200
|
|
||||||
+++ ./Lib/python/pyiterators.swg 2011-09-20 12:14:10.000000000 +0200
|
|
||||||
@@ -41,7 +41,7 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
// Random access iterator methods, but not required in Python
|
|
||||||
- virtual ptrdiff_t distance(const SwigPyIterator &/*x*/) const
|
|
||||||
+ virtual std::ptrdiff_t distance(const SwigPyIterator &/*x*/) const
|
|
||||||
{
|
|
||||||
throw std::invalid_argument("operation not supported");
|
|
||||||
}
|
|
||||||
@@ -78,7 +78,7 @@
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
- SwigPyIterator *advance(ptrdiff_t n)
|
|
||||||
+ SwigPyIterator *advance(std::ptrdiff_t n)
|
|
||||||
{
|
|
||||||
return (n > 0) ? incr(n) : decr(-n);
|
|
||||||
}
|
|
||||||
@@ -93,27 +93,27 @@
|
|
||||||
return ! operator==(x);
|
|
||||||
}
|
|
||||||
|
|
||||||
- SwigPyIterator& operator += (ptrdiff_t n)
|
|
||||||
+ SwigPyIterator& operator += (std::ptrdiff_t n)
|
|
||||||
{
|
|
||||||
return *advance(n);
|
|
||||||
}
|
|
||||||
|
|
||||||
- SwigPyIterator& operator -= (ptrdiff_t n)
|
|
||||||
+ SwigPyIterator& operator -= (std::ptrdiff_t n)
|
|
||||||
{
|
|
||||||
return *advance(-n);
|
|
||||||
}
|
|
||||||
|
|
||||||
- SwigPyIterator* operator + (ptrdiff_t n) const
|
|
||||||
+ SwigPyIterator* operator + (std::ptrdiff_t n) const
|
|
||||||
{
|
|
||||||
return copy()->advance(n);
|
|
||||||
}
|
|
||||||
|
|
||||||
- SwigPyIterator* operator - (ptrdiff_t n) const
|
|
||||||
+ SwigPyIterator* operator - (std::ptrdiff_t n) const
|
|
||||||
{
|
|
||||||
return copy()->advance(-n);
|
|
||||||
}
|
|
||||||
|
|
||||||
- ptrdiff_t operator - (const SwigPyIterator& x) const
|
|
||||||
+ std::ptrdiff_t operator - (const SwigPyIterator& x) const
|
|
||||||
{
|
|
||||||
return x.distance(*this);
|
|
||||||
}
|
|
||||||
@@ -170,7 +170,7 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- ptrdiff_t distance(const SwigPyIterator &iter) const
|
|
||||||
+ std::ptrdiff_t distance(const SwigPyIterator &iter) const
|
|
||||||
{
|
|
||||||
const self_type *iters = dynamic_cast<const self_type *>(&iter);
|
|
||||||
if (iters) {
|
|
||||||
@@ -334,8 +334,8 @@
|
|
||||||
Mark methods that return new objects
|
|
||||||
*/
|
|
||||||
%newobject SwigPyIterator::copy;
|
|
||||||
- %newobject SwigPyIterator::operator + (ptrdiff_t n) const;
|
|
||||||
- %newobject SwigPyIterator::operator - (ptrdiff_t n) const;
|
|
||||||
+ %newobject SwigPyIterator::operator + (std::ptrdiff_t n) const;
|
|
||||||
+ %newobject SwigPyIterator::operator - (std::ptrdiff_t n) const;
|
|
||||||
|
|
||||||
%nodirector SwigPyIterator;
|
|
||||||
|
|
||||||
@@ -356,11 +356,11 @@
|
|
||||||
%catches(swig::stop_iteration) SwigPyIterator::__next__();
|
|
||||||
%catches(swig::stop_iteration) SwigPyIterator::next();
|
|
||||||
%catches(swig::stop_iteration) SwigPyIterator::previous();
|
|
||||||
- %catches(swig::stop_iteration) SwigPyIterator::advance(ptrdiff_t n);
|
|
||||||
- %catches(swig::stop_iteration) SwigPyIterator::operator += (ptrdiff_t n);
|
|
||||||
- %catches(swig::stop_iteration) SwigPyIterator::operator -= (ptrdiff_t n);
|
|
||||||
- %catches(swig::stop_iteration) SwigPyIterator::operator + (ptrdiff_t n) const;
|
|
||||||
- %catches(swig::stop_iteration) SwigPyIterator::operator - (ptrdiff_t n) const;
|
|
||||||
+ %catches(swig::stop_iteration) SwigPyIterator::advance(std::ptrdiff_t n);
|
|
||||||
+ %catches(swig::stop_iteration) SwigPyIterator::operator += (std::ptrdiff_t n);
|
|
||||||
+ %catches(swig::stop_iteration) SwigPyIterator::operator -= (std::ptrdiff_t n);
|
|
||||||
+ %catches(swig::stop_iteration) SwigPyIterator::operator + (std::ptrdiff_t n) const;
|
|
||||||
+ %catches(swig::stop_iteration) SwigPyIterator::operator - (std::ptrdiff_t n) const;
|
|
||||||
|
|
||||||
struct SwigPyIterator
|
|
||||||
{
|
|
||||||
@@ -380,7 +380,7 @@
|
|
||||||
virtual SwigPyIterator *decr(size_t n = 1);
|
|
||||||
|
|
||||||
// Random access iterator methods, but not required in Python
|
|
||||||
- virtual ptrdiff_t distance(const SwigPyIterator &x) const;
|
|
||||||
+ virtual std::ptrdiff_t distance(const SwigPyIterator &x) const;
|
|
||||||
|
|
||||||
virtual bool equal (const SwigPyIterator &x) const;
|
|
||||||
|
|
||||||
@@ -390,15 +390,15 @@
|
|
||||||
PyObject *next();
|
|
||||||
PyObject *__next__();
|
|
||||||
PyObject *previous();
|
|
||||||
- SwigPyIterator *advance(ptrdiff_t n);
|
|
||||||
+ SwigPyIterator *advance(std::ptrdiff_t n);
|
|
||||||
|
|
||||||
bool operator == (const SwigPyIterator& x) const;
|
|
||||||
bool operator != (const SwigPyIterator& x) const;
|
|
||||||
- SwigPyIterator& operator += (ptrdiff_t n);
|
|
||||||
- SwigPyIterator& operator -= (ptrdiff_t n);
|
|
||||||
- SwigPyIterator* operator + (ptrdiff_t n) const;
|
|
||||||
- SwigPyIterator* operator - (ptrdiff_t n) const;
|
|
||||||
- ptrdiff_t operator - (const SwigPyIterator& x) const;
|
|
||||||
+ SwigPyIterator& operator += (std::ptrdiff_t n);
|
|
||||||
+ SwigPyIterator& operator -= (std::ptrdiff_t n);
|
|
||||||
+ SwigPyIterator* operator + (std::ptrdiff_t n) const;
|
|
||||||
+ SwigPyIterator* operator - (std::ptrdiff_t n) const;
|
|
||||||
+ std::ptrdiff_t operator - (const SwigPyIterator& x) const;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,67 +0,0 @@
|
|||||||
diff -wruN -x '*~' ../orig-swig-2.0.4/Lib/python/pycontainer.swg ./Lib/python/pycontainer.swg
|
|
||||||
--- ../orig-swig-2.0.4/Lib/python/pycontainer.swg 2011-04-10 00:07:22.000000000 +0200
|
|
||||||
+++ ./Lib/python/pycontainer.swg 2011-09-20 11:27:19.000000000 +0200
|
|
||||||
@@ -657,6 +657,7 @@
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if !NO_PYSLICE
|
|
||||||
/* typemap for slice object support */
|
|
||||||
%typemap(in) PySliceObject* {
|
|
||||||
if (!PySlice_Check($input)) {
|
|
||||||
@@ -667,6 +668,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);
|
|
||||||
@@ -689,7 +691,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.");
|
|
||||||
@@ -698,8 +704,11 @@
|
|
||||||
PySlice_GetIndices(SWIGPY_SLICE_ARG(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) ) {
|
|
||||||
@@ -721,7 +730,11 @@
|
|
||||||
swig::delslice(self, i,j);
|
|
||||||
}
|
|
||||||
|
|
||||||
+#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 -wruN -x '*~' ../orig-swig-2.0.4/Source/Modules/python.cxx ./Source/Modules/python.cxx
|
|
||||||
--- ../orig-swig-2.0.4/Source/Modules/python.cxx 2011-05-20 07:58:05.000000000 +0200
|
|
||||||
+++ ./Source/Modules/python.cxx 2011-09-20 11:27:19.000000000 +0200
|
|
||||||
@@ -527,6 +527,7 @@
|
|
||||||
if (py3) {
|
|
||||||
/* force disable features that not compatible with Python 3.x */
|
|
||||||
classic = 0;
|
|
||||||
+ Preprocessor_define((DOH *) "NO_PYSLICE 1", 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cppcast) {
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:bc44427d8a89539053a703a9237cf7ca313236b363676df23f07814c01030dda
|
|
||||||
size 4145216
|
|
3
swig-2.0.6.tar.gz
Normal file
3
swig-2.0.6.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:dd376331dd76899736852881f0fc5ba874b0d79e88a5bd9b366bcb20e7fbb17d
|
||||||
|
size 5277387
|
14
swig.changes
14
swig.changes
@ -1,3 +1,17 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Apr 30 08:30:32 UTC 2012 - idonmez@suse.com
|
||||||
|
|
||||||
|
- Update to 2.0.6
|
||||||
|
* Various fixes with templates and typedef types.
|
||||||
|
* Some template lookup problems fixed.
|
||||||
|
* Templated type fixes to use correct typemaps.
|
||||||
|
* Autodoc documentation generation improvements.
|
||||||
|
* Python STL container wrappers improvements including addition of
|
||||||
|
stepped slicing.
|
||||||
|
* Approximately 70 fixes and minor enhancements for the following
|
||||||
|
target languages: AllegroCL, C#, D, Go, Java, Lua, Ocaml, Octave,
|
||||||
|
Perl, PHP, Python, R, Ruby, Tcl, Xml.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Apr 9 19:29:34 UTC 2012 - asterios.dramis@gmail.com
|
Mon Apr 9 19:29:34 UTC 2012 - asterios.dramis@gmail.com
|
||||||
|
|
||||||
|
32
swig.spec
32
swig.spec
@ -17,28 +17,20 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: swig
|
Name: swig
|
||||||
Version: 2.0.4
|
Version: 2.0.6
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Simplified Wrapper and Interface Generator
|
Summary: Simplified Wrapper and Interface Generator
|
||||||
License: GPL-3.0+ and BSD-3-Clause
|
License: GPL-3.0+ and BSD-3-Clause
|
||||||
Group: Development/Languages/C and C++
|
Group: Development/Languages/C and C++
|
||||||
Url: http://www.swig.org/
|
Url: http://www.swig.org/
|
||||||
Source: %{name}-%{version}.tar.bz2
|
Source: http://sourceforge.net/projects/swig/files/swig/%{name}-%{version}/%{name}-%{version}.tar.gz
|
||||||
Source1: %{name}.rpmlintrc
|
Source1: %{name}.rpmlintrc
|
||||||
# PATCH-FIX-UPSTREAM swig-2.0.4-support-python32.patch idoenmez@suse.de -- Support Python 3.2
|
|
||||||
Patch1: swig-2.0.4-support-python32.patch
|
|
||||||
# swig-2.0.4-ptrdiff_t.patch kkaempf@suse.com -- import_stl fails under Python
|
|
||||||
Patch2: swig-2.0.4-ptrdiff_t.patch
|
|
||||||
# PATCH-FIX-UPSTREAM swig-2.0.4-disable-broken-tests.patch idoenmez@suse.de -- Disable broken tests
|
# PATCH-FIX-UPSTREAM swig-2.0.4-disable-broken-tests.patch idoenmez@suse.de -- Disable broken tests
|
||||||
Patch3: swig-2.0.4-disable-broken-tests.patch
|
Patch1: swig-2.0.4-disable-broken-tests.patch
|
||||||
# swig-2.0.4-disable-broken-tests_rhel4.patch kkaempf@suse.com -- disable tests failing on RHEL4
|
# swig-2.0.4-disable-broken-tests_rhel4.patch kkaempf@suse.com -- disable tests failing on RHEL4
|
||||||
Patch4: swig-2.0.4-disable-broken-tests_rhel4.patch
|
Patch2: swig-2.0.4-disable-broken-tests_rhel4.patch
|
||||||
# PATCH-FIX-UPSTREAM swig-2.0.4-guile2.patch pgajdos@suse.com -- generate guile 2 friendly code
|
# PATCH-FIX-UPSTREAM swig-2.0.4-guile2.patch pgajdos@suse.com -- generate guile 2 friendly code
|
||||||
Patch5: swig-2.0.4-guile2.patch
|
Patch3: swig-2.0.4-guile2.patch
|
||||||
# PATCH-FIX-OPENSUSE swig-2.0.4-fix-overflow-error-64bitint.patch dvaleev@suse.com -- Fix overflow errors with 64-bit IVs
|
|
||||||
Patch6: swig-2.0.4-fix-overflow-error-64bitint.patch
|
|
||||||
# PATCH-FIX-UPSTREAM r12814.patch asterios.dramis@gmail.com -- Fix regression leading to uncompilable code when using typedef and function pointer references (taken from Debian)
|
|
||||||
Patch7: r12814.patch
|
|
||||||
BuildRequires: boost-devel
|
BuildRequires: boost-devel
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: pcre-devel
|
BuildRequires: pcre-devel
|
||||||
@ -124,18 +116,14 @@ understandig SWIG usage.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch1 -p1
|
%patch1
|
||||||
%patch2 -p1
|
|
||||||
%patch3
|
|
||||||
%if 0%{?rhel_version} >= 400 && 0%{?rhel_version} < 500
|
%if 0%{?rhel_version} >= 400 && 0%{?rhel_version} < 500
|
||||||
%patch4 -p1
|
%patch2 -p1
|
||||||
%endif
|
%endif
|
||||||
# guile 2 from 12.1
|
# guile 2 from 12.1
|
||||||
%if 0%{?suse_version} >= 1210
|
%if 0%{?suse_version} >= 1210
|
||||||
%patch5 -p1
|
%patch3 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch6 -p1
|
|
||||||
%patch7 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure --disable-ccache
|
%configure --disable-ccache
|
||||||
@ -145,13 +133,14 @@ make %{?_smp_mflags}
|
|||||||
# check fails on SLES9
|
# check fails on SLES9
|
||||||
%if 0%{?sles_version} != 9
|
%if 0%{?sles_version} != 9
|
||||||
# This test is buggy on x86-64
|
# This test is buggy on x86-64
|
||||||
rm -f Examples/test-suite/python/li_boost_shared_ptr_runme.py
|
|
||||||
%if 0%{?suse_version} == 1010
|
%if 0%{?suse_version} == 1010
|
||||||
%ifarch x86_64
|
%ifarch x86_64
|
||||||
# This test fails on SLES 10 SP3+SP4 on 64bit (bnc#750618)
|
# This test fails on SLES 10 SP3+SP4 on 64bit (bnc#750618)
|
||||||
rm -f Examples/test-suite/ruby/newobject1_runme.rb
|
rm -f Examples/test-suite/ruby/newobject1_runme.rb
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
# Segfaults
|
||||||
|
rm -f Examples/test-suite/python/li_std_containers_int_runme.py
|
||||||
make check
|
make check
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -163,6 +152,7 @@ cp -a TODO ANNOUNCE CHANGES* LICENSE README Doc/{Devel,Manual} \
|
|||||||
%{buildroot}%{docpath}
|
%{buildroot}%{docpath}
|
||||||
install -d %{buildroot}%{_libdir}/swig
|
install -d %{buildroot}%{_libdir}/swig
|
||||||
cp -a Examples %{buildroot}%{_libdir}/swig/examples
|
cp -a Examples %{buildroot}%{_libdir}/swig/examples
|
||||||
|
rm -rf %{buildroot}%{_libdir}/swig/examples/test-suite
|
||||||
|
|
||||||
# rm files that are not needed for running or rebuilding the examples
|
# rm files that are not needed for running or rebuilding the examples
|
||||||
find %{buildroot}%{_libdir}/swig \
|
find %{buildroot}%{_libdir}/swig \
|
||||||
|
Loading…
Reference in New Issue
Block a user