[dev-lang/swig] revbump from tree for py3k breakage in znc

This commit is contained in:
Robert Förster 2012-08-08 09:30:54 +02:00
parent 1bc6e89149
commit 31eabf0228
5 changed files with 164 additions and 0 deletions

1
dev-lang/swig/Manifest Normal file
View File

@ -0,0 +1 @@
DIST swig-2.0.7.tar.gz 5281076 SHA256 ac1f29be405d78b3848c8ba76add2deffc2cdc166c9a1773eda7972ba3898967 SHA512 cfb36dcd16f144d32782806f303979ef69ed0ad6a16ec9bcfdf9513a048f928e8509268a0cb39a80e9b602f74f0c404ba9fe448d57e21eb8871f9756fd278250 WHIRLPOOL e5d7783e1500e55078b52782556353b477edf45702f32ce1da978c70daa499d25cb5aa7ac19fd1c954094280439845836fb3bf85b8b91c7564834bd2b1106946

View File

@ -0,0 +1,66 @@
Index: Source/Modules/lang.cxx
===================================================================
--- Source/Modules/lang.cxx (revision 13127)
+++ Source/Modules/lang.cxx (revision 13128)
@@ -2623,7 +2623,7 @@
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 @@
}
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;
Index: Examples/test-suite/errors/expected.log
===================================================================
--- Examples/test-suite/errors/expected.log (revision 13127)
+++ Examples/test-suite/errors/expected.log (revision 13128)
@@ -227,17 +227,17 @@
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_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.

View File

@ -0,0 +1,34 @@
Index: Lib/python/std_set.i
===================================================================
--- Lib/python/std_set.i (revision 13476)
+++ Lib/python/std_set.i (working copy)
@@ -49,6 +49,14 @@
return *(swig::cgetpos(self, i));
}
+ void add(value_type x) {
+ self->insert(x);
+ }
+
+ void discard(value_type x) {
+ self->erase(x);
+ }
+
};
%enddef
Index: Lib/python/pyrun.swg
===================================================================
--- Lib/python/pyrun.swg (revision 13476)
+++ Lib/python/pyrun.swg (working copy)
@@ -1331,6 +1331,9 @@
} else {
#if PY_VERSION_HEX >= 0x03000000
inst = PyBaseObject_Type.tp_new((PyTypeObject*) data->newargs, Py_None, Py_None);
+ if (PyErr_Occurred()) {
+ PyErr_Print();
+ }
PyObject_SetAttr(inst, SWIG_This(), swig_this);
Py_TYPE(inst)->tp_flags &= ~Py_TPFLAGS_VALID_VERSION_TAG;
#else

View File

@ -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 <torsten@debian.org>
--- 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)

View File

@ -0,0 +1,45 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=4
inherit eutils
DESCRIPTION="Simplified Wrapper and Interface Generator"
HOMEPAGE="http://www.swig.org/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="GPL-3 as-is"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="ccache doc pcre"
RESTRICT="test"
DEPEND="pcre? ( dev-libs/libpcre )
ccache? ( sys-libs/zlib )"
RDEPEND="${DEPEND}"
DOCS=( ANNOUNCE CHANGES CHANGES.current README TODO )
src_prepare() {
# bug 417823
epatch "${FILESDIR}"/${PN}-2.0.7-illegal-destructors-warning.patch
# bug 426428
epatch "${FILESDIR}"/${P}-python3.patch
# znc
epatch "${FILESDIR}"/${PN}-2.0.7-python-znc.patch
}
src_configure() {
econf \
$(use_enable ccache) \
$(use_with pcre)
}
src_install() {
default
if use doc; then
dohtml -r Doc/{Devel,Manual}
fi
}