Bug#849932: libindicate: FTBFS (Fields cannot have void type)

2017-04-03 Thread Gilles Filippini
On Mon, 27 Mar 2017 22:43:32 +0200 Andreas Henriksson  wrote:
> Hello Gilles Filippini,
> 
> Thanks for your thorough investigations.
> 
> On Fri, Feb 03, 2017 at 12:19:26AM +0100, Gilles Filippini wrote:
> [...]
> > > This is caused by gtk-sharp2 2.12.40 generating this line in file 
> > > ListenerServer.cs:
> > > static void _gtype = new void 
> > > (indicate_listener_server_get_type(listener == null ? IntPtr.Zero : 
> > > listener.Handle, server == null ? IntPtr.Zero : server.Handle, 
> > > cb_wrapper.NativeDelegate, IntPtr.Zero));
> > > 
> > > This line doesn't appear when building against the previous gtk-sharp2 
> > > release from snapshot.d.o (2.12.10). According to [1] it works with 
> > > gtk-sharp2 2.12.29 as well. A bisect between releases 2.12.29 and 2.12.40 
> > > of gtk-sharp2 might give something.
> [...]
> 
> I have no idea what I'm doing here, but attached is my naive attempt.
> The solution looked obvious enough based on all your previous input.
> 
> Could you please test if this solves the issue with libindicate for you?

Upstream has applied the patch to their 2.12 branch [1].

[1] 
https://github.com/mono/gtk-sharp/commit/f03881939ec60cb829177d2213c6189de94f4bb9

Thanks,

_g.



signature.asc
Description: OpenPGP digital signature


Bug#849932: libindicate: FTBFS (Fields cannot have void type)

2017-03-28 Thread Gilles Filippini
Andreas Henriksson a écrit le 27/03/2017 à 22:43 :
> Hello Gilles Filippini,
> 
> Thanks for your thorough investigations.
> 
> On Fri, Feb 03, 2017 at 12:19:26AM +0100, Gilles Filippini wrote:
> [...]
>>> This is caused by gtk-sharp2 2.12.40 generating this line in file 
>>> ListenerServer.cs:
>>> static void _gtype = new void 
>>> (indicate_listener_server_get_type(listener == null ? IntPtr.Zero : 
>>> listener.Handle, server == null ? IntPtr.Zero : server.Handle, 
>>> cb_wrapper.NativeDelegate, IntPtr.Zero));
>>>
>>> This line doesn't appear when building against the previous gtk-sharp2 
>>> release from snapshot.d.o (2.12.10). According to [1] it works with 
>>> gtk-sharp2 2.12.29 as well. A bisect between releases 2.12.29 and 2.12.40 
>>> of gtk-sharp2 might give something.
> [...]
> 
> I have no idea what I'm doing here, but attached is my naive attempt.
> The solution looked obvious enough based on all your previous input.
> 
> Could you please test if this solves the issue with libindicate for you?

Yes, it works fine for libindicate.

Thanks,

_g.




signature.asc
Description: OpenPGP digital signature


Bug#849932: libindicate: FTBFS (Fields cannot have void type)

2017-03-27 Thread Andreas Henriksson
Hello Gilles Filippini,

Thanks for your thorough investigations.

On Fri, Feb 03, 2017 at 12:19:26AM +0100, Gilles Filippini wrote:
[...]
> > This is caused by gtk-sharp2 2.12.40 generating this line in file 
> > ListenerServer.cs:
> > static void _gtype = new void 
> > (indicate_listener_server_get_type(listener == null ? IntPtr.Zero : 
> > listener.Handle, server == null ? IntPtr.Zero : server.Handle, 
> > cb_wrapper.NativeDelegate, IntPtr.Zero));
> > 
> > This line doesn't appear when building against the previous gtk-sharp2 
> > release from snapshot.d.o (2.12.10). According to [1] it works with 
> > gtk-sharp2 2.12.29 as well. A bisect between releases 2.12.29 and 2.12.40 
> > of gtk-sharp2 might give something.
[...]

I have no idea what I'm doing here, but attached is my naive attempt.
The solution looked obvious enough based on all your previous input.

Could you please test if this solves the issue with libindicate for you?

Regards,
Andreas Henriksson
diff -Nru gtk-sharp2-2.12.40/debian/changelog 
gtk-sharp2-2.12.40/debian/changelog
--- gtk-sharp2-2.12.40/debian/changelog 2016-11-15 14:04:31.0 +0100
+++ gtk-sharp2-2.12.40/debian/changelog 2017-03-27 22:19:06.0 +0200
@@ -1,3 +1,10 @@
+gtk-sharp2 (2.12.40-1.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Add debian/patches/no-void-cachetype.patch (Closes: #849932)
+
+ -- Andreas Henriksson   Mon, 27 Mar 2017 22:19:06 +0200
+
 gtk-sharp2 (2.12.40-1) unstable; urgency=medium
 
   * The "from Hong Kong's hackerspace DimSumLabs with love" release
diff -Nru gtk-sharp2-2.12.40/debian/patches/no-void-cachetype.patch 
gtk-sharp2-2.12.40/debian/patches/no-void-cachetype.patch
--- gtk-sharp2-2.12.40/debian/patches/no-void-cachetype.patch   1970-01-01 
01:00:00.0 +0100
+++ gtk-sharp2-2.12.40/debian/patches/no-void-cachetype.patch   2017-03-27 
22:19:06.0 +0200
@@ -0,0 +1,24 @@
+Don't generate return variable for void types
+
+Closes: #849932
+
+--- a/generator/Method.cs
 b/generator/Method.cs
+@@ -54,7 +54,7 @@
+ 
+   if (Name == "GetType") {
+   Name = "GetGType";
+-  cacheValue = !(container_type is StructBase);
++  cacheValue = !(container_type is StructBase) && 
!retval.IsVoid;
+   cacheName = "_gtype";
+   }
+   }
+@@ -220,7 +220,7 @@
+   public void GenerateCacheValue (StreamWriter sw)
+   {
+   if (!cacheValue)
+-  return;
++  return;
+   sw.WriteLine ("\t\tstatic {0} {1} = new {0} ({2});", 
retval.CSType, cacheName, CName + call);
+   }
+ 
diff -Nru gtk-sharp2-2.12.40/debian/patches/series 
gtk-sharp2-2.12.40/debian/patches/series
--- gtk-sharp2-2.12.40/debian/patches/series2016-11-15 14:04:31.0 
+0100
+++ gtk-sharp2-2.12.40/debian/patches/series2017-03-27 22:07:20.0 
+0200
@@ -1,3 +1,4 @@
 01_dllmaps
 02_pcfiles
 03_missing_gtk-sharp_dllmap_entry
+no-void-cachetype.patch


Bug#849932: libindicate: FTBFS (Fields cannot have void type)

2017-02-02 Thread Gilles Filippini
Control: reassign -1 gtk-sharp2-gapi
Control: affects -1 src:libindicate
Control: retitle -1 gtk-sharp2-gapi: gapi2-codegen generates fields with void 
type

Gilles Filippini a écrit le 01/02/2017 à 00:05 :
> On Mon, 02 Jan 2017 12:01:41 + Santiago Vila  wrote:
>> I tried to build this package in stretch with "dpkg-buildpackage -A"
>> (which is what the "Arch: all" autobuilder would do to build it)
>> but it failed:
[snip]
>> /usr/bin/mono-csc  
>> -keyfile:/<>/./bindings/mono/indicate/indicate.snk 
>> -nowarn:0169,0612,0618 -unsafe -out:indicate-sharp.dll -target:library 
>> -r:/usr/lib/pkgconfig/../../lib/cli/pango-sharp-2.0/pango-sharp.dll 
>> -r:/usr/lib/pkgconfig/../../lib/cli/atk-sharp-2.0/atk-sharp.dll 
>> -r:/usr/lib/pkgconfig/../../lib/cli/gdk-sharp-2.0/gdk-sharp.dll 
>> -r:/usr/lib/pkgconfig/../../lib/cli/gtk-sharp-2.0/gtk-sharp.dll 
>> -r:/usr/lib/pkgconfig/../../lib/cli/glib-sharp-2.0/glib-sharp.dll 
>> ./generated/*.cs AssemblyInfo.cs
>> ./generated/ListenerServer.cs(62,10): error CS0670: Fields cannot have void 
>> type
>> ./generated/ListenerServer.cs(62,28): error CS1547: Keyword `void' cannot be 
>> used in this context
[snip]
> 
> This is caused by gtk-sharp2 2.12.40 generating this line in file 
> ListenerServer.cs:
> static void _gtype = new void 
> (indicate_listener_server_get_type(listener == null ? IntPtr.Zero : 
> listener.Handle, server == null ? IntPtr.Zero : server.Handle, 
> cb_wrapper.NativeDelegate, IntPtr.Zero));
> 
> This line doesn't appear when building against the previous gtk-sharp2 
> release from snapshot.d.o (2.12.10). According to [1] it works with 
> gtk-sharp2 2.12.29 as well. A bisect between releases 2.12.29 and 2.12.40 of 
> gtk-sharp2 might give something.
> 
> [1] https://github.com/chenxiaolong/Unity-for-Arch/issues/243

I've setup a simple testcase (xml file attached) to run with:
$ gapi2-codegen --generate indicate-api.xml --outdir=.

I've used it to bisect gtk-sharp2 releases, and I've found out that the error 
is introduced by gtk-sharp2 upstream commit dd4c742 [1].

[1] 
https://github.com/mono/gtk-sharp/commit/dd4c74292e9a91461a778f1759b64facf7cf68ac

Then reassigning this bug to gtk-sharp2-gapi.

Thanks,

_g.


  

  

  


  

  



signature.asc
Description: OpenPGP digital signature


Bug#849932: libindicate: FTBFS (Fields cannot have void type)

2017-01-31 Thread Gilles Filippini
On Mon, 02 Jan 2017 12:01:41 + Santiago Vila  wrote:
> Package: src:libindicate
> Version: 0.6.92-3
> Severity: serious
> 
> Dear maintainer:
> 
> I tried to build this package in stretch with "dpkg-buildpackage -A"
> (which is what the "Arch: all" autobuilder would do to build it)
> but it failed:
> 
> 
> [...]
>  debian/rules build-indep
> CDBS WARNING:simple-patchsys.mk is deprecated since 0.4.85 - please use 
> source format 3.0 (quilt) instead
> test -x debian/rules
> mkdir -p "build"
> CDBS WARNING:DEB_DH_BUILDDEB_ARGS is deprecated since 0.4.85
> mkdir -p debian/stamp-makefile-build debian/stamp-makefile-install
> mkdir -p debian/stamp-makefile-check
> mkdir -p debian/stamp-autotools
> /usr/bin/make -f debian/rules reverse-config
> make[1]: Entering directory '/<>'
> CDBS WARNING:simple-patchsys.mk is deprecated since 0.4.85 - please use 
> source format 3.0 (quilt) instead
> set -e;
> if test -e debian/autoreconf.before; then \
> 
> [... snipped ...]
> 
> && touch generated-stamp
> Name: propertydata Type: GVariant*  in callback 
> indicate_listener_get_property_variant_cb
> Name: value Type: GVariant**  in callback 
> indicate_server_get_indicator_property_group_slot_t
> rettype: GVariant* in method GetPropertyVariant in type Indicate.Indicator
> Name: value Type: GVariant* in indicate_indicator_set_property_variant  in 
> method SetPropertyVariant in type Indicate.Indicator
> Name: menu Type: DbusmenuServer* in indicate_server_set_menu  in method 
> SetMenu in type Indicate.Server
> Name: propertydata Type: GVariant*  in callback GetPropertyVariantCallback
> Defaulting GetPropertyTimeCallback param to 'call' scope in method 
> Listener.GetPropertyTime
> Defaulting GetPropertyIntCallback param to 'call' scope in method 
> Listener.GetPropertyInt
> Defaulting GetPropertyCallback param to 'call' scope in method 
> Listener.GetProperty
> Defaulting GetPropertyBoolCallback param to 'call' scope in method 
> Listener.GetPropertyBool
> Defaulting GetCountCallback param to 'call' scope in method 
> ListenerServer.GetCount
> Defaulting GetDesktopCallback param to 'call' scope in method 
> ListenerServer.GetDesktop
> Defaulting GetTypeCallback param to 'call' scope in method 
> ListenerServer.GetGType
> Defaulting GetMenuCallback param to 'call' scope in method 
> ListenerServer.GetMenu
> Defaulting GetIconThemeCallback param to 'call' scope in method 
> ListenerServer.GetIconTheme
> 
> Generation Summary:
>   Enums: 1  Structs: 0  Boxed: 0  Opaques: 2  Interfaces: 0  Objects: 3  
> Callbacks: 18
>   Properties: 0  Signals: 2  Methods: 54  Constructors: 3  Throttled: 5
> Total Nodes: 88
> 
> /usr/bin/mono-csc  
> -keyfile:/<>/./bindings/mono/indicate/indicate.snk 
> -nowarn:0169,0612,0618 -unsafe -out:indicate-sharp.dll -target:library 
> -r:/usr/lib/pkgconfig/../../lib/cli/pango-sharp-2.0/pango-sharp.dll 
> -r:/usr/lib/pkgconfig/../../lib/cli/atk-sharp-2.0/atk-sharp.dll 
> -r:/usr/lib/pkgconfig/../../lib/cli/gdk-sharp-2.0/gdk-sharp.dll 
> -r:/usr/lib/pkgconfig/../../lib/cli/gtk-sharp-2.0/gtk-sharp.dll 
> -r:/usr/lib/pkgconfig/../../lib/cli/glib-sharp-2.0/glib-sharp.dll 
> ./generated/*.cs AssemblyInfo.cs
> ./generated/ListenerServer.cs(62,10): error CS0670: Fields cannot have void 
> type
> ./generated/ListenerServer.cs(62,28): error CS1547: Keyword `void' cannot be 
> used in this context
> Compilation failed: 2 error(s), 0 warnings
> Makefile:854: recipe for target 'indicate-sharp.dll' failed
> make[6]: *** [indicate-sharp.dll] Error 1
> make[6]: Leaving directory 
> '/<>/build/gtk2/bindings/mono/indicate'
> Makefile:546: recipe for target 'all-recursive' failed
> make[5]: *** [all-recursive] Error 1
> make[5]: Leaving directory 
> '/<>/build/gtk2/bindings/mono/indicate'

This is caused by gtk-sharp2 2.12.40 generating this line in file 
ListenerServer.cs:
static void _gtype = new void 
(indicate_listener_server_get_type(listener == null ? IntPtr.Zero : 
listener.Handle, server == null ? IntPtr.Zero : server.Handle, 
cb_wrapper.NativeDelegate, IntPtr.Zero));

This line doesn't appear when building against the previous gtk-sharp2 release 
from snapshot.d.o (2.12.10). According to [1] it works with gtk-sharp2 2.12.29 
as well. A bisect between releases 2.12.29 and 2.12.40 of gtk-sharp2 might give 
something.

[1] https://github.com/chenxiaolong/Unity-for-Arch/issues/243

Thanks,

_g.



signature.asc
Description: OpenPGP digital signature


Bug#849932: libindicate: FTBFS (Fields cannot have void type)

2017-01-02 Thread Santiago Vila
Package: src:libindicate
Version: 0.6.92-3
Severity: serious

Dear maintainer:

I tried to build this package in stretch with "dpkg-buildpackage -A"
(which is what the "Arch: all" autobuilder would do to build it)
but it failed:


[...]
 debian/rules build-indep
CDBS WARNING:simple-patchsys.mk is deprecated since 0.4.85 - please use 
source format 3.0 (quilt) instead
test -x debian/rules
mkdir -p "build"
CDBS WARNING:DEB_DH_BUILDDEB_ARGS is deprecated since 0.4.85
mkdir -p debian/stamp-makefile-build debian/stamp-makefile-install
mkdir -p debian/stamp-makefile-check
mkdir -p debian/stamp-autotools
/usr/bin/make -f debian/rules reverse-config
make[1]: Entering directory '/<>'
CDBS WARNING:simple-patchsys.mk is deprecated since 0.4.85 - please use 
source format 3.0 (quilt) instead
set -e;
if test -e debian/autoreconf.before; then \

[... snipped ...]

&& touch generated-stamp
Name: propertydata Type: GVariant*  in callback 
indicate_listener_get_property_variant_cb
Name: value Type: GVariant**  in callback 
indicate_server_get_indicator_property_group_slot_t
rettype: GVariant* in method GetPropertyVariant in type Indicate.Indicator
Name: value Type: GVariant* in indicate_indicator_set_property_variant  in 
method SetPropertyVariant in type Indicate.Indicator
Name: menu Type: DbusmenuServer* in indicate_server_set_menu  in method SetMenu 
in type Indicate.Server
Name: propertydata Type: GVariant*  in callback GetPropertyVariantCallback
Defaulting GetPropertyTimeCallback param to 'call' scope in method 
Listener.GetPropertyTime
Defaulting GetPropertyIntCallback param to 'call' scope in method 
Listener.GetPropertyInt
Defaulting GetPropertyCallback param to 'call' scope in method 
Listener.GetProperty
Defaulting GetPropertyBoolCallback param to 'call' scope in method 
Listener.GetPropertyBool
Defaulting GetCountCallback param to 'call' scope in method 
ListenerServer.GetCount
Defaulting GetDesktopCallback param to 'call' scope in method 
ListenerServer.GetDesktop
Defaulting GetTypeCallback param to 'call' scope in method 
ListenerServer.GetGType
Defaulting GetMenuCallback param to 'call' scope in method 
ListenerServer.GetMenu
Defaulting GetIconThemeCallback param to 'call' scope in method 
ListenerServer.GetIconTheme

Generation Summary:
  Enums: 1  Structs: 0  Boxed: 0  Opaques: 2  Interfaces: 0  Objects: 3  
Callbacks: 18
  Properties: 0  Signals: 2  Methods: 54  Constructors: 3  Throttled: 5
Total Nodes: 88

/usr/bin/mono-csc  
-keyfile:/<>/./bindings/mono/indicate/indicate.snk 
-nowarn:0169,0612,0618 -unsafe -out:indicate-sharp.dll -target:library 
-r:/usr/lib/pkgconfig/../../lib/cli/pango-sharp-2.0/pango-sharp.dll 
-r:/usr/lib/pkgconfig/../../lib/cli/atk-sharp-2.0/atk-sharp.dll 
-r:/usr/lib/pkgconfig/../../lib/cli/gdk-sharp-2.0/gdk-sharp.dll 
-r:/usr/lib/pkgconfig/../../lib/cli/gtk-sharp-2.0/gtk-sharp.dll 
-r:/usr/lib/pkgconfig/../../lib/cli/glib-sharp-2.0/glib-sharp.dll 
./generated/*.cs AssemblyInfo.cs
./generated/ListenerServer.cs(62,10): error CS0670: Fields cannot have void type
./generated/ListenerServer.cs(62,28): error CS1547: Keyword `void' cannot be 
used in this context
Compilation failed: 2 error(s), 0 warnings
Makefile:854: recipe for target 'indicate-sharp.dll' failed
make[6]: *** [indicate-sharp.dll] Error 1
make[6]: Leaving directory '/<>/build/gtk2/bindings/mono/indicate'
Makefile:546: recipe for target 'all-recursive' failed
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory '/<>/build/gtk2/bindings/mono/indicate'
Makefile:426: recipe for target 'all-recursive' failed
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory '/<>/build/gtk2/bindings/mono'
Makefile:428: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/<>/build/gtk2/bindings'
Makefile:489: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/<>/build/gtk2'
Makefile:421: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/<>/build/gtk2'
/usr/share/cdbs/1/class/makefile.mk:77: recipe for target 
'debian/stamp-makefile-build/gtk2' failed
make: *** [debian/stamp-makefile-build/gtk2] Error 2
dpkg-buildpackage: error: debian/rules build-indep gave error exit status 2


The relevant part of the build log is included above.

If this is really a bug in one of the build-depends, please use reassign and 
affects,
so that this is still visible in the page for this package.

If you could not reproduce this using sbuild on a single CPU virtual machine 
(as I did),
please do not downgrade or mark as unreproducible, I would then consider giving 
you access
to a virtual machine on which I can reproduce it so that you can as well.
(In such case, please contact me off-list for details).

Thanks.