From 78251af60c13dcfa6fdd5b0777e96ab55726f2e1ad8b534c771e44102cb5d5ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ismail=20D=C3=B6nmez?= Date: Wed, 27 Aug 2014 19:35:46 +0000 Subject: [PATCH] Accepting request 246524 from home:mlschroe:branches:devel:tools:building -> OBS-URL: https://build.opensuse.org/request/show/246524 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/swig?expand=0&rev=69 --- nested_classes.diff | 20 ++++++++++++++++++++ swig.changes | 6 ++++++ swig.spec | 2 ++ 3 files changed, 28 insertions(+) create mode 100644 nested_classes.diff diff --git a/nested_classes.diff b/nested_classes.diff new file mode 100644 index 0000000..a656d89 --- /dev/null +++ b/nested_classes.diff @@ -0,0 +1,20 @@ +--- ./Source/CParse/parser.c.orig 2014-08-26 12:24:53.381788068 +0000 ++++ ./Source/CParse/parser.c 2014-08-26 12:36:45.700287073 +0000 +@@ -1065,7 +1065,7 @@ static Node *nested_forward_declaration( + } + } + +- if (!GetFlag(currentOuterClass, "nested")) { ++ if (!currentOuterClass || !GetFlag(currentOuterClass, "nested")) { + if (nn && Equal(nodeType(nn), "classforward")) { + Node *n = nn; + SWIG_WARN_NODE_BEGIN(n); +@@ -7562,6 +7562,8 @@ yyreduce: + } else if (nscope_inner) { + /* this is tricky */ + /* we add the declaration in the original namespace */ ++ if (Strcmp(nodeType(nscope_inner), "class") == 0 && cparse_cplusplus && ignore_nested_classes && !GetFlag((yyval.node), "feature:flatnested")) ++ (yyval.node) = nested_forward_declaration((yyvsp[(1) - (9)].id), (yyvsp[(2) - (9)].id), (yyvsp[(3) - (9)].str), Copy((yyvsp[(3) - (9)].str)), (yyvsp[(9) - (9)].node)); + appendChild(nscope_inner, (yyval.node)); + Swig_symbol_setscope(Getattr(nscope_inner, "symtab")); + Delete(Namespaceprefix); diff --git a/swig.changes b/swig.changes index db97070..2e23d47 100644 --- a/swig.changes +++ b/swig.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Aug 25 14:17:29 CEST 2014 - mls@suse.de + +- support nested classes in ruby [bnc#892480] + new patch: nested_classes.diff + ------------------------------------------------------------------- Thu Jun 5 07:20:40 UTC 2014 - kkaempf@suse.com diff --git a/swig.spec b/swig.spec index ce1922e..967ad4a 100644 --- a/swig.spec +++ b/swig.spec @@ -25,6 +25,7 @@ Group: Development/Languages/C and C++ Url: http://www.swig.org/ Source: http://sourceforge.net/projects/swig/files/swig/%{name}-%{version}/%{name}-%{version}.tar.gz Source1: %{name}.rpmlintrc +Patch: nested_classes.diff BuildRequires: autoconf BuildRequires: automake BuildRequires: boost-devel @@ -119,6 +120,7 @@ understandig SWIG usage. %prep %setup -q +%patch %build %configure --disable-ccache