diff options
author | 2011-11-13 12:04:42 +0000 | |
---|---|---|
committer | 2011-11-13 12:04:42 +0000 | |
commit | f228f8eb1fb6ed294e37d40fdc4c429fa51e6e00 (patch) | |
tree | a0a438d349a74cd94dec7b0d72b846fe381f2780 /dev-lang/swig | |
parent | New version, thanks to Anthoine Bourgeois <anthoine.bourgeois@gmail.com> and ... (diff) | |
download | gentoo-2-f228f8eb1fb6ed294e37d40fdc4c429fa51e6e00.tar.gz gentoo-2-f228f8eb1fb6ed294e37d40fdc4c429fa51e6e00.tar.bz2 gentoo-2-f228f8eb1fb6ed294e37d40fdc4c429fa51e6e00.zip |
Backport upstream fix for bug 357483, acked by pchrist
(Portage version: 2.1.10.34/cvs/Linux x86_64)
Diffstat (limited to 'dev-lang/swig')
-rw-r--r-- | dev-lang/swig/ChangeLog | 8 | ||||
-rw-r--r-- | dev-lang/swig/files/swig-2.0.4-typedef.patch | 46 | ||||
-rw-r--r-- | dev-lang/swig/swig-2.0.4-r1.ebuild | 37 |
3 files changed, 90 insertions, 1 deletions
diff --git a/dev-lang/swig/ChangeLog b/dev-lang/swig/ChangeLog index b7fd03c1fc3c..b23cf3409591 100644 --- a/dev-lang/swig/ChangeLog +++ b/dev-lang/swig/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-lang/swig # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/swig/ChangeLog,v 1.157 2011/07/17 10:24:43 xarthisius Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/swig/ChangeLog,v 1.158 2011/11/13 12:04:42 dilfridge Exp $ + +*swig-2.0.4-r1 (13 Nov 2011) + + 13 Nov 2011; Andreas K. Huettel <dilfridge@gentoo.org> +swig-2.0.4-r1.ebuild, + +files/swig-2.0.4-typedef.patch: + Backport upstream fix for bug 357483, acked by pchrist 17 Jul 2011; Kacper Kowalik <xarthisius@gentoo.org> swig-2.0.2.ebuild: ppc/ppc64 stable wrt #365315 diff --git a/dev-lang/swig/files/swig-2.0.4-typedef.patch b/dev-lang/swig/files/swig-2.0.4-typedef.patch new file mode 100644 index 000000000000..7eaabd5411de --- /dev/null +++ b/dev-lang/swig/files/swig-2.0.4-typedef.patch @@ -0,0 +1,46 @@ +Index: Source/Swig/stype.c +=================================================================== +--- Source/Swig/stype.c (Revision 12813) ++++ Source/Swig/stype.c (Revision 12814) +@@ -823,7 +823,8 @@ + 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 @@ + cast = NewStringf("(%s)", result); + } + if (name) { +- if (!isfunction) { +- if (isreference) { +- Append(cast, "*"); +- } ++ if (isreference) { ++ Append(cast, "*"); + } + Append(cast, name); + } +Index: Examples/test-suite/funcptr_cpp.i +=================================================================== +--- Examples/test-suite/funcptr_cpp.i (Revision 12813) ++++ Examples/test-suite/funcptr_cpp.i (Revision 12814) +@@ -20,3 +20,14 @@ + %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; } ++%} ++ diff --git a/dev-lang/swig/swig-2.0.4-r1.ebuild b/dev-lang/swig/swig-2.0.4-r1.ebuild new file mode 100644 index 000000000000..ffaaf557a06d --- /dev/null +++ b/dev-lang/swig/swig-2.0.4-r1.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/swig/swig-2.0.4-r1.ebuild,v 1.1 2011/11/13 12:04:42 dilfridge Exp $ + +EAPI="3" + +inherit base + +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 ~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 )" +RDEPEND="${DEPEND}" + +PATCHES=( "${FILESDIR}/${P}-typedef.patch" ) + +src_configure() { + econf \ + --disable-dependency-tracking \ + $(use_enable ccache) \ + $(use_with pcre) +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + dodoc ANNOUNCE CHANGES CHANGES.current README TODO || die "dodoc failed" + if use doc; then + dohtml -r Doc/{Devel,Manual} || die "dohtml failed" + fi +} |