Date: Wednesday, July 11, 2012 @ 12:22:45
Author: stephane
Revision: 163233
upgpkg: swig 2.0.7-2
Add missing declaration for Python 3k (FS#30624)
Fix call to Swig_name_decl
Added:
swig/trunk/pyint_fromsize_t.diff
swig/trunk/upstream_r13128.diff
Modified:
swig/trunk/PKGBUILD
-----------------------+
PKGBUILD | 17 +++++++++--
pyint_fromsize_t.diff | 18 +++++++++++
upstream_r13128.diff | 73 ++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 105 insertions(+), 3 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2012-07-11 13:44:49 UTC (rev 163232)
+++ PKGBUILD 2012-07-11 16:22:45 UTC (rev 163233)
@@ -4,17 +4,28 @@
pkgname=swig
pkgver=2.0.7
-pkgrel=1
+pkgrel=2
pkgdesc="Generate scripting interfaces to C/C++ code"
arch=('i686' 'x86_64')
url="http://www.swig.org/"
license=('custom')
depends=('zlib' 'pcre')
-source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-sha1sums=('307020fb6437092e32c9c1bd9af8bccb1645b529')
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz
+ pyint_fromsize_t.diff
+ upstream_r13128.diff)
+sha1sums=('307020fb6437092e32c9c1bd9af8bccb1645b529'
+ '59ee179b57920d255c58afe45632b896e40b5b7d'
+ '8f0c5ae6a46c22606cc88c649bfd0a31f061a963')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # FS#30624
+ patch -Np1 -i ../pyint_fromsize_t.diff
+
+ # Fix call to Swig_name_decl
+ patch -Np1 -i ../upstream_r13128.diff
+
./configure --prefix=/usr
make
}
Added: pyint_fromsize_t.diff
===================================================================
--- pyint_fromsize_t.diff (rev 0)
+++ pyint_fromsize_t.diff 2012-07-11 16:22:45 UTC (rev 163233)
@@ -0,0 +1,18 @@
+Description: Py3k: Map PyInt_FromSize_t to PyLong_FromSize_t
+ The latest SWIG version introduced a usage of PyInt_FromSize_t, but
+ does not define a compatibility macro for Python 3k as for the other
+ PyInt_... functions. This patch adds that macro.
+
+Author: Torsten Landschoff <[email protected]>
+
+
+--- swig2.0-2.0.7.orig/Lib/python/pyhead.swg
++++ swig2.0-2.0.7/Lib/python/pyhead.swg
+@@ -5,6 +5,7 @@
+ #define PyInt_Check(x) PyLong_Check(x)
+ #define PyInt_AsLong(x) PyLong_AsLong(x)
+ #define PyInt_FromLong(x) PyLong_FromLong(x)
++#define PyInt_FromSize_t(x) PyLong_FromSize_t(x)
+ #define PyString_Check(name) PyBytes_Check(name)
+ #define PyString_FromString(x) PyUnicode_FromString(x)
+ #define PyString_Format(fmt, args) PyUnicode_Format(fmt, args)
Added: upstream_r13128.diff
===================================================================
--- upstream_r13128.diff (rev 0)
+++ upstream_r13128.diff 2012-07-11 16:22:45 UTC (rev 163233)
@@ -0,0 +1,73 @@
+From: Klaus Kämpf <[email protected]>
+Subject: Fix call to Swig_name_decl (upstream ID 3530078)
+
+Origin: upstream,
http://swig.svn.sourceforge.net/viewvc/swig?view=revision&revision=13128
+Bug:
http://sourceforge.net/tracker/?func=detail&aid=3530078&group_id=1645&atid=101645
+Bug-Debian: http://bugs.debian.org/675196
+---
+ Examples/test-suite/errors/expected.log | 26 +++++++++++++-------------
+ Source/Modules/lang.cxx | 4 ++--
+ 2 files changed, 15 insertions(+), 15 deletions(-)
+
+--- a/Source/Modules/lang.cxx
++++ b/Source/Modules/lang.cxx
+@@ -2623,7 +2623,7 @@ int Language::constructorDeclaration(Nod
+ Delete(expected_name_resolved);
+ }
+ if (illegal_name) {
+- Swig_warning(WARN_LANG_RETURN_TYPE, input_file, line_number,
"Function %s must have a return type. Ignored.\n", Swig_name_decl(name));
++ Swig_warning(WARN_LANG_RETURN_TYPE, input_file, line_number,
"Function %s must have a return type. Ignored.\n", Swig_name_decl(n));
+ Swig_restore(n);
+ return SWIG_NOWRAP;
+ }
+@@ -2760,7 +2760,7 @@ int Language::destructorDeclaration(Node
+ }
+
+ if (illegal_name) {
+- Swig_warning(WARN_LANG_ILLEGAL_DESTRUCTOR, input_file, line_number,
"Illegal destructor name %s. Ignored.\n", Swig_name_decl(name));
++ Swig_warning(WARN_LANG_ILLEGAL_DESTRUCTOR, input_file, line_number,
"Illegal destructor name %s. Ignored.\n", Swig_name_decl(n));
+ Swig_restore(n);
+ Delete(expected_name);
+ return SWIG_NOWRAP;
+--- a/Examples/test-suite/errors/expected.log
++++ b/Examples/test-suite/errors/expected.log
+@@ -227,17 +227,17 @@ cpp_extend_destructors.i:87: Warning 302
+ cpp_extend_destructors.i:85: Warning 302: previous definition of '~JStruct'.
+ cpp_extend_destructors.i:100: Warning 302: Identifier '~LStruct' redefined
(ignored),
+ cpp_extend_destructors.i:98: Warning 302: previous definition of '~LStruct'.
+-cpp_extend_destructors.i:24: Warning 521: Illegal destructor name
~NOT_CStruct. Ignored.
+-cpp_extend_destructors.i:30: Warning 521: Illegal destructor name
~NOT_DStruct. Ignored.
+-cpp_extend_destructors.i:44: Warning 521: Illegal destructor name
~NOT_EStruct. Ignored.
+-cpp_extend_destructors.i:50: Warning 521: Illegal destructor name
~NOT_FStruct. Ignored.
+-cpp_extend_destructors.i:65: Warning 521: Illegal destructor name
~NOT_GStruct. Ignored.
+-cpp_extend_destructors.i:72: Warning 521: Illegal destructor name
~NOT_HStruct. Ignored.
+-cpp_extend_destructors.i:81: Warning 521: Illegal destructor name
~NOT_IStruct. Ignored.
+-cpp_extend_destructors.i:86: Warning 521: Illegal destructor name
~NOT_JStruct. Ignored.
+-cpp_extend_destructors.i:92: Warning 521: Illegal destructor name
~NOT_KStruct. Ignored.
+-cpp_extend_destructors.i:99: Warning 521: Illegal destructor name
~NOT_LStruct< int >. Ignored.
+-cpp_extend_destructors.i:99: Warning 521: Illegal destructor name
~NOT_LStruct< short >. Ignored.
++cpp_extend_destructors.i:24: Warning 521: Illegal destructor name
CStruct::~NOT_CStruct(). Ignored.
++cpp_extend_destructors.i:30: Warning 521: Illegal destructor name
DStruct::~NOT_DStruct(). Ignored.
++cpp_extend_destructors.i:44: Warning 521: Illegal destructor name
EStruct::~NOT_EStruct(). Ignored.
++cpp_extend_destructors.i:50: Warning 521: Illegal destructor name
FStruct::~NOT_FStruct(). Ignored.
++cpp_extend_destructors.i:65: Warning 521: Illegal destructor name
GStruct::~NOT_GStruct(). Ignored.
++cpp_extend_destructors.i:72: Warning 521: Illegal destructor name
HStruct::~NOT_HStruct(). Ignored.
++cpp_extend_destructors.i:81: Warning 521: Illegal destructor name
IStruct::~NOT_IStruct(). Ignored.
++cpp_extend_destructors.i:86: Warning 521: Illegal destructor name
JStruct::~NOT_JStruct(). Ignored.
++cpp_extend_destructors.i:92: Warning 521: Illegal destructor name
KStruct::~NOT_KStruct(). Ignored.
++cpp_extend_destructors.i:99: Warning 521: Illegal destructor name LStruct<
int >::~NOT_LStruct(). Ignored.
++cpp_extend_destructors.i:99: Warning 521: Illegal destructor name LStruct<
short >::~NOT_LStruct(). Ignored.
+
+ :::::::::::::::::::::::::::::::: cpp_extend_redefine.i
:::::::::::::::::::::::::::::::::::
+ cpp_extend_redefine.i:9: Warning 302: Identifier 'bar' redefined by %extend
(ignored),
+@@ -312,8 +312,8 @@ cpp_nested.i:12: Warning 325: Nested cla
+ cpp_no_access.i:3: Warning 319: No access specifier given for base class
'foo' (ignored).
+
+ :::::::::::::::::::::::::::::::: cpp_no_return_type.i
:::::::::::::::::::::::::::::::::::
+-cpp_no_return_type.i:6: Warning 504: Function R must have a return type.
Ignored.
+-cpp_no_return_type.i:10: Warning 504: Function UU must have a return type.
Ignored.
++cpp_no_return_type.i:6: Warning 504: Function S::R() must have a return type.
Ignored.
++cpp_no_return_type.i:10: Warning 504: Function U::UU() must have a return
type. Ignored.
+
+ :::::::::::::::::::::::::::::::: cpp_nobase.i
:::::::::::::::::::::::::::::::::::
+ cpp_nobase.i:3: Warning 401: Nothing known about base class 'Bar'. Ignored.