From 61c921e5b28bad5943062279dae925c6724bfb82 Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Mon, 3 Nov 2014 15:48:39 +0100 Subject: [PATCH 01/66] Mark deprecated functions as Obsolete --- parser/gapi_pp.pl | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/parser/gapi_pp.pl b/parser/gapi_pp.pl index faafc9832..6cee3d116 100755 --- a/parser/gapi_pp.pl +++ b/parser/gapi_pp.pl @@ -26,7 +26,7 @@ $private_regex = '^#if.*(ENABLE_BACKEND|ENABLE_ENGINE)'; $eatit_regex = '^#if(.*(__cplusplus|DEBUG|DISABLE_COMPAT|ENABLE_BROKEN)|\s+0\s*$)'; -$ignoreit_regex = '^\s+\*|#ident|#error|#\s*include|#\s*else|#\s*undef|G_(BEGIN|END)_DECLS|GDKVAR|GTKVAR|GTKMAIN_C_VAR|GTKTYPEUTILS_VAR|VARIABLE|GTKTYPEBUILTIN|G_GNUC_INTERNAL'; +$ignoreit_regex = '^\s+\*|#ident|#error|#\s*include|#\s*import|#\s*else|#\s*undef|G_(BEGIN|END)_DECLS|GDKVAR|GTKVAR|GTKMAIN_C_VAR|GTKTYPEUTILS_VAR|VARIABLE|GTKTYPEBUILTIN|G_GNUC_INTERNAL'; foreach $arg (@ARGV) { if (-d $arg && -e $arg) { @@ -74,6 +74,8 @@ print $def; } elsif ($line =~ /#\s*define\s+\w+\s*\(\s*\w+_get_type\s*\(\)\)/) { print $line; + } elsif ($line =~ /#\s*define\s+(\w+\s*)\(\(.*\)(".*")\)/) { + print "#define $1 $2\n"; } elsif ($line =~ /#\s*define\s+\w+\s*\D+/) { $def = $line; while ($line =~ /\\\n/) {$def .= ($line = );} @@ -178,7 +180,21 @@ } else { if ($braces or $line =~ /;|\/\*/) { if ($deprecated == -1) { - print $line; + if ($line =~ /^\w*_AVAILABLE_IN_\w*/) { + $line =~ s/^\w*_AVAILABLE_IN_\w*//g; + $line =~ s/^\s+//; + print $line; + } elsif ($line =~ /^\w*_DEPRECATED_IN_[\w()]*/) { + $line =~ s/^\w*_DEPRECATED_IN_[\w()]*//g; + $line =~ s/^\s+//; + print "deprecated$line"; + } elsif ($line =~ /^\w*_DEPRECATED/) { + $line =~ s/^\w*_DEPRECATED//g; + $line =~ s/^\s+//; + print "deprecated$line"; + } else { + print $line; + } } else { print "deprecated$line"; } From 5fc657a39cd48ca595992f6bdcbf7bea2c348aed Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Mon, 3 Nov 2014 15:50:20 +0100 Subject: [PATCH 02/66] Generator problems in GtkWidgetClass --- generator/ObjectBase.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generator/ObjectBase.cs b/generator/ObjectBase.cs index 1db78d59b..d8965f8a4 100644 --- a/generator/ObjectBase.cs +++ b/generator/ObjectBase.cs @@ -183,7 +183,7 @@ public bool CanGenerateClassStruct { * as they may contain class fields which don't appear in the old (version 1) API files. There are also cases in which the order of the * and elements do not match the struct layout. */ - return (is_interface || this.ParserVersion >= 2) && class_fields_valid; + return (is_interface || this.ParserVersion >= 2) && (class_fields_valid || class_struct_name == "GtkWidgetClass"); } } From d33628d63292327c1cb0f04dd2672c2a6a06188b Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Mon, 3 Nov 2014 15:52:55 +0100 Subject: [PATCH 03/66] Updated to Gtk 3.12 --- atk/atk-api.raw | 492 +- gdk/gdk-api.raw | 742 +- gio/Gio.metadata | 3 + gio/gio-api.raw | 9917 ++++++++++---------- gtk/Gtk.metadata | 30 +- gtk/gtk-api.raw | 5324 +++++++++-- pango/Pango.metadata | 7 +- pango/pango-api.raw | 180 +- sources/Makefile.am | 17 +- sources/gtkselectionprivate-space.patch | 11 + sources/gtktextattributes-gi-scanner.patch | 29 + sources/sources.xml | 60 +- 12 files changed, 10893 insertions(+), 5919 deletions(-) create mode 100644 sources/gtkselectionprivate-space.patch create mode 100644 sources/gtktextattributes-gi-scanner.patch diff --git a/atk/atk-api.raw b/atk/atk-api.raw index 86cf5c8dd..fbb7825ba 100644 --- a/atk/atk-api.raw +++ b/atk/atk-api.raw @@ -138,6 +138,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -180,6 +209,8 @@ + + @@ -228,6 +259,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + @@ -240,28 +296,28 @@ - - + + - + - + - - + + @@ -274,7 +330,6 @@ - @@ -287,19 +342,19 @@ - + - + - + @@ -312,7 +367,7 @@ - + @@ -480,7 +535,7 @@ - + @@ -513,21 +568,6 @@ - - - - - - - - - - - - - - - @@ -542,7 +582,7 @@ - + @@ -583,10 +623,8 @@ - - - - + + @@ -600,8 +638,14 @@ + + + + + + - + @@ -609,7 +653,7 @@ - + @@ -617,7 +661,7 @@ - + @@ -629,6 +673,14 @@ + + + + + + + + @@ -638,15 +690,21 @@ - + + + + - + - + + + + @@ -668,8 +726,6 @@ - - @@ -777,7 +833,6 @@ - @@ -797,9 +852,6 @@ - - - @@ -850,7 +902,6 @@ - @@ -861,7 +912,7 @@ - + @@ -878,7 +929,7 @@ - + @@ -939,8 +990,6 @@ - - @@ -1035,7 +1084,7 @@ - + @@ -1047,7 +1096,7 @@ - + @@ -1071,7 +1120,7 @@ - + @@ -1116,10 +1165,6 @@ - - - - @@ -1214,7 +1259,7 @@ - + @@ -1226,7 +1271,7 @@ - + @@ -1351,7 +1396,7 @@ - + @@ -1376,20 +1421,13 @@ - - - - - - - - + @@ -1511,6 +1549,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1537,7 +1657,7 @@ - + @@ -1546,6 +1666,22 @@ + + + + + + + + + + + + + + + + @@ -1696,6 +1832,15 @@ + + + + + + + + + @@ -1805,38 +1950,20 @@ - - - - - - - - - - - - - - - - - + - + - + - - - - + + @@ -1871,8 +1998,19 @@ - + + + + + + + + + + + + @@ -1903,40 +2041,77 @@ - + - + + - - + + + + + + + + + + + + + + - + + + + + + + + + + + + + - + - + + - + - + - - + + + + + - - + + - + + + + + + + + + @@ -2066,16 +2241,16 @@ - + - + - + @@ -2090,10 +2265,12 @@ + + @@ -2141,8 +2318,8 @@ + - @@ -2202,11 +2379,11 @@ - + - + @@ -2293,6 +2470,10 @@ + + + + @@ -2300,7 +2481,7 @@ - + @@ -2315,18 +2496,15 @@ - - - - - - + + + @@ -2349,6 +2527,9 @@ + + + @@ -2361,7 +2542,7 @@ - + @@ -2567,6 +2748,13 @@ + + + + + + + @@ -2728,10 +2916,10 @@ - + - + @@ -2762,6 +2950,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2773,21 +2988,25 @@ - + - + + + + + - + @@ -2807,12 +3026,27 @@ + + + + + + + + + + + + + + + @@ -2825,7 +3059,7 @@ - + @@ -2861,7 +3095,7 @@ - + @@ -2869,13 +3103,13 @@ - + - + diff --git a/gdk/gdk-api.raw b/gdk/gdk-api.raw index 0dc3efc34..c1ddfa1b4 100644 --- a/gdk/gdk-api.raw +++ b/gdk/gdk-api.raw @@ -28,6 +28,9 @@ + + + @@ -155,7 +158,9 @@ - + + + @@ -165,7 +170,9 @@ + + @@ -195,18 +202,31 @@ + + + + - - - - - + + + + + + + + + + + + + + @@ -242,6 +262,16 @@ + + + + + + + + + + @@ -257,9 +287,23 @@ + + + + + + + + + + + + + + @@ -290,6 +334,7 @@ + @@ -372,6 +417,8 @@ + + @@ -423,6 +470,13 @@ + + + + + + + @@ -469,13 +523,16 @@ - + - - - + + + + + + @@ -486,6 +543,13 @@ + + + + + + + @@ -514,6 +578,14 @@ + + + + + + + + @@ -576,20 +648,20 @@ - - + + - + - - - - + + + + @@ -613,8 +685,8 @@ - - + + @@ -685,6 +757,9 @@ + + + @@ -705,6 +780,14 @@ + + + + + + + + @@ -726,6 +809,13 @@ + + + + + + + @@ -847,14 +937,13 @@ - - + @@ -869,7 +958,7 @@ - + @@ -889,9 +978,10 @@ + - + @@ -902,19 +992,9 @@ - - - - - + - - - - - - @@ -939,6 +1019,10 @@ + + + + @@ -1012,12 +1096,12 @@ - + - - - + + + @@ -1186,7 +1270,7 @@ - + @@ -1328,15 +1412,6 @@ - - - - - - - - - @@ -1346,59 +1421,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1534,6 +1556,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1547,6 +1684,8 @@ + + @@ -1626,6 +1765,16 @@ + + + + + + + + + + @@ -1664,6 +1813,15 @@ + + + + + + + + + @@ -1714,6 +1872,7 @@ + @@ -1731,6 +1890,7 @@ + @@ -1810,6 +1970,13 @@ + + + + + + + @@ -1896,6 +2063,12 @@ + + + + + + @@ -1946,12 +2119,25 @@ + + + + + + + + + + + + + @@ -2190,7 +2376,7 @@ - + @@ -2209,6 +2395,16 @@ + + + + + + + + + + @@ -2231,14 +2427,25 @@ - + + + + + + + + + + + + - + @@ -2263,6 +2470,15 @@ + + + + + + + + + @@ -2277,7 +2493,7 @@ - + @@ -2316,6 +2532,12 @@ + + + + + + @@ -2352,6 +2574,15 @@ + + + + + + + + + @@ -2367,18 +2598,27 @@ + + + + + + + + + @@ -2407,7 +2647,7 @@ - + @@ -2438,6 +2678,9 @@ + + + @@ -2640,7 +2883,7 @@ - + @@ -2655,7 +2898,7 @@ - + @@ -2702,6 +2945,12 @@ + + + + + + @@ -2714,6 +2963,12 @@ + + + + + + @@ -2745,6 +3000,12 @@ + + + + + + @@ -2769,6 +3030,12 @@ + + + + + + @@ -2781,6 +3048,15 @@ + + + + + + + + + @@ -2887,6 +3163,7 @@ + @@ -3063,6 +3340,8 @@ + + @@ -3074,6 +3353,7 @@ + @@ -3081,6 +3361,21 @@ + + + + + + + + + + + + + + + @@ -3094,6 +3389,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3136,8 +3460,6 @@ - - @@ -3236,9 +3558,6 @@ - - - @@ -3268,6 +3587,12 @@ + + + + + + @@ -3345,7 +3670,7 @@ - + @@ -3377,6 +3702,14 @@ + + + + + + + + @@ -3504,6 +3837,20 @@ + + + + + + + + + + + + + + @@ -3518,6 +3865,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3532,6 +3905,21 @@ + + + + + + + + + + + + + + + @@ -3554,6 +3942,12 @@ + + + + + + @@ -3604,6 +3998,12 @@ + + + + + + @@ -3988,16 +4388,16 @@ - + - + - + - + @@ -4192,6 +4592,9 @@ + + + @@ -4224,6 +4627,12 @@ + + + + + + @@ -4292,6 +4701,21 @@ + + + + + + + + + + + + + + + @@ -4299,6 +4723,14 @@ + + + + + + + + @@ -4309,6 +4741,23 @@ + + + + + + + + + + + + + + + + + @@ -4323,9 +4772,6 @@ - - - @@ -4401,6 +4847,24 @@ + + + + + + + + + + + + + + + + + + @@ -4434,9 +4898,6 @@ - - - @@ -4466,12 +4927,33 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gio/Gio.metadata b/gio/Gio.metadata index 6c134cace..57b09f0a8 100644 --- a/gio/Gio.metadata +++ b/gio/Gio.metadata @@ -108,6 +108,7 @@ GUnixFDList Activated Opened + LaunchedFailed AuthenticatedPeerAuthorized IsClosed GetIsClosed @@ -131,6 +132,7 @@ guchar* 1 1 + SetItemsChanged EmitReply guchar* 1 @@ -138,6 +140,7 @@ 1 guchar* 1 + 1 GInetAddress* true true diff --git a/gio/gio-api.raw b/gio/gio-api.raw index c138eddcc..3cfe1cad4 100644 --- a/gio/gio-api.raw +++ b/gio/gio-api.raw @@ -20,6 +20,7 @@ + @@ -58,13 +59,8 @@ - - - - - - - + + @@ -125,6 +121,10 @@ + + + + @@ -153,6 +153,10 @@ + + + + @@ -163,6 +167,8 @@ + + @@ -176,6 +182,8 @@ + + @@ -244,6 +252,12 @@ + + + + + + @@ -258,6 +272,7 @@ + @@ -322,6 +337,11 @@ + + + + + @@ -356,6 +376,24 @@ + + + + + + + + + + + + + + + + + + @@ -364,6 +402,17 @@ + + + + + + + + + + + @@ -389,6 +438,20 @@ + + + + + + + + + + + + + + @@ -404,6 +467,16 @@ + + + + + + + + + + @@ -413,6 +486,17 @@ + + + + + + + + + + + @@ -438,47 +522,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -486,101 +529,22 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - + - - + + + + @@ -662,6 +626,15 @@ + + + + + + + + + @@ -671,14 +644,14 @@ - + - - - + + + - + @@ -703,7 +676,7 @@ - + @@ -721,6 +694,12 @@ + + + + + + @@ -742,10 +721,26 @@ - - + + - + + + + + + + + + + + + + + + + + @@ -765,6 +760,7 @@ + @@ -789,7 +785,7 @@ - + @@ -846,6 +842,17 @@ + + + + + + + + + + + @@ -928,6 +935,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -954,6 +1027,7 @@ + @@ -1068,6 +1142,10 @@ + + + + @@ -1157,6 +1235,9 @@ + + + @@ -1315,6 +1396,7 @@ + @@ -1324,6 +1406,12 @@ + + + + + + @@ -1333,6 +1421,18 @@ + + + + + + + + + + + + @@ -1377,27 +1477,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -1430,6 +1509,8 @@ + + @@ -1591,6 +1672,14 @@ + + + + + + + + @@ -1606,22 +1695,6 @@ - - - - - - - - - - - - - - - - @@ -1654,9 +1727,15 @@ + + + + + + @@ -1781,14 +1860,14 @@ - - + + - - + + - - + + @@ -1828,6 +1907,9 @@ + + + @@ -2203,11 +2285,21 @@ - + + + + + + + - - + + + + + + @@ -2216,11 +2308,21 @@ - + + + + + + + - - + + + + + + @@ -2229,11 +2331,21 @@ - + + + + + + + - - + + + + + + @@ -2539,8 +2651,43 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2661,25 +2808,25 @@ - - - - + - + - + + + + @@ -2874,6 +3021,22 @@ + + + + + + + + + + + + + + + + @@ -2889,6 +3052,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2947,6 +3145,12 @@ + + + + + + @@ -2957,6 +3161,13 @@ + + + + + + + @@ -3158,6 +3369,18 @@ + + + + + + + + + + + + @@ -3376,16 +3599,16 @@ - + - + - + @@ -3433,6 +3656,7 @@ + @@ -3460,6 +3684,16 @@ + + + + + + + + + + @@ -3481,6 +3715,9 @@ + + + @@ -3626,6 +3863,8 @@ + + @@ -3782,28 +4021,20 @@ + + + + + + + + - - - - - - - - - - - - - - - - @@ -3836,6 +4067,12 @@ + + + + + + @@ -3892,22 +4129,6 @@ - - - - - - - - - - - - - - - - @@ -3929,116 +4150,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4285,6 +4396,8 @@ + + @@ -4299,6 +4412,13 @@ + + + + + + + @@ -4308,6 +4428,12 @@ + + + + + + @@ -4405,6 +4531,8 @@ + + @@ -4510,28 +4638,20 @@ + + + + + + + + - - - - - - - - - - - - - - - - @@ -4573,6 +4693,12 @@ + + + + + + @@ -4635,7 +4761,11 @@ - + + + + + @@ -4644,7 +4774,11 @@ - + + + + + @@ -4666,6 +4800,12 @@ + + + + + + @@ -4699,15 +4839,52 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4732,6 +4909,9 @@ + + + @@ -4746,6 +4926,9 @@ + + + @@ -4763,7 +4946,14 @@ - + + + + + + + + @@ -4775,6 +4965,9 @@ + + + @@ -4787,16 +4980,27 @@ + + + + + + + + + - + + + @@ -4811,6 +5015,16 @@ + + + + + + + + + + @@ -4829,9 +5043,15 @@ + + + + + + @@ -4862,19 +5082,47 @@ + + + + + + + + + + + + + + + - + + - + + + + + + + + + + + + + @@ -4889,12 +5137,6 @@ - - - - - - @@ -4907,9 +5149,6 @@ - - - @@ -4917,6 +5156,9 @@ + + + @@ -4934,6 +5176,19 @@ + + + + + + + + + + + + + @@ -4989,6 +5244,9 @@ + + + @@ -5077,6 +5335,9 @@ + + + @@ -5110,6 +5371,24 @@ + + + + + + + + + + + + + + + + + + @@ -5258,6 +5537,9 @@ + + + @@ -5297,6 +5579,9 @@ + + + @@ -5323,6 +5608,12 @@ + + + + + + @@ -5449,6 +5740,22 @@ + + + + + + + + + + + + + + + + @@ -5565,6 +5872,9 @@ + + + @@ -5647,1189 +5957,911 @@ - - + + - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - + - - - + + - - - + + - - - - - - + + + + + + + + + + + + - - + - - + + + + + + + + + + + + + - - - - - - - - + + - - - + + + + + + + + + + + + + + + - + - - - - + + - - + + - + - - - - - - - - - - + + + - + - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - + + - + + + + + + + + + + + + + - - - - - - - - - - - + + + + - - + + - - - - - - - + + + - - - + + - - + + - - - - - - - - + + - - - - - - - - - - + + + - - - - - - - - - + - - + + + - - + + - + - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + - + - + - - + + - - + - - - - - - - - - - - - - - + + - + - - + + - + - + + - - - - - - - - - - - - - + + + - - - + + - - + + + - + - - + + + - - - - - + - - + + + + + + + + + + + + + + + + + + - - - - - - + - - - - - - - - - - + + + + + + + - - + + - - - - - - + - - + + + + + - + - + - - - - + - - + + - - - - - - - + - - + + - - + + + + - - + + - - - - - - + - - + + - + - - + + - - - - - - - - - + - - + + - + - - - - - + + - + - - + + - + - - - - - - - - + + - - - + - - + + - + - - - - - + + + + + - - + + - - + + - - + + - - + + - - - - - + + - - + + - - + + - + - - + + - - + + - - + + + + + - - + + - - + + - - + + - - + + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - + - - + + + - + - - + + + - - - + - - - + + + + - + - + - + + + - + - + + - + - + + - + - + + - + - + + - + - - + - + - + + - - + + - + + - + - + + - + - + + - + - + + - + - + + - + - + - + - + - + - + - + - + - - + + - - - + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + - + - - - - + - + - - - + - + - - - - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + - - - - - - + + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + - - - + + + - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - + + - - + + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + - - + + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + - - + + + + + + + - - - - - - + - - - - - - - - - - + + + - + + + - - + + - + + + + + - - - - - - - - - - - - - - - + + + - + + - + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - + + - + - - - - + + - - - - + - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + + + + - + + - + + + + + + + + + + + + @@ -6839,95 +6871,131 @@ - - + + + + + + + + + + + - + + + + - - + + - + + + - + + + + + + + + + + - - + + + + - + - - - - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + - + + + + + + - - + + - - + - - - - - - - - - + + - - + + + + + + @@ -6943,482 +7011,587 @@ - - - - - - - - + + + + + + + + + + + + - + + - - + + - - - - - + + + + + + + + + + + + + + + + + + + + + + - + - - + + - - + + - - + - + + + + + + + + + + + + - - - - - - - + + + + + + + + + - - - - - - + + - + + + + - + - - + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - + + + + + + + + + - + - - + + - - - - - + + - + + + + + + + - + - - + - + + + - - - + + - - - - + + + + + - - - - - + + + + + + + + + + + + - - + + + + + + + + + + + + + - + + - - - + + - + + - - - + + + + + + + + + + + + + + + + + + + + + + + - + + + + - - - + + + - + + + - - - + + + - + + - - - + + + - + + + + + + - - - + + + - + + - - - + + + - + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + - + - + + + + - - - - - - - - - - - + + + + + + - + - + - - - - + + + + - + + + + - - + + - + + + + + - - + - + + + + + + - - + + - - - + + + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - + + - + + - - + + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - + + + - + - + + + + + - - + + - + + - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + + + + + - - + + - + - - - - - - - - - - - + - - - + + @@ -7439,115 +7612,140 @@ - - - - - + + + + + + + + + + + + + + + + + - - + + - - + - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - - - - + + - - - + + - - - - - - - - - - - - + + - + + - - - + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7565,65 +7763,54 @@ + - - - - - - - - + + - - - + - + - - - - - + + + - - + + + + + - - + - + + + + + + + + - - - - - + + + - - - - - - - - - - - - - - - + + + + + + @@ -7639,456 +7826,516 @@ - - + + + + + + - - + + + + + + + + + + - - - - + + + + + + + + - + + + + + + - - - + + - - + + - - - - + - + + + + + + + + + + + + + + + + + + - - + + + + + + + - + - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - + + + - - - - - - - + + + - - - + + + - - - + + + + - - - + + - - + + - - - - - + - - - + + + - - + + - - - - - - - - - - - - + + - - + + + + + + - - + + + + + + + + + + + + + + + + + + + - - - - - + + - + + + + + + + + - - + + + + + + + + + + - - - + + + - - + + - - - - - + + - - + + - - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + - - + + + + + + - - + + + + + + + - + - + + - - - - - - - - - - - - + - - + + + + + - - + + + + + - - - + + + - - + + + + + + - - + + + + + - + - + - - + + - - + - - - - - - - - - - - - - - - - - - - - + + + + + + + - - + + - + + + + + - - + + - - + + - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - + + - - + + + - - + - - + + + - + + + - - + + + - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + - - - - - - - - - - + + + + + + - - + + - + - + + + + + - - + + + - + + + + + + + + + + + + + - - + + - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + + + + - - + + - - - - - + + - - - + + + - - + - - + + + + + + - - - - + + + - - - + + + - - + + + - + + + + + + + @@ -8104,404 +8351,338 @@ - + - - - - - - - - - + + - - - - - - - - + + + + + + + + - - - - - - + + - - + + - - + + - - - - - - - - + + - - + + + + + + + + + - - - - - + - + - - - - - - + - - + + - - + - - + + - + - - + + - - - + - + - - - - - + - - + + - - + - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - + + + + + + + + + + + + + + - - + + - - + + - + - - - - - - - - + - + + - - - + + + - - - - - - + + + - - + + - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - + + + + + - - - - - - - - + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + - - + + + + + + - - - - - + + + + + + + + - - - + + + - + - - + - - - + - - - - - - - - - - - - - - - - - + - - + + + + + - - + + + + + - - + + + + + + + - - + + + + + + - - - - - - + + + - - + + + + + - - + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - + - - + + + + + + + + + + + + - - + + - - - - - + + + + + + + + + + + + @@ -8510,50 +8691,108 @@ - - - - - + + + - - - - + + + + - - - + + + - - + + + + - - - + + + - + + - - + + + + + + + + + - - - + + + + + + + + + + + + + + + + + - - - + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8578,238 +8817,140 @@ - - - - + - - - - - - - - - - - - - - - - - - - - + + + + + + - - + - + + + + - - + + - + + - - + + - + + - + - + + + + - - + + - + + - - + + + + + + + + + + + + + + - + + + + + - - + + - + - - - - - - - - + + - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - + + - - + + - - - + + + - - + + + + - - + + - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -8819,343 +8960,185 @@ - - + + - + + - - + + - - + - - + + - - - + + + - - - - + + - - + + + + + + + + + + + + + + + + + + - + - + - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - - + + - - + + - + - - + - - - - + - + - + - - + + + + + - + + + - - + + - - - + - - - - - + + - - - - - - - - + + + + + + + + + + + + + + - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + @@ -9165,14 +9148,19 @@ + + + + + @@ -9182,6 +9170,9 @@ + + + @@ -9210,7 +9201,9 @@ + + @@ -9249,9 +9242,9 @@ - - - + + + @@ -9333,14 +9326,31 @@ - - + + + + + + + + - + + + + + + + + - - + + + + + + @@ -9357,712 +9367,1388 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + - - - - - - - - + + - + + - - + - - - - + - - + + - - + + + + - - + + - - - + + + + - + - - - - + - - + + - - + - - + + - - - - - + - + - - - - - - + + - - + + - - + - + + + + - - + + + + + + + + + + + + - - - - - + + + + + - - + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - + + - - - + + + - + - - - - - - - - - + - - - - + - + - - - - - - - - + + - - + + + + + + + + + + + + + + + + + + + - - - - + + + + + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + - + + + + + - - + + - + + - - + + - + + + - - + + - + + - - + + + + + + + + + + + + + - + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - - - + + + - - + + - - + + + - - + + - + + - - + + - + + + + - - + + - + + + + + - - - - - + + - + + - - + + - + + + + - - - - - - - - - - - - - - + + - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - + + + + - + - - - - - - + + + + + - - + + - - + + - + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + + - - + - - + + - - + - - + + - - - + - - + + - - + - - + + - - + - - + + - - + - + + + + - + - - + - - - + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - + + + - - - - - + + - + + + + - + - + + - - + + - + - + + - + + + - - - - - - - - - - + + - + + + + - - - - - - - - - - - - - - - - - - + + - - - + - - - + + + - + + + + + + + + + + - - + + - + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + - + - - - + + + - + + + + - - - + + - - - - - - - - - - - - - + + - - + + + + + + + + + + + + + + + + + - - - - - - - - + + - - + + - + + + + - - + + - - - + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + - - + + + - + - - - - + + + - + + + - - + + - - + + - + - - - - + + + - - + + - - - - + + + - - + + - + + + + + + - - + + - + + - - + + - + + + - - + + - - + + + - + - - - - + + + + + - + - - - - - - - - - + + + + + + + + + - - - + + + + - - - - - - - - - - - - - - - + + + + + + + + @@ -10081,703 +10767,613 @@ - - - - - - - + + + + + + + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + - - + + - - - + + + + - + + + + - + + + + + - - - - - - - - + + - + - + + - + - - + + + - - - - - - - - - + + - - - - - + + - - + + - - + + - + - + - - - - - - - - - - - - - - - - - + + - - + + - - + + - + - - + + - - - - - + + - + - - - + + + - + - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - + - - + + - - - - - - - - + + - - - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - + - + + + - + - - + - - - - - - - - - - - - - - - - - - - - - + - - + - - - - - - - + + + + - - - - - - - - + + - - - + - - - - - - - - - - + - - + - - + + - - + + - - - - - - - - - - - - + + - - + - + - - - + - - + + - - + - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - + + + + + - + - - + + - - - + - + - - - - + + + - - + + - + + - - + + - - - + - + - - - - - + + - - + + - - + - - + + - - - - + - + - - - - - + - - + + - - + - - + + + + + + + + + + - - - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + - + - - - + + + - - - + + + + + - - + + + + + - - + + + + + + + + + - - + + + + + + + + + + + + - - + + + + + - - + + + + + - + - - - - - + + + + + - - + - + + + + - + - + + - + - + - + - + - + - + - + - + - + + + + + + + - + - + - + + - - - - - - - - - + + + - - - - - - - - - - - - - - - + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + - + + + + + + - - - + - - - + + - - - - + + - - - + + - + - - - + + + - + - - - - + + + + + + + - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - + + + - - - - + + - + + @@ -10793,573 +11389,709 @@ - - + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + - - + + + + + - - + + + + + + - - + - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + - + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - - + + - - - - - - + - - + + - - + - - + + - - - + - - + + - - - + - + + + + - - - - - + - + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - + + + - - + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + + - - - - - - - - - - - - - - - + + + - - + - - - - - - - - - - - - - - + + + - + + + + + - - - - - - - - + + + - + + + + + + - - + + + - - + + - - + + + - + + + + + - - + + - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - - - - - - - - + + + + + + + + + - + + + + + + + + + - - + + + + + + - + + + + + + + - + + - + + + + + - - - - - - - - - - - - - - - - + + + - - + + + + + + - - - - - + + + + + + - - + + - + + + + - + + - + + + + + + + + + + + + - - + + + - - + + + + - - + + + - - + + + + + + + + + + + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + + + - - - - - - - - - - + + + - - + + + - - - + + + + + + + + + + + + - + + + + + + + + + + - + + - - + + - - + + - - + + + - - - - - - - - - - - + + + + + + + + - - + + + + + + - + - - + + + + + + + + + + + + + + + + - - + + + + - + - + + - - + + - + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + + + + + + + + + + + + + + + + @@ -11378,6 +12110,21 @@ + + + + + + + + + + + + + + + @@ -11392,6 +12139,21 @@ + + + + + + + + + + + + + + + @@ -11536,16 +12298,6 @@ - - - - - - - - - - @@ -11578,12 +12330,6 @@ - - - - - - @@ -11605,13 +12351,13 @@ + - @@ -11680,6 +12426,12 @@ + + + + + + @@ -11698,9 +12450,6 @@ - - - @@ -11973,248 +12722,95 @@ - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - + - - - - - - - - + + + + - - - - + - - - + + + + + + + + + + + - - - - - + + - - - - - - - - - - - + + - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12284,10 +12880,20 @@ + + + + + + + + + + @@ -12343,36 +12949,115 @@ - - - + + + - - - + - + + + - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12410,148 +13095,27 @@ - - - - - - - - - - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + @@ -12578,6 +13142,12 @@ + + + + + + @@ -12590,6 +13160,12 @@ + + + + + + @@ -12622,222 +13198,157 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + - - + + - + - - - - - + + - - + + - - + - - - - - + + - - - + + - + - - - - + - + - - - - - + + - + - - - - - - - - - + + + + - + - - + + - - - + + + - - - - - + + - + + + + + + - - + + - + + + + + + - + - + + + + + + + - - - - - + + + + - - - - - + + - - + + + + - + + - + - - - - - - - - - + + + + + - - + + - + + + - - - - - + + - + + + - + - + - - - - + - - - - - - - - - - - - - + - - - - - - @@ -12848,8 +13359,8 @@ - - + + diff --git a/gtk/Gtk.metadata b/gtk/Gtk.metadata index 62d45d90e..51ceac237 100644 --- a/gtk/Gtk.metadata +++ b/gtk/Gtk.metadata @@ -8,6 +8,9 @@ 1 1 false + 1 + 1 + 1 1 true 1 @@ -32,6 +35,7 @@ 1 guchar 1 + 1 false GtkTargetFlags 1 @@ -73,6 +77,7 @@ GetEventsPending const-gchar* 1 + 1 1 1 1 @@ -83,6 +88,9 @@ true true 1 + 1 + 1 + 1 1 true 1 @@ -113,6 +121,7 @@ UInt32.MaxValue-2U 1 1 + 1 1 FinishEditing WidgetRemoved @@ -191,6 +200,8 @@ GtkRecentFilter* false true + 1 + 1 call out 1 @@ -257,6 +268,9 @@ GtkWindow* 1 1 + 1 + 1 + 1 const-gfilename* 1 1 @@ -293,6 +307,7 @@ 1 1 EmitToggled + ShowedHidden async async async @@ -306,6 +321,7 @@ 1 out GdkRGBA + HasAlpha out 1 1 @@ -363,6 +379,8 @@ Activated 1 + SelectedAll + UnselectedAll GtkButton* GtkButton* 1 @@ -471,6 +489,7 @@ 1 Canceled Deactivated + Inserted 1 1 GetIsShowing @@ -478,6 +497,7 @@ void const-gfilename* const-gfilename* + ShowedConnectToServer 1 1 IsEmbedded @@ -816,9 +836,10 @@ 1 1 1 - true - 1 - 1 + 1 + true + 1 + 1 1 1 1 @@ -858,6 +879,7 @@ 1 1 1 + 1 AccelCanActivate ChildNotified 1 @@ -894,6 +916,7 @@ true 1 1 + Maximized DefaultActivated FocusActivated 1 @@ -950,7 +973,6 @@ /api/namespace/object[@cname='GtkStyle'] /api/namespace/object[@cname='GtkStyle'] /api/namespace/object[@cname='GtkStyle'] - diff --git a/gtk/gtk-api.raw b/gtk/gtk-api.raw index 2a84e3eda..015a45905 100644 --- a/gtk/gtk-api.raw +++ b/gtk/gtk-api.raw @@ -17,6 +17,13 @@ + + + + + + + @@ -43,11 +50,22 @@ + + + + + + + + + + + @@ -59,6 +77,8 @@ + + @@ -66,6 +86,7 @@ + @@ -97,6 +118,8 @@ + + @@ -106,6 +129,22 @@ + + + + + + + + + + + + + + + + @@ -121,6 +160,10 @@ + + + + @@ -141,6 +184,7 @@ + @@ -191,6 +235,14 @@ + + + + + + + + @@ -237,6 +289,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -255,6 +331,10 @@ + + + + @@ -265,6 +345,10 @@ + + + + @@ -272,6 +356,11 @@ + + + + + @@ -343,6 +432,11 @@ + + + + + @@ -418,7 +512,7 @@ - + @@ -506,6 +600,7 @@ + @@ -531,6 +626,14 @@ + + + + + + + + @@ -588,10 +691,7 @@ - - - - + @@ -610,6 +710,25 @@ + + + + + + + + + + + + + + + + + + + @@ -618,6 +737,11 @@ + + + + + @@ -658,17 +782,6 @@ - - - - - - - - - - - @@ -718,7 +831,7 @@ - + @@ -761,25 +874,6 @@ - - - - - - - - - - - - - - - - - - - @@ -814,6 +908,12 @@ + + + + + + @@ -967,6 +1067,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -983,6 +1114,29 @@ + + + + + + + + + + + + + + + + + + + + + + + @@ -1000,6 +1154,21 @@ + + + + + + + + + + + + + + + @@ -1120,6 +1289,14 @@ + + + + + + + + @@ -1253,6 +1430,204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1274,34 +1649,34 @@ - + - + - + - + - + - + - + @@ -1658,6 +2033,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1813,6 +2260,7 @@ + @@ -1880,6 +2328,10 @@ + + + + @@ -1985,6 +2437,9 @@ + + + @@ -2225,11 +2680,108 @@ - - + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2650,13 +3202,13 @@ - + - + @@ -3157,6 +3709,15 @@ + + + + + + + + + @@ -3297,6 +3858,13 @@ + + + + + + + @@ -3447,7 +4015,6 @@ - @@ -3582,6 +4149,13 @@ + + + + + + + @@ -3599,6 +4173,13 @@ + + + + + + + @@ -3721,21 +4302,24 @@ - - + + + - + + - + + @@ -3743,7 +4327,7 @@ - + @@ -3835,91 +4419,91 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -3927,92 +4511,143 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4028,6 +4663,7 @@ + @@ -4075,20 +4711,20 @@ - + - + - + @@ -4096,7 +4732,7 @@ - + @@ -4105,7 +4741,7 @@ - + @@ -4115,7 +4751,7 @@ - + @@ -4126,7 +4762,7 @@ - + @@ -4134,7 +4770,7 @@ - + @@ -4143,45 +4779,54 @@ - + + + + - + - + - + - + - + - + - + - + + + + + + + - + @@ -4189,25 +4834,119 @@ - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4269,6 +5008,9 @@ + + + @@ -4408,33 +5150,161 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4444,6 +5314,7 @@ + @@ -4468,6 +5339,9 @@ + + + @@ -4491,6 +5365,12 @@ + + + + + + @@ -4539,16 +5419,6 @@ - - - - - - - - - - @@ -4768,6 +5638,7 @@ + @@ -4824,13 +5695,13 @@ - + - + @@ -4877,6 +5748,12 @@ + + + + + + @@ -4898,14 +5775,14 @@ - + - + @@ -4969,6 +5846,7 @@ + @@ -4988,7 +5866,14 @@ + + + + + + + @@ -5039,6 +5924,18 @@ + + + + + + + + + + + + @@ -5107,6 +6004,21 @@ + + + + + + + + + + + + + + + @@ -5114,6 +6026,13 @@ + + + + + + + @@ -5130,6 +6049,14 @@ + + + + + + + + @@ -5155,6 +6082,16 @@ + + + + + + + + + + @@ -5176,7 +6113,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5226,6 +6191,7 @@ + @@ -5263,6 +6229,7 @@ + @@ -5278,6 +6245,9 @@ + + + @@ -5299,7 +6269,7 @@ - + @@ -5309,7 +6279,13 @@ - + + + + + + + @@ -5337,6 +6313,12 @@ + + + + + + @@ -5367,7 +6349,7 @@ - + @@ -5391,6 +6373,7 @@ + @@ -5403,6 +6386,12 @@ + + + + + + @@ -5420,6 +6409,13 @@ + + + + + + + @@ -5591,7 +6587,7 @@ - + @@ -5614,41 +6610,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -5701,6 +6662,15 @@ + + + + + + + + + @@ -6361,7 +7331,7 @@ - + @@ -6483,9 +7453,6 @@ - - - @@ -6506,6 +7473,13 @@ + + + + + + + @@ -6771,6 +7745,7 @@ + @@ -6928,6 +7903,7 @@ + @@ -7101,7 +8077,7 @@ - + @@ -7470,16 +8446,19 @@ - + + + + - + - + @@ -7491,11 +8470,11 @@ - + - + @@ -7505,19 +8484,19 @@ - + - + - + @@ -7529,16 +8508,97 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -7567,50 +8627,50 @@ - + - + - + - + - + - + - + - + - + - + - - + + @@ -7618,62 +8678,62 @@ - + - + - + - + - + - + - + - + - + - + @@ -7708,13 +8768,13 @@ - + - + - + @@ -7724,10 +8784,10 @@ + - @@ -7748,6 +8808,12 @@ + + + + + + @@ -7774,9 +8840,6 @@ - - - @@ -7794,7 +8857,7 @@ - + @@ -7830,7 +8893,7 @@ - + @@ -7880,7 +8943,7 @@ - + @@ -7891,7 +8954,7 @@ - + @@ -7953,7 +9016,7 @@ - + @@ -8208,7 +9271,14 @@ - + + + + + + + + @@ -8304,7 +9374,7 @@ - + @@ -8323,7 +9393,7 @@ - + @@ -8362,7 +9432,7 @@ - + @@ -8375,15 +9445,19 @@ - + - - + + - + + + + + @@ -8395,6 +9469,7 @@ + @@ -8435,6 +9510,9 @@ + + + @@ -8482,6 +9560,7 @@ + @@ -8518,12 +9597,15 @@ - + + + + @@ -8558,14 +9640,14 @@ - + - + @@ -8626,6 +9708,7 @@ + @@ -8633,7 +9716,6 @@ - @@ -8647,6 +9729,7 @@ + @@ -8658,6 +9741,7 @@ + @@ -8677,10 +9761,16 @@ + + + + + + - + @@ -8757,6 +9847,15 @@ + + + + + + + + + @@ -8778,9 +9877,6 @@ - - - @@ -8791,6 +9887,9 @@ + + + @@ -8850,7 +9949,7 @@ - + @@ -8874,9 +9973,15 @@ - + + + + + + + @@ -8893,15 +9998,24 @@ + + + + + + + + + @@ -8959,6 +10073,12 @@ + + + + + + @@ -9019,7 +10139,7 @@ - + @@ -9047,12 +10167,24 @@ - + + + + + + + + + + + + + @@ -9065,12 +10197,24 @@ + + + + + + + + + + + + @@ -9083,6 +10227,12 @@ + + + + + + @@ -9329,6 +10479,12 @@ + + + + + + @@ -9511,6 +10667,7 @@ + @@ -9542,6 +10699,9 @@ + + + @@ -9588,6 +10748,12 @@ + + + + + + @@ -9607,9 +10773,9 @@ - + - + @@ -9719,15 +10885,63 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9851,23 +11065,60 @@ - - - - + + + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9883,134 +11134,432 @@ - - - - + + + + + + + + + + - + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + + + + + + + - + + - - - + + + + + + + + + + + + + - + - + - + + - + - + - + - + - + - + + + - + - + - - - - - - - - - - - - - + - - + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - - + + - + @@ -10041,36 +11590,36 @@ - + - + - + - + - + - + - + - + - + @@ -10176,10 +11725,7 @@ - - - - + @@ -10231,12 +11777,28 @@ + + + + + + + + + + + + + + + + @@ -10246,7 +11808,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10259,6 +11858,13 @@ + + + + + + + @@ -10312,35 +11918,35 @@ - + - + - + - + - + - - + + - + - + @@ -10351,10 +11957,10 @@ - + - + @@ -10365,33 +11971,137 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + @@ -10403,10 +12113,10 @@ - + - + @@ -10416,10 +12126,10 @@ - + - + @@ -10454,7 +12164,7 @@ - + @@ -10462,99 +12172,249 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + - - + + + + + + - - + + + + + + - - - + + - - - + + + + + + - + - - + + + + + + + - - + + - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + + - + + + + + + + - - - - - + + - + + + - - + + - + + + + - - + + + + + + + + + + @@ -10605,6 +12465,15 @@ + + + + + + + + + @@ -10660,6 +12529,27 @@ + + + + + + + + + + + + + + + + + + + + + @@ -10668,6 +12558,15 @@ + + + + + + + + + @@ -10676,6 +12575,15 @@ + + + + + + + + + @@ -10739,6 +12647,7 @@ + @@ -10825,6 +12734,17 @@ + + + + + + + + + + + @@ -10987,6 +12907,12 @@ + + + + + + @@ -11133,6 +13059,7 @@ + @@ -11141,6 +13068,7 @@ + @@ -11171,11 +13099,11 @@ - + - + @@ -11188,7 +13116,7 @@ - + @@ -11224,7 +13152,7 @@ - + @@ -11235,12 +13163,22 @@ - + + + + + + + + + + + @@ -11267,7 +13205,7 @@ - + @@ -11280,13 +13218,25 @@ - + + + + + + + + + + + + + @@ -11322,54 +13272,54 @@ - + - + - + - + - - + + - + - + - + - + - + - + @@ -11431,6 +13381,7 @@ + @@ -11614,7 +13565,7 @@ - + @@ -11634,9 +13585,9 @@ - + - + @@ -11646,6 +13597,7 @@ + @@ -11701,6 +13653,9 @@ + + + @@ -11736,6 +13691,12 @@ + + + + + + @@ -11842,6 +13803,7 @@ + @@ -11903,6 +13865,9 @@ + + + @@ -12002,6 +13967,12 @@ + + + + + + @@ -12122,51 +14093,145 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + + + + + + + + - - - + - + + - - + - - + + - - - + - + - + - + - - + - + - + @@ -12231,6 +14296,218 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12489,16 +14766,21 @@ - + - + + + + + + @@ -12572,13 +14854,13 @@ - + - + @@ -12604,30 +14886,121 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + + + + - - + + + + + - - + - + - + - + @@ -12689,7 +15062,7 @@ - + @@ -12707,6 +15080,7 @@ + @@ -12723,7 +15097,7 @@ - + @@ -12767,7 +15141,7 @@ - + @@ -12808,7 +15182,7 @@ - + @@ -12853,18 +15227,18 @@ - - + - + + - - + + + - - + @@ -12896,6 +15270,14 @@ + + + + + + + + @@ -12991,7 +15373,7 @@ - + @@ -13015,6 +15397,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13061,7 +15502,7 @@ - + @@ -13090,7 +15531,7 @@ - + @@ -13160,6 +15601,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13168,7 +15634,7 @@ - + @@ -13187,6 +15653,7 @@ + @@ -13447,7 +15914,7 @@ - + @@ -13471,7 +15938,7 @@ - + @@ -13719,6 +16186,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -14043,6 +16569,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -14093,20 +16750,96 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15396,22 +18129,22 @@ - + - + - + - + - + @@ -15420,13 +18153,13 @@ - + - + @@ -15619,7 +18352,7 @@ - + @@ -15630,7 +18363,7 @@ - + @@ -15939,13 +18672,13 @@ - + - + - + @@ -15953,7 +18686,7 @@ - + @@ -15962,14 +18695,14 @@ - + - + @@ -16065,9 +18798,9 @@ - + - + @@ -16260,6 +18993,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16280,6 +19056,7 @@ + @@ -16324,6 +19101,9 @@ + + + @@ -16366,6 +19146,12 @@ + + + + + + @@ -16513,6 +19299,7 @@ + @@ -16538,18 +19325,24 @@ - + + + + + + + @@ -16584,12 +19377,24 @@ + + + + + + + + + + + + @@ -16631,6 +19436,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16748,6 +19638,7 @@ + @@ -17014,6 +19905,7 @@ + @@ -17146,9 +20038,135 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -17184,9 +20202,6 @@ - - - @@ -17340,7 +20355,7 @@ - + @@ -17388,7 +20403,7 @@ - + @@ -17427,7 +20442,7 @@ - + @@ -17949,7 +20964,7 @@ - + @@ -17994,13 +21009,15 @@ - + + + @@ -18041,7 +21058,7 @@ - + @@ -18082,15 +21099,18 @@ - + - + + + + @@ -18108,6 +21128,9 @@ + + + @@ -18119,9 +21142,18 @@ + + + + + + + + + @@ -18167,7 +21199,7 @@ - + @@ -18183,14 +21215,14 @@ - + - + @@ -18199,10 +21231,10 @@ - + - + @@ -18245,7 +21277,7 @@ - + @@ -18259,24 +21291,42 @@ - + + + + + + + + + + + + + + + + + + + @@ -18289,7 +21339,7 @@ - + @@ -18305,7 +21355,7 @@ - + @@ -18320,6 +21370,7 @@ + @@ -18349,13 +21400,13 @@ - + - + @@ -18363,7 +21414,7 @@ - + @@ -18378,7 +21429,7 @@ - + @@ -18418,16 +21469,20 @@ + - + + + + @@ -18446,10 +21501,8 @@ - - - + @@ -18500,7 +21553,7 @@ - + @@ -18514,7 +21567,7 @@ - + @@ -18524,78 +21577,78 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -18623,10 +21676,10 @@ - + - + @@ -19335,9 +22388,11 @@ + + @@ -19366,6 +22421,7 @@ + @@ -19505,6 +22561,7 @@ + @@ -19512,7 +22569,6 @@ - @@ -19530,6 +22586,9 @@ + + + @@ -19585,7 +22644,7 @@ - + @@ -19604,6 +22663,10 @@ + + + + @@ -19625,9 +22688,6 @@ - - - @@ -19716,6 +22776,12 @@ + + + + + + @@ -19909,6 +22975,18 @@ + + + + + + + + + + + + @@ -19998,9 +23076,11 @@ - + + + - + @@ -20153,6 +23233,24 @@ + + + + + + + + + + + + + + + + + + @@ -20188,10 +23286,10 @@ - + - + @@ -20286,7 +23384,7 @@ - + @@ -20294,7 +23392,7 @@ - + @@ -20302,54 +23400,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -20378,16 +23428,16 @@ - + - + - + - + @@ -20395,19 +23445,19 @@ - + - + - + @@ -20525,7 +23575,7 @@ - + @@ -20577,7 +23627,7 @@ - + @@ -20707,7 +23757,7 @@ - + @@ -20773,6 +23823,7 @@ + @@ -20787,7 +23838,7 @@ - + @@ -20802,7 +23853,7 @@ - + @@ -20831,7 +23882,7 @@ - + @@ -21267,6 +24318,16 @@ + + + + + + + + + + @@ -21277,11 +24338,12 @@ - - - - + + + + + @@ -21545,6 +24607,7 @@ + @@ -21911,6 +24974,7 @@ + @@ -22134,6 +25198,9 @@ + + + @@ -22221,6 +25288,9 @@ + + + @@ -22392,6 +25462,12 @@ + + + + + + @@ -22417,7 +25493,7 @@ - + @@ -22615,6 +25691,7 @@ + @@ -22763,6 +25840,9 @@ + + + @@ -22988,7 +26068,7 @@ - + @@ -22999,14 +26079,21 @@ - + - + + + + + + + + @@ -23014,68 +26101,68 @@ - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + @@ -23086,10 +26173,10 @@ - + - + @@ -23100,10 +26187,10 @@ - + - + @@ -23181,7 +26268,7 @@ - + @@ -23203,24 +26290,24 @@ - + - + - + - + - + @@ -23232,10 +26319,10 @@ - + - + @@ -23245,10 +26332,10 @@ - + - + @@ -23331,14 +26418,14 @@ - - - - - + + + + + + - @@ -23367,6 +26454,8 @@ + + @@ -23379,6 +26468,8 @@ + + @@ -23458,7 +26549,7 @@ - + @@ -23519,6 +26610,12 @@ + + + + + + @@ -23855,20 +26952,34 @@ - - - - + + + + + + + + - + + + + + - + + + + - + + + + @@ -23876,9 +26987,6 @@ - - - @@ -23915,6 +27023,14 @@ + + + + + + + + @@ -23933,6 +27049,23 @@ + + + + + + + + + + + + + + + + + @@ -23970,6 +27103,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -24024,6 +27194,9 @@ + + + @@ -24066,7 +27239,7 @@ - + @@ -24099,6 +27272,9 @@ + + + @@ -24120,15 +27296,27 @@ - + + + + - + + + + + + + + + + @@ -24138,6 +27326,9 @@ + + + @@ -24150,7 +27341,7 @@ - + @@ -24164,6 +27355,16 @@ + + + + + + + + + + @@ -24203,15 +27404,18 @@ - + - + + + + @@ -24228,7 +27432,7 @@ - + @@ -24243,6 +27447,13 @@ + + + + + + + @@ -24261,6 +27472,9 @@ + + + @@ -24297,6 +27511,9 @@ + + + @@ -24306,12 +27523,22 @@ + + + + + + + + + + @@ -24340,6 +27567,9 @@ + + + @@ -24457,10 +27687,10 @@ - + - + @@ -24499,6 +27729,12 @@ + + + + + + @@ -24513,6 +27749,12 @@ + + + + + + @@ -24521,7 +27763,7 @@ - + @@ -24589,7 +27831,7 @@ - + @@ -24675,13 +27917,25 @@ - + + + + + + + + + + + + + - + @@ -24705,6 +27959,12 @@ + + + + + + @@ -24748,7 +28008,7 @@ - + @@ -24848,6 +28108,13 @@ + + + + + + + @@ -24903,6 +28170,12 @@ + + + + + + @@ -24959,8 +28232,10 @@ + + @@ -24977,7 +28252,8 @@ - + + @@ -25056,6 +28332,9 @@ + + + @@ -25068,6 +28347,9 @@ + + + @@ -25099,6 +28381,9 @@ + + + @@ -25108,6 +28393,9 @@ + + + @@ -25126,7 +28414,7 @@ - + @@ -25194,6 +28482,9 @@ + + + @@ -25253,7 +28544,7 @@ - + @@ -25279,10 +28570,16 @@ - + + + + + + + - + @@ -25366,6 +28663,12 @@ + + + + + + @@ -25392,6 +28695,12 @@ + + + + + + @@ -25447,7 +28756,7 @@ - + @@ -25501,6 +28810,12 @@ + + + + + + @@ -25589,18 +28904,17 @@ - + - + - @@ -25620,10 +28934,7 @@ - - - @@ -25726,6 +29037,18 @@ + + + + + + + + + + + + @@ -25742,12 +29065,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -25772,17 +29183,17 @@ - + - + - + @@ -25790,7 +29201,7 @@ - + @@ -25800,17 +29211,26 @@ - + - + - + + + + + + + + + + @@ -25820,6 +29240,8 @@ + + @@ -25829,115 +29251,35 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - + - + - + - - + + - + @@ -25951,104 +29293,113 @@ - + - + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + @@ -26078,8 +29429,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -26092,6 +29470,7 @@ + @@ -26215,6 +29594,9 @@ + + + @@ -26451,6 +29833,8 @@ + + @@ -26559,8 +29943,7 @@ - - + @@ -26568,62 +29951,77 @@ - + - + + + + + + + + - - + - + - + - + - + - + - + - + + + + + + + - + - + + + + @@ -26745,6 +30143,11 @@ + + + + + @@ -26754,7 +30157,8 @@ - + + @@ -26777,7 +30181,8 @@ - + + @@ -26801,7 +30206,8 @@ - + + @@ -26817,6 +30223,12 @@ + + + + + + @@ -27259,9 +30671,10 @@ + - + @@ -27346,6 +30759,12 @@ + + + + + + @@ -27436,12 +30855,25 @@ + + + + + + + + + + + + + @@ -27505,6 +30937,18 @@ + + + + + + + + + + + + @@ -27599,10 +31043,21 @@ + + + + + + + + + + + @@ -27613,7 +31068,6 @@ - @@ -27623,22 +31077,20 @@ - - - - + - - + + + @@ -27666,6 +31118,15 @@ + + + + + + + + + @@ -27673,6 +31134,15 @@ + + + + + + + + + @@ -27681,6 +31151,15 @@ + + + + + + + + + @@ -27696,7 +31175,7 @@ - + @@ -27721,7 +31200,7 @@ - + @@ -27777,6 +31256,9 @@ + + + @@ -28196,7 +31678,17 @@ - + + + + + + + + + + + @@ -28204,6 +31696,8 @@ + + @@ -28329,6 +31823,15 @@ + + + + + + + + + @@ -28347,7 +31850,7 @@ - + @@ -28406,6 +31909,13 @@ + + + + + + + @@ -28420,7 +31930,7 @@ - + @@ -28465,13 +31975,13 @@ - + - + @@ -28485,7 +31995,7 @@ - + @@ -28494,7 +32004,7 @@ - + @@ -28502,7 +32012,7 @@ - + @@ -28551,14 +32061,14 @@ - + - + @@ -28589,6 +32099,14 @@ + + + + + + + + @@ -28844,7 +32362,17 @@ - + + + + + + + + + + + @@ -28852,6 +32380,28 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -28957,31 +32507,31 @@ - + - + - + - + - + diff --git a/pango/Pango.metadata b/pango/Pango.metadata index 9948b62ee..60c4f2e03 100644 --- a/pango/Pango.metadata +++ b/pango/Pango.metadata @@ -40,7 +40,6 @@ 1 1 ref - 1 1 1 1 @@ -49,8 +48,10 @@ 1 ref 1 - 1 - 1 + 1 + 1 + 1 + 1 1 true 1 diff --git a/pango/pango-api.raw b/pango/pango-api.raw index 6475877ce..fd0a8cf7c 100644 --- a/pango/pango-api.raw +++ b/pango/pango-api.raw @@ -186,6 +186,16 @@ + + + + + + + + + + @@ -238,14 +248,14 @@ - + - + @@ -269,21 +279,18 @@ - + - + - - - - - + + @@ -311,11 +318,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -347,6 +381,9 @@ + + + @@ -414,6 +451,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -523,9 +584,15 @@ + + + + + + @@ -556,12 +623,6 @@ - - - - - - @@ -607,6 +668,9 @@ + + + @@ -671,6 +735,12 @@ + + + + + + @@ -685,6 +755,9 @@ + + + @@ -1105,7 +1178,6 @@ - @@ -1326,7 +1398,6 @@ - @@ -1358,6 +1429,16 @@ + + + + + + + + + + @@ -1407,29 +1488,7 @@ - - - - - - - - - - - - - - - - - - - - - - - + @@ -2083,7 +2142,6 @@ - @@ -2098,8 +2156,8 @@ - - + + @@ -2413,13 +2471,6 @@ - - - - - - - @@ -2574,6 +2625,17 @@ + + + + + + + + + + + @@ -2741,6 +2803,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/sources/Makefile.am b/sources/Makefile.am index d2051468e..65b017ba0 100644 --- a/sources/Makefile.am +++ b/sources/Makefile.am @@ -3,24 +3,27 @@ EXTRA_DIST = \ sources.xml \ gtk_tree_model_signal_fix.patch -TARGET_GTK_VERSION=3.0.0 +TARGET_GTK_VERSION=3.12.0 +TARGET_GTK_API=3.12 GTK_DOWNLOADS = \ - http://ftp.gnome.org/pub/GNOME/sources/glib/2.28/glib-2.28.0.tar.bz2 \ - http://ftp.gnome.org/pub/GNOME/sources/pango/1.28/pango-1.28.3.tar.bz2 \ - http://ftp.gnome.org/pub/GNOME/sources/atk/1.32/atk-1.32.0.tar.bz2 \ - http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.22/gdk-pixbuf-2.22.1.tar.bz2 \ - http://ftp.gnome.org/pub/GNOME/sources/gtk+/3.0/gtk+-$(TARGET_GTK_VERSION).tar.bz2 + http://ftp.gnome.org/pub/GNOME/sources/glib/2.40/glib-2.40.0.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/pango/1.36/pango-1.36.0.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/atk/2.12/atk-2.12.0.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.28/gdk-pixbuf-2.28.0.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/gtk+/$(TARGET_GTK_API)/gtk+-$(TARGET_GTK_VERSION).tar.xz api: PATH=../parser:$$PATH $(RUNTIME) ../parser/gapi-parser.exe sources.xml get-source-code: for i in $(GTK_DOWNLOADS); do \ - wget $$i --output-document=- | tar -xj ; \ + wget $$i --output-document=- | tar -xJ ; \ done; ln -f -s gtkfilechooserprivate.h gtk+-$(TARGET_GTK_VERSION)/gtk/gtkfilechooserpriv.h patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtktreemodel.c < gtk_tree_model_signal_fix.patch echo "typedef struct _GtkClipboard GtkClipboard;" >> gtk+-$(TARGET_GTK_VERSION)/gtk/gtkclipboard.h echo "typedef struct _GtkClipboardClass GtkClipboardClass;" >> gtk+-$(TARGET_GTK_VERSION)/gtk/gtkclipboard.h + patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtkselectionprivate.h < gtkselectionprivate-space.patch + patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtktextattributes.h < gtktextattributes-gi-scanner.patch diff --git a/sources/gtkselectionprivate-space.patch b/sources/gtkselectionprivate-space.patch new file mode 100644 index 000000000..6efdd70fc --- /dev/null +++ b/sources/gtkselectionprivate-space.patch @@ -0,0 +1,11 @@ +--- gtk+-3.12.0.orig/gtk/gtkselectionprivate.h 2014-06-10 09:14:53.055629108 +0200 ++++ gtk+-3.12.0/gtk/gtkselectionprivate.h 2014-06-10 09:14:59.503650175 +0200 +@@ -52,7 +52,7 @@ + /*< private >*/ + GList *list; + guint ref_count; +- }; ++}; + + gboolean _gtk_selection_clear (GtkWidget *widget, + GdkEventSelection *event); diff --git a/sources/gtktextattributes-gi-scanner.patch b/sources/gtktextattributes-gi-scanner.patch new file mode 100644 index 000000000..898a77eeb --- /dev/null +++ b/sources/gtktextattributes-gi-scanner.patch @@ -0,0 +1,29 @@ +--- gtk+-3.12.0/gtk/gtktextattributes.h 2014-03-24 18:28:56.000000000 +0100 ++++ gtk+-3.12.0.new/gtk/gtktextattributes.h 2014-06-10 13:49:44.619905956 +0200 +@@ -112,26 +112,12 @@ + guint inside_selection : 1; + guint is_text : 1; + +- /* For the sad story of this bit of code, see +- * https://bugzilla.gnome.org/show_bug.cgi?id=711158 +- */ +-#ifdef __GI_SCANNER__ +- /* The scanner should only see the transparent union, so that its +- * content does not vary across architectures. +- */ +- union { +- GdkRGBA *rgba[2]; +- /*< private >*/ +- guint padding[4]; +- }; +-#else + GdkRGBA *rgba[2]; + #if (defined(__SIZEOF_INT__) && defined(__SIZEOF_POINTER__)) && (__SIZEOF_INT__ == __SIZEOF_POINTER__) + /* unusable, just for ABI compat */ + /*< private >*/ + guint padding[2]; + #endif +-#endif + }; + + /** diff --git a/sources/sources.xml b/sources/sources.xml index 67d3151c6..77f4d4f28 100644 --- a/sources/sources.xml +++ b/sources/sources.xml @@ -2,7 +2,7 @@ - + gasynchelper.h gcontenttypeprivate.h gdelayedsettingsbackend.h @@ -35,6 +35,51 @@ gwin32outputstream.h gwin32resolver.h gwin32volumemonitor.h + gdesktopappinfo.h + gdesktopappinfo.c + gdbusactiongroup.h + gdbusdaemon.h + gdbusobject.h + gdbusaddress.h + gdbuserror.h + gdbusobjectmanagerclient.h + gdbusauth.h + gdbusinterface.h + gdbusobjectmanager.h + gdbusauthmechanismanon.h + gdbusinterfaceskeleton.h + gdbusobjectmanagerserver.h + gdbusauthmechanismexternal.h + gdbusintrospection.h + gdbusobjectproxy.h + gdbusauthmechanism.h + gdbusmenumodel.h + gdbusobjectskeleton.h + gdbusauthmechanismsha1.h + gdbusmessage.h + gdbusprivate.h + gdbusauthobserver.h + gdbusmethodinvocation.h + gdbusproxy.h + gdbusconnection.h + gdbusnameowning.h + gdbusserver.h + gdbus-daemon-generated.h + gdbusnamewatching.h + gdbusutils.h + gpollableoutputstream.h + gsocket.h + gpollableinputstream.h + gnetworkmonitor.h + gnetworkmonitorbase.h + gremoteactiongroup.h + gapplicationimpl.h + gresourcefile.h + gsettingsschema.h + gsettingsschema-internal.h + gtlsfiledatabase.h + gsimpleaction.h + gsimpleactiongroup.h @@ -42,14 +87,14 @@ - atk-1.32.0/atk + atk-2.12.0/atk - + pangoatsui.c pangoatsui.h pangoatsui-fontmap.h @@ -91,7 +136,7 @@ - + gdkalias.h gdkwindowimpl.h keyname-table.h @@ -100,7 +145,7 @@ - + io-gdip-native.h io-gdip-propertytags.h io-gdip-utils.h @@ -115,7 +160,7 @@ - + gtkalias.h gtkappchooseronline.h @@ -208,7 +253,10 @@ gtktree.h gtktreeitem.c gtktreeitem.h + gtkcellarea.c + gtklockbutton.h + From 33722f0f1561d1c2184114cf761a00365daac64c Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Mon, 3 Nov 2014 15:53:22 +0100 Subject: [PATCH 04/66] Make samples able to compile --- sample/CustomScrollableWidget.cs | 4 ++-- sample/GtkDemo/DemoTreeStore.cs | 4 ++-- sample/GtkDemo/Makefile.am | 1 - sample/gtk-gio/MountOperation.cs | 4 ++-- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/sample/CustomScrollableWidget.cs b/sample/CustomScrollableWidget.cs index a06e03c18..5403cc561 100644 --- a/sample/CustomScrollableWidget.cs +++ b/sample/CustomScrollableWidget.cs @@ -203,13 +203,13 @@ private void UpdateAdjustments () } } - private void OnHadjustmentChanged (object o, EventArgs args) + private void OnHadjustmentChanged (object o, System.EventArgs args) { UpdateAdjustments (); QueueDraw (); } - private void OnVadjustmentChanged (object o, EventArgs args) + private void OnVadjustmentChanged (object o, System.EventArgs args) { UpdateAdjustments (); QueueDraw (); diff --git a/sample/GtkDemo/DemoTreeStore.cs b/sample/GtkDemo/DemoTreeStore.cs index 3b9a0fd08..d06cb4c11 100644 --- a/sample/GtkDemo/DemoTreeStore.cs +++ b/sample/GtkDemo/DemoTreeStore.cs @@ -46,13 +46,13 @@ public DemoTreeStore () : base ("Card planning sheet") sw.Add (treeView); // expand all rows after the treeview widget has been realized - treeView.Realized += new EventHandler (ExpandRows); + treeView.Realized += new System.EventHandler (ExpandRows); SetDefaultSize (650, 400); ShowAll (); } - private void ExpandRows (object obj, EventArgs args) + private void ExpandRows (object obj, System.EventArgs args) { TreeView treeView = obj as TreeView; diff --git a/sample/GtkDemo/Makefile.am b/sample/GtkDemo/Makefile.am index 0b162eae7..f17e120c0 100644 --- a/sample/GtkDemo/Makefile.am +++ b/sample/GtkDemo/Makefile.am @@ -21,7 +21,6 @@ sources = \ DemoButtonBox.cs \ DemoClipboard.cs \ DemoColorSelection.cs \ - DemoCssBasics.cs \ DemoDialog.cs \ DemoDrawingArea.cs \ DemoEditableCells.cs \ diff --git a/sample/gtk-gio/MountOperation.cs b/sample/gtk-gio/MountOperation.cs index f21416ee9..1d337cb97 100644 --- a/sample/gtk-gio/MountOperation.cs +++ b/sample/gtk-gio/MountOperation.cs @@ -46,14 +46,14 @@ static void Main () Window w = new Window ("test"); operation = new Gtk.MountOperation (w); Button b = new Button ("Mount"); - b.Clicked += new EventHandler (HandleButtonClicked); + b.Clicked += new System.EventHandler (HandleButtonClicked); b.Show (); w.Add (b); w.Show (); Gtk.Application.Run (); } - static void HandleButtonClicked (object sender, EventArgs args) + static void HandleButtonClicked (object sender, System.EventArgs args) { System.Console.WriteLine ("clicked"); file.MountEnclosingVolume (0, operation, null, new GLib.AsyncReadyCallback (HandleMountFinished)); From 2baa86a03e10c7c0203d9cdb5c13ebb2273be97b Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Mon, 3 Nov 2014 16:11:39 +0100 Subject: [PATCH 05/66] Include cairo in gapi --- gtk/gtk-sharp-3.0.pc.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtk-sharp-3.0.pc.in b/gtk/gtk-sharp-3.0.pc.in index cd217e1ec..a5ed3ca2c 100644 --- a/gtk/gtk-sharp-3.0.pc.in +++ b/gtk/gtk-sharp-3.0.pc.in @@ -7,6 +7,6 @@ gapidir=${prefix}/share/gapi-3.0 Name: Gtk# Description: Gtk# - GNOME .NET Binding Version: @VERSION@ -Cflags: -I:${gapidir}/pango-api.xml -I:${gapidir}/atk-api.xml -I:${gapidir}/gtk-api.xml +Cflags: -I:${gapidir}/cairo-api.xml -I:${gapidir}/pango-api.xml -I:${gapidir}/atk-api.xml -I:${gapidir}/gtk-api.xml Libs: -r:${libdir}/mono/@PACKAGE_VERSION@/cairo-sharp.dll -r:${libdir}/mono/@PACKAGE_VERSION@/pango-sharp.dll -r:${libdir}/mono/@PACKAGE_VERSION@/atk-sharp.dll -r:${libdir}/mono/@PACKAGE_VERSION@/gtk-sharp.dll Requires: glib-sharp-3.0 gio-sharp-3.0 gdk-sharp-3.0 From 9df74498ed284b8b7b0ba95f17fe44d1961c053c Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Mon, 3 Nov 2014 16:11:56 +0100 Subject: [PATCH 06/66] Update to cairo API 1.12 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 301db4c8c..7b9fcc490 100644 --- a/configure.ac +++ b/configure.ac @@ -9,7 +9,7 @@ AC_CONFIG_MACRO_DIR([m4]) API_VERSION=3.0.0.0 AC_SUBST(API_VERSION) -CAIRO_API_VERSION=1.10.0.0 +CAIRO_API_VERSION=1.12.0.0 AC_SUBST(CAIRO_API_VERSION) POLICY_VERSIONS="" AC_SUBST(POLICY_VERSIONS) From 54eb84c40c44699b588eea6767e07123e358794e Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Wed, 5 Nov 2014 08:48:24 +0100 Subject: [PATCH 07/66] Int size on 64 bit --- gdk/Property.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/Property.cs b/gdk/Property.cs index 5e901d6e1..03773f0a5 100644 --- a/gdk/Property.cs +++ b/gdk/Property.cs @@ -64,7 +64,7 @@ public static bool Get (Gdk.Window window, Gdk.Atom property, Gdk.Atom type, ulo int block_size; if (format == 32) { // data returned in blocks the size of a C long #if WIN64LONGS - block_size = int.Size; + block_size = sizeof(int); #else block_size = IntPtr.Size; #endif From c851bdc83709e265c9d6f266c74c3e71c8bad746 Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Wed, 5 Nov 2014 08:49:09 +0100 Subject: [PATCH 08/66] Ignore gui-thread-check on windows --- gtk/Makefile.am | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gtk/Makefile.am b/gtk/Makefile.am index cb858dd62..1a18ba663 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -1,4 +1,8 @@ -SUBDIRS = . glue gui-thread-check +SUBDIRS = . glue + +if !PLATFORM_WIN32 +SUBDIRS .= gui-thread-check +endif pkg = gtk pkgconfigdir=$(libdir)/pkgconfig From 4c4e2a8754f8e9f608bb510077798718ec2c704d Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Wed, 5 Nov 2014 08:49:52 +0100 Subject: [PATCH 09/66] Remove utf8 variant. Not used anymore on windows --- gapi.xsd | 2 -- generator/Method.cs | 49 +++++++-------------------------------------- gtk/Gtk.metadata | 28 -------------------------- 3 files changed, 7 insertions(+), 72 deletions(-) diff --git a/gapi.xsd b/gapi.xsd index bd6c05575..592595a63 100644 --- a/gapi.xsd +++ b/gapi.xsd @@ -206,7 +206,6 @@ - @@ -250,7 +249,6 @@ - diff --git a/generator/Method.cs b/generator/Method.cs index d8859e95c..74423b873 100644 --- a/generator/Method.cs +++ b/generator/Method.cs @@ -34,7 +34,6 @@ public class Method : MethodBase { private string call; private bool is_get, is_set; private bool deprecated = false; - private bool win32_utf8_variant = false; public Method (XmlElement elem, ClassBase container_type) : base (elem, container_type) { @@ -44,16 +43,10 @@ public Method (XmlElement elem, ClassBase container_type) : base (elem, containe deprecated = elem.GetAttributeAsBoolean ("deprecated"); } - win32_utf8_variant = elem.GetAttributeAsBoolean ("win32_utf8_variant"); - if (Name == "GetType") Name = "GetGType"; } - public bool HasWin32Utf8Variant { - get { return win32_utf8_variant; } - } - public bool IsDeprecated { get { return deprecated; @@ -204,15 +197,6 @@ public void GenerateImport (StreamWriter sw) else sw.WriteLine("\t\tstatic extern " + Safety + retval.MarshalType + " " + CName + "(" + import_sig + ");"); sw.WriteLine(); - - if (HasWin32Utf8Variant) { - sw.WriteLine("\t\t[DllImport(\"" + LibraryName + "\")]"); - if (retval.MarshalType.StartsWith ("[return:")) - sw.WriteLine("\t\t" + retval.MarshalType + " static extern " + Safety + retval.CSType + " " + CName + "_utf8(" + import_sig + ");"); - else - sw.WriteLine("\t\tstatic extern " + Safety + retval.MarshalType + " " + CName + "_utf8(" + import_sig + ");"); - sw.WriteLine(); - } } public void GenerateOverloads (StreamWriter sw) @@ -304,33 +288,14 @@ public void GenerateBody (GenerationInfo gen_info, ClassBase implementor, string Body.InitAccessor (sw, Signature, indent); Body.Initialize(gen_info, is_get, is_set, indent); - if (HasWin32Utf8Variant) { - if (!retval.IsVoid) - sw.WriteLine(indent + "\t\t\t" + retval.MarshalType + " raw_ret;"); - sw.WriteLine(indent + "\t\t\t" + "if (Environment.OSVersion.Platform == PlatformID.Win32NT ||"); - sw.WriteLine(indent + "\t\t\t" + " Environment.OSVersion.Platform == PlatformID.Win32S ||"); - sw.WriteLine(indent + "\t\t\t" + " Environment.OSVersion.Platform == PlatformID.Win32Windows ||"); - sw.WriteLine(indent + "\t\t\t" + " Environment.OSVersion.Platform == PlatformID.WinCE)"); - if (retval.IsVoid) { - sw.WriteLine(indent + "\t\t\t\t" + CName + "_utf8" + call + ";"); - sw.WriteLine(indent + "\t\t\t" + "else"); - sw.WriteLine(indent + "\t\t\t\t" + CName + call + ";"); - } else { - sw.WriteLine(indent + "\t\t\t\traw_ret = " + CName + "_utf8" + call + ";"); - sw.WriteLine(indent + "\t\t\t" + "else"); - sw.WriteLine(indent + "\t\t\t\traw_ret = " + CName + call + ";"); - sw.WriteLine(indent + "\t\t\t" + retval.CSType + " ret = " + retval.FromNative ("raw_ret") + ";"); - } - } else { - sw.Write(indent + "\t\t\t"); - if (retval.IsVoid) - sw.WriteLine(CName + call + ";"); - else { - sw.WriteLine(retval.MarshalType + " raw_ret = " + CName + call + ";"); - sw.WriteLine(indent + "\t\t\t" + retval.CSType + " ret = " + retval.FromNative ("raw_ret") + ";"); - } + sw.Write(indent + "\t\t\t"); + if (retval.IsVoid) + sw.WriteLine(CName + call + ";"); + else { + sw.WriteLine(retval.MarshalType + " raw_ret = " + CName + call + ";"); + sw.WriteLine(indent + "\t\t\t" + retval.CSType + " ret = " + retval.FromNative ("raw_ret") + ";"); } - + if (!IsStatic && implementor != null) implementor.Finish (sw, indent + "\t\t\t"); Body.Finish (sw, indent); diff --git a/gtk/Gtk.metadata b/gtk/Gtk.metadata index 51ceac237..e2566fc61 100644 --- a/gtk/Gtk.metadata +++ b/gtk/Gtk.metadata @@ -12,13 +12,10 @@ 1 1 1 - true 1 1 1 1 - true - true GtkPaperSize* true true @@ -83,10 +80,7 @@ 1 1 async - true 1 - true - true 1 1 1 @@ -140,16 +134,12 @@ ref SelectRegion 1 - true gfilename* - true gfilename* - true true gfilename* true GFile* - true gfilename* const-gfilename* const-gfilename* @@ -159,7 +149,6 @@ GetFilters GtkFileFilter* true - true GetShortcutFolders true gfilename* @@ -168,12 +157,6 @@ gchar* true true - true - true - true - true - true - true GFile* 1 GetFilters @@ -239,9 +222,7 @@ modifier call call - true out - true MapChanged accel_path accel_key @@ -389,10 +370,8 @@ 1 IsChildDetached 1 - true 1 1 - true 1 gchar* true @@ -402,8 +381,6 @@ true true LookupIcon - true - true 1 1 1 @@ -432,7 +409,6 @@ 1 1 pixbuf_animation - true file true 1 @@ -440,7 +416,6 @@ out out SetAnimation - true SetFile SetPixbuf out @@ -837,7 +812,6 @@ 1 1 1 - true 1 1 1 @@ -911,9 +885,7 @@ 1 GtkWindow* true - true 1 - true 1 1 Maximized From d445b4943e56831f1c0a34b562e650d80ca574ed Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Wed, 5 Nov 2014 08:59:19 +0100 Subject: [PATCH 10/66] Fix conditional in Makefile.am --- gtk/Makefile.am | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 1a18ba663..221480267 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -1,7 +1,7 @@ -SUBDIRS = . glue - if !PLATFORM_WIN32 -SUBDIRS .= gui-thread-check +SUBDIRS = . glue gui-thread-check +else +SUBDIRS = . glue endif pkg = gtk From cfb2f3f862f436b51233ba5699d8d5b6e9a89601 Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Wed, 5 Nov 2014 14:43:53 +0100 Subject: [PATCH 11/66] Install cairo-api.xml --- cairo/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cairo/Makefile.am b/cairo/Makefile.am index 826008d93..50d6b5061 100644 --- a/cairo/Makefile.am +++ b/cairo/Makefile.am @@ -6,6 +6,8 @@ SNK = $(srcdir)/mono.snk TARGET=$(ASSEMBLY) noinst_DATA = $(TARGET) +gapidir = $(datadir)/gapi-3.0 +gapi_DATA = cairo-api.xml CLEANFILES = $(ASSEMBLY) $(ASSEMBLY).mdb From 4efdb7c3aa65910959e26cfcabedfea15f73391d Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Wed, 5 Nov 2014 15:06:03 +0100 Subject: [PATCH 12/66] Seperate pkgconfig version from package version --- configure.ac | 5 ++++- gdk/gdk-sharp-3.0.pc.in | 2 +- gio/gio-sharp-3.0.pc.in | 2 +- glib/glib-sharp-3.0.pc.in | 2 +- gtk/gtk-sharp-3.0.pc.in | 2 +- gtkdotnet/gtk-dotnet-3.0.pc.in | 2 +- parser/gapi-3.0.pc.in | 2 +- 7 files changed, 10 insertions(+), 7 deletions(-) diff --git a/configure.ac b/configure.ac index 7b9fcc490..ecf1b1ada 100644 --- a/configure.ac +++ b/configure.ac @@ -7,13 +7,16 @@ AC_CONFIG_HEADERS(config.h) AM_MAINTAINER_MODE AC_CONFIG_MACRO_DIR([m4]) -API_VERSION=3.0.0.0 +API_VERSION=3.12.0.0 AC_SUBST(API_VERSION) CAIRO_API_VERSION=1.12.0.0 AC_SUBST(CAIRO_API_VERSION) POLICY_VERSIONS="" AC_SUBST(POLICY_VERSIONS) +PKG_VERSION=3.12.0 +AC_SUBST(PKG_VERSION) + PACKAGE_VERSION=gtk-sharp-3.0 AC_SUBST(PACKAGE_VERSION) diff --git a/gdk/gdk-sharp-3.0.pc.in b/gdk/gdk-sharp-3.0.pc.in index b93391215..fbba15f36 100644 --- a/gdk/gdk-sharp-3.0.pc.in +++ b/gdk/gdk-sharp-3.0.pc.in @@ -6,7 +6,7 @@ gapidir=${prefix}/share/gapi-3.0 Name: Gdk# Description: Gdk# - GDK .NET Binding -Version: @VERSION@ +Version: @PKG_VERSION@ Cflags: -I:${gapidir}/gdk-api.xml Libs: -r:${libdir}/mono/@PACKAGE_VERSION@/gdk-sharp.dll Requires: glib-sharp-3.0 diff --git a/gio/gio-sharp-3.0.pc.in b/gio/gio-sharp-3.0.pc.in index efb3810e3..fd39c6796 100644 --- a/gio/gio-sharp-3.0.pc.in +++ b/gio/gio-sharp-3.0.pc.in @@ -6,7 +6,7 @@ gapidir=${prefix}/share/gapi-3.0 Name: GIO# Description: GIO# - GIO .NET Binding -Version: @VERSION@ +Version: @PKG_VERSION@ Cflags: -I:${gapidir}/gio-api.xml Libs: -r:${assemblies_dir}/gio-sharp.dll Requires: glib-sharp-3.0 diff --git a/glib/glib-sharp-3.0.pc.in b/glib/glib-sharp-3.0.pc.in index fcf0fb72c..429f32ca2 100644 --- a/glib/glib-sharp-3.0.pc.in +++ b/glib/glib-sharp-3.0.pc.in @@ -6,7 +6,7 @@ gapidir=${prefix}/share/gapi-3.0 Name: GLib# Description: GLib# - .NET Binding for the glib library. -Version: @VERSION@ +Version: @PKG_VERSION@ Cflags: -I:${gapidir}/glib-api.xml Libs: -r:${libdir}/mono/@PACKAGE_VERSION@/glib-sharp.dll diff --git a/gtk/gtk-sharp-3.0.pc.in b/gtk/gtk-sharp-3.0.pc.in index a5ed3ca2c..c7097d0a6 100644 --- a/gtk/gtk-sharp-3.0.pc.in +++ b/gtk/gtk-sharp-3.0.pc.in @@ -6,7 +6,7 @@ gapidir=${prefix}/share/gapi-3.0 Name: Gtk# Description: Gtk# - GNOME .NET Binding -Version: @VERSION@ +Version: @PKG_VERSION@ Cflags: -I:${gapidir}/cairo-api.xml -I:${gapidir}/pango-api.xml -I:${gapidir}/atk-api.xml -I:${gapidir}/gtk-api.xml Libs: -r:${libdir}/mono/@PACKAGE_VERSION@/cairo-sharp.dll -r:${libdir}/mono/@PACKAGE_VERSION@/pango-sharp.dll -r:${libdir}/mono/@PACKAGE_VERSION@/atk-sharp.dll -r:${libdir}/mono/@PACKAGE_VERSION@/gtk-sharp.dll Requires: glib-sharp-3.0 gio-sharp-3.0 gdk-sharp-3.0 diff --git a/gtkdotnet/gtk-dotnet-3.0.pc.in b/gtkdotnet/gtk-dotnet-3.0.pc.in index e8afe6830..8bf1741e7 100644 --- a/gtkdotnet/gtk-dotnet-3.0.pc.in +++ b/gtkdotnet/gtk-dotnet-3.0.pc.in @@ -5,6 +5,6 @@ libdir=${exec_prefix}/lib Name: Gtk.DotNet Description: .NET Extensions for Gtk -Version: @VERSION@ +Version: @PKG_VERSION@ Requires:gtk-sharp-3.0 Libs: -r:${libdir}/mono/@PACKAGE_VERSION@/gtk-dotnet.dll diff --git a/parser/gapi-3.0.pc.in b/parser/gapi-3.0.pc.in index 665d02608..fdf2d6a11 100644 --- a/parser/gapi-3.0.pc.in +++ b/parser/gapi-3.0.pc.in @@ -3,4 +3,4 @@ prefix=${pcfiledir}/../.. Name: GAPI Description: GObject .NET API Wrapping Tool -Version: @VERSION@ +Version: @PKG_VERSION@ From 9cb9715654a9da18d520fdde2979c30ea00454ca Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Thu, 6 Nov 2014 09:28:59 +0100 Subject: [PATCH 13/66] Don't use API 3.12.0.0 just yet --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index ecf1b1ada..37a83ef39 100644 --- a/configure.ac +++ b/configure.ac @@ -7,7 +7,7 @@ AC_CONFIG_HEADERS(config.h) AM_MAINTAINER_MODE AC_CONFIG_MACRO_DIR([m4]) -API_VERSION=3.12.0.0 +API_VERSION=3.0.0.0 AC_SUBST(API_VERSION) CAIRO_API_VERSION=1.12.0.0 AC_SUBST(CAIRO_API_VERSION) From 8bf4dc10d9f954ba95272d5b968772940940e499 Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Tue, 20 Jan 2015 10:26:02 +0100 Subject: [PATCH 14/66] 3.14.6 --- atk/atk-api.raw | 81 ++- gdk/gdk-api.raw | 30 +- gio/gio-api.raw | 40 +- gtk/Gtk.metadata | 4 + gtk/gtk-api.raw | 1137 ++++++++++++++++++++++++++++++++++--------- pango/pango-api.raw | 1 + sources/Makefile.am | 10 +- sources/sources.xml | 13 +- 8 files changed, 1060 insertions(+), 256 deletions(-) diff --git a/atk/atk-api.raw b/atk/atk-api.raw index fbb7825ba..12a1a1912 100644 --- a/atk/atk-api.raw +++ b/atk/atk-api.raw @@ -568,6 +568,21 @@ + + + + + + + + + + + + + + + @@ -1421,6 +1436,13 @@ + + + + + + + @@ -1966,6 +1988,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2066,9 +2115,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -2085,6 +2158,12 @@ + + + + + + @@ -2244,7 +2323,7 @@ - + diff --git a/gdk/gdk-api.raw b/gdk/gdk-api.raw index c1ddfa1b4..d095e3772 100644 --- a/gdk/gdk-api.raw +++ b/gdk/gdk-api.raw @@ -135,6 +135,7 @@ + @@ -427,6 +428,7 @@ + @@ -2502,7 +2504,7 @@ - + @@ -3138,6 +3140,12 @@ + + + + + + @@ -3170,32 +3178,32 @@ - + - + - + - + - + - + - + @@ -3353,7 +3361,11 @@ - + + + + + diff --git a/gio/gio-api.raw b/gio/gio-api.raw index 3cfe1cad4..afe020bc9 100644 --- a/gio/gio-api.raw +++ b/gio/gio-api.raw @@ -61,6 +61,7 @@ + @@ -120,6 +121,10 @@ + + + + @@ -361,6 +366,12 @@ + + + + + + @@ -4770,6 +4781,7 @@ + @@ -4861,6 +4873,17 @@ + + + + + + + + + + + @@ -4897,6 +4920,9 @@ + + + @@ -4980,6 +5006,12 @@ + + + + + + @@ -8608,13 +8640,19 @@ + + + + + + - + diff --git a/gtk/Gtk.metadata b/gtk/Gtk.metadata index e2566fc61..2f0a5135b 100644 --- a/gtk/Gtk.metadata +++ b/gtk/Gtk.metadata @@ -366,6 +366,7 @@ GtkButton* 1 1 + 1 1 1 IsChildDetached @@ -435,6 +436,8 @@ 1 1 1 + SelectedAll + UnselectedAll 1 1 out @@ -473,6 +476,7 @@ const-gfilename* const-gfilename* ShowedConnectToServer + ShowEnteredLocation 1 1 IsEmbedded diff --git a/gtk/gtk-api.raw b/gtk/gtk-api.raw index 015a45905..e3f5a2700 100644 --- a/gtk/gtk-api.raw +++ b/gtk/gtk-api.raw @@ -79,6 +79,8 @@ + + @@ -164,6 +166,9 @@ + + + @@ -206,6 +211,11 @@ + + + + + @@ -259,6 +269,10 @@ + + + + @@ -419,6 +433,12 @@ + + + + + + @@ -506,6 +526,12 @@ + + + + + + @@ -728,6 +754,9 @@ + + + @@ -742,6 +771,7 @@ + @@ -773,6 +803,10 @@ + + + + @@ -1121,6 +1155,14 @@ + + + + + + + + @@ -3831,20 +3873,6 @@ - - - - - - - - - - - - - - @@ -4135,7 +4163,6 @@ - @@ -4926,6 +4953,15 @@ + + + + + + + + + @@ -5108,7 +5144,7 @@ - + @@ -5117,10 +5153,10 @@ - + - + @@ -5128,7 +5164,7 @@ - + @@ -5137,7 +5173,7 @@ - + @@ -5171,7 +5207,7 @@ - + @@ -5191,12 +5227,24 @@ + + + + + + + + + + + + @@ -5235,7 +5283,10 @@ - + + + + @@ -5542,16 +5593,16 @@ - + - + - + @@ -5638,6 +5689,10 @@ + + + + @@ -5844,8 +5899,6 @@ - - @@ -6182,15 +6235,6 @@ - - - - - - - - - @@ -6238,7 +6282,7 @@ - + @@ -6306,7 +6350,7 @@ - + @@ -6346,7 +6390,7 @@ - + @@ -6850,6 +6894,13 @@ + + + + + + + @@ -9426,7 +9477,7 @@ - + @@ -10419,10 +10470,10 @@ + - @@ -10445,6 +10496,10 @@ + + + + @@ -10469,9 +10524,6 @@ - - - @@ -10650,6 +10702,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -11082,12 +11178,6 @@ - - - - - - @@ -11658,59 +11748,489 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + - - + + + + + - - + + - - + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + - + + - + - - + + - + - + - - + - + + + + + + + + - + + + + + + + + + + + + - + + + + + + + + + + + + + - + + + + + + + + + + + + @@ -12277,7 +12797,7 @@ - + @@ -12290,13 +12810,13 @@ - + - + - + @@ -12410,7 +12930,7 @@ - + @@ -12443,7 +12963,7 @@ - + @@ -12451,6 +12971,12 @@ + + + + + + @@ -14304,12 +14830,12 @@ + + + - - - @@ -14318,6 +14844,18 @@ + + + + + + + + + + + + @@ -14348,15 +14886,6 @@ - - - - - - - - - @@ -14387,6 +14916,9 @@ + + + @@ -14416,12 +14948,22 @@ + + + + + + + + + + @@ -14470,6 +15012,15 @@ + + + + + + + + + @@ -14482,6 +15033,7 @@ + @@ -14491,22 +15043,43 @@ + + + + + + + + + + + + + + + + + + + + + @@ -15172,6 +15745,18 @@ + + + + + + + + + + + + @@ -15398,12 +15983,7 @@ - - - - - - + @@ -15413,8 +15993,14 @@ - + + + + + + + @@ -15422,6 +16008,9 @@ + + + @@ -15446,7 +16035,10 @@ - + + + + @@ -15569,31 +16161,31 @@ - + - + - + - + - + @@ -15610,17 +16202,18 @@ + - - - - - + + + + + @@ -15635,10 +16228,6 @@ - - - - @@ -16095,60 +16684,60 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -16579,6 +17168,7 @@ + @@ -16606,6 +17196,10 @@ + + + + @@ -16656,6 +17250,9 @@ + + + @@ -16699,6 +17296,12 @@ + + + + + + @@ -18997,9 +19600,6 @@ - - - @@ -20329,7 +20929,7 @@ - + @@ -20337,68 +20937,68 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + @@ -20408,7 +21008,7 @@ - + @@ -20418,25 +21018,25 @@ - + - + - + - + @@ -20448,43 +21048,43 @@ - + - + - + - + - + - + - + @@ -21051,7 +21651,7 @@ - + @@ -21192,7 +21792,7 @@ - + @@ -21205,7 +21805,7 @@ - + @@ -21259,7 +21859,7 @@ - + @@ -21470,19 +22070,25 @@ + - - + + + + + + + @@ -21498,9 +22104,6 @@ - - - @@ -21508,6 +22111,9 @@ + + + @@ -21518,6 +22124,12 @@ + + + + + + @@ -22387,11 +22999,11 @@ - + - + @@ -22420,7 +23032,7 @@ - + @@ -22516,7 +23128,7 @@ - + @@ -22562,13 +23174,13 @@ + - @@ -22667,6 +23279,13 @@ + + + + + + + @@ -22685,9 +23304,6 @@ - - - @@ -23251,35 +23867,35 @@ - + - + - + - + - + @@ -23295,27 +23911,27 @@ - + - + - + - + - + @@ -23323,61 +23939,61 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -25311,7 +25927,7 @@ - + @@ -25600,7 +26216,7 @@ - + @@ -27233,6 +27849,12 @@ + + + + + + @@ -27266,7 +27888,7 @@ - + @@ -27404,12 +28026,6 @@ - - - - - - @@ -27723,7 +28339,7 @@ - + @@ -27770,7 +28386,7 @@ - + @@ -27831,6 +28447,12 @@ + + + + + + @@ -27863,7 +28485,7 @@ - + @@ -28216,10 +28838,10 @@ + - @@ -28273,6 +28895,12 @@ + + + + + + @@ -28282,9 +28910,6 @@ - - - @@ -28390,7 +29015,7 @@ - + @@ -28427,7 +29052,7 @@ - + @@ -28554,7 +29179,7 @@ - + @@ -28683,7 +29308,7 @@ - + @@ -28726,6 +29351,12 @@ + + + + + + @@ -28911,7 +29542,9 @@ + + @@ -29071,8 +29704,6 @@ - - @@ -29096,6 +29727,8 @@ + + @@ -29427,6 +30060,29 @@ + + + + + + + + + + + + + + + + + + + + + + + @@ -29442,15 +30098,18 @@ + - + + + @@ -29595,8 +30254,6 @@ - - @@ -30905,7 +31562,7 @@ - + @@ -30919,7 +31576,7 @@ - + @@ -30949,6 +31606,12 @@ + + + + + + @@ -30977,7 +31640,7 @@ - + @@ -30985,7 +31648,7 @@ - + @@ -30999,7 +31662,7 @@ - + @@ -31012,7 +31675,7 @@ - + @@ -31033,6 +31696,13 @@ + + + + + + + @@ -31065,6 +31735,7 @@ + @@ -31077,12 +31748,10 @@ - - diff --git a/pango/pango-api.raw b/pango/pango-api.raw index fd0a8cf7c..884bfd41f 100644 --- a/pango/pango-api.raw +++ b/pango/pango-api.raw @@ -231,6 +231,7 @@ + diff --git a/sources/Makefile.am b/sources/Makefile.am index 65b017ba0..c5dc40507 100644 --- a/sources/Makefile.am +++ b/sources/Makefile.am @@ -3,13 +3,13 @@ EXTRA_DIST = \ sources.xml \ gtk_tree_model_signal_fix.patch -TARGET_GTK_VERSION=3.12.0 -TARGET_GTK_API=3.12 +TARGET_GTK_VERSION=3.14.6 +TARGET_GTK_API=3.14 GTK_DOWNLOADS = \ - http://ftp.gnome.org/pub/GNOME/sources/glib/2.40/glib-2.40.0.tar.xz \ - http://ftp.gnome.org/pub/GNOME/sources/pango/1.36/pango-1.36.0.tar.xz \ - http://ftp.gnome.org/pub/GNOME/sources/atk/2.12/atk-2.12.0.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/glib/2.42/glib-2.42.1.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/pango/1.36/pango-1.36.8.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/atk/2.14/atk-2.14.0.tar.xz \ http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.28/gdk-pixbuf-2.28.0.tar.xz \ http://ftp.gnome.org/pub/GNOME/sources/gtk+/$(TARGET_GTK_API)/gtk+-$(TARGET_GTK_VERSION).tar.xz diff --git a/sources/sources.xml b/sources/sources.xml index 77f4d4f28..7fbbd2c9f 100644 --- a/sources/sources.xml +++ b/sources/sources.xml @@ -2,7 +2,7 @@ - + gasynchelper.h gcontenttypeprivate.h gdelayedsettingsbackend.h @@ -87,14 +87,14 @@ - atk-2.12.0/atk + atk-2.14.0/atk - + pangoatsui.c pangoatsui.h pangoatsui-fontmap.h @@ -136,11 +136,12 @@ - + gdkalias.h gdkwindowimpl.h keyname-table.h + @@ -160,7 +161,7 @@ - + gtkalias.h gtkappchooseronline.h @@ -256,7 +257,7 @@ gtkcellarea.c gtklockbutton.h - + From eb227d859808e32eb46be01948f5c0ca2b77baee Mon Sep 17 00:00:00 2001 From: nyx Date: Thu, 23 Jul 2015 23:40:17 +0300 Subject: [PATCH 15/66] Removed CssProvider reference to unavailable interface GtkStyleProviderPrivate --- gtk/Gtk.metadata | 2 -- gtk/gtk-api.raw | 4 ---- 2 files changed, 6 deletions(-) diff --git a/gtk/Gtk.metadata b/gtk/Gtk.metadata index 2f0a5135b..ca7ef97c7 100644 --- a/gtk/Gtk.metadata +++ b/gtk/Gtk.metadata @@ -826,8 +826,6 @@ [GLib.TypeInitializer (typeof (Gtk.Widget), "ClassInit")] 1 1 - 1 - 1 1 out true diff --git a/gtk/gtk-api.raw b/gtk/gtk-api.raw index e3f5a2700..f4da044a0 100644 --- a/gtk/gtk-api.raw +++ b/gtk/gtk-api.raw @@ -9520,7 +9520,6 @@ - @@ -16242,7 +16241,6 @@ - @@ -20238,7 +20236,6 @@ - @@ -21970,7 +21967,6 @@ - From 6774f0b71d8026beaa6caf47de985f04ebf68d79 Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Fri, 4 Sep 2015 11:15:29 +0200 Subject: [PATCH 16/66] Track 3.16.6 --- atk/atk-api.raw | 7 + gdk/gdk-api.raw | 175 +++++++++++++++- gio/Gio.metadata | 22 +- gio/gio-api.raw | 317 ++++++++++++++++++++++++----- gtk/gtk-api.raw | 486 ++++++++++++++++++++++++++++++++++++++------ sources/Makefile.am | 10 +- sources/sources.xml | 14 +- 7 files changed, 878 insertions(+), 153 deletions(-) diff --git a/atk/atk-api.raw b/atk/atk-api.raw index 12a1a1912..4be018fc8 100644 --- a/atk/atk-api.raw +++ b/atk/atk-api.raw @@ -167,6 +167,11 @@ + + + + + @@ -211,6 +216,8 @@ + + diff --git a/gdk/gdk-api.raw b/gdk/gdk-api.raw index d095e3772..925f83964 100644 --- a/gdk/gdk-api.raw +++ b/gdk/gdk-api.raw @@ -228,6 +228,11 @@ + + + + + @@ -239,6 +244,7 @@ + @@ -555,7 +561,7 @@ - + @@ -617,6 +623,8 @@ + + @@ -790,6 +798,9 @@ + + + @@ -804,6 +815,9 @@ + + + @@ -829,7 +843,7 @@ - + @@ -980,6 +994,7 @@ + @@ -1229,6 +1244,12 @@ + + + + + + @@ -1330,7 +1351,7 @@ - + @@ -1381,7 +1402,7 @@ - + @@ -1673,6 +1694,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2472,6 +2588,12 @@ + + + + + + @@ -2513,7 +2635,7 @@ - + @@ -2543,7 +2665,7 @@ - + @@ -2785,6 +2907,12 @@ + + + + + + @@ -2909,7 +3037,7 @@ - + @@ -3084,7 +3212,7 @@ - + @@ -3149,7 +3277,7 @@ - + @@ -3558,7 +3686,7 @@ - + @@ -3579,6 +3707,9 @@ + + + @@ -3596,7 +3727,7 @@ - + @@ -3655,6 +3786,20 @@ + + + + + + + + + + + + + + @@ -4501,6 +4646,7 @@ + @@ -5134,6 +5280,13 @@ + + + + + + + diff --git a/gio/Gio.metadata b/gio/Gio.metadata index 2ecb62fa3..96f558516 100644 --- a/gio/Gio.metadata +++ b/gio/Gio.metadata @@ -4,7 +4,6 @@ call call GLib - GIOExtension* private 1 GSrvTarget* @@ -23,11 +22,6 @@ gchar* true true - DBus - GetAddressForBusSync - GetStream - GetStreamFinish - GetStreamSync IOError FromErrno FromWin32Error @@ -37,7 +31,6 @@ true ScanAllInDirectory CancelAllJobs - PushJob GioGlobal 1 1 @@ -97,22 +90,12 @@ 1 1 GetMountInstance - GDBusAuthObserver - GDBusCapabilityFlags - GDBusConnection - GDBusConnectionFlags - GDBusInterfaceInfo - GDBusProxyFlags - GDBusServerFlags GIOStream GUnixFDList 1 Activated Opened LaunchedFailed - AuthenticatedPeerAuthorized - IsClosed - GetIsClosed GEmblem* GFileInfo* true @@ -163,13 +146,13 @@ 1 1 1 - Activated 1 1 1 GTlsCertificate* true true + 1 GetDefault GMount* true @@ -180,6 +163,7 @@ GDrive* true true + 1 /api/namespace/class[@cname='GGlobal'] /api/namespace/object[@cname='GIOModule'] /api/namespace/object[@cname='GIOModule'] @@ -187,7 +171,5 @@ /api/namespace/struct[@cname='GIOSchedulerJob'] /api/namespace/object[@cname='GSimpleAsyncResult'] /api/namespace/object[@cname='GSimpleAsyncResult'] - - diff --git a/gio/gio-api.raw b/gio/gio-api.raw index afe020bc9..3740af1a1 100644 --- a/gio/gio-api.raw +++ b/gio/gio-api.raw @@ -343,6 +343,8 @@ + + @@ -366,6 +368,12 @@ + + + + + + @@ -3644,15 +3652,7 @@ - - - - - - - - - + @@ -3733,18 +3733,7 @@ - - - - - - - - - - - - + @@ -4786,6 +4775,7 @@ + @@ -4896,6 +4886,13 @@ + + + + + + + @@ -4914,6 +4911,9 @@ + + + @@ -5012,6 +5012,13 @@ + + + + + + + @@ -6241,6 +6248,15 @@ + + + + + + + + + @@ -7148,6 +7164,22 @@ + + + + + + + + + + + + + + + + @@ -7500,6 +7532,25 @@ + + + + + + + + + + + + + + + + + + + @@ -8505,6 +8556,11 @@ + + + + + @@ -8533,6 +8589,16 @@ + + + + + + + + + + @@ -8988,6 +9054,25 @@ + + + + + + + + + + + + + + + + + + + @@ -10028,6 +10113,22 @@ + + + + + + + + + + + + + + + + @@ -11124,6 +11225,7 @@ + @@ -11140,6 +11242,9 @@ + + + @@ -12134,9 +12239,6 @@ - - - @@ -12202,19 +12304,8 @@ - - - - - - - - - - - @@ -12297,19 +12388,8 @@ - - - - - - - - - - - @@ -12336,11 +12416,10 @@ - + - @@ -12781,6 +12860,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13005,6 +13114,15 @@ + + + + + + + + + @@ -13018,6 +13136,14 @@ + + + + + + + + @@ -13134,11 +13260,11 @@ - - - - - + + + + + @@ -13152,6 +13278,7 @@ + @@ -13282,6 +13409,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gtk/gtk-api.raw b/gtk/gtk-api.raw index f4da044a0..82cf5bb5f 100644 --- a/gtk/gtk-api.raw +++ b/gtk/gtk-api.raw @@ -90,6 +90,11 @@ + + + + + @@ -461,6 +466,7 @@ + @@ -798,6 +804,10 @@ + + + + @@ -1148,6 +1158,13 @@ + + + + + + + @@ -3171,11 +3188,24 @@ + + + + + + + + + + + + + @@ -4635,7 +4665,7 @@ - + @@ -4881,7 +4911,7 @@ - + @@ -4954,7 +4984,7 @@ - + @@ -8311,6 +8341,12 @@ + + + + + + @@ -9520,6 +9556,7 @@ + @@ -9559,6 +9596,12 @@ + + + + + + @@ -10087,6 +10130,9 @@ + + + @@ -11037,6 +11083,7 @@ + @@ -12006,6 +12053,7 @@ + @@ -12231,6 +12279,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12504,7 +12654,7 @@ - + @@ -14314,6 +14464,8 @@ + + @@ -14433,6 +14585,12 @@ + + + + + + @@ -14576,6 +14734,18 @@ + + + + + + + + + + + + @@ -14885,6 +15055,18 @@ + + + + + + + + + + + + @@ -16193,15 +16375,7 @@ - - - - - - - - - + @@ -16241,6 +16415,7 @@ + @@ -16453,6 +16628,12 @@ + + + + + + @@ -17054,6 +17235,7 @@ + @@ -17128,6 +17310,9 @@ + + + @@ -17155,6 +17340,12 @@ + + + + + + @@ -17377,6 +17568,7 @@ + @@ -17403,6 +17595,9 @@ + + + @@ -17441,6 +17636,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18980,8 +19200,8 @@ - - + + @@ -19898,6 +20118,7 @@ + @@ -19911,6 +20132,18 @@ + + + + + + + + + + + + @@ -19947,6 +20180,9 @@ + + + @@ -20005,6 +20241,12 @@ + + + + + + @@ -20094,29 +20336,38 @@ - - - + + + - + - - + + + - - + + + - + + + + + + + + @@ -20236,6 +20487,7 @@ + @@ -20249,20 +20501,20 @@ - + - + - + @@ -20270,7 +20522,7 @@ - + @@ -20278,14 +20530,14 @@ - + - + @@ -20666,6 +20918,9 @@ + + + @@ -20681,6 +20936,9 @@ + + + @@ -20688,6 +20946,12 @@ + + + + + + @@ -20706,6 +20970,12 @@ + + + + + + @@ -20726,6 +20996,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -21668,7 +21973,7 @@ - + @@ -21682,7 +21987,7 @@ - + @@ -21967,18 +22272,19 @@ + - + - + - + @@ -21986,10 +22292,10 @@ - + - + @@ -22017,14 +22323,14 @@ - + - + @@ -22032,14 +22338,14 @@ - + - + @@ -22047,14 +22353,14 @@ - + - + @@ -22718,6 +23024,14 @@ + + + + + + + + @@ -23024,12 +23338,16 @@ + + + + @@ -23171,12 +23489,12 @@ + - @@ -23197,6 +23515,7 @@ + @@ -23271,6 +23590,15 @@ + + + + + + + + + @@ -23297,9 +23625,6 @@ - - - @@ -23440,6 +23765,9 @@ + + + @@ -23611,6 +23939,12 @@ + + + + + + @@ -27806,6 +28140,12 @@ + + + + + + @@ -28191,6 +28531,9 @@ + + + @@ -28257,34 +28600,34 @@ - + - + - + - + - + @@ -29076,6 +29419,9 @@ + + + @@ -29710,14 +30056,16 @@ + + - - + + @@ -29741,6 +30089,8 @@ + + @@ -29776,12 +30126,15 @@ - + + + + @@ -30095,6 +30448,7 @@ + @@ -30106,6 +30460,7 @@ + @@ -30203,6 +30558,9 @@ + + + @@ -30217,6 +30575,13 @@ + + + + + + + @@ -30617,7 +30982,6 @@ - @@ -30834,8 +31198,10 @@ + - + + @@ -32365,6 +32731,12 @@ + + + + + + diff --git a/sources/Makefile.am b/sources/Makefile.am index c5dc40507..d04f9bcaa 100644 --- a/sources/Makefile.am +++ b/sources/Makefile.am @@ -3,14 +3,14 @@ EXTRA_DIST = \ sources.xml \ gtk_tree_model_signal_fix.patch -TARGET_GTK_VERSION=3.14.6 -TARGET_GTK_API=3.14 +TARGET_GTK_VERSION=3.16.6 +TARGET_GTK_API=3.16 GTK_DOWNLOADS = \ - http://ftp.gnome.org/pub/GNOME/sources/glib/2.42/glib-2.42.1.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/glib/2.44/glib-2.44.1.tar.xz \ http://ftp.gnome.org/pub/GNOME/sources/pango/1.36/pango-1.36.8.tar.xz \ - http://ftp.gnome.org/pub/GNOME/sources/atk/2.14/atk-2.14.0.tar.xz \ - http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.28/gdk-pixbuf-2.28.0.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/atk/2.16/atk-2.16.0.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.30/gdk-pixbuf-2.30.8.tar.xz \ http://ftp.gnome.org/pub/GNOME/sources/gtk+/$(TARGET_GTK_API)/gtk+-$(TARGET_GTK_VERSION).tar.xz api: diff --git a/sources/sources.xml b/sources/sources.xml index 7fbbd2c9f..34f19200f 100644 --- a/sources/sources.xml +++ b/sources/sources.xml @@ -2,7 +2,7 @@ - + gasynchelper.h gcontenttypeprivate.h gdelayedsettingsbackend.h @@ -87,7 +87,7 @@ - atk-2.14.0/atk + atk-2.16.0/atk @@ -136,17 +136,17 @@ - + gdkalias.h gdkwindowimpl.h keyname-table.h - + - + io-gdip-native.h io-gdip-propertytags.h io-gdip-utils.h @@ -161,7 +161,7 @@ - + gtkalias.h gtkappchooseronline.h @@ -257,7 +257,7 @@ gtkcellarea.c gtklockbutton.h - + From 95f59a7b5af5156994917a57917f1c3f658157fb Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Fri, 4 Sep 2015 11:54:19 +0200 Subject: [PATCH 17/66] Fix IScrollable and List class --- gio/Gio.metadata | 1 + gtk/Gtk.metadata | 1 + sample/CustomScrollableWidget.cs | 7 ++++++- sources/Makefile.am | 1 + sources/gtk_text_view_public.patch | 11 +++++++++++ 5 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 sources/gtk_text_view_public.patch diff --git a/gio/Gio.metadata b/gio/Gio.metadata index 96f558516..5b5543b4e 100644 --- a/gio/Gio.metadata +++ b/gio/Gio.metadata @@ -33,6 +33,7 @@ CancelAllJobs GioGlobal 1 + 1 1 ReportGerrorInIdle ReportTakeGerrorInIdle diff --git a/gtk/Gtk.metadata b/gtk/Gtk.metadata index ca7ef97c7..0b6985912 100644 --- a/gtk/Gtk.metadata +++ b/gtk/Gtk.metadata @@ -544,6 +544,7 @@ out GetVScrollbar void + 1 diff --git a/sample/CustomScrollableWidget.cs b/sample/CustomScrollableWidget.cs index 5403cc561..41bd52a4d 100644 --- a/sample/CustomScrollableWidget.cs +++ b/sample/CustomScrollableWidget.cs @@ -54,7 +54,7 @@ public DerivedScrollableWidget (string label) : base (label) { } } -class CustomScrollableWidget : CustomBase, IScrollableImplementor { +class CustomScrollableWidget : CustomBase, IScrollable { private int num_rows = 20; private string label; private Pango.Layout layout; @@ -214,4 +214,9 @@ private void OnVadjustmentChanged (object o, System.EventArgs args) UpdateAdjustments (); QueueDraw (); } + + public bool GetBorder(Gtk.Border border) + { + return true; + } } diff --git a/sources/Makefile.am b/sources/Makefile.am index d04f9bcaa..e74c75251 100644 --- a/sources/Makefile.am +++ b/sources/Makefile.am @@ -26,4 +26,5 @@ get-source-code: echo "typedef struct _GtkClipboardClass GtkClipboardClass;" >> gtk+-$(TARGET_GTK_VERSION)/gtk/gtkclipboard.h patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtkselectionprivate.h < gtkselectionprivate-space.patch patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtktextattributes.h < gtktextattributes-gi-scanner.patch + patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtktextview.h < gtk_text_view_public.patch diff --git a/sources/gtk_text_view_public.patch b/sources/gtk_text_view_public.patch new file mode 100644 index 000000000..5363d5b08 --- /dev/null +++ b/sources/gtk_text_view_public.patch @@ -0,0 +1,11 @@ +--- gtk+-3.16.6.orig/gtk/gtktextview.h 2015-09-04 11:37:38.035020919 +0200 ++++ gtk+-3.16.6/gtk/gtktextview.h 2015-09-04 11:38:59.958096121 +0200 +@@ -155,8 +155,6 @@ + { + GtkContainerClass parent_class; + +- /*< public */ +- + void (* populate_popup) (GtkTextView *text_view, + GtkWidget *popup); + void (* move_cursor) (GtkTextView *text_view, From e1cba4116a77dcb7fdb3a1062777497a2bb5318d Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Fri, 4 Sep 2015 12:08:06 +0200 Subject: [PATCH 18/66] Rename RowActivated to ListRowActivated for ListBox --- gtk/Gtk.metadata | 1 + 1 file changed, 1 insertion(+) diff --git a/gtk/Gtk.metadata b/gtk/Gtk.metadata index 0b6985912..3a57dd569 100644 --- a/gtk/Gtk.metadata +++ b/gtk/Gtk.metadata @@ -438,6 +438,7 @@ 1 SelectedAll UnselectedAll + ListRowActivated 1 1 out From e34a6d760611b99287034db1d4ea9a2ad165f266 Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Fri, 4 Sep 2015 13:21:17 +0200 Subject: [PATCH 19/66] Return false if no border set --- sample/CustomScrollableWidget.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sample/CustomScrollableWidget.cs b/sample/CustomScrollableWidget.cs index 41bd52a4d..efd887de7 100644 --- a/sample/CustomScrollableWidget.cs +++ b/sample/CustomScrollableWidget.cs @@ -217,6 +217,6 @@ private void OnVadjustmentChanged (object o, System.EventArgs args) public bool GetBorder(Gtk.Border border) { - return true; + return false; } } From 542be14153072483155687c72b714025717e251f Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Fri, 4 Sep 2015 13:56:56 +0200 Subject: [PATCH 20/66] Constructor --- generator/Ctor.cs | 6 +++--- gio/Gio.metadata | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/generator/Ctor.cs b/generator/Ctor.cs index 9747b23d4..5553cd056 100644 --- a/generator/Ctor.cs +++ b/generator/Ctor.cs @@ -122,7 +122,7 @@ public void Generate (GenerationInfo gen_info) } } - if (names.Count == Parameters.Count) { + //if (names.Count == Parameters.Count) { sw.WriteLine ("\t\t\t\tvar vals = new List ();"); sw.WriteLine ("\t\t\t\tvar names = new List ();"); for (int i = 0; i < names.Count; i++) { @@ -141,8 +141,8 @@ public void Generate (GenerationInfo gen_info) sw.WriteLine ("\t\t\t\tCreateNativeObject (names.ToArray (), vals.ToArray ());"); sw.WriteLine ("\t\t\t\treturn;"); - } else - sw.WriteLine ("\t\t\t\tthrow new InvalidOperationException (\"Can't override this constructor.\");"); + //} else + // sw.WriteLine ("\t\t\t\tthrow new InvalidOperationException (\"Can't override this constructor.\");"); } sw.WriteLine ("\t\t\t}"); diff --git a/gio/Gio.metadata b/gio/Gio.metadata index 5b5543b4e..742c5bc9e 100644 --- a/gio/Gio.metadata +++ b/gio/Gio.metadata @@ -154,6 +154,7 @@ true true 1 + 1 GetDefault GMount* true From d98f6c34216e420270546572f53c62288161ad37 Mon Sep 17 00:00:00 2001 From: Antonius Riha Date: Mon, 8 Jun 2015 22:33:18 +0200 Subject: [PATCH 21/66] csproj ToolsVersion to 4.0 --- atk/atk.csproj | 2 +- audit/audit.csproj | 2 +- cairo/cairo.csproj | 2 +- gdk/gdk.csproj | 2 +- generator/generator.csproj | 2 +- gio/gio.csproj | 2 +- glib/glib.csproj | 2 +- gtk-sharp.sln | 512 ++++++++++++++++++------------------- gtk/gtk.csproj | 2 +- pango/pango.csproj | 2 +- sample/sample.csproj | 2 +- 11 files changed, 266 insertions(+), 266 deletions(-) diff --git a/atk/atk.csproj b/atk/atk.csproj index bf262bbe4..f769119f0 100644 --- a/atk/atk.csproj +++ b/atk/atk.csproj @@ -1,5 +1,5 @@ - + Debug x86 diff --git a/audit/audit.csproj b/audit/audit.csproj index 5eecec0d7..64980a516 100644 --- a/audit/audit.csproj +++ b/audit/audit.csproj @@ -1,5 +1,5 @@ - + Debug x86 diff --git a/cairo/cairo.csproj b/cairo/cairo.csproj index a09505773..632d1dbdf 100644 --- a/cairo/cairo.csproj +++ b/cairo/cairo.csproj @@ -1,5 +1,5 @@ - + Debug x86 diff --git a/gdk/gdk.csproj b/gdk/gdk.csproj index 96e7fd688..2c16a1234 100644 --- a/gdk/gdk.csproj +++ b/gdk/gdk.csproj @@ -1,5 +1,5 @@ - + Debug x86 diff --git a/generator/generator.csproj b/generator/generator.csproj index fbab856bb..df6e0f6bc 100644 --- a/generator/generator.csproj +++ b/generator/generator.csproj @@ -1,5 +1,5 @@ - + Debug x86 diff --git a/gio/gio.csproj b/gio/gio.csproj index 7495e21c6..3a93a421e 100644 --- a/gio/gio.csproj +++ b/gio/gio.csproj @@ -1,5 +1,5 @@ - + Debug x86 diff --git a/glib/glib.csproj b/glib/glib.csproj index 762ceb644..b80beb776 100644 --- a/glib/glib.csproj +++ b/glib/glib.csproj @@ -1,5 +1,5 @@ - + Debug x86 diff --git a/gtk-sharp.sln b/gtk-sharp.sln index ef9c2ffbf..bd332c55e 100644 --- a/gtk-sharp.sln +++ b/gtk-sharp.sln @@ -1,256 +1,256 @@ - -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "sample", "sample\sample.csproj", "{48234565-8E78-462E-ADEC-9AAA81B641B2}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "generator", "generator\generator.csproj", "{80E73555-2284-40DC-9068-9A40B7359B0C}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "gtk-sharp", "gtk-sharp", "{E0AD538D-9979-479B-8CBA-ED9143536CE0}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "glib", "glib\glib.csproj", "{3BF1D531-8840-4F15-8066-A9788D8C398B}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "atk", "atk\atk.csproj", "{42FE871A-D8CF-4B29-9AFF-B02454E6C976}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cairo", "cairo\cairo.csproj", "{364577DB-9728-4951-AC2C-EDF7A6FCC09D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "gdk", "gdk\gdk.csproj", "{58346CC6-DE93-45B4-8093-3508BD5DAA12}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "gio", "gio\gio.csproj", "{1C3BB17B-336D-432A-8952-4E979BC90867}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "gtk", "gtk\gtk.csproj", "{94045F11-4266-40B4-910F-298985AF69D5}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "pango", "pango\pango.csproj", "{FF422D8C-562F-4EA6-8590-9D1A5CD40AD4}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "audit", "audit\audit.csproj", "{D8A1AAF8-EA10-4D1D-8A8A-D38C56C0A753}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x86 = Debug|x86 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {1C3BB17B-336D-432A-8952-4E979BC90867}.Debug|x86.ActiveCfg = Debug|x86 - {1C3BB17B-336D-432A-8952-4E979BC90867}.Debug|x86.Build.0 = Debug|x86 - {1C3BB17B-336D-432A-8952-4E979BC90867}.Release|x86.ActiveCfg = Release|x86 - {1C3BB17B-336D-432A-8952-4E979BC90867}.Release|x86.Build.0 = Release|x86 - {364577DB-9728-4951-AC2C-EDF7A6FCC09D}.Debug|x86.ActiveCfg = Debug|x86 - {364577DB-9728-4951-AC2C-EDF7A6FCC09D}.Debug|x86.Build.0 = Debug|x86 - {364577DB-9728-4951-AC2C-EDF7A6FCC09D}.Release|x86.ActiveCfg = Release|x86 - {364577DB-9728-4951-AC2C-EDF7A6FCC09D}.Release|x86.Build.0 = Release|x86 - {3BF1D531-8840-4F15-8066-A9788D8C398B}.Debug|x86.ActiveCfg = Debug|x86 - {3BF1D531-8840-4F15-8066-A9788D8C398B}.Debug|x86.Build.0 = Debug|x86 - {3BF1D531-8840-4F15-8066-A9788D8C398B}.Release|x86.ActiveCfg = Release|x86 - {3BF1D531-8840-4F15-8066-A9788D8C398B}.Release|x86.Build.0 = Release|x86 - {42FE871A-D8CF-4B29-9AFF-B02454E6C976}.Debug|x86.ActiveCfg = Debug|x86 - {42FE871A-D8CF-4B29-9AFF-B02454E6C976}.Debug|x86.Build.0 = Debug|x86 - {42FE871A-D8CF-4B29-9AFF-B02454E6C976}.Release|x86.ActiveCfg = Release|x86 - {42FE871A-D8CF-4B29-9AFF-B02454E6C976}.Release|x86.Build.0 = Release|x86 - {48234565-8E78-462E-ADEC-9AAA81B641B2}.Debug|x86.ActiveCfg = Debug|x86 - {48234565-8E78-462E-ADEC-9AAA81B641B2}.Debug|x86.Build.0 = Debug|x86 - {48234565-8E78-462E-ADEC-9AAA81B641B2}.Release|x86.ActiveCfg = Release|x86 - {48234565-8E78-462E-ADEC-9AAA81B641B2}.Release|x86.Build.0 = Release|x86 - {58346CC6-DE93-45B4-8093-3508BD5DAA12}.Debug|x86.ActiveCfg = Debug|x86 - {58346CC6-DE93-45B4-8093-3508BD5DAA12}.Debug|x86.Build.0 = Debug|x86 - {58346CC6-DE93-45B4-8093-3508BD5DAA12}.Release|x86.ActiveCfg = Release|x86 - {58346CC6-DE93-45B4-8093-3508BD5DAA12}.Release|x86.Build.0 = Release|x86 - {80E73555-2284-40DC-9068-9A40B7359B0C}.Debug|x86.ActiveCfg = Debug|x86 - {80E73555-2284-40DC-9068-9A40B7359B0C}.Debug|x86.Build.0 = Debug|x86 - {80E73555-2284-40DC-9068-9A40B7359B0C}.Release|x86.ActiveCfg = Release|x86 - {80E73555-2284-40DC-9068-9A40B7359B0C}.Release|x86.Build.0 = Release|x86 - {94045F11-4266-40B4-910F-298985AF69D5}.Debug|x86.ActiveCfg = Debug|x86 - {94045F11-4266-40B4-910F-298985AF69D5}.Debug|x86.Build.0 = Debug|x86 - {94045F11-4266-40B4-910F-298985AF69D5}.Release|x86.ActiveCfg = Release|x86 - {94045F11-4266-40B4-910F-298985AF69D5}.Release|x86.Build.0 = Release|x86 - {D8A1AAF8-EA10-4D1D-8A8A-D38C56C0A753}.Debug|x86.ActiveCfg = Debug|x86 - {D8A1AAF8-EA10-4D1D-8A8A-D38C56C0A753}.Debug|x86.Build.0 = Debug|x86 - {D8A1AAF8-EA10-4D1D-8A8A-D38C56C0A753}.Release|x86.ActiveCfg = Release|x86 - {D8A1AAF8-EA10-4D1D-8A8A-D38C56C0A753}.Release|x86.Build.0 = Release|x86 - {FF422D8C-562F-4EA6-8590-9D1A5CD40AD4}.Debug|x86.ActiveCfg = Debug|x86 - {FF422D8C-562F-4EA6-8590-9D1A5CD40AD4}.Debug|x86.Build.0 = Debug|x86 - {FF422D8C-562F-4EA6-8590-9D1A5CD40AD4}.Release|x86.ActiveCfg = Release|x86 - {FF422D8C-562F-4EA6-8590-9D1A5CD40AD4}.Release|x86.Build.0 = Release|x86 - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {3BF1D531-8840-4F15-8066-A9788D8C398B} = {E0AD538D-9979-479B-8CBA-ED9143536CE0} - {42FE871A-D8CF-4B29-9AFF-B02454E6C976} = {E0AD538D-9979-479B-8CBA-ED9143536CE0} - {364577DB-9728-4951-AC2C-EDF7A6FCC09D} = {E0AD538D-9979-479B-8CBA-ED9143536CE0} - {58346CC6-DE93-45B4-8093-3508BD5DAA12} = {E0AD538D-9979-479B-8CBA-ED9143536CE0} - {1C3BB17B-336D-432A-8952-4E979BC90867} = {E0AD538D-9979-479B-8CBA-ED9143536CE0} - {94045F11-4266-40B4-910F-298985AF69D5} = {E0AD538D-9979-479B-8CBA-ED9143536CE0} - {FF422D8C-562F-4EA6-8590-9D1A5CD40AD4} = {E0AD538D-9979-479B-8CBA-ED9143536CE0} - EndGlobalSection - GlobalSection(MonoDevelopProperties) = preSolution - StartupItem = sample\sample.csproj - Policies = $0 - $0.TextStylePolicy = $1 - $1.inheritsSet = null - $1.scope = text/x-csharp - $0.CSharpFormattingPolicy = $2 - $2.inheritsSet = Mono - $2.inheritsScope = text/x-csharp - $2.scope = text/x-csharp - $0.TextStylePolicy = $3 - $3.FileWidth = 120 - $3.TabsToSpaces = False - $3.inheritsSet = VisualStudio - $3.inheritsScope = text/plain - $3.scope = text/plain - $0.DotNetNamingPolicy = $4 - $4.DirectoryNamespaceAssociation = None - $4.ResourceNamePolicy = FileFormatDefault - $0.StandardHeader = $5 - $5.Text = - $5.IncludeInNewFiles = True - $0.NameConventionPolicy = $6 - $6.Rules = $7 - $7.NamingRule = $8 - $8.Name = Namespaces - $8.AffectedEntity = Namespace - $8.VisibilityMask = VisibilityMask - $8.NamingStyle = PascalCase - $8.IncludeInstanceMembers = True - $8.IncludeStaticEntities = True - $7.NamingRule = $9 - $9.Name = Types - $9.AffectedEntity = Class, Struct, Enum, Delegate - $9.VisibilityMask = VisibilityMask - $9.NamingStyle = PascalCase - $9.IncludeInstanceMembers = True - $9.IncludeStaticEntities = True - $7.NamingRule = $10 - $10.Name = Interfaces - $10.RequiredPrefixes = $11 - $11.String = I - $10.AffectedEntity = Interface - $10.VisibilityMask = VisibilityMask - $10.NamingStyle = PascalCase - $10.IncludeInstanceMembers = True - $10.IncludeStaticEntities = True - $7.NamingRule = $12 - $12.Name = Attributes - $12.RequiredSuffixes = $13 - $13.String = Attribute - $12.AffectedEntity = CustomAttributes - $12.VisibilityMask = VisibilityMask - $12.NamingStyle = PascalCase - $12.IncludeInstanceMembers = True - $12.IncludeStaticEntities = True - $7.NamingRule = $14 - $14.Name = Event Arguments - $14.RequiredSuffixes = $15 - $15.String = EventArgs - $14.AffectedEntity = CustomEventArgs - $14.VisibilityMask = VisibilityMask - $14.NamingStyle = PascalCase - $14.IncludeInstanceMembers = True - $14.IncludeStaticEntities = True - $7.NamingRule = $16 - $16.Name = Exceptions - $16.RequiredSuffixes = $17 - $17.String = Exception - $16.AffectedEntity = CustomExceptions - $16.VisibilityMask = VisibilityMask - $16.NamingStyle = PascalCase - $16.IncludeInstanceMembers = True - $16.IncludeStaticEntities = True - $7.NamingRule = $18 - $18.Name = Methods - $18.AffectedEntity = Methods - $18.VisibilityMask = VisibilityMask - $18.NamingStyle = PascalCase - $18.IncludeInstanceMembers = True - $18.IncludeStaticEntities = True - $7.NamingRule = $19 - $19.Name = Static Readonly Fields - $19.AffectedEntity = ReadonlyField - $19.VisibilityMask = Internal, Protected, Public - $19.NamingStyle = PascalCase - $19.IncludeInstanceMembers = False - $19.IncludeStaticEntities = True - $7.NamingRule = $20 - $20.Name = Fields (Non Private) - $20.AffectedEntity = Field - $20.VisibilityMask = Internal, Protected, Public - $20.NamingStyle = PascalCase - $20.IncludeInstanceMembers = True - $20.IncludeStaticEntities = True - $7.NamingRule = $21 - $21.Name = ReadOnly Fields (Non Private) - $21.AffectedEntity = ReadonlyField - $21.VisibilityMask = Internal, Protected, Public - $21.NamingStyle = PascalCase - $21.IncludeInstanceMembers = True - $21.IncludeStaticEntities = False - $7.NamingRule = $22 - $22.Name = Fields (Private) - $22.AllowedPrefixes = $23 - $23.String = _ - $23.String = m_ - $22.AffectedEntity = Field, ReadonlyField - $22.VisibilityMask = Private - $22.NamingStyle = CamelCase - $22.IncludeInstanceMembers = True - $22.IncludeStaticEntities = False - $7.NamingRule = $24 - $24.Name = Static Fields (Private) - $24.AffectedEntity = Field - $24.VisibilityMask = Private - $24.NamingStyle = CamelCase - $24.IncludeInstanceMembers = False - $24.IncludeStaticEntities = True - $7.NamingRule = $25 - $25.Name = ReadOnly Fields (Private) - $25.AllowedPrefixes = $26 - $26.String = _ - $26.String = m_ - $25.AffectedEntity = ReadonlyField - $25.VisibilityMask = Private - $25.NamingStyle = CamelCase - $25.IncludeInstanceMembers = True - $25.IncludeStaticEntities = False - $7.NamingRule = $27 - $27.Name = Constant Fields - $27.AffectedEntity = ConstantField - $27.VisibilityMask = VisibilityMask - $27.NamingStyle = PascalCase - $27.IncludeInstanceMembers = True - $27.IncludeStaticEntities = True - $7.NamingRule = $28 - $28.Name = Properties - $28.AffectedEntity = Property - $28.VisibilityMask = VisibilityMask - $28.NamingStyle = PascalCase - $28.IncludeInstanceMembers = True - $28.IncludeStaticEntities = True - $7.NamingRule = $29 - $29.Name = Events - $29.AffectedEntity = Event - $29.VisibilityMask = VisibilityMask - $29.NamingStyle = PascalCase - $29.IncludeInstanceMembers = True - $29.IncludeStaticEntities = True - $7.NamingRule = $30 - $30.Name = Enum Members - $30.AffectedEntity = EnumMember - $30.VisibilityMask = VisibilityMask - $30.NamingStyle = PascalCase - $30.IncludeInstanceMembers = True - $30.IncludeStaticEntities = True - $7.NamingRule = $31 - $31.Name = Parameters - $31.AffectedEntity = Parameter - $31.VisibilityMask = VisibilityMask - $31.NamingStyle = CamelCase - $31.IncludeInstanceMembers = True - $31.IncludeStaticEntities = True - $7.NamingRule = $32 - $32.Name = Type Parameters - $32.RequiredPrefixes = $33 - $33.String = T - $32.AffectedEntity = TypeParameter - $32.VisibilityMask = VisibilityMask - $32.NamingStyle = PascalCase - $32.IncludeInstanceMembers = True - $32.IncludeStaticEntities = True - EndGlobalSection -EndGlobal + +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "sample", "sample\sample.csproj", "{48234565-8E78-462E-ADEC-9AAA81B641B2}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "generator", "generator\generator.csproj", "{80E73555-2284-40DC-9068-9A40B7359B0C}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "gtk-sharp", "gtk-sharp", "{E0AD538D-9979-479B-8CBA-ED9143536CE0}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "glib", "glib\glib.csproj", "{3BF1D531-8840-4F15-8066-A9788D8C398B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "atk", "atk\atk.csproj", "{42FE871A-D8CF-4B29-9AFF-B02454E6C976}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cairo", "cairo\cairo.csproj", "{364577DB-9728-4951-AC2C-EDF7A6FCC09D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "gdk", "gdk\gdk.csproj", "{58346CC6-DE93-45B4-8093-3508BD5DAA12}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "gio", "gio\gio.csproj", "{1C3BB17B-336D-432A-8952-4E979BC90867}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "gtk", "gtk\gtk.csproj", "{94045F11-4266-40B4-910F-298985AF69D5}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "pango", "pango\pango.csproj", "{FF422D8C-562F-4EA6-8590-9D1A5CD40AD4}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "audit", "audit\audit.csproj", "{D8A1AAF8-EA10-4D1D-8A8A-D38C56C0A753}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1C3BB17B-336D-432A-8952-4E979BC90867}.Debug|x86.ActiveCfg = Debug|x86 + {1C3BB17B-336D-432A-8952-4E979BC90867}.Debug|x86.Build.0 = Debug|x86 + {1C3BB17B-336D-432A-8952-4E979BC90867}.Release|x86.ActiveCfg = Release|x86 + {1C3BB17B-336D-432A-8952-4E979BC90867}.Release|x86.Build.0 = Release|x86 + {364577DB-9728-4951-AC2C-EDF7A6FCC09D}.Debug|x86.ActiveCfg = Debug|x86 + {364577DB-9728-4951-AC2C-EDF7A6FCC09D}.Debug|x86.Build.0 = Debug|x86 + {364577DB-9728-4951-AC2C-EDF7A6FCC09D}.Release|x86.ActiveCfg = Release|x86 + {364577DB-9728-4951-AC2C-EDF7A6FCC09D}.Release|x86.Build.0 = Release|x86 + {3BF1D531-8840-4F15-8066-A9788D8C398B}.Debug|x86.ActiveCfg = Debug|x86 + {3BF1D531-8840-4F15-8066-A9788D8C398B}.Debug|x86.Build.0 = Debug|x86 + {3BF1D531-8840-4F15-8066-A9788D8C398B}.Release|x86.ActiveCfg = Release|x86 + {3BF1D531-8840-4F15-8066-A9788D8C398B}.Release|x86.Build.0 = Release|x86 + {42FE871A-D8CF-4B29-9AFF-B02454E6C976}.Debug|x86.ActiveCfg = Debug|x86 + {42FE871A-D8CF-4B29-9AFF-B02454E6C976}.Debug|x86.Build.0 = Debug|x86 + {42FE871A-D8CF-4B29-9AFF-B02454E6C976}.Release|x86.ActiveCfg = Release|x86 + {42FE871A-D8CF-4B29-9AFF-B02454E6C976}.Release|x86.Build.0 = Release|x86 + {48234565-8E78-462E-ADEC-9AAA81B641B2}.Debug|x86.ActiveCfg = Debug|x86 + {48234565-8E78-462E-ADEC-9AAA81B641B2}.Debug|x86.Build.0 = Debug|x86 + {48234565-8E78-462E-ADEC-9AAA81B641B2}.Release|x86.ActiveCfg = Release|x86 + {48234565-8E78-462E-ADEC-9AAA81B641B2}.Release|x86.Build.0 = Release|x86 + {58346CC6-DE93-45B4-8093-3508BD5DAA12}.Debug|x86.ActiveCfg = Debug|x86 + {58346CC6-DE93-45B4-8093-3508BD5DAA12}.Debug|x86.Build.0 = Debug|x86 + {58346CC6-DE93-45B4-8093-3508BD5DAA12}.Release|x86.ActiveCfg = Release|x86 + {58346CC6-DE93-45B4-8093-3508BD5DAA12}.Release|x86.Build.0 = Release|x86 + {80E73555-2284-40DC-9068-9A40B7359B0C}.Debug|x86.ActiveCfg = Debug|x86 + {80E73555-2284-40DC-9068-9A40B7359B0C}.Debug|x86.Build.0 = Debug|x86 + {80E73555-2284-40DC-9068-9A40B7359B0C}.Release|x86.ActiveCfg = Release|x86 + {80E73555-2284-40DC-9068-9A40B7359B0C}.Release|x86.Build.0 = Release|x86 + {94045F11-4266-40B4-910F-298985AF69D5}.Debug|x86.ActiveCfg = Debug|x86 + {94045F11-4266-40B4-910F-298985AF69D5}.Debug|x86.Build.0 = Debug|x86 + {94045F11-4266-40B4-910F-298985AF69D5}.Release|x86.ActiveCfg = Release|x86 + {94045F11-4266-40B4-910F-298985AF69D5}.Release|x86.Build.0 = Release|x86 + {D8A1AAF8-EA10-4D1D-8A8A-D38C56C0A753}.Debug|x86.ActiveCfg = Debug|x86 + {D8A1AAF8-EA10-4D1D-8A8A-D38C56C0A753}.Debug|x86.Build.0 = Debug|x86 + {D8A1AAF8-EA10-4D1D-8A8A-D38C56C0A753}.Release|x86.ActiveCfg = Release|x86 + {D8A1AAF8-EA10-4D1D-8A8A-D38C56C0A753}.Release|x86.Build.0 = Release|x86 + {FF422D8C-562F-4EA6-8590-9D1A5CD40AD4}.Debug|x86.ActiveCfg = Debug|x86 + {FF422D8C-562F-4EA6-8590-9D1A5CD40AD4}.Debug|x86.Build.0 = Debug|x86 + {FF422D8C-562F-4EA6-8590-9D1A5CD40AD4}.Release|x86.ActiveCfg = Release|x86 + {FF422D8C-562F-4EA6-8590-9D1A5CD40AD4}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {3BF1D531-8840-4F15-8066-A9788D8C398B} = {E0AD538D-9979-479B-8CBA-ED9143536CE0} + {42FE871A-D8CF-4B29-9AFF-B02454E6C976} = {E0AD538D-9979-479B-8CBA-ED9143536CE0} + {364577DB-9728-4951-AC2C-EDF7A6FCC09D} = {E0AD538D-9979-479B-8CBA-ED9143536CE0} + {58346CC6-DE93-45B4-8093-3508BD5DAA12} = {E0AD538D-9979-479B-8CBA-ED9143536CE0} + {1C3BB17B-336D-432A-8952-4E979BC90867} = {E0AD538D-9979-479B-8CBA-ED9143536CE0} + {94045F11-4266-40B4-910F-298985AF69D5} = {E0AD538D-9979-479B-8CBA-ED9143536CE0} + {FF422D8C-562F-4EA6-8590-9D1A5CD40AD4} = {E0AD538D-9979-479B-8CBA-ED9143536CE0} + EndGlobalSection + GlobalSection(MonoDevelopProperties) = preSolution + StartupItem = sample\sample.csproj + Policies = $0 + $0.TextStylePolicy = $1 + $1.inheritsSet = null + $1.scope = text/x-csharp + $0.CSharpFormattingPolicy = $2 + $2.inheritsSet = Mono + $2.inheritsScope = text/x-csharp + $2.scope = text/x-csharp + $0.TextStylePolicy = $3 + $3.FileWidth = 120 + $3.TabsToSpaces = False + $3.inheritsSet = VisualStudio + $3.inheritsScope = text/plain + $3.scope = text/plain + $0.DotNetNamingPolicy = $4 + $4.DirectoryNamespaceAssociation = None + $4.ResourceNamePolicy = FileFormatDefault + $0.StandardHeader = $5 + $5.Text = + $5.IncludeInNewFiles = True + $0.NameConventionPolicy = $6 + $6.Rules = $7 + $7.NamingRule = $8 + $8.Name = Namespaces + $8.AffectedEntity = Namespace + $8.VisibilityMask = VisibilityMask + $8.NamingStyle = PascalCase + $8.IncludeInstanceMembers = True + $8.IncludeStaticEntities = True + $7.NamingRule = $9 + $9.Name = Types + $9.AffectedEntity = Class, Struct, Enum, Delegate + $9.VisibilityMask = VisibilityMask + $9.NamingStyle = PascalCase + $9.IncludeInstanceMembers = True + $9.IncludeStaticEntities = True + $7.NamingRule = $10 + $10.Name = Interfaces + $10.RequiredPrefixes = $11 + $11.String = I + $10.AffectedEntity = Interface + $10.VisibilityMask = VisibilityMask + $10.NamingStyle = PascalCase + $10.IncludeInstanceMembers = True + $10.IncludeStaticEntities = True + $7.NamingRule = $12 + $12.Name = Attributes + $12.RequiredSuffixes = $13 + $13.String = Attribute + $12.AffectedEntity = CustomAttributes + $12.VisibilityMask = VisibilityMask + $12.NamingStyle = PascalCase + $12.IncludeInstanceMembers = True + $12.IncludeStaticEntities = True + $7.NamingRule = $14 + $14.Name = Event Arguments + $14.RequiredSuffixes = $15 + $15.String = EventArgs + $14.AffectedEntity = CustomEventArgs + $14.VisibilityMask = VisibilityMask + $14.NamingStyle = PascalCase + $14.IncludeInstanceMembers = True + $14.IncludeStaticEntities = True + $7.NamingRule = $16 + $16.Name = Exceptions + $16.RequiredSuffixes = $17 + $17.String = Exception + $16.AffectedEntity = CustomExceptions + $16.VisibilityMask = VisibilityMask + $16.NamingStyle = PascalCase + $16.IncludeInstanceMembers = True + $16.IncludeStaticEntities = True + $7.NamingRule = $18 + $18.Name = Methods + $18.AffectedEntity = Methods + $18.VisibilityMask = VisibilityMask + $18.NamingStyle = PascalCase + $18.IncludeInstanceMembers = True + $18.IncludeStaticEntities = True + $7.NamingRule = $19 + $19.Name = Static Readonly Fields + $19.AffectedEntity = ReadonlyField + $19.VisibilityMask = Internal, Protected, Public + $19.NamingStyle = PascalCase + $19.IncludeInstanceMembers = False + $19.IncludeStaticEntities = True + $7.NamingRule = $20 + $20.Name = Fields (Non Private) + $20.AffectedEntity = Field + $20.VisibilityMask = Internal, Protected, Public + $20.NamingStyle = PascalCase + $20.IncludeInstanceMembers = True + $20.IncludeStaticEntities = True + $7.NamingRule = $21 + $21.Name = ReadOnly Fields (Non Private) + $21.AffectedEntity = ReadonlyField + $21.VisibilityMask = Internal, Protected, Public + $21.NamingStyle = PascalCase + $21.IncludeInstanceMembers = True + $21.IncludeStaticEntities = False + $7.NamingRule = $22 + $22.Name = Fields (Private) + $22.AllowedPrefixes = $23 + $23.String = _ + $23.String = m_ + $22.AffectedEntity = Field, ReadonlyField + $22.VisibilityMask = Private + $22.NamingStyle = CamelCase + $22.IncludeInstanceMembers = True + $22.IncludeStaticEntities = False + $7.NamingRule = $24 + $24.Name = Static Fields (Private) + $24.AffectedEntity = Field + $24.VisibilityMask = Private + $24.NamingStyle = CamelCase + $24.IncludeInstanceMembers = False + $24.IncludeStaticEntities = True + $7.NamingRule = $25 + $25.Name = ReadOnly Fields (Private) + $25.AllowedPrefixes = $26 + $26.String = _ + $26.String = m_ + $25.AffectedEntity = ReadonlyField + $25.VisibilityMask = Private + $25.NamingStyle = CamelCase + $25.IncludeInstanceMembers = True + $25.IncludeStaticEntities = False + $7.NamingRule = $27 + $27.Name = Constant Fields + $27.AffectedEntity = ConstantField + $27.VisibilityMask = VisibilityMask + $27.NamingStyle = PascalCase + $27.IncludeInstanceMembers = True + $27.IncludeStaticEntities = True + $7.NamingRule = $28 + $28.Name = Properties + $28.AffectedEntity = Property + $28.VisibilityMask = VisibilityMask + $28.NamingStyle = PascalCase + $28.IncludeInstanceMembers = True + $28.IncludeStaticEntities = True + $7.NamingRule = $29 + $29.Name = Events + $29.AffectedEntity = Event + $29.VisibilityMask = VisibilityMask + $29.NamingStyle = PascalCase + $29.IncludeInstanceMembers = True + $29.IncludeStaticEntities = True + $7.NamingRule = $30 + $30.Name = Enum Members + $30.AffectedEntity = EnumMember + $30.VisibilityMask = VisibilityMask + $30.NamingStyle = PascalCase + $30.IncludeInstanceMembers = True + $30.IncludeStaticEntities = True + $7.NamingRule = $31 + $31.Name = Parameters + $31.AffectedEntity = Parameter + $31.VisibilityMask = VisibilityMask + $31.NamingStyle = CamelCase + $31.IncludeInstanceMembers = True + $31.IncludeStaticEntities = True + $7.NamingRule = $32 + $32.Name = Type Parameters + $32.RequiredPrefixes = $33 + $33.String = T + $32.AffectedEntity = TypeParameter + $32.VisibilityMask = VisibilityMask + $32.NamingStyle = PascalCase + $32.IncludeInstanceMembers = True + $32.IncludeStaticEntities = True + EndGlobalSection +EndGlobal diff --git a/gtk/gtk.csproj b/gtk/gtk.csproj index 11bbc08eb..2dfa09d66 100644 --- a/gtk/gtk.csproj +++ b/gtk/gtk.csproj @@ -1,5 +1,5 @@ - + Debug x86 diff --git a/pango/pango.csproj b/pango/pango.csproj index 2e6e52d31..23a03068f 100644 --- a/pango/pango.csproj +++ b/pango/pango.csproj @@ -1,5 +1,5 @@ - + Debug x86 diff --git a/sample/sample.csproj b/sample/sample.csproj index a2c17919f..383309cd1 100644 --- a/sample/sample.csproj +++ b/sample/sample.csproj @@ -1,5 +1,5 @@ - + Debug x86 From 16310b15a0f0e4cd78bab0b30f7786dda7ff18e1 Mon Sep 17 00:00:00 2001 From: Harol Alfonso Reina Herrera Date: Thu, 29 Oct 2015 09:24:44 -0500 Subject: [PATCH 22/66] Update csproj TargetFrameworkVersion --- atk/atk.csproj | 3 ++- audit/audit.csproj | 3 ++- cairo/cairo.csproj | 3 ++- gdk/gdk.csproj | 3 ++- generator/generator.csproj | 3 ++- gio/gio.csproj | 3 ++- glib/glib.csproj | 3 ++- gtk/gtk.csproj | 3 ++- pango/pango.csproj | 3 ++- 9 files changed, 18 insertions(+), 9 deletions(-) diff --git a/atk/atk.csproj b/atk/atk.csproj index f769119f0..27b2979f4 100644 --- a/atk/atk.csproj +++ b/atk/atk.csproj @@ -9,7 +9,8 @@ Library atk atk-sharp - v3.5 + v4.0 + true diff --git a/audit/audit.csproj b/audit/audit.csproj index 64980a516..19f2cedfe 100644 --- a/audit/audit.csproj +++ b/audit/audit.csproj @@ -9,7 +9,8 @@ Exe audit audit - v3.5 + v4.0 + true diff --git a/cairo/cairo.csproj b/cairo/cairo.csproj index 632d1dbdf..3b4d65db8 100644 --- a/cairo/cairo.csproj +++ b/cairo/cairo.csproj @@ -9,7 +9,8 @@ Library cairo cairo-sharp - v3.5 + v4.0 + true diff --git a/gdk/gdk.csproj b/gdk/gdk.csproj index 2c16a1234..5d9306b8f 100644 --- a/gdk/gdk.csproj +++ b/gdk/gdk.csproj @@ -9,7 +9,8 @@ Library gdk gdk-sharp - v3.5 + v4.0 + true diff --git a/generator/generator.csproj b/generator/generator.csproj index df6e0f6bc..b4673e6bc 100644 --- a/generator/generator.csproj +++ b/generator/generator.csproj @@ -9,7 +9,8 @@ Exe generator gapi_codegen - v3.5 + v4.0 + true diff --git a/gio/gio.csproj b/gio/gio.csproj index 3a93a421e..71e01d2c0 100644 --- a/gio/gio.csproj +++ b/gio/gio.csproj @@ -9,7 +9,8 @@ Library gio gio-sharp - v3.5 + v4.0 + true diff --git a/glib/glib.csproj b/glib/glib.csproj index b80beb776..55eccbd27 100644 --- a/glib/glib.csproj +++ b/glib/glib.csproj @@ -9,7 +9,8 @@ Library glib glib-sharp - v3.5 + v4.0 + true diff --git a/gtk/gtk.csproj b/gtk/gtk.csproj index 2dfa09d66..ef90088fd 100644 --- a/gtk/gtk.csproj +++ b/gtk/gtk.csproj @@ -9,7 +9,8 @@ Library gtk gtk-sharp - v3.5 + v4.0 + true diff --git a/pango/pango.csproj b/pango/pango.csproj index 23a03068f..f60d9ae9a 100644 --- a/pango/pango.csproj +++ b/pango/pango.csproj @@ -9,7 +9,8 @@ Library pango pango-sharp - v3.5 + v4.0 + true From 751a5ceed5b8fe8d0c4defe22cb6969b0379ac5d Mon Sep 17 00:00:00 2001 From: Harol Alfonso Reina Herrera Date: Thu, 29 Oct 2015 10:10:23 -0500 Subject: [PATCH 23/66] Update References file's in csproj --- atk/atk.csproj | 21 ++- gdk/gdk.csproj | 40 +++-- gio/gio.csproj | 207 +++++++++++++----------- glib/glib.csproj | 4 + gtk/gtk.csproj | 364 ++++++++++++++++++++++++++++++++----------- pango/pango.csproj | 42 +++-- sample/sample.csproj | 28 ++-- 7 files changed, 481 insertions(+), 225 deletions(-) diff --git a/atk/atk.csproj b/atk/atk.csproj index 27b2979f4..824da7ce4 100644 --- a/atk/atk.csproj +++ b/atk/atk.csproj @@ -128,6 +128,21 @@ + + + + + + + + + + + + + + Properties\AssemblyInfo.cs + @@ -135,12 +150,10 @@ glib - - - + PreserveNewest - \ No newline at end of file + diff --git a/gdk/gdk.csproj b/gdk/gdk.csproj index 5d9306b8f..a35afdffc 100644 --- a/gdk/gdk.csproj +++ b/gdk/gdk.csproj @@ -76,6 +76,8 @@ + + @@ -83,6 +85,7 @@ + @@ -112,18 +115,25 @@ - + + - + + + + + + + @@ -132,25 +142,24 @@ + + - - + - - @@ -184,9 +193,9 @@ + - @@ -207,23 +216,26 @@ + + + - - - + + Properties\AssemblyInfo.cs + @@ -243,14 +255,10 @@ pango - - - - - + PreserveNewest - \ No newline at end of file + diff --git a/gio/gio.csproj b/gio/gio.csproj index 71e01d2c0..6bc47ffcb 100644 --- a/gio/gio.csproj +++ b/gio/gio.csproj @@ -46,102 +46,95 @@ + + - + - - - - - - - - + - + - - - - - - - - - + - - - - - - + + - + - - + + + + - + + + + + + + + + + + - - - - - - + + + + @@ -155,11 +148,15 @@ + + - + + + @@ -172,38 +169,28 @@ + - + + - - + + - - - - - - - - - - - - - - + + @@ -215,14 +202,16 @@ - - + + + + + - @@ -231,24 +220,18 @@ - - - - - - + + - - @@ -256,12 +239,33 @@ + + + + + + + + + + + - - + + + + + + + + + + + + @@ -274,26 +278,42 @@ + - + + + + - - + + + + - + + + + + + + + + + + @@ -305,56 +325,68 @@ - + + + - - - + + + + + + + + + + - + - - + + + + + + + + - - - @@ -363,14 +395,14 @@ - - + - - + + Properties\AssemblyInfo.cs + @@ -381,13 +413,10 @@ - - - - + PreserveNewest - \ No newline at end of file + diff --git a/glib/glib.csproj b/glib/glib.csproj index 55eccbd27..24bf5bbda 100644 --- a/glib/glib.csproj +++ b/glib/glib.csproj @@ -103,6 +103,10 @@ + + + Properties\AssemblyInfo.cs + diff --git a/gtk/gtk.csproj b/gtk/gtk.csproj index ef90088fd..97b284691 100644 --- a/gtk/gtk.csproj +++ b/gtk/gtk.csproj @@ -148,7 +148,6 @@ - @@ -158,24 +157,29 @@ + + + + + + + - - + - - + @@ -183,23 +187,30 @@ + + - - - + + + + + + + + @@ -211,13 +222,14 @@ - + + @@ -244,10 +256,12 @@ - + + + @@ -261,17 +275,28 @@ + + + + + + + + + + + + - @@ -279,11 +304,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -292,11 +366,12 @@ - + + @@ -309,6 +384,8 @@ + + @@ -322,15 +399,19 @@ + + + - + + @@ -342,6 +423,9 @@ + + + @@ -362,19 +446,39 @@ - + + + + + - + + + + + + + + - + + + + + + + + + + @@ -388,10 +492,12 @@ + + @@ -409,15 +515,25 @@ + + + + + + + + + + - + @@ -426,6 +542,7 @@ + @@ -441,24 +558,51 @@ - - - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -473,55 +617,51 @@ - - - - - - - + + - + + - - - - - - - - - - - + + + + + + + + + + - - + + + @@ -532,19 +672,29 @@ + + + + + + + + + + @@ -557,11 +707,11 @@ - + @@ -570,10 +720,14 @@ + + + + @@ -587,16 +741,24 @@ + + + + + + + + @@ -607,7 +769,9 @@ + + @@ -615,9 +779,6 @@ - - - @@ -633,14 +794,18 @@ + + + + - + @@ -671,20 +836,19 @@ + - - - + @@ -693,6 +857,10 @@ + + + + @@ -700,21 +868,26 @@ + + - - - - + + + + + + + @@ -725,68 +898,72 @@ - - - - + - + - - - - - + + + + + + + - + + + + + - - + + + + - - + @@ -796,6 +973,7 @@ + @@ -811,10 +989,11 @@ - + + @@ -836,27 +1015,24 @@ + + - - - - + + - - - - + @@ -866,8 +1042,14 @@ + + + + + + @@ -912,31 +1094,40 @@ - - + - - - + + + + + + + + + + + + Properties\AssemblyInfo.cs + @@ -967,10 +1158,7 @@ pango - - - - + PreserveNewest diff --git a/pango/pango.csproj b/pango/pango.csproj index f60d9ae9a..61f9856ce 100644 --- a/pango/pango.csproj +++ b/pango/pango.csproj @@ -90,7 +90,6 @@ - @@ -103,6 +102,17 @@ + + + + + + + + + + + @@ -112,6 +122,12 @@ + + + + + + @@ -122,12 +138,6 @@ - - - - - - @@ -138,8 +148,8 @@ - + @@ -149,14 +159,14 @@ + - - + @@ -165,8 +175,8 @@ - + @@ -189,6 +199,9 @@ + + Properties\AssemblyInfo.cs + @@ -200,13 +213,10 @@ cairo - - - - + PreserveNewest - \ No newline at end of file + diff --git a/sample/sample.csproj b/sample/sample.csproj index 383309cd1..a6c91b410 100644 --- a/sample/sample.csproj +++ b/sample/sample.csproj @@ -9,7 +9,8 @@ Exe sample sample - v3.5 + v4.0 + true @@ -50,7 +51,6 @@ - @@ -83,15 +83,6 @@ - - - - - - - - - @@ -108,11 +99,20 @@ - + + + + + + + + + + @@ -123,6 +123,7 @@ + @@ -154,4 +155,7 @@ gtk + + + \ No newline at end of file From c7dfa5decce6f29d42fe39dc1bcd6636b8ef06b0 Mon Sep 17 00:00:00 2001 From: Harol Alfonso Reina Herrera Date: Thu, 29 Oct 2015 11:19:50 -0500 Subject: [PATCH 24/66] Update Solution to Visual Studio 2013 --- gtk-sharp.sln | 49 +++++++++++++++++++++++++++---------------------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/gtk-sharp.sln b/gtk-sharp.sln index bd332c55e..300887f44 100644 --- a/gtk-sharp.sln +++ b/gtk-sharp.sln @@ -1,6 +1,8 @@  -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.40629.0 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "sample", "sample\sample.csproj", "{48234565-8E78-462E-ADEC-9AAA81B641B2}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "generator", "generator\generator.csproj", "{80E73555-2284-40DC-9068-9A40B7359B0C}" @@ -29,14 +31,14 @@ Global Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {1C3BB17B-336D-432A-8952-4E979BC90867}.Debug|x86.ActiveCfg = Debug|x86 - {1C3BB17B-336D-432A-8952-4E979BC90867}.Debug|x86.Build.0 = Debug|x86 - {1C3BB17B-336D-432A-8952-4E979BC90867}.Release|x86.ActiveCfg = Release|x86 - {1C3BB17B-336D-432A-8952-4E979BC90867}.Release|x86.Build.0 = Release|x86 - {364577DB-9728-4951-AC2C-EDF7A6FCC09D}.Debug|x86.ActiveCfg = Debug|x86 - {364577DB-9728-4951-AC2C-EDF7A6FCC09D}.Debug|x86.Build.0 = Debug|x86 - {364577DB-9728-4951-AC2C-EDF7A6FCC09D}.Release|x86.ActiveCfg = Release|x86 - {364577DB-9728-4951-AC2C-EDF7A6FCC09D}.Release|x86.Build.0 = Release|x86 + {48234565-8E78-462E-ADEC-9AAA81B641B2}.Debug|x86.ActiveCfg = Debug|x86 + {48234565-8E78-462E-ADEC-9AAA81B641B2}.Debug|x86.Build.0 = Debug|x86 + {48234565-8E78-462E-ADEC-9AAA81B641B2}.Release|x86.ActiveCfg = Release|x86 + {48234565-8E78-462E-ADEC-9AAA81B641B2}.Release|x86.Build.0 = Release|x86 + {80E73555-2284-40DC-9068-9A40B7359B0C}.Debug|x86.ActiveCfg = Debug|x86 + {80E73555-2284-40DC-9068-9A40B7359B0C}.Debug|x86.Build.0 = Debug|x86 + {80E73555-2284-40DC-9068-9A40B7359B0C}.Release|x86.ActiveCfg = Release|x86 + {80E73555-2284-40DC-9068-9A40B7359B0C}.Release|x86.Build.0 = Release|x86 {3BF1D531-8840-4F15-8066-A9788D8C398B}.Debug|x86.ActiveCfg = Debug|x86 {3BF1D531-8840-4F15-8066-A9788D8C398B}.Debug|x86.Build.0 = Debug|x86 {3BF1D531-8840-4F15-8066-A9788D8C398B}.Release|x86.ActiveCfg = Release|x86 @@ -45,30 +47,33 @@ Global {42FE871A-D8CF-4B29-9AFF-B02454E6C976}.Debug|x86.Build.0 = Debug|x86 {42FE871A-D8CF-4B29-9AFF-B02454E6C976}.Release|x86.ActiveCfg = Release|x86 {42FE871A-D8CF-4B29-9AFF-B02454E6C976}.Release|x86.Build.0 = Release|x86 - {48234565-8E78-462E-ADEC-9AAA81B641B2}.Debug|x86.ActiveCfg = Debug|x86 - {48234565-8E78-462E-ADEC-9AAA81B641B2}.Debug|x86.Build.0 = Debug|x86 - {48234565-8E78-462E-ADEC-9AAA81B641B2}.Release|x86.ActiveCfg = Release|x86 - {48234565-8E78-462E-ADEC-9AAA81B641B2}.Release|x86.Build.0 = Release|x86 + {364577DB-9728-4951-AC2C-EDF7A6FCC09D}.Debug|x86.ActiveCfg = Debug|x86 + {364577DB-9728-4951-AC2C-EDF7A6FCC09D}.Debug|x86.Build.0 = Debug|x86 + {364577DB-9728-4951-AC2C-EDF7A6FCC09D}.Release|x86.ActiveCfg = Release|x86 + {364577DB-9728-4951-AC2C-EDF7A6FCC09D}.Release|x86.Build.0 = Release|x86 {58346CC6-DE93-45B4-8093-3508BD5DAA12}.Debug|x86.ActiveCfg = Debug|x86 {58346CC6-DE93-45B4-8093-3508BD5DAA12}.Debug|x86.Build.0 = Debug|x86 {58346CC6-DE93-45B4-8093-3508BD5DAA12}.Release|x86.ActiveCfg = Release|x86 {58346CC6-DE93-45B4-8093-3508BD5DAA12}.Release|x86.Build.0 = Release|x86 - {80E73555-2284-40DC-9068-9A40B7359B0C}.Debug|x86.ActiveCfg = Debug|x86 - {80E73555-2284-40DC-9068-9A40B7359B0C}.Debug|x86.Build.0 = Debug|x86 - {80E73555-2284-40DC-9068-9A40B7359B0C}.Release|x86.ActiveCfg = Release|x86 - {80E73555-2284-40DC-9068-9A40B7359B0C}.Release|x86.Build.0 = Release|x86 + {1C3BB17B-336D-432A-8952-4E979BC90867}.Debug|x86.ActiveCfg = Debug|x86 + {1C3BB17B-336D-432A-8952-4E979BC90867}.Debug|x86.Build.0 = Debug|x86 + {1C3BB17B-336D-432A-8952-4E979BC90867}.Release|x86.ActiveCfg = Release|x86 + {1C3BB17B-336D-432A-8952-4E979BC90867}.Release|x86.Build.0 = Release|x86 {94045F11-4266-40B4-910F-298985AF69D5}.Debug|x86.ActiveCfg = Debug|x86 {94045F11-4266-40B4-910F-298985AF69D5}.Debug|x86.Build.0 = Debug|x86 {94045F11-4266-40B4-910F-298985AF69D5}.Release|x86.ActiveCfg = Release|x86 {94045F11-4266-40B4-910F-298985AF69D5}.Release|x86.Build.0 = Release|x86 - {D8A1AAF8-EA10-4D1D-8A8A-D38C56C0A753}.Debug|x86.ActiveCfg = Debug|x86 - {D8A1AAF8-EA10-4D1D-8A8A-D38C56C0A753}.Debug|x86.Build.0 = Debug|x86 - {D8A1AAF8-EA10-4D1D-8A8A-D38C56C0A753}.Release|x86.ActiveCfg = Release|x86 - {D8A1AAF8-EA10-4D1D-8A8A-D38C56C0A753}.Release|x86.Build.0 = Release|x86 {FF422D8C-562F-4EA6-8590-9D1A5CD40AD4}.Debug|x86.ActiveCfg = Debug|x86 {FF422D8C-562F-4EA6-8590-9D1A5CD40AD4}.Debug|x86.Build.0 = Debug|x86 {FF422D8C-562F-4EA6-8590-9D1A5CD40AD4}.Release|x86.ActiveCfg = Release|x86 {FF422D8C-562F-4EA6-8590-9D1A5CD40AD4}.Release|x86.Build.0 = Release|x86 + {D8A1AAF8-EA10-4D1D-8A8A-D38C56C0A753}.Debug|x86.ActiveCfg = Debug|x86 + {D8A1AAF8-EA10-4D1D-8A8A-D38C56C0A753}.Debug|x86.Build.0 = Debug|x86 + {D8A1AAF8-EA10-4D1D-8A8A-D38C56C0A753}.Release|x86.ActiveCfg = Release|x86 + {D8A1AAF8-EA10-4D1D-8A8A-D38C56C0A753}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution {3BF1D531-8840-4F15-8066-A9788D8C398B} = {E0AD538D-9979-479B-8CBA-ED9143536CE0} From 018b6242360b3f9d8da31363109f19e36bef4990 Mon Sep 17 00:00:00 2001 From: Harol Alfonso Reina Herrera Date: Thu, 29 Oct 2015 11:25:24 -0500 Subject: [PATCH 25/66] Create gtkdotnet Project in Solution --- gtkdotnet/gtkdotnet.csproj | 71 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 gtkdotnet/gtkdotnet.csproj diff --git a/gtkdotnet/gtkdotnet.csproj b/gtkdotnet/gtkdotnet.csproj new file mode 100644 index 000000000..eccbd2196 --- /dev/null +++ b/gtkdotnet/gtkdotnet.csproj @@ -0,0 +1,71 @@ + + + + Debug + x86 + {CF2BE08F-9354-4CB6-8D49-05DFE1BBCF1F} + Library + Gtk.DotNet + gtk-dotnet + v4.0 + + + + true + full + false + bin\Debug + DEBUG; + prompt + 4 + false + true + + + full + true + bin\Release + prompt + 4 + false + true + + + + + + + + + + Properties\AssemblyInfo.cs + + + + + + {3BF1D531-8840-4F15-8066-A9788D8C398B} + glib + + + {1C3BB17B-336D-432A-8952-4E979BC90867} + gio + + + {364577DB-9728-4951-AC2C-EDF7A6FCC09D} + cairo + + + {FF422D8C-562F-4EA6-8590-9D1A5CD40AD4} + pango + + + {58346CC6-DE93-45B4-8093-3508BD5DAA12} + gdk + + + {94045F11-4266-40B4-910F-298985AF69D5} + gtk + + + From b20872aa41c99c33d89a12fffc36949379b20dc9 Mon Sep 17 00:00:00 2001 From: Harol Alfonso Reina Herrera Date: Thu, 29 Oct 2015 11:43:03 -0500 Subject: [PATCH 26/66] Revert: Seperate pkgconfig version from package version --- configure.ac | 3 --- gdk/gdk-sharp-3.0.pc.in | 2 +- gio/gio-sharp-3.0.pc.in | 2 +- glib/glib-sharp-3.0.pc.in | 2 +- gtk/gtk-sharp-3.0.pc.in | 2 +- gtkdotnet/gtk-dotnet-3.0.pc.in | 2 +- parser/gapi-3.0.pc.in | 2 +- 7 files changed, 6 insertions(+), 9 deletions(-) diff --git a/configure.ac b/configure.ac index 6bec9227d..c89c76b44 100644 --- a/configure.ac +++ b/configure.ac @@ -14,9 +14,6 @@ AC_SUBST(CAIRO_API_VERSION) POLICY_VERSIONS="" AC_SUBST(POLICY_VERSIONS) -PKG_VERSION=3.12.0 -AC_SUBST(PKG_VERSION) - PACKAGE_VERSION=gtk-sharp-3.0 AC_SUBST(PACKAGE_VERSION) diff --git a/gdk/gdk-sharp-3.0.pc.in b/gdk/gdk-sharp-3.0.pc.in index fbba15f36..b93391215 100644 --- a/gdk/gdk-sharp-3.0.pc.in +++ b/gdk/gdk-sharp-3.0.pc.in @@ -6,7 +6,7 @@ gapidir=${prefix}/share/gapi-3.0 Name: Gdk# Description: Gdk# - GDK .NET Binding -Version: @PKG_VERSION@ +Version: @VERSION@ Cflags: -I:${gapidir}/gdk-api.xml Libs: -r:${libdir}/mono/@PACKAGE_VERSION@/gdk-sharp.dll Requires: glib-sharp-3.0 diff --git a/gio/gio-sharp-3.0.pc.in b/gio/gio-sharp-3.0.pc.in index fd39c6796..efb3810e3 100644 --- a/gio/gio-sharp-3.0.pc.in +++ b/gio/gio-sharp-3.0.pc.in @@ -6,7 +6,7 @@ gapidir=${prefix}/share/gapi-3.0 Name: GIO# Description: GIO# - GIO .NET Binding -Version: @PKG_VERSION@ +Version: @VERSION@ Cflags: -I:${gapidir}/gio-api.xml Libs: -r:${assemblies_dir}/gio-sharp.dll Requires: glib-sharp-3.0 diff --git a/glib/glib-sharp-3.0.pc.in b/glib/glib-sharp-3.0.pc.in index 429f32ca2..fcf0fb72c 100644 --- a/glib/glib-sharp-3.0.pc.in +++ b/glib/glib-sharp-3.0.pc.in @@ -6,7 +6,7 @@ gapidir=${prefix}/share/gapi-3.0 Name: GLib# Description: GLib# - .NET Binding for the glib library. -Version: @PKG_VERSION@ +Version: @VERSION@ Cflags: -I:${gapidir}/glib-api.xml Libs: -r:${libdir}/mono/@PACKAGE_VERSION@/glib-sharp.dll diff --git a/gtk/gtk-sharp-3.0.pc.in b/gtk/gtk-sharp-3.0.pc.in index c7097d0a6..a5ed3ca2c 100644 --- a/gtk/gtk-sharp-3.0.pc.in +++ b/gtk/gtk-sharp-3.0.pc.in @@ -6,7 +6,7 @@ gapidir=${prefix}/share/gapi-3.0 Name: Gtk# Description: Gtk# - GNOME .NET Binding -Version: @PKG_VERSION@ +Version: @VERSION@ Cflags: -I:${gapidir}/cairo-api.xml -I:${gapidir}/pango-api.xml -I:${gapidir}/atk-api.xml -I:${gapidir}/gtk-api.xml Libs: -r:${libdir}/mono/@PACKAGE_VERSION@/cairo-sharp.dll -r:${libdir}/mono/@PACKAGE_VERSION@/pango-sharp.dll -r:${libdir}/mono/@PACKAGE_VERSION@/atk-sharp.dll -r:${libdir}/mono/@PACKAGE_VERSION@/gtk-sharp.dll Requires: glib-sharp-3.0 gio-sharp-3.0 gdk-sharp-3.0 diff --git a/gtkdotnet/gtk-dotnet-3.0.pc.in b/gtkdotnet/gtk-dotnet-3.0.pc.in index 8bf1741e7..e8afe6830 100644 --- a/gtkdotnet/gtk-dotnet-3.0.pc.in +++ b/gtkdotnet/gtk-dotnet-3.0.pc.in @@ -5,6 +5,6 @@ libdir=${exec_prefix}/lib Name: Gtk.DotNet Description: .NET Extensions for Gtk -Version: @PKG_VERSION@ +Version: @VERSION@ Requires:gtk-sharp-3.0 Libs: -r:${libdir}/mono/@PACKAGE_VERSION@/gtk-dotnet.dll diff --git a/parser/gapi-3.0.pc.in b/parser/gapi-3.0.pc.in index fdf2d6a11..665d02608 100644 --- a/parser/gapi-3.0.pc.in +++ b/parser/gapi-3.0.pc.in @@ -3,4 +3,4 @@ prefix=${pcfiledir}/../.. Name: GAPI Description: GObject .NET API Wrapping Tool -Version: @PKG_VERSION@ +Version: @VERSION@ From 5a7a0f7a3c242931192b9c4ed29309d66bea57a6 Mon Sep 17 00:00:00 2001 From: Martin Kupec Date: Tue, 1 Sep 2015 17:54:14 +0200 Subject: [PATCH 27/66] Fix properties setting when constructing GLib.Objects This is a proper fix of old FIXME. It defers setting of managed properties during GLib.Object construction until we have paired Managed and Unmanaged objects. --- glib/Object.cs | 57 +++++++++++++++++++++++++++++++++++--------------- 1 file changed, 40 insertions(+), 17 deletions(-) diff --git a/glib/Object.cs b/glib/Object.cs index df0ce8fbf..50a2ce6ea 100644 --- a/glib/Object.cs +++ b/glib/Object.cs @@ -36,6 +36,7 @@ public class Object : IWrapper, IDisposable { bool disposed = false; static uint idx = 1; static Dictionary Objects = new Dictionary(); + static Dictionary> PropertiesToSet = new Dictionary>(); ~Object () { @@ -89,7 +90,9 @@ public static Object TryGetObject (IntPtr o) ToggleRef toggle_ref; lock (Objects) { - toggle_ref = (ToggleRef) Objects[o]; + if (!Objects.TryGetValue (o, out toggle_ref)) { + return null; + } } if (toggle_ref != null) { @@ -406,7 +409,9 @@ static IntPtr ConstructorCallback (IntPtr gtypeval, uint n_construct_properties, GType gtype = new GLib.GType (gtypeval); GObjectClass threshold_class = (GObjectClass) Marshal.PtrToStructure (gtype.GetThresholdType ().GetClassPtr (), typeof (GObjectClass)); IntPtr raw = threshold_class.constructor_cb (gtypeval, n_construct_properties, construct_properties); - bool construct_needed = true; + Dictionary deferred; + + GLib.Object obj = null; for (int i = 0; i < n_construct_properties; i++) { IntPtr p = new IntPtr (construct_properties.ToInt64 () + i * 2 * IntPtr.Size); @@ -417,16 +422,21 @@ static IntPtr ConstructorCallback (IntPtr gtypeval, uint n_construct_properties, Value val = (Value) Marshal.PtrToStructure (Marshal.ReadIntPtr (p, IntPtr.Size), typeof (Value)); if ((IntPtr) val.Val != IntPtr.Zero) { GCHandle gch = (GCHandle) (IntPtr) val.Val; - Object o = (GLib.Object) gch.Target; - o.Raw = raw; - construct_needed = false; + obj = (GLib.Object) gch.Target; + obj.Raw = raw; break; } } - if (construct_needed) - GetObject (raw, false); + if (obj == null) + obj = GetObject (raw, false); + if(PropertiesToSet.TryGetValue(raw, out deferred)) { + foreach(var item in deferred) { + SetDeferredProperty(obj, item.Value, item.Key); + } + PropertiesToSet.Remove(raw); + } return raw; } @@ -511,17 +521,30 @@ static GetPropertyDelegate GetPropertyHandler { static void SetPropertyCallback(IntPtr handle, uint property_id, ref GLib.Value value, IntPtr param_spec) { - // FIXME: Here is a big quick hack to avoid race condition when trying to set up adjustment with contructor - // Because Raw is set too late - if (param_spec != IntPtr.Zero) { - ParamSpec foo = new ParamSpec(param_spec); - if (foo.Name == "gtk-sharp-managed-instance") { - GCHandle gch = (GCHandle) (IntPtr) value.Val; - Object o = (GLib.Object) gch.Target; - o.Raw = handle; - } + // There are multiple issues in this place. + // We cannot construct an object here as it can be in construction + // from ConstructorCallback thus managed object already created. + // + // We cannot use the "gtk-sharp-managed-instance" property as when + // constructed by Gtk.Builder it is set to null. + // + // We defer setting the properties to later time when + // we have unmanaged and managed objects paired. + GLib.Object obj = TryGetObject(handle); + if(obj != null) { + SetDeferredProperty(obj, value, param_spec); + return; } - GLib.Object obj = GLib.Object.GetObject (handle, false); + Dictionary deferred; + if(!PropertiesToSet.TryGetValue(handle, out deferred)) { + deferred = new Dictionary(); + PropertiesToSet.Add(handle, deferred); + } + deferred[param_spec] = value; + } + + static void SetDeferredProperty(GLib.Object obj, GLib.Value value, IntPtr param_spec) + { var type = (Type)obj.LookupGType (); Dictionary props; From a76f60df81531552e0ad6abf270da202b3dd62b5 Mon Sep 17 00:00:00 2001 From: Martin Kupec Date: Tue, 1 Sep 2015 23:55:41 +0200 Subject: [PATCH 28/66] Add possibility to pick glib type name for custom classes This patch adds TypeName attribute which can be used on custom class derived from GLib.Object in order to set GLib type name of the class. --- glib/GType.cs | 21 +++++++++++++++++--- glib/Makefile.am | 1 + glib/Object.cs | 2 +- glib/TypeNameAttribute.cs | 41 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 61 insertions(+), 4 deletions(-) create mode 100644 glib/TypeNameAttribute.cs diff --git a/glib/GType.cs b/glib/GType.cs index 7f63e2bae..32e5eb878 100644 --- a/glib/GType.cs +++ b/glib/GType.cs @@ -95,19 +95,32 @@ public static GType FromName (string native_name) public static readonly GType Variant = new GType ((IntPtr) TypeFundamentals.TypeVariant); + static HashSet managedTypes = new HashSet (); static IDictionary types = new Dictionary (); static IDictionary gtypes = new Dictionary (); public static void Register (GType native_type, System.Type type) + { + Register (native_type, type, false); + } + + public static void Register (GType native_type, System.Type type, bool managed) { lock (types) { if (native_type != GType.Pointer && native_type != GType.Boxed && native_type != ManagedValue.GType) types[native_type.Val] = type; if (type != null) gtypes[type] = native_type; + if (managed) + managedTypes.Add(native_type); } } + public static bool IsManaged (GType gtype) + { + return managedTypes.Contains(gtype); + } + static GType () { g_type_init (); @@ -318,7 +331,7 @@ public GType GetBaseType () public GType GetThresholdType () { GType curr_type = this; - while (curr_type.ToString ().StartsWith ("__gtksharp_")) + while (IsManaged (curr_type)) curr_type = curr_type.GetBaseType (); return curr_type; } @@ -364,7 +377,9 @@ static string BuildEscapedName (System.Type t) internal static GType RegisterGObjectType (Object.ClassInitializer gobject_class_initializer) { GType parent_gtype = LookupGObjectType (gobject_class_initializer.Type.BaseType); - string name = BuildEscapedName (gobject_class_initializer.Type); + + TypeNameAttribute nattr = (TypeNameAttribute)Attribute.GetCustomAttribute (gobject_class_initializer.Type, typeof (TypeNameAttribute), false); + string name = nattr != null ? nattr.Name : BuildEscapedName (gobject_class_initializer.Type); IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name); GTypeQuery query; @@ -376,7 +391,7 @@ internal static GType RegisterGObjectType (Object.ClassInitializer gobject_class GType gtype = new GType (g_type_register_static (parent_gtype.Val, native_name, ref info, 0)); GLib.Marshaller.Free (native_name); - Register (gtype, gobject_class_initializer.Type); + Register (gtype, gobject_class_initializer.Type, true); return gtype; } diff --git a/glib/Makefile.am b/glib/Makefile.am index 4502f44b5..eb840d20c 100644 --- a/glib/Makefile.am +++ b/glib/Makefile.am @@ -90,6 +90,7 @@ sources = \ ToggleRef.cs \ TypeFundamentals.cs \ TypeInitializerAttribute.cs \ + TypeNameAttribute.cs \ ValueArray.cs \ Value.cs \ Variant.cs \ diff --git a/glib/Object.cs b/glib/Object.cs index 50a2ce6ea..3f444eeab 100644 --- a/glib/Object.cs +++ b/glib/Object.cs @@ -619,7 +619,7 @@ struct GParameter { protected virtual void CreateNativeObject (string[] names, GLib.Value[] vals) { GType gtype = LookupGType (); - bool is_managed_subclass = gtype.ToString ().StartsWith ("__gtksharp"); + bool is_managed_subclass = GType.IsManaged (gtype); GParameter[] parms = new GParameter [is_managed_subclass ? names.Length + 1 : names.Length]; for (int i = 0; i < names.Length; i++) { parms [i].name = GLib.Marshaller.StringToPtrGStrdup (names [i]); diff --git a/glib/TypeNameAttribute.cs b/glib/TypeNameAttribute.cs new file mode 100644 index 000000000..edadff098 --- /dev/null +++ b/glib/TypeNameAttribute.cs @@ -0,0 +1,41 @@ +// TypeNameAttribute.cs +// +// Copyright (c) 2015 Martin Kupec +// Copyright (c) 2015 Ales Kurecka +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of version 2 of the Lesser GNU General +// Public License as published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., 59 Temple Place - Suite 330, +// Boston, MA 02111-1307, USA. + + +namespace GLib { + + using System; + + [AttributeUsage (AttributeTargets.Class, AllowMultiple = false, Inherited = false)] + public sealed class TypeNameAttribute : Attribute { + private readonly string name; + + public TypeNameAttribute (string name) + { + this.name = name; + } + + public string Name + { + get { + return name; + } + } + } +} From c2fd7af4b4d90e030435d6684232ecc5bf688feb Mon Sep 17 00:00:00 2001 From: Harol Alfonso Reina Date: Thu, 29 Oct 2015 12:28:34 -0500 Subject: [PATCH 29/66] Changed type of property BackgroundGdk in gtk-api.raw --- gtk/gtk-api.raw | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gtk/gtk-api.raw b/gtk/gtk-api.raw index f4da044a0..2615dfb55 100644 --- a/gtk/gtk-api.raw +++ b/gtk/gtk-api.raw @@ -22995,11 +22995,11 @@ - + - + @@ -23028,7 +23028,7 @@ - + From c099ec1facfd09c75eb07fb4657c83adbd6679dd Mon Sep 17 00:00:00 2001 From: Harol Alfonso Reina Date: Thu, 29 Oct 2015 12:31:21 -0500 Subject: [PATCH 30/66] build: Post-release version bump to 3.14.0, Update API_VERSION, Update PACKAGE_VERSION --- configure.ac | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index c89c76b44..f41421b6f 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ -AC_INIT(gtk-sharp, 2.99.4) +AC_INIT(gtk-sharp, 3.14.0) AM_INIT_AUTOMAKE([1.10 no-dist-gzip dist-bzip2 tar-ustar foreign]) AC_CANONICAL_HOST @@ -7,14 +7,14 @@ AC_CONFIG_HEADERS(config.h) AM_MAINTAINER_MODE AC_CONFIG_MACRO_DIR([m4]) -API_VERSION=3.0.0.0 +API_VERSION=3.14.0.0 AC_SUBST(API_VERSION) CAIRO_API_VERSION=1.12.0.0 AC_SUBST(CAIRO_API_VERSION) POLICY_VERSIONS="" AC_SUBST(POLICY_VERSIONS) -PACKAGE_VERSION=gtk-sharp-3.0 +PACKAGE_VERSION=gtk-sharp-3.14 AC_SUBST(PACKAGE_VERSION) WIN64DEFINES= From 4c65e70975d943cbb51ac13fc739acbe1feadf6e Mon Sep 17 00:00:00 2001 From: Harol Alfonso Reina Date: Fri, 6 Nov 2015 13:46:10 -0500 Subject: [PATCH 31/66] gtk: Fix return types for null_term_array* methods in AboutDialog this corrects the properties Authors, Artists and Documenters --- gtk/Gtk.metadata | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gtk/Gtk.metadata b/gtk/Gtk.metadata index ca7ef97c7..408c90194 100644 --- a/gtk/Gtk.metadata +++ b/gtk/Gtk.metadata @@ -207,12 +207,12 @@ ChangeSortColumn 1 label - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 Activated 1 1 From a8d9a119d85230438c883d935a1ca84ccfd9e47e Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Tue, 10 Nov 2015 11:37:34 +0100 Subject: [PATCH 32/66] Update to Gtk 3.18.2 Had to change gapi2xml.pl to use the new properties method/macro in gtkwindow.c - Issue, "invisible-chars" and "inner-border" is generated twice in gtkentry.c Made patch to gwin32registrykey to use little endian by default. So Windows om ARM may fail. --- cairo/FontOptions.cs | 2 +- configure.ac | 6 +- gdk/Makefile.am | 1 + gdk/Pixbuf.cs | 5 +- gdk/RGBA.cs | 24 + gdk/gdk-api.raw | 196 ++-- generator/StructField.cs | 2 +- gio/gio-api.raw | 421 ++++++-- gtk/Gtk.metadata | 6 +- gtk/TreeView.cs | 2 + gtk/Widget.cs | 8 +- gtk/gtk-api.raw | 969 +++++++++++------- pango/pango-api.raw | 65 +- parser/gapi2xml.pl | 7 +- sources/Makefile.am | 13 +- sources/gtktextattributes-gi-scanner.patch | 40 +- sources/gwin32registrykey-little-endian.patch | 23 + sources/sources.xml | 17 +- 18 files changed, 1233 insertions(+), 574 deletions(-) create mode 100644 gdk/RGBA.cs create mode 100644 sources/gwin32registrykey-little-endian.patch diff --git a/cairo/FontOptions.cs b/cairo/FontOptions.cs index e1fe2e5c1..aeb17f8f3 100644 --- a/cairo/FontOptions.cs +++ b/cairo/FontOptions.cs @@ -43,7 +43,7 @@ public FontOptions () : this (NativeMethods.cairo_font_options_create ()) Dispose (false); } - internal FontOptions (IntPtr handle) + public FontOptions (IntPtr handle) { if (handle == IntPtr.Zero) throw new ArgumentException ("handle should not be NULL", "handle"); diff --git a/configure.ac b/configure.ac index f41421b6f..05c14fbe1 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ -AC_INIT(gtk-sharp, 3.14.0) +AC_INIT(gtk-sharp, 3.18.2) AM_INIT_AUTOMAKE([1.10 no-dist-gzip dist-bzip2 tar-ustar foreign]) AC_CANONICAL_HOST @@ -7,14 +7,14 @@ AC_CONFIG_HEADERS(config.h) AM_MAINTAINER_MODE AC_CONFIG_MACRO_DIR([m4]) -API_VERSION=3.14.0.0 +API_VERSION=3.18.0.0 AC_SUBST(API_VERSION) CAIRO_API_VERSION=1.12.0.0 AC_SUBST(CAIRO_API_VERSION) POLICY_VERSIONS="" AC_SUBST(POLICY_VERSIONS) -PACKAGE_VERSION=gtk-sharp-3.14 +PACKAGE_VERSION=gtk-sharp-3.18 AC_SUBST(PACKAGE_VERSION) WIN64DEFINES= diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 7d69ffbb7..21f63b986 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -43,6 +43,7 @@ sources = \ Point.cs \ Property.cs \ Rectangle.cs \ + RGBA.cs \ Screen.cs \ Selection.cs \ Size.cs \ diff --git a/gdk/Pixbuf.cs b/gdk/Pixbuf.cs index 5e9cce1a9..c54d6fa05 100644 --- a/gdk/Pixbuf.cs +++ b/gdk/Pixbuf.cs @@ -165,12 +165,15 @@ public Pixbuf(byte [] data, bool has_alpha, int bits_per_sample, int width, int public Pixbuf(byte [] data, Gdk.Colorspace colorspace, bool has_alpha, int bits_per_sample, int width, int height, int rowstride) : this (data, colorspace, has_alpha, bits_per_sample, width, height, rowstride, null) {} + /* gdk_pixbuf_new_from_inline has been deprecated since version 2.32 and should not be used in newly-written code. Use GResource instead */ + /* public unsafe Pixbuf(byte[] data, bool copy_pixels) : base (IntPtr.Zero) { IntPtr error = IntPtr.Zero; - Raw = gdk_pixbuf_new_from_inline(data.Length, data, copy_pixels, out error); + Raw = gdk_pixbuf_new_from_inline(data.Length, (IntPtr) data, copy_pixels, out error); if (error != IntPtr.Zero) throw new GLib.GException (error); } + */ [DllImport ("libgdk_pixbuf-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern unsafe IntPtr gdk_pixbuf_new_from_inline(int len, IntPtr data, bool copy_pixels, out IntPtr error); diff --git a/gdk/RGBA.cs b/gdk/RGBA.cs new file mode 100644 index 000000000..176898c16 --- /dev/null +++ b/gdk/RGBA.cs @@ -0,0 +1,24 @@ +namespace Gdk { + + using System; + using System.Collections; + using System.Collections.Generic; + using System.Runtime.InteropServices; + + public partial struct RGBA { + + + public static explicit operator GLib.Value (Gdk.RGBA boxed) + { + GLib.Value val = GLib.Value.Empty; + val.Init (Gdk.RGBA.GType); + val.Val = boxed; + return val; + } + + public static explicit operator Gdk.RGBA (GLib.Value val) + { + return (Gdk.RGBA) val.Val; + } + } +} diff --git a/gdk/gdk-api.raw b/gdk/gdk-api.raw index 925f83964..b28f80e75 100644 --- a/gdk/gdk-api.raw +++ b/gdk/gdk-api.raw @@ -161,6 +161,7 @@ + @@ -207,6 +208,8 @@ + + @@ -279,6 +282,7 @@ + @@ -355,6 +359,12 @@ + + + + + + @@ -1701,6 +1711,8 @@ + + @@ -1796,6 +1808,7 @@ + @@ -1836,6 +1849,10 @@ + + + + @@ -1943,6 +1960,9 @@ + + + @@ -2009,24 +2029,10 @@ - - - + + + - - - - - - - - - - - - - - @@ -2187,6 +2193,18 @@ + + + + + + + + + + + + @@ -2644,6 +2662,12 @@ + + + + + + @@ -2771,6 +2795,9 @@ + + + @@ -3172,6 +3199,12 @@ + + + + + + @@ -3516,6 +3549,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3605,7 +3670,7 @@ - + @@ -3641,7 +3706,7 @@ - + @@ -4596,7 +4661,7 @@ - + @@ -4606,7 +4671,7 @@ - + @@ -4644,6 +4709,7 @@ + @@ -4739,14 +4805,6 @@ - - - - - - - - @@ -4764,6 +4822,24 @@ + + + + + + + + + + + + + + + + + + @@ -4782,6 +4858,9 @@ + + + @@ -4800,19 +4879,24 @@ - - + - + + + + + - - + + + + @@ -4851,14 +4935,6 @@ - - - - - - - - @@ -4930,6 +5006,12 @@ + + + + + + @@ -5385,7 +5467,7 @@ - + @@ -5393,34 +5475,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/generator/StructField.cs b/generator/StructField.cs index 58ccf1f11..292d99814 100644 --- a/generator/StructField.cs +++ b/generator/StructField.cs @@ -88,7 +88,7 @@ public string EqualityName { IGeneratable gen = table [CType]; if (IsArray || gen is IAccessor) - return StudlyName; + return Access == "public" ? StudlyName : Name; else if (IsBitfield) return Name; else if (IsPointer && (gen is StructGen || gen is BoxedGen || gen is UnionGen)) diff --git a/gio/gio-api.raw b/gio/gio-api.raw index 3740af1a1..992ab404e 100644 --- a/gio/gio-api.raw +++ b/gio/gio-api.raw @@ -66,6 +66,7 @@ + @@ -138,6 +139,7 @@ + @@ -272,12 +274,16 @@ + + + + @@ -438,6 +444,12 @@ + + + + + + @@ -528,6 +540,25 @@ + + + + + + + + + + + + + + + + + + + @@ -654,6 +685,13 @@ + + + + + + + @@ -4447,11 +4485,24 @@ + + + + + + + + + + + + + @@ -6905,7 +6956,6 @@ - @@ -7776,37 +7826,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -8511,6 +8530,21 @@ + + + + + + + + + + + + + + + @@ -9249,6 +9283,7 @@ + @@ -9813,7 +9848,7 @@ - + @@ -9973,28 +10008,28 @@ - + - + - + - + - + - + - + @@ -10002,7 +10037,7 @@ - + @@ -10010,7 +10045,7 @@ - + @@ -10021,7 +10056,7 @@ - + @@ -10029,7 +10064,7 @@ - + @@ -10037,13 +10072,13 @@ - + - + @@ -10057,7 +10092,7 @@ - + @@ -10066,7 +10101,7 @@ - + @@ -10075,38 +10110,38 @@ - + - + - + - + - + - + @@ -10732,7 +10767,7 @@ - + @@ -10741,13 +10776,17 @@ + + + + + + + - - - @@ -10888,6 +10927,7 @@ + @@ -12789,6 +12829,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12841,7 +12965,6 @@ - @@ -12860,6 +12983,7 @@ + @@ -13278,6 +13402,171 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13482,6 +13771,14 @@ + + + + + + + + @@ -13600,7 +13897,7 @@ - + @@ -13612,7 +13909,7 @@ - + @@ -13621,7 +13918,7 @@ - + diff --git a/gtk/Gtk.metadata b/gtk/Gtk.metadata index 3a57dd569..d059f9ee7 100644 --- a/gtk/Gtk.metadata +++ b/gtk/Gtk.metadata @@ -60,7 +60,7 @@ 1 length 1 -ref + ref 1 1 1 @@ -269,6 +269,7 @@ Activated Entered Left + call call GtkCellRenderer* @@ -432,6 +433,8 @@ 1 label LineWrapMode + SetLabelMarkup + GetLabelMarkup 1 1 1 @@ -478,6 +481,7 @@ const-gfilename* ShowedConnectToServer ShowEnteredLocation + ShowedOtherLocations 1 1 IsEmbedded diff --git a/gtk/TreeView.cs b/gtk/TreeView.cs index b5754d268..9c4d0a9a3 100644 --- a/gtk/TreeView.cs +++ b/gtk/TreeView.cs @@ -28,6 +28,7 @@ namespace Gtk { public partial class TreeView { + /* public Gdk.Color OddRowColor { get { GLib.Value value = StyleGetPropertyValue ("odd-row-color"); @@ -45,6 +46,7 @@ public Gdk.Color EvenRowColor { return ret; } } + */ [DllImport (Global.GtkNativeDll, CallingConvention = CallingConvention.Cdecl)] static extern bool gtk_tree_view_get_path_at_pos (IntPtr raw, diff --git a/gtk/Widget.cs b/gtk/Widget.cs index 540072aee..ee3e63356 100644 --- a/gtk/Widget.cs +++ b/gtk/Widget.cs @@ -40,11 +40,13 @@ public void AddAccelerator (string accel_signal, AccelGroup accel_group, AccelKe this.AddAccelerator (accel_signal, accel_group, (uint) accel_key.Key, accel_key.AccelMods, accel_key.AccelFlags); } + /* public int FocusLineWidth { get { return (int) StyleGetProperty ("focus-line-width"); } } + */ struct GClosure { long fields; @@ -274,10 +276,12 @@ public Widget[] ListMnemonicLabels () return result; } + /* public void ModifyBase (Gtk.StateType state) { gtk_widget_modify_base (Handle, (int) state, IntPtr.Zero); } + */ public void ModifyBg (Gtk.StateType state) { @@ -289,10 +293,12 @@ public void ModifyFg (Gtk.StateType state) gtk_widget_modify_fg (Handle, (int) state, IntPtr.Zero); } + /* public void ModifyText (Gtk.StateType state) { gtk_widget_modify_text (Handle, (int) state, IntPtr.Zero); } + */ public void Path (out string path, out string path_reversed) { @@ -408,4 +414,4 @@ public virtual void Destroy () InternalDestroyed -= NativeDestroyHandler; } } -} \ No newline at end of file +} diff --git a/gtk/gtk-api.raw b/gtk/gtk-api.raw index 149c2ffb7..b97b652d8 100644 --- a/gtk/gtk-api.raw +++ b/gtk/gtk-api.raw @@ -81,6 +81,7 @@ + @@ -320,6 +321,7 @@ + @@ -1111,6 +1113,13 @@ + + + + + + + @@ -1391,14 +1400,6 @@ - - - - - - - - @@ -2747,7 +2748,9 @@ - + + + @@ -2779,6 +2782,16 @@ + + + + + + + + + + @@ -2791,6 +2804,9 @@ + + + @@ -2823,6 +2839,12 @@ + + + + + + @@ -3903,6 +3925,20 @@ + + + + + + + + + + + + + + @@ -4073,6 +4109,7 @@ + @@ -4193,6 +4230,7 @@ + @@ -4911,6 +4949,8 @@ + + @@ -5050,7 +5090,7 @@ - + @@ -5141,7 +5181,7 @@ - + @@ -5611,6 +5651,7 @@ + @@ -5724,11 +5765,14 @@ + + + @@ -5780,6 +5824,12 @@ + + + + + + @@ -5860,6 +5910,13 @@ + + + + + + + @@ -5929,12 +5986,14 @@ + + - - - - - + + + + + @@ -6265,6 +6324,15 @@ + + + + + + + + + @@ -6290,6 +6358,13 @@ + + + + + + + @@ -6445,6 +6520,10 @@ + + + + @@ -6530,6 +6609,9 @@ + + + @@ -7216,6 +7298,10 @@ + + + + @@ -8204,6 +8290,8 @@ + + @@ -8251,6 +8339,7 @@ + @@ -8918,6 +9007,10 @@ + + + + @@ -9365,6 +9458,13 @@ + + + + + + + @@ -9405,6 +9505,14 @@ + + + + + + + + @@ -9653,6 +9761,10 @@ + + + + @@ -9860,6 +9972,8 @@ + + @@ -10752,6 +10866,7 @@ + @@ -10766,6 +10881,12 @@ + + + + + + @@ -10809,6 +10930,8 @@ + + @@ -11083,7 +11206,12 @@ + + + + + @@ -11224,6 +11352,12 @@ + + + + + + @@ -11244,7 +11378,7 @@ - + @@ -11279,6 +11413,15 @@ + + + + + + + + + @@ -12287,6 +12430,10 @@ + + + + @@ -12394,11 +12541,15 @@ + + + + - - - - + + + + @@ -13323,6 +13474,8 @@ + + @@ -14056,6 +14209,7 @@ + @@ -14283,6 +14437,10 @@ + + + + @@ -14849,6 +15007,12 @@ + + + + + + @@ -15006,6 +15170,7 @@ + @@ -15214,6 +15379,7 @@ + @@ -15460,10 +15626,17 @@ + + + + + + + @@ -15632,6 +15805,8 @@ + + @@ -15809,6 +15984,12 @@ + + + + + + @@ -15935,6 +16116,7 @@ + @@ -16164,6 +16346,10 @@ + + + + @@ -16238,6 +16424,7 @@ + @@ -16375,6 +16562,13 @@ + + + + + + + @@ -16510,6 +16704,15 @@ + + + + + + + + + @@ -16862,6 +17065,10 @@ + + + + @@ -16968,6 +17175,8 @@ + + @@ -17008,10 +17217,30 @@ + + + + + + + + + + + + + + + + + + + + @@ -17236,6 +17465,7 @@ + @@ -17358,6 +17588,7 @@ + @@ -17411,7 +17642,20 @@ + + + + + + + + + + + + + @@ -17433,7 +17677,7 @@ - + @@ -17442,6 +17686,15 @@ + + + + + + + + + @@ -17455,6 +17708,13 @@ + + + + + + + @@ -17473,7 +17733,7 @@ - + @@ -17491,6 +17751,24 @@ + + + + + + + + + + + + + + + + + + @@ -17565,7 +17843,7 @@ - + @@ -17580,6 +17858,9 @@ + + + @@ -17612,6 +17893,12 @@ + + + + + + @@ -18842,6 +19129,12 @@ + + + + + + @@ -19100,6 +19393,12 @@ + + + + + + @@ -19244,6 +19543,14 @@ + + + + + + + + @@ -19818,6 +20125,9 @@ + + + @@ -19876,6 +20186,8 @@ + + @@ -20074,6 +20386,12 @@ + + + + + + @@ -20115,6 +20433,8 @@ + + @@ -20284,6 +20604,7 @@ + @@ -20473,6 +20794,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -20717,6 +21120,7 @@ + @@ -20891,12 +21295,20 @@ + + + + + + + - - - - - + + + + + + @@ -20924,6 +21336,9 @@ + + + @@ -20958,6 +21373,12 @@ + + + + + + @@ -21092,6 +21513,7 @@ + @@ -21815,18 +22237,6 @@ - - - - - - - - - - - - @@ -21839,61 +22249,13 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -22187,7 +22549,7 @@ - + @@ -22380,7 +22742,12 @@ + + + + + @@ -23309,11 +23676,11 @@ - + - + @@ -23344,10 +23711,11 @@ - + + @@ -23505,6 +23873,8 @@ + + @@ -23516,6 +23886,7 @@ + @@ -23687,6 +24058,9 @@ + + + @@ -23786,6 +24160,9 @@ + + + @@ -23891,6 +24268,12 @@ + + + + + + @@ -23981,6 +24364,12 @@ + + + + + + @@ -24577,6 +24966,12 @@ + + + + + + @@ -24752,6 +25147,7 @@ + @@ -25009,6 +25405,8 @@ + + @@ -25921,6 +26319,17 @@ + + + + + + + + + + + @@ -27374,6 +27783,7 @@ + @@ -27405,10 +27815,6 @@ - - - - @@ -27416,6 +27822,10 @@ + + + + @@ -27824,6 +28234,23 @@ + + + + + + + + + + + + + + + + + @@ -28230,6 +28657,12 @@ + + + + + + @@ -28546,13 +28979,6 @@ - - - - - - - @@ -28560,13 +28986,6 @@ - - - - - - - @@ -28586,13 +29005,6 @@ - - - - - - - @@ -28836,6 +29248,18 @@ + + + + + + + + + + + + @@ -29216,6 +29640,8 @@ + + @@ -29305,6 +29731,13 @@ + + + + + + + @@ -30060,7 +30493,6 @@ - @@ -30087,11 +30519,15 @@ + + + + @@ -30137,10 +30573,15 @@ + + + + + @@ -30615,6 +31056,8 @@ + + @@ -30961,6 +31404,8 @@ + + @@ -31175,7 +31620,6 @@ - @@ -31201,7 +31645,7 @@ - + @@ -31866,13 +32310,6 @@ - - - - - - - @@ -31924,6 +32361,13 @@ + + + + + + + @@ -32305,38 +32749,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -32355,182 +32767,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -32549,65 +32785,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -33752,4 +33929,4 @@ - \ No newline at end of file + diff --git a/pango/pango-api.raw b/pango/pango-api.raw index 884bfd41f..9454037df 100644 --- a/pango/pango-api.raw +++ b/pango/pango-api.raw @@ -36,6 +36,9 @@ + + + @@ -1137,6 +1140,12 @@ + + + + + + @@ -1161,6 +1170,13 @@ + + + + + + + @@ -1234,6 +1250,15 @@ + + + + + + + + + @@ -1486,7 +1511,6 @@ - @@ -2067,7 +2091,6 @@ - @@ -2090,6 +2113,13 @@ + + + + + + + @@ -2140,8 +2170,6 @@ - - @@ -2172,7 +2200,6 @@ - @@ -2308,6 +2335,12 @@ + + + + + + @@ -2328,6 +2361,12 @@ + + + + + + @@ -2519,7 +2558,7 @@ - + @@ -2580,7 +2619,7 @@ - + @@ -2593,21 +2632,21 @@ - + - + - + @@ -2637,19 +2676,19 @@ - + - + - + diff --git a/parser/gapi2xml.pl b/parser/gapi2xml.pl index e41a00621..6ba97c631 100755 --- a/parser/gapi2xml.pl +++ b/parser/gapi2xml.pl @@ -1183,11 +1183,11 @@ sub parseInitFunc } } if ($pspec_use) { - addPropElem2 ($prop.$pspec, $obj_el, 0); + # addPropElem2 ($prop.$pspec, $obj_el, 0); } else { addPropElem ($prop, $obj_el, 0); + $propcnt++; } - $propcnt++; } elsif ($line =~ /gtk_container_class_install_child_property/) { my $prop = $line; do { @@ -1208,9 +1208,12 @@ sub parseInitFunc do { $pspec .= $init_lines[++$linenum]; } until ($init_lines[$linenum] =~ /\)\s*;/); + addPropElem2 ($pspec, $obj_el, 0); + $propcnt++; } $linenum++; } + return @signal_vms; } diff --git a/sources/Makefile.am b/sources/Makefile.am index e74c75251..cc97e25c3 100644 --- a/sources/Makefile.am +++ b/sources/Makefile.am @@ -3,14 +3,14 @@ EXTRA_DIST = \ sources.xml \ gtk_tree_model_signal_fix.patch -TARGET_GTK_VERSION=3.16.6 -TARGET_GTK_API=3.16 +TARGET_GTK_VERSION=3.18.2 +TARGET_GTK_API=3.18 GTK_DOWNLOADS = \ - http://ftp.gnome.org/pub/GNOME/sources/glib/2.44/glib-2.44.1.tar.xz \ - http://ftp.gnome.org/pub/GNOME/sources/pango/1.36/pango-1.36.8.tar.xz \ - http://ftp.gnome.org/pub/GNOME/sources/atk/2.16/atk-2.16.0.tar.xz \ - http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.30/gdk-pixbuf-2.30.8.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/glib/2.46/glib-2.46.1.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/pango/1.38/pango-1.38.1.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/atk/2.18/atk-2.18.0.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.32/gdk-pixbuf-2.32.1.tar.xz \ http://ftp.gnome.org/pub/GNOME/sources/gtk+/$(TARGET_GTK_API)/gtk+-$(TARGET_GTK_VERSION).tar.xz api: @@ -27,4 +27,5 @@ get-source-code: patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtkselectionprivate.h < gtkselectionprivate-space.patch patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtktextattributes.h < gtktextattributes-gi-scanner.patch patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtktextview.h < gtk_text_view_public.patch + patch -p0 glib/2.46/gio/gwin32registrykey.h < gwin32registrykey-little-endian.patch diff --git a/sources/gtktextattributes-gi-scanner.patch b/sources/gtktextattributes-gi-scanner.patch index 898a77eeb..f44707fce 100644 --- a/sources/gtktextattributes-gi-scanner.patch +++ b/sources/gtktextattributes-gi-scanner.patch @@ -1,6 +1,6 @@ ---- gtk+-3.12.0/gtk/gtktextattributes.h 2014-03-24 18:28:56.000000000 +0100 -+++ gtk+-3.12.0.new/gtk/gtktextattributes.h 2014-06-10 13:49:44.619905956 +0200 -@@ -112,26 +112,12 @@ +--- gtk+-3.18.2.orig/gtk/gtktextattributes.h 2015-11-09 13:28:27.852084380 +0100 ++++ gtk+-3.18.2/gtk/gtktextattributes.h 2015-11-09 13:29:14.424084380 +0100 +@@ -112,26 +112,7 @@ guint inside_selection : 1; guint is_text : 1; @@ -18,12 +18,36 @@ - }; -#else GdkRGBA *rgba[2]; - #if (defined(__SIZEOF_INT__) && defined(__SIZEOF_POINTER__)) && (__SIZEOF_INT__ == __SIZEOF_POINTER__) - /* unusable, just for ABI compat */ - /*< private >*/ - guint padding[2]; - #endif +-#if (defined(__SIZEOF_INT__) && defined(__SIZEOF_POINTER__)) && (__SIZEOF_INT__ == __SIZEOF_POINTER__) +- /* unusable, just for ABI compat */ +- /*< private >*/ +- guint padding[2]; +-#endif -#endif }; /** +@@ -207,23 +188,7 @@ + /*< public >*/ + gint letter_spacing; + +-#ifdef __GI_SCANNER__ +- /* The scanner should only see the transparent union, so that its +- * content does not vary across architectures. +- */ +- union { +- gchar *font_features; +- /*< private >*/ +- guint padding[2]; +- }; +-#else + gchar *font_features; +-#if (defined(__SIZEOF_INT__) && defined(__SIZEOF_POINTER__)) && (__SIZEOF_INT__ == __SIZEOF_POINTER__) +- /* unusable, just for ABI compat */ +- /*< private >*/ +- guint padding[1]; +-#endif +-#endif + }; + + GDK_AVAILABLE_IN_ALL diff --git a/sources/gwin32registrykey-little-endian.patch b/sources/gwin32registrykey-little-endian.patch new file mode 100644 index 000000000..91e4fdb66 --- /dev/null +++ b/sources/gwin32registrykey-little-endian.patch @@ -0,0 +1,23 @@ +--- glib-2.46.1.orig/gio/gwin32registrykey.h 2015-11-09 13:36:38.873084380 +0100 ++++ glib-2.46.1/gio/gwin32registrykey.h 2015-11-09 13:37:20.124084380 +0100 +@@ -37,18 +37,12 @@ + G_WIN32_REGISTRY_VALUE_BINARY = 1, + G_WIN32_REGISTRY_VALUE_UINT32LE = 2, + G_WIN32_REGISTRY_VALUE_UINT32BE = 3, +-#if G_BYTE_ORDER == G_BIG_ENDIAN +- G_WIN32_REGISTRY_VALUE_UINT32 = G_WIN32_REGISTRY_VALUE_UINT32BE, +-#else +- G_WIN32_REGISTRY_VALUE_UINT32 = G_WIN32_REGISTRY_VALUE_UINT32LE, +-#endif ++ G_WIN32_REGISTRY_VALUE_UINT32 = 2, + G_WIN32_REGISTRY_VALUE_EXPAND_STR = 4, + G_WIN32_REGISTRY_VALUE_LINK = 5, + G_WIN32_REGISTRY_VALUE_MULTI_STR = 6, + G_WIN32_REGISTRY_VALUE_UINT64LE = 7, +-#if G_BYTE_ORDER == G_LITTLE_ENDIAN +- G_WIN32_REGISTRY_VALUE_UINT64 = G_WIN32_REGISTRY_VALUE_UINT64LE, +-#endif ++ G_WIN32_REGISTRY_VALUE_UINT64 = 7, + G_WIN32_REGISTRY_VALUE_STR = 8 + } GWin32RegistryValueType; + diff --git a/sources/sources.xml b/sources/sources.xml index 34f19200f..381d07cf6 100644 --- a/sources/sources.xml +++ b/sources/sources.xml @@ -2,7 +2,7 @@ - + gasynchelper.h gcontenttypeprivate.h gdelayedsettingsbackend.h @@ -87,14 +87,14 @@ - atk-2.16.0/atk + atk-2.18.0/atk - + pangoatsui.c pangoatsui.h pangoatsui-fontmap.h @@ -136,17 +136,17 @@ - + gdkalias.h gdkwindowimpl.h keyname-table.h - + - + io-gdip-native.h io-gdip-propertytags.h io-gdip-utils.h @@ -161,7 +161,7 @@ - + gtkalias.h gtkappchooseronline.h @@ -256,8 +256,9 @@ gtktreeitem.h gtkcellarea.c gtklockbutton.h + gtksearchenginemodel.h - + From b0d741fce4aabaf649968831c46c7a47b3f29490 Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Tue, 10 Nov 2015 15:29:21 +0100 Subject: [PATCH 33/66] Use PACKAGE_VERSION 3.0 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 05c14fbe1..99daef279 100644 --- a/configure.ac +++ b/configure.ac @@ -14,7 +14,7 @@ AC_SUBST(CAIRO_API_VERSION) POLICY_VERSIONS="" AC_SUBST(POLICY_VERSIONS) -PACKAGE_VERSION=gtk-sharp-3.18 +PACKAGE_VERSION=gtk-sharp-3.0 AC_SUBST(PACKAGE_VERSION) WIN64DEFINES= From 2c5ba65fa73743365cf5c60df8e4458b00cd3e08 Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Wed, 2 Dec 2015 09:20:44 +0100 Subject: [PATCH 34/66] Updated to gtk+ 3.18.5 --- gtk/gtk-api.raw | 4 ++-- sources/Makefile.am | 4 ++-- sources/sources.xml | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gtk/gtk-api.raw b/gtk/gtk-api.raw index b97b652d8..bacf424ef 100644 --- a/gtk/gtk-api.raw +++ b/gtk/gtk-api.raw @@ -12808,7 +12808,7 @@ - + @@ -21303,7 +21303,7 @@ - + diff --git a/sources/Makefile.am b/sources/Makefile.am index cc97e25c3..5284562b3 100644 --- a/sources/Makefile.am +++ b/sources/Makefile.am @@ -3,7 +3,7 @@ EXTRA_DIST = \ sources.xml \ gtk_tree_model_signal_fix.patch -TARGET_GTK_VERSION=3.18.2 +TARGET_GTK_VERSION=3.18.5 TARGET_GTK_API=3.18 GTK_DOWNLOADS = \ @@ -27,5 +27,5 @@ get-source-code: patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtkselectionprivate.h < gtkselectionprivate-space.patch patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtktextattributes.h < gtktextattributes-gi-scanner.patch patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtktextview.h < gtk_text_view_public.patch - patch -p0 glib/2.46/gio/gwin32registrykey.h < gwin32registrykey-little-endian.patch + patch -p0 glib-2.46.1/gio/gwin32registrykey.h < gwin32registrykey-little-endian.patch diff --git a/sources/sources.xml b/sources/sources.xml index 381d07cf6..90ef62eb1 100644 --- a/sources/sources.xml +++ b/sources/sources.xml @@ -136,12 +136,12 @@ - + gdkalias.h gdkwindowimpl.h keyname-table.h - + @@ -161,7 +161,7 @@ - + gtkalias.h gtkappchooseronline.h @@ -258,7 +258,7 @@ gtklockbutton.h gtksearchenginemodel.h - + From 0b38a456278b6df95bbce36f2d07f2e70ee4962f Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Wed, 2 Dec 2015 09:22:51 +0100 Subject: [PATCH 35/66] Update to 3.18.5. Downgrade API tp 3.0.0.0. So that you don't have to change Mono Developer project everytime you update gtk-sharp. We should update API to 4.0.0.0 when gtk+-4.0.0 is out. --- configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 99daef279..68cc8e281 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ -AC_INIT(gtk-sharp, 3.18.2) +AC_INIT(gtk-sharp, 3.18.5) AM_INIT_AUTOMAKE([1.10 no-dist-gzip dist-bzip2 tar-ustar foreign]) AC_CANONICAL_HOST @@ -7,7 +7,7 @@ AC_CONFIG_HEADERS(config.h) AM_MAINTAINER_MODE AC_CONFIG_MACRO_DIR([m4]) -API_VERSION=3.18.0.0 +API_VERSION=3.0.0.0 AC_SUBST(API_VERSION) CAIRO_API_VERSION=1.12.0.0 AC_SUBST(CAIRO_API_VERSION) From 114899f46e9c8077852580c247b78aeae46578ec Mon Sep 17 00:00:00 2001 From: nyx Date: Tue, 16 Feb 2016 22:55:05 +0300 Subject: [PATCH 36/66] Fixed memory leak when scheduling timeout and idle callbacks --- glib/Idle.cs | 21 ++++++++++++++++----- glib/Timeout.cs | 31 +++++++++++++++++++++---------- 2 files changed, 37 insertions(+), 15 deletions(-) diff --git a/glib/Idle.cs b/glib/Idle.cs index 189b3a8b0..36f50909f 100644 --- a/glib/Idle.cs +++ b/glib/Idle.cs @@ -51,7 +51,12 @@ public bool Handler () bool cont = idle_handler (); if (!cont) - Remove (); + { + lock (this) + { + Remove (); + } + } return cont; } catch (Exception e) { ExceptionManager.RaiseUnhandledException (e, false); @@ -70,8 +75,11 @@ private Idle () public static uint Add (IdleHandler hndlr) { IdleProxy p = new IdleProxy (hndlr); - p.ID = g_idle_add ((IdleHandlerInternal) p.proxy_handler, IntPtr.Zero); - Source.AddSourceHandler (p.ID, p); + lock (p) + { + p.ID = g_idle_add ((IdleHandlerInternal) p.proxy_handler, IntPtr.Zero); + Source.AddSourceHandler (p.ID, p); + } return p.ID; } @@ -82,8 +90,11 @@ public static uint Add (IdleHandler hndlr) public static uint Add (IdleHandler hndlr, Priority priority) { IdleProxy p = new IdleProxy (hndlr); - p.ID = g_idle_add_full ((int)priority, (IdleHandlerInternal)p.proxy_handler, IntPtr.Zero, null); - Source.AddSourceHandler (p.ID, p); + lock (p) + { + p.ID = g_idle_add_full ((int)priority, (IdleHandlerInternal)p.proxy_handler, IntPtr.Zero, null); + Source.AddSourceHandler (p.ID, p); + } return p.ID; } diff --git a/glib/Timeout.cs b/glib/Timeout.cs index 2e68e068f..d0dc03c03 100644 --- a/glib/Timeout.cs +++ b/glib/Timeout.cs @@ -49,7 +49,12 @@ public bool Handler () bool cont = timeout_handler (); if (!cont) - Remove (); + { + lock (this) + { + Remove (); + } + } return cont; } catch (Exception e) { ExceptionManager.RaiseUnhandledException (e, false); @@ -65,9 +70,11 @@ private Timeout () {} public static uint Add (uint interval, TimeoutHandler hndlr) { TimeoutProxy p = new TimeoutProxy (hndlr); - - p.ID = g_timeout_add (interval, (TimeoutHandlerInternal) p.proxy_handler, IntPtr.Zero); - Source.AddSourceHandler (p.ID, p); + lock (p) + { + p.ID = g_timeout_add (interval, (TimeoutHandlerInternal) p.proxy_handler, IntPtr.Zero); + Source.AddSourceHandler (p.ID, p); + } return p.ID; } @@ -78,9 +85,11 @@ public static uint Add (uint interval, TimeoutHandler hndlr) public static uint Add (uint interval, TimeoutHandler hndlr, Priority priority) { TimeoutProxy p = new TimeoutProxy (hndlr); - - p.ID = g_timeout_add_full ((int)priority, interval, (TimeoutHandlerInternal) p.proxy_handler, IntPtr.Zero, null); - Source.AddSourceHandler (p.ID, p); + lock (p) + { + p.ID = g_timeout_add_full ((int)priority, interval, (TimeoutHandlerInternal) p.proxy_handler, IntPtr.Zero, null); + Source.AddSourceHandler (p.ID, p); + } return p.ID; } @@ -91,9 +100,11 @@ public static uint Add (uint interval, TimeoutHandler hndlr, Priority priority) public static uint AddSeconds (uint interval, TimeoutHandler hndlr) { TimeoutProxy p = new TimeoutProxy (hndlr); - - p.ID = g_timeout_add_seconds (interval, (TimeoutHandlerInternal) p.proxy_handler, IntPtr.Zero); - Source.AddSourceHandler (p.ID, p); + lock (p) + { + p.ID = g_timeout_add_seconds (interval, (TimeoutHandlerInternal) p.proxy_handler, IntPtr.Zero); + Source.AddSourceHandler (p.ID, p); + } return p.ID; } From 5e75d001c820c6125b5b9ee759be4f34cfd5d83a Mon Sep 17 00:00:00 2001 From: cra0zy Date: Fri, 6 May 2016 10:15:22 +0200 Subject: [PATCH 37/66] Fix Dialog creation --- gtk/Dialog.cs | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/gtk/Dialog.cs b/gtk/Dialog.cs index 3f01060c8..c1d068bd0 100644 --- a/gtk/Dialog.cs +++ b/gtk/Dialog.cs @@ -30,22 +30,9 @@ public partial class Dialog { static extern IntPtr gtk_dialog_new_with_buttons (IntPtr title, IntPtr i, int flags, IntPtr dummy); public Dialog (string title, Gtk.Window parent, Gtk.DialogFlags flags, params object[] button_data) : base(IntPtr.Zero) { - if (GetType() != typeof (Dialog)) { - GLib.Value[] vals = new GLib.Value [1]; - string[] names = new string [1]; - names [0] = "title"; - vals [0] = new GLib.Value (title); - CreateNativeObject (names, vals); - TransientFor = parent; - if ((flags & DialogFlags.Modal) > 0) - Modal = true; - if ((flags & DialogFlags.DestroyWithParent) > 0) - DestroyWithParent = true; - } else { - IntPtr native = GLib.Marshaller.StringToPtrGStrdup (title); - Raw = gtk_dialog_new_with_buttons (native, parent == null ? IntPtr.Zero : parent.Handle, (int) flags, IntPtr.Zero); - GLib.Marshaller.Free (native); - } + IntPtr native = GLib.Marshaller.StringToPtrGStrdup (title); + Raw = gtk_dialog_new_with_buttons (native, parent == null ? IntPtr.Zero : parent.Handle, (int) flags, IntPtr.Zero); + GLib.Marshaller.Free (native); for (int i = 0; i < button_data.Length - 1; i += 2) AddButton ((string) button_data [i], (int) button_data [i + 1]); From 36b6b713e6092f2cac191f3d2f3c46e5f4aef847 Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Wed, 11 May 2016 09:50:01 +0200 Subject: [PATCH 38/66] Updated to Gtk+ 3.20.4 --- configure.ac | 2 +- gdk/Gdk.metadata | 2 + gdk/gdk-api.raw | 299 +++++++++++++++++- gio/gio-api.raw | 161 ++++++++++ gtk/gtk-api.raw | 520 ++++++++++++++++++++++++++------ pango/pango-api.raw | 29 ++ sample/GtkDemo/DemoHyperText.cs | 5 +- sources/Makefile.am | 14 +- sources/sources.xml | 25 +- 9 files changed, 940 insertions(+), 117 deletions(-) diff --git a/configure.ac b/configure.ac index 68cc8e281..7b16f14a6 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ -AC_INIT(gtk-sharp, 3.18.5) +AC_INIT(gtk-sharp, 3.20.4) AM_INIT_AUTOMAKE([1.10 no-dist-gzip dist-bzip2 tar-ustar foreign]) AC_CANONICAL_HOST diff --git a/gdk/Gdk.metadata b/gdk/Gdk.metadata index 368b3d377..4763a7d1c 100644 --- a/gdk/Gdk.metadata +++ b/gdk/Gdk.metadata @@ -42,6 +42,8 @@ ReleaseMask | 0x1fff InputOutput InputOnly + Pointer | Touch | TabletStylus + AllPointing | Keyboard 1 1 1 diff --git a/gdk/gdk-api.raw b/gdk/gdk-api.raw index b28f80e75..66369a5ea 100644 --- a/gdk/gdk-api.raw +++ b/gdk/gdk-api.raw @@ -127,6 +127,11 @@ + + + + + @@ -347,6 +352,15 @@ + + + + + + + + + @@ -481,6 +495,14 @@ + + + + + + + + @@ -635,6 +657,8 @@ + + @@ -811,6 +835,9 @@ + + + @@ -842,7 +869,7 @@ - + @@ -889,7 +916,7 @@ - + @@ -942,7 +969,7 @@ - + @@ -951,7 +978,7 @@ - + @@ -985,7 +1012,6 @@ - @@ -1005,6 +1031,7 @@ + @@ -1018,6 +1045,18 @@ + + + + + + + + + + + + @@ -1131,10 +1170,6 @@ - - - - @@ -1260,6 +1295,10 @@ + + + + @@ -1290,7 +1329,10 @@ - + + + + @@ -1349,6 +1391,9 @@ + + + @@ -1491,7 +1536,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1555,6 +1633,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1564,6 +1682,9 @@ + + + @@ -1582,12 +1703,26 @@ + + + + + + + + + + + + + + @@ -1772,6 +1907,9 @@ + + + @@ -2351,6 +2489,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3511,6 +3748,7 @@ + @@ -3708,6 +3946,8 @@ + + @@ -3956,6 +4196,16 @@ + + + + + + + + + + @@ -3963,6 +4213,13 @@ + + + + + + + @@ -4142,6 +4399,12 @@ + + + + + + @@ -4178,6 +4441,12 @@ + + + + + + @@ -4464,6 +4733,13 @@ + + + + + + + @@ -4649,6 +4925,7 @@ + @@ -5402,6 +5679,7 @@ + @@ -5478,7 +5756,6 @@ - diff --git a/gio/gio-api.raw b/gio/gio-api.raw index 992ab404e..3232349e9 100644 --- a/gio/gio-api.raw +++ b/gio/gio-api.raw @@ -21,6 +21,7 @@ + @@ -351,6 +352,7 @@ + @@ -588,6 +590,14 @@ + + + + + + + + @@ -1534,6 +1544,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4408,6 +4519,7 @@ + @@ -4417,6 +4529,10 @@ + + + + @@ -4426,6 +4542,9 @@ + + + @@ -4436,6 +4555,9 @@ + + + @@ -4457,6 +4579,16 @@ + + + + + + + + + + @@ -4469,6 +4601,12 @@ + + + + + + @@ -4478,6 +4616,9 @@ + + + @@ -7391,6 +7532,9 @@ + + + @@ -12464,6 +12608,9 @@ + + + @@ -13075,6 +13222,11 @@ + + + + + @@ -13247,6 +13399,15 @@ + + + + + + + + + diff --git a/gtk/gtk-api.raw b/gtk/gtk-api.raw index bacf424ef..1f276aae3 100644 --- a/gtk/gtk-api.raw +++ b/gtk/gtk-api.raw @@ -175,6 +175,8 @@ + + @@ -470,6 +472,10 @@ + + + + @@ -716,6 +722,16 @@ + + + + + + + + + + @@ -780,6 +796,7 @@ + @@ -790,6 +807,11 @@ + + + + + @@ -818,6 +840,8 @@ + + @@ -2566,6 +2590,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5406,6 +5456,9 @@ + + + @@ -5420,6 +5473,12 @@ + + + + + + @@ -6231,6 +6290,16 @@ + + + + + + + + + + @@ -6327,7 +6396,6 @@ - @@ -6400,7 +6468,7 @@ - + @@ -6468,7 +6536,7 @@ - + @@ -8610,6 +8678,7 @@ + @@ -8997,7 +9066,6 @@ - @@ -9049,7 +9117,7 @@ - + @@ -9158,7 +9226,7 @@ - + @@ -9930,8 +9998,6 @@ - - @@ -9974,6 +10040,7 @@ + @@ -10045,6 +10112,7 @@ + @@ -11052,7 +11120,6 @@ - @@ -11070,7 +11137,7 @@ - + @@ -11093,7 +11160,7 @@ - + @@ -14360,6 +14427,12 @@ + + + + + + @@ -17589,6 +17662,9 @@ + + + @@ -17646,6 +17722,24 @@ + + + + + + + + + + + + + + + + + + @@ -17844,9 +17938,10 @@ - + + @@ -17858,6 +17953,9 @@ + + + @@ -17893,6 +17991,12 @@ + + + + + + @@ -19584,7 +19688,7 @@ - + @@ -19658,7 +19762,7 @@ - + @@ -20876,6 +20980,7 @@ + @@ -20917,6 +21022,12 @@ + + + + + + @@ -20949,6 +21060,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -21296,12 +21477,12 @@ - - + + - - + + @@ -21460,6 +21641,7 @@ + @@ -22610,6 +22792,12 @@ + + + + + + @@ -23737,6 +23925,12 @@ + + + + + + @@ -24094,7 +24288,7 @@ - + @@ -24102,7 +24296,7 @@ - + @@ -24226,6 +24420,9 @@ + + + @@ -27794,6 +27991,7 @@ + @@ -28446,6 +28644,12 @@ + + + + + + @@ -28499,6 +28703,13 @@ + + + + + + + @@ -28579,6 +28790,13 @@ + + + + + + + @@ -28657,6 +28875,9 @@ + + + @@ -29060,6 +29281,9 @@ + + + @@ -29248,6 +29472,12 @@ + + + + + + @@ -29910,7 +30140,7 @@ - + @@ -29957,7 +30187,7 @@ - + @@ -30000,7 +30230,7 @@ - + @@ -30311,7 +30541,6 @@ - @@ -30476,6 +30705,11 @@ + + + + + @@ -30487,20 +30721,24 @@ - - + + + + + + @@ -30508,6 +30746,11 @@ + + + + + @@ -30525,6 +30768,8 @@ + + @@ -30570,6 +30815,7 @@ + @@ -30583,7 +30829,6 @@ - @@ -30674,6 +30919,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -30839,12 +31131,14 @@ - - - - - - + + + + + + + + @@ -31404,6 +31698,8 @@ + + @@ -31788,7 +32084,7 @@ - + @@ -32101,6 +32397,12 @@ + + + + + + @@ -32361,13 +32663,6 @@ - - - - - - - @@ -32394,6 +32689,12 @@ + + + + + + @@ -32495,6 +32796,13 @@ + + + + + + + @@ -32529,6 +32837,8 @@ + + @@ -33188,52 +33498,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -33312,6 +33576,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -33495,6 +33830,17 @@ + + + + + + + + + + + diff --git a/pango/pango-api.raw b/pango/pango-api.raw index 9454037df..d9a51b17e 100644 --- a/pango/pango-api.raw +++ b/pango/pango-api.raw @@ -199,6 +199,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sample/GtkDemo/DemoHyperText.cs b/sample/GtkDemo/DemoHyperText.cs index 8e91e033d..c323ec1f0 100644 --- a/sample/GtkDemo/DemoHyperText.cs +++ b/sample/GtkDemo/DemoHyperText.cs @@ -111,7 +111,8 @@ void FollowIfLink (TextView view, TextIter iter) void SetCursorIfAppropriate (TextView view, int x, int y) { bool hovering = false; - TextIter iter = view.GetIterAtLocation (x, y); + TextIter iter; + view.GetIterAtLocation (out iter, x, y); foreach (TextTag tag in iter.Tags) { hovering = true; @@ -166,7 +167,7 @@ void EventAfter (object sender, WidgetEventAfterArgs args) return; view.WindowToBufferCoords (TextWindowType.Widget, (int) evt.X, (int) evt.Y, out x, out y); - iter = view.GetIterAtLocation (x, y); + view.GetIterAtLocation (out iter, x, y); FollowIfLink (view, iter); } diff --git a/sources/Makefile.am b/sources/Makefile.am index 5284562b3..653bb61d2 100644 --- a/sources/Makefile.am +++ b/sources/Makefile.am @@ -3,14 +3,14 @@ EXTRA_DIST = \ sources.xml \ gtk_tree_model_signal_fix.patch -TARGET_GTK_VERSION=3.18.5 -TARGET_GTK_API=3.18 +TARGET_GTK_VERSION=3.20.4 +TARGET_GTK_API=3.20 GTK_DOWNLOADS = \ - http://ftp.gnome.org/pub/GNOME/sources/glib/2.46/glib-2.46.1.tar.xz \ - http://ftp.gnome.org/pub/GNOME/sources/pango/1.38/pango-1.38.1.tar.xz \ - http://ftp.gnome.org/pub/GNOME/sources/atk/2.18/atk-2.18.0.tar.xz \ - http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.32/gdk-pixbuf-2.32.1.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/glib/2.48/glib-2.48.0.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/pango/1.40/pango-1.40.1.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/atk/2.20/atk-2.20.0.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.34/gdk-pixbuf-2.34.0.tar.xz \ http://ftp.gnome.org/pub/GNOME/sources/gtk+/$(TARGET_GTK_API)/gtk+-$(TARGET_GTK_VERSION).tar.xz api: @@ -27,5 +27,5 @@ get-source-code: patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtkselectionprivate.h < gtkselectionprivate-space.patch patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtktextattributes.h < gtktextattributes-gi-scanner.patch patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtktextview.h < gtk_text_view_public.patch - patch -p0 glib-2.46.1/gio/gwin32registrykey.h < gwin32registrykey-little-endian.patch + patch -p0 glib-2.48.0/gio/gwin32registrykey.h < gwin32registrykey-little-endian.patch diff --git a/sources/sources.xml b/sources/sources.xml index 90ef62eb1..eb813d780 100644 --- a/sources/sources.xml +++ b/sources/sources.xml @@ -2,7 +2,7 @@ - + gasynchelper.h gcontenttypeprivate.h gdelayedsettingsbackend.h @@ -80,6 +80,12 @@ gtlsfiledatabase.h gsimpleaction.h gsimpleactiongroup.h + gdtlsclientconnection.c + gdtlsclientconnection.h + gdtlsconnection.c + gdtlsconnection.h + gdtlsserverconnection.c + gdtlsserverconnection.h @@ -87,14 +93,14 @@ - atk-2.18.0/atk + atk-2.20.0/atk - + pangoatsui.c pangoatsui.h pangoatsui-fontmap.h @@ -136,17 +142,17 @@ - + gdkalias.h gdkwindowimpl.h keyname-table.h - + - + io-gdip-native.h io-gdip-propertytags.h io-gdip-utils.h @@ -161,7 +167,7 @@ - + gtkalias.h gtkappchooseronline.h @@ -229,7 +235,6 @@ gtkwindow-decorate.h gtkxembed.h xembed.h - gtkclist.c gtkclist.h gtkctree.c @@ -257,8 +262,10 @@ gtkcellarea.c gtklockbutton.h gtksearchenginemodel.h + gtkcomposetable.c + gtkcomposetable.h - + From c1daeff0eb32cb35d24fd848ccdf03e4ee861713 Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Tue, 17 May 2016 08:59:19 +0200 Subject: [PATCH 39/66] Made alias Symbol GdkRgba to GdkRGBA. This will provide properties of the type GdkRGBA in Gtk. --- gtk/Gtk.metadata | 7 ++++++- gtk/gtk-api.raw | 4 +++- gtk/gtk-symbols.xml | 1 + parser/gapi2xml.pl | 1 - 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gtk/Gtk.metadata b/gtk/Gtk.metadata index bc95e8c1f..75c72e8ef 100644 --- a/gtk/Gtk.metadata +++ b/gtk/Gtk.metadata @@ -123,6 +123,7 @@ GtkCellRenderer* true 1 + 1 GetIsEditable ref SetIsEditable @@ -302,7 +303,9 @@ 1 1 out - GdkRGBA + 1 + 1 + 1 HasAlpha out 1 @@ -352,6 +355,8 @@ SetAlternativeButtonOrder 1 1 + + Activated ClipboardCopied ClipboardCut diff --git a/gtk/gtk-api.raw b/gtk/gtk-api.raw index 1f276aae3..ad3c0d858 100644 --- a/gtk/gtk-api.raw +++ b/gtk/gtk-api.raw @@ -9998,6 +9998,8 @@ + + @@ -34275,4 +34277,4 @@ - + \ No newline at end of file diff --git a/gtk/gtk-symbols.xml b/gtk/gtk-symbols.xml index 74469611c..cacfc271f 100644 --- a/gtk/gtk-symbols.xml +++ b/gtk/gtk-symbols.xml @@ -1,5 +1,6 @@ + diff --git a/parser/gapi2xml.pl b/parser/gapi2xml.pl index 6ba97c631..36a47fb50 100755 --- a/parser/gapi2xml.pl +++ b/parser/gapi2xml.pl @@ -987,7 +987,6 @@ sub addPropElem } else { $name =~ s/\s*\"//g; } - $mode = $params[$#params]; if ($type =~ /boolean|float|double|^u?int|pointer|unichar/) { From 110b73dbb70eb718324c514c12066fb446393099 Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Tue, 17 May 2016 09:23:03 +0200 Subject: [PATCH 40/66] Generate GdkColor properties --- gtk/gtk-symbols.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/gtk/gtk-symbols.xml b/gtk/gtk-symbols.xml index cacfc271f..3a7a1f9e7 100644 --- a/gtk/gtk-symbols.xml +++ b/gtk/gtk-symbols.xml @@ -2,5 +2,6 @@ + From 8134f48a5a35e9f6820e90edb5a60b73b26e585e Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Tue, 17 May 2016 10:51:59 +0200 Subject: [PATCH 41/66] Generate 'rgba' property --- gtk/Gtk.metadata | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gtk/Gtk.metadata b/gtk/Gtk.metadata index 75c72e8ef..8d153b6a8 100644 --- a/gtk/Gtk.metadata +++ b/gtk/Gtk.metadata @@ -123,7 +123,9 @@ GtkCellRenderer* true 1 - 1 + + + out GetIsEditable ref SetIsEditable From 7236eb3fa74a3850dd6408c762e9e1ec40f06f4d Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Wed, 8 Jun 2016 08:56:55 +0200 Subject: [PATCH 42/66] Upstream patches --- cairo/Context.cs | 4 ++-- generator/CodeGenerator.cs | 8 ++++---- gtk/ListStore.cs | 16 ++++------------ gtk/Makefile.am | 1 + gtk/TreeStore.cs | 17 +++++------------ parser/gapi_pp.pl | 2 +- 6 files changed, 17 insertions(+), 31 deletions(-) diff --git a/cairo/Context.cs b/cairo/Context.cs index a5902e8c9..05240fe33 100644 --- a/cairo/Context.cs +++ b/cairo/Context.cs @@ -259,7 +259,7 @@ public void SetDash (double [] dashes, double offset) NativeMethods.cairo_set_dash (handle, dashes, dashes.Length, offset); } - [Obsolete("Use GetSource/GetSource")] + [Obsolete("Use GetSource/SetSource")] public Pattern Pattern { set { SetSource (value); @@ -270,7 +270,7 @@ public Pattern Pattern { } //This is obsolete because it wasn't obvious it needed to be disposed - [Obsolete("Use GetSource/GetSource")] + [Obsolete("Use GetSource/SetSource")] public Pattern Source { set { SetSource (value); diff --git a/generator/CodeGenerator.cs b/generator/CodeGenerator.cs index 187cca62b..6cf82e0a9 100644 --- a/generator/CodeGenerator.cs +++ b/generator/CodeGenerator.cs @@ -78,23 +78,23 @@ public static int Main (string[] args) Console.Write ("gapi-codegen: "); Console.WriteLine (e.Message); Console.WriteLine ("Try `gapi-codegen --help' for more information."); - return 0; + return 64; } if (show_help) { ShowHelp (options); - return 1; + return 0; } if (filenames.Count == 0) { Console.WriteLine ("You need to specify a file to process using the --generate option."); Console.WriteLine ("Try `gapi-codegen --help' for more information."); - return 0; + return 64; } if (extra.Exists (v => { return v.StartsWith ("--customdir"); })) { Console.WriteLine ("Using .custom files is not supported anymore, use partial classes instead."); - return 0; + return 64; } if (!String.IsNullOrEmpty (schema_name) && !File.Exists (schema_name)) { diff --git a/gtk/ListStore.cs b/gtk/ListStore.cs index 08f7bbeb0..47c4505e6 100644 --- a/gtk/ListStore.cs +++ b/gtk/ListStore.cs @@ -110,23 +110,15 @@ public void SetValue (Gtk.TreeIter iter, int column, object value) public Gtk.TreeIter AppendValues (Array values) { Gtk.TreeIter iter = Append(); - - int col = 0; - foreach (object value in values) { - if (value != null) { - GLib.Value val = new GLib.Value (value); - SetValue (iter, col, val); - val.Dispose (); - } - col++; - } - + SetValues (iter, values); return iter; } public Gtk.TreeIter AppendValues (params object[] values) { - return AppendValues ((Array) values); + Gtk.TreeIter iter = Append(); + SetValues (iter, values); + return iter; } [DllImport (Global.GtkNativeDll, CallingConvention = CallingConvention.Cdecl)] diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 221480267..7cc70464e 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -88,6 +88,7 @@ sources = \ StockManager.cs \ Style.cs \ StyleContext.cs \ + StyleProviderPriority.cs \ Target.cs \ TargetEntry.cs \ TargetList.cs \ diff --git a/gtk/TreeStore.cs b/gtk/TreeStore.cs index 2ecc91e90..d2f3a4d21 100644 --- a/gtk/TreeStore.cs +++ b/gtk/TreeStore.cs @@ -198,28 +198,21 @@ public void SetValue (Gtk.TreeIter iter, int column, object value) val.Dispose (); } - private void _AppendValues (Gtk.TreeIter iter, Array values) { - int col = 0; - foreach (object value in values) { - if (value != null) - SetValue (iter, col, value); - col++; - } - } - public Gtk.TreeIter AppendValues (Gtk.TreeIter parent, Array values) { Gtk.TreeIter iter = AppendNode (parent); - _AppendValues (iter, values); + SetValues (iter, values); return iter; } public Gtk.TreeIter AppendValues (Gtk.TreeIter parent, params object[] values) { - return AppendValues (parent, (Array) values); + Gtk.TreeIter iter = AppendNode (parent); + SetValues (iter, values); + return iter; } public Gtk.TreeIter AppendValues (Array values) { Gtk.TreeIter iter = AppendNode (); - _AppendValues (iter, values); + SetValues (iter, values); return iter; } diff --git a/parser/gapi_pp.pl b/parser/gapi_pp.pl index 6cee3d116..3ddfefcd6 100755 --- a/parser/gapi_pp.pl +++ b/parser/gapi_pp.pl @@ -26,7 +26,7 @@ $private_regex = '^#if.*(ENABLE_BACKEND|ENABLE_ENGINE)'; $eatit_regex = '^#if(.*(__cplusplus|DEBUG|DISABLE_COMPAT|ENABLE_BROKEN)|\s+0\s*$)'; -$ignoreit_regex = '^\s+\*|#ident|#error|#\s*include|#\s*import|#\s*else|#\s*undef|G_(BEGIN|END)_DECLS|GDKVAR|GTKVAR|GTKMAIN_C_VAR|GTKTYPEUTILS_VAR|VARIABLE|GTKTYPEBUILTIN|G_GNUC_INTERNAL'; +$ignoreit_regex = '^\s+\*|#ident|#error|#\s*include|#\s*import|#\s*else|#\s*undef|G_(BEGIN|END)_DECLS|ATK_VAR|GDK_PIXBUF_VAR|GDKVAR|GTKVAR|GTKMAIN_C_VAR|GTKTYPEUTILS_VAR|VARIABLE|GTKTYPEBUILTIN|G_GNUC_INTERNAL'; foreach $arg (@ARGV) { if (-d $arg && -e $arg) { From b898323bba7e8334f59cbe8551c3200fb441adf9 Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Wed, 8 Jun 2016 14:39:17 +0200 Subject: [PATCH 43/66] Added StyleProviderPriority --- gtk/StyleProviderPriority.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 gtk/StyleProviderPriority.cs diff --git a/gtk/StyleProviderPriority.cs b/gtk/StyleProviderPriority.cs new file mode 100644 index 000000000..4ee37b384 --- /dev/null +++ b/gtk/StyleProviderPriority.cs @@ -0,0 +1,13 @@ +namespace Gtk { + + using System; + + public static class StyleProviderPriority + { + public const uint Fallback = 1; + public const uint Theme = 200; + public const uint Settings = 400; + public const uint Application = 600; + public const uint User = 800; + } +} From 7918531657a18523b050a62292267eb5eb8264d6 Mon Sep 17 00:00:00 2001 From: grbd Date: Thu, 30 Jun 2016 17:26:16 +0100 Subject: [PATCH 44/66] Small change to allow for building against latest gtk3 --- gtk/Plug.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/Plug.cs b/gtk/Plug.cs index f2c1cba9f..62f684300 100644 --- a/gtk/Plug.cs +++ b/gtk/Plug.cs @@ -33,7 +33,7 @@ public Plug (ulong socket_id) : base (IntPtr.Zero) { if (GetType () != typeof (Plug)) { CreateNativeObject (new string [0], new GLib.Value [0]); - Construct (socket_id); + Construct (Convert.ToUInt32(socket_id)); return; } Raw = gtk_plug_new (new UIntPtr (socket_id)); @@ -46,7 +46,7 @@ public Plug (Gdk.Display display, ulong socket_id) : base (IntPtr.Zero) { if (GetType () != typeof (Plug)) { CreateNativeObject (new string [0], new GLib.Value [0]); - ConstructForDisplay (display, socket_id); + ConstructForDisplay (display, Convert.ToUInt32(socket_id)); return; } Raw = gtk_plug_new_for_display (display.Handle, new UIntPtr (socket_id)); From 8e355c73d3903bc4a1cca9c592ac70b9924ec547 Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Mon, 25 Jul 2016 08:40:09 +0200 Subject: [PATCH 45/66] Updated to 3.20.6 and included SimpleAction --- gio/Gio.metadata | 2 + gio/gio-api.raw | 73 ++++++++++++++++++++++++- sources/Makefile.am | 4 +- sources/gtk_text_view_public.patch | 11 ---- sources/gtkselectionprivate-space.patch | 11 ---- sources/sources.xml | 10 ++-- 6 files changed, 78 insertions(+), 33 deletions(-) delete mode 100644 sources/gtk_text_view_public.patch delete mode 100644 sources/gtkselectionprivate-space.patch diff --git a/gio/Gio.metadata b/gio/Gio.metadata index 742c5bc9e..d080879db 100644 --- a/gio/Gio.metadata +++ b/gio/Gio.metadata @@ -147,6 +147,8 @@ 1 1 1 + 1 + 1 1 1 1 diff --git a/gio/gio-api.raw b/gio/gio-api.raw index 3232349e9..0330a2c99 100644 --- a/gio/gio-api.raw +++ b/gio/gio-api.raw @@ -10145,6 +10145,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13504,8 +13575,6 @@ - - diff --git a/sources/Makefile.am b/sources/Makefile.am index 653bb61d2..2b9e8bd63 100644 --- a/sources/Makefile.am +++ b/sources/Makefile.am @@ -3,7 +3,7 @@ EXTRA_DIST = \ sources.xml \ gtk_tree_model_signal_fix.patch -TARGET_GTK_VERSION=3.20.4 +TARGET_GTK_VERSION=3.20.6 TARGET_GTK_API=3.20 GTK_DOWNLOADS = \ @@ -24,8 +24,6 @@ get-source-code: patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtktreemodel.c < gtk_tree_model_signal_fix.patch echo "typedef struct _GtkClipboard GtkClipboard;" >> gtk+-$(TARGET_GTK_VERSION)/gtk/gtkclipboard.h echo "typedef struct _GtkClipboardClass GtkClipboardClass;" >> gtk+-$(TARGET_GTK_VERSION)/gtk/gtkclipboard.h - patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtkselectionprivate.h < gtkselectionprivate-space.patch patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtktextattributes.h < gtktextattributes-gi-scanner.patch - patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtktextview.h < gtk_text_view_public.patch patch -p0 glib-2.48.0/gio/gwin32registrykey.h < gwin32registrykey-little-endian.patch diff --git a/sources/gtk_text_view_public.patch b/sources/gtk_text_view_public.patch deleted file mode 100644 index 5363d5b08..000000000 --- a/sources/gtk_text_view_public.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- gtk+-3.16.6.orig/gtk/gtktextview.h 2015-09-04 11:37:38.035020919 +0200 -+++ gtk+-3.16.6/gtk/gtktextview.h 2015-09-04 11:38:59.958096121 +0200 -@@ -155,8 +155,6 @@ - { - GtkContainerClass parent_class; - -- /*< public */ -- - void (* populate_popup) (GtkTextView *text_view, - GtkWidget *popup); - void (* move_cursor) (GtkTextView *text_view, diff --git a/sources/gtkselectionprivate-space.patch b/sources/gtkselectionprivate-space.patch deleted file mode 100644 index 6efdd70fc..000000000 --- a/sources/gtkselectionprivate-space.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- gtk+-3.12.0.orig/gtk/gtkselectionprivate.h 2014-06-10 09:14:53.055629108 +0200 -+++ gtk+-3.12.0/gtk/gtkselectionprivate.h 2014-06-10 09:14:59.503650175 +0200 -@@ -52,7 +52,7 @@ - /*< private >*/ - GList *list; - guint ref_count; -- }; -+}; - - gboolean _gtk_selection_clear (GtkWidget *widget, - GdkEventSelection *event); diff --git a/sources/sources.xml b/sources/sources.xml index eb813d780..996b8fc66 100644 --- a/sources/sources.xml +++ b/sources/sources.xml @@ -78,8 +78,6 @@ gsettingsschema.h gsettingsschema-internal.h gtlsfiledatabase.h - gsimpleaction.h - gsimpleactiongroup.h gdtlsclientconnection.c gdtlsclientconnection.h gdtlsconnection.c @@ -142,12 +140,12 @@ - + gdkalias.h gdkwindowimpl.h keyname-table.h - + @@ -167,7 +165,7 @@ - + gtkalias.h gtkappchooseronline.h @@ -265,7 +263,7 @@ gtkcomposetable.c gtkcomposetable.h - + From f861aeb27b447216bd33644a6cc3df0cef3960f7 Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Mon, 25 Jul 2016 14:39:39 +0200 Subject: [PATCH 46/66] Merge from upstream --- generator/Parameter.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/generator/Parameter.cs b/generator/Parameter.cs index 7c6016b50..a77db28fc 100644 --- a/generator/Parameter.cs +++ b/generator/Parameter.cs @@ -408,9 +408,12 @@ public override string CallString { public override string[] Finish { get { - string[] result = new string [2]; - result [0] = CallName + " = " + FromNative ("native_" + CallName) + ";"; - result [1] = (Generatable as IManualMarshaler).ReleaseNative ("native_" + CallName) + ";"; + string[] result = new string [PassAs == string.Empty ? 1 : 2]; + int i = 0; + if (PassAs != string.Empty) { + result [i++] = CallName + " = " + FromNative ("native_" + CallName) + ";"; + } + result [i++] = (Generatable as IManualMarshaler).ReleaseNative ("native_" + CallName) + ";"; return result; } } From 182aa7e70252155d82e0ba16965addb2361a933a Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Mon, 25 Jul 2016 14:39:55 +0200 Subject: [PATCH 47/66] Updated to 3.20.6 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 7b16f14a6..d3c93f5f3 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ -AC_INIT(gtk-sharp, 3.20.4) +AC_INIT(gtk-sharp, 3.20.6) AM_INIT_AUTOMAKE([1.10 no-dist-gzip dist-bzip2 tar-ustar foreign]) AC_CANONICAL_HOST From 728c1f5aa7646b42d0fabf642a4ebe044ae2cd5c Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Mon, 25 Jul 2016 14:40:26 +0200 Subject: [PATCH 48/66] Try to wrap NativeDialog for Windows --- gtk/FileChooserNative.cs | 88 ++++++++++++++++++++++++++++++++ gtk/Makefile.am | 2 + gtk/NativeDialog.cs | 107 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 197 insertions(+) create mode 100755 gtk/FileChooserNative.cs create mode 100755 gtk/NativeDialog.cs diff --git a/gtk/FileChooserNative.cs b/gtk/FileChooserNative.cs new file mode 100755 index 000000000..3ffd8f520 --- /dev/null +++ b/gtk/FileChooserNative.cs @@ -0,0 +1,88 @@ +// Gtk.FileChooserNative.cs - Gtk FileChooserNative class customizations +// +// Author: Mikkel Kruse Johnsen +// +// Copyright (c) 2016 XMedicus ApS +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of version 2 of the Lesser GNU General +// Public License as published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., 59 Temple Place - Suite 330, +// Boston, MA 02111-1307, USA. + +namespace Gtk { + + using System; + using System.Runtime.InteropServices; + + public partial class FileChooserNative : Gtk.NativeDialog, Gtk.IFileChooser { + + public FileChooserNative (IntPtr raw) : base(raw) {} + + [DllImport (Global.GtkNativeDll, CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gtk_file_chooser_native_new(IntPtr title, IntPtr parent, int action, IntPtr accept_label, IntPtr cancel_label); + + [DllImport (Global.GtkNativeDll, CallingConvention = CallingConvention.Cdecl)] + static extern string gtk_file_chooser_native_get_accept_label(IntPtr self); + + [DllImport (Global.GtkNativeDll, CallingConvention = CallingConvention.Cdecl)] + static extern string gtk_file_chooser_native_set_accept_label(IntPtr self, string accept_label); + + [DllImport (Global.GtkNativeDll, CallingConvention = CallingConvention.Cdecl)] + static extern string gtk_file_chooser_native_get_cancel_label(IntPtr self); + + [DllImport (Global.GtkNativeDll, CallingConvention = CallingConvention.Cdecl)] + static extern string gtk_file_chooser_native_set_cancel_label(IntPtr self, string cancel_label); + + public FileChooserNative (string title, Gtk.Window parent, Gtk.FileChooserAction action, string accept_label, string cancel_label) : base(FileChooserNativeCreate(title, parent, action, accept_label, cancel_label)) + { + /* + if (GetType () != typeof (FileChooserNative)) { + var vals = new List (); + var names = new List (); + names.Add ("title"); + vals.Add (new GLib.Value (title)); + names.Add ("parent"); + vals.Add (new GLib.Value (parent)); + names.Add ("action"); + vals.Add (new GLib.Value (action)); + names.Add ("accept_label"); + vals.Add (new GLib.Value (accept_label)); + names.Add ("cancel_label"); + vals.Add (new GLib.Value (cancel_label)); + CreateNativeObject (names.ToArray (), vals.ToArray ()); + return; + } + */ + } + + static IntPtr FileChooserNativeCreate (string title, Gtk.Window parent, Gtk.FileChooserAction action, string accept_label, string cancel_label) + { + IntPtr native_title = GLib.Marshaller.StringToPtrGStrdup (title); + IntPtr native_accept_label = IntPtr.Zero; + if (accept_label != null) + native_accept_label = GLib.Marshaller.StringToPtrGStrdup (accept_label); + IntPtr native_cancel_label = IntPtr.Zero; + if (cancel_label != null) + native_cancel_label = GLib.Marshaller.StringToPtrGStrdup (cancel_label); + + IntPtr raw = gtk_file_chooser_native_new(native_title, parent.Handle, (int) action, native_accept_label, native_cancel_label); + + /*GLib.Marshaller.Free (native_title); + if (accept_label != null) + GLib.Marshaller.Free (native_accept_label); + if (cancel_label != null) + GLib.Marshaller.Free (native_cancel_label);*/ + + return raw; + } + } +} diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 7cc70464e..3a5d45f78 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -43,6 +43,7 @@ sources = \ Entry.cs \ EntryCompletion.cs \ FileChooserDialog.cs \ + FileChooserNative.cs \ Frame.cs \ Global.cs \ HBox.cs \ @@ -63,6 +64,7 @@ sources = \ Menu.cs \ MenuItem.cs \ MessageDialog.cs \ + NativeDialog.cs \ NodeCellDataFunc.cs \ NodeSelection.cs \ NodeStore.cs \ diff --git a/gtk/NativeDialog.cs b/gtk/NativeDialog.cs new file mode 100755 index 000000000..a13bf0d01 --- /dev/null +++ b/gtk/NativeDialog.cs @@ -0,0 +1,107 @@ +// Gtk.NativeDialog.cs - Gtk NativeDialog class customizations +// +// Author: Mikkel Kruse Johnsen +// +// Copyright (c) 2016 XMedicus ApS +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of version 2 of the Lesser GNU General +// Public License as published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., 59 Temple Place - Suite 330, +// Boston, MA 02111-1307, USA. + +namespace Gtk { + + using System; + using System.Runtime.InteropServices; + + public partial class NativeDialog : Gtk.FileChooserAdapter { + + public NativeDialog (IntPtr raw) : base(raw) { } + + [DllImport (Global.GtkNativeDll, CallingConvention = CallingConvention.Cdecl)] + static extern void gtk_native_dialog_show (IntPtr self); + + public void Show () + { + gtk_native_dialog_show (Handle); + } + + [DllImport (Global.GtkNativeDll, CallingConvention = CallingConvention.Cdecl)] + static extern void gtk_native_dialog_hide (IntPtr self); + + public void Hide () + { + gtk_native_dialog_hide (Handle); + } + + [DllImport (Global.GtkNativeDll, CallingConvention = CallingConvention.Cdecl)] + static extern void gtk_native_dialog_destroy (IntPtr self); + + public void Destroy () + { + gtk_native_dialog_destroy (Handle); + } + + [DllImport (Global.GtkNativeDll, CallingConvention = CallingConvention.Cdecl)] + static extern bool gtk_native_dialog_get_visible (IntPtr self); + + public bool Visible { + get { + return gtk_native_dialog_get_visible (Handle); + } + } + + [DllImport (Global.GtkNativeDll, CallingConvention = CallingConvention.Cdecl)] + static extern void gtk_native_dialog_set_modal (IntPtr self, bool modal); + + [DllImport (Global.GtkNativeDll, CallingConvention = CallingConvention.Cdecl)] + static extern bool gtk_native_dialog_get_modal (IntPtr self); + + public bool Modal { + set { + gtk_native_dialog_set_modal (Handle, value); + } + get { + return gtk_native_dialog_get_modal (Handle); + } + } + + [DllImport (Global.GtkNativeDll, CallingConvention = CallingConvention.Cdecl)] + static extern void gtk_native_dialog_set_title (IntPtr self, string title); + + [DllImport (Global.GtkNativeDll, CallingConvention = CallingConvention.Cdecl)] + static extern string gtk_native_dialog_get_title (IntPtr self); + + public string Title { + set { + gtk_native_dialog_set_title (Handle, value); + } + get { + return gtk_native_dialog_get_title (Handle); + } + } + + [DllImport (Global.GtkNativeDll, CallingConvention = CallingConvention.Cdecl)] + static extern void gtk_native_dialog_set_transient_for (IntPtr self, IntPtr parent); + + [DllImport (Global.GtkNativeDll, CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gtk_native_dialog_get_transient_for (IntPtr self); + + [DllImport (Global.GtkNativeDll, CallingConvention = CallingConvention.Cdecl)] + static extern int gtk_native_dialog_run (IntPtr self); + + public int Run () + { + return gtk_native_dialog_run (Handle); + } + } +} From 99a859932e4bd3de55e8d9a35b3b5253a8ca9588 Mon Sep 17 00:00:00 2001 From: grbd Date: Sat, 1 Oct 2016 02:55:46 +0100 Subject: [PATCH 49/66] Added python scripts for building NuGet packages via windows or linux --- .gitignore | 11 +++ NuGet/Readme.md | 67 +++++++++++++++ NuGet/build.py | 59 +++++++++++++ NuGet/misc/GtkSharp.Native.targets | 11 +++ NuGet/misc/GtkSharp.nuspec | 16 ++++ NuGet/misc/GtkSharp.targets | 10 +++ NuGet/pybuild/GtkSharp_Builder.py | 85 +++++++++++++++++++ NuGet/pybuild/Gtk_Builder.py | 77 +++++++++++++++++ NuGet/pybuild/Helper.py | 78 +++++++++++++++++ NuGet/pybuild/Settings.py | 80 +++++++++++++++++ NuGet/pybuild/__init__.py | 0 NuGet/vs/GtkSharp-NugetBuild.sln | 25 ++++++ .../GtkSharp-NugetBuild.pyproj | 70 +++++++++++++++ 13 files changed, 589 insertions(+) create mode 100644 NuGet/Readme.md create mode 100644 NuGet/build.py create mode 100644 NuGet/misc/GtkSharp.Native.targets create mode 100644 NuGet/misc/GtkSharp.nuspec create mode 100644 NuGet/misc/GtkSharp.targets create mode 100644 NuGet/pybuild/GtkSharp_Builder.py create mode 100644 NuGet/pybuild/Gtk_Builder.py create mode 100644 NuGet/pybuild/Helper.py create mode 100644 NuGet/pybuild/Settings.py create mode 100644 NuGet/pybuild/__init__.py create mode 100644 NuGet/vs/GtkSharp-NugetBuild.sln create mode 100644 NuGet/vs/GtkSharp-NugetBuild/GtkSharp-NugetBuild.pyproj diff --git a/.gitignore b/.gitignore index 69345e974..0a4380a2b 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,14 @@ stamp-h1 AssemblyInfo.cs Makefile Makefile.in + +# Nuget build files +NuGet/build +NuGet/nupkg + +# Python compiled files +*.egg-* +*.pyc +.eggs +dist +*.suo diff --git a/NuGet/Readme.md b/NuGet/Readme.md new file mode 100644 index 000000000..a9764bdb9 --- /dev/null +++ b/NuGet/Readme.md @@ -0,0 +1,67 @@ +# Readme + +## Overview + +This is a series of python scripts to generate the binaries and NuGet Packages for GtkSharp and Gtk + + * NuGet Packages for the GtkSharp .Net libraries + * NuGet Packages for the Windows 32bit / 64bit Gtk dll's + +## Windows + +### Depends + +The following is used as part of the build process + + * MSYS2 - Windows install + +Also it's assumed that you've already installed the 32bit and 64bit binaries for gtk within the MSYS environment +if your going to generate the Win32 / Win64 Nuget Packages for windows + +``` +pacman -S mingw-w64-i686-pango mingw-w64-i686-atk mingw-w64-i686-gtk3 +pacman -S mingw-w64-x86_64-pango mingw-w64-x86_64-atk mingw-w64-x86_64-gtk3 +``` + +And installed the executor python module +``` +C:\Python35\Scripts\pip.exe install executor +``` + +### Running Build + +To run the build +``` +cd gtk-sharp\NuGet +build.py all +``` + +## Linux + +### Depends + +For Ubuntu we need to install pip for python 3 and a few other packages +``` +sudo apt-get install python3-pip autoconf libtool libtool-bin mono-complete +sudo apt-get install libglib2.0-dev libpango1.0-dev libatk1.0-dev libgtk-3-dev +``` + +Then install the executor python module +``` +pip3 install executor +``` + +The version of Nuget needs to be the latest for linux +``` +sudo wget https://dist.nuget.org/win-x86-commandline/v3.5.0-rc1/NuGet.exe -O /usr/local/bin/nuget.exe +sudo chmod +x /usr/local/bin/nuget.exe +``` + +### Running Build + +To run the build +``` +cd gtk-sharp/NuGet +chmod +x build.py +./build.py all +``` diff --git a/NuGet/build.py b/NuGet/build.py new file mode 100644 index 000000000..0fbb81679 --- /dev/null +++ b/NuGet/build.py @@ -0,0 +1,59 @@ +#!/usr/bin/python3 +"""Script to build out the .Net dll's and package them into a Nuget Package for gtksharp3""" +import os, sys +from pybuild.GtkSharp_Builder import GtkSharp_Builder +from pybuild.Gtk_Builder import Gtk_Builder +from pybuild.Helper import Helper as helpers + +# Ideally I'd like to see the GtkSharp Build system redone via .Net Core or something other than make +# For now though we rely on the use of make to build the .Net dll's +# under linux we run this natively, under windows we can use MSYS2 + +class Build(object): + + # Class Init + def __init__(self): + self.GtkSharp_Builder = GtkSharp_Builder() + self.Gtk_Builder = Gtk_Builder() + + # Clean the Build directory + def clean(self): + """Clean the build dir""" + helpers.emptydir('./build') + print ("Clean finished") + + # Print Usage + def usage(self): + print ("Please use GtkSharp3_Build.py where is one of") + print (" clean to clean the output directory: ./build") + print (" gtksharp_net45 to build ,Net libs for GtkSharp, via .Net 4.5") + print (" gtksharp_nuget_net45 to build Nuget Packages for GtkSharp, via .Net 4.5") + print (" gtk_nuget_win32 to build the Nuget package for GtkSharp.Win32") + print (" gtk_nuget_win64 to build the Nuget package for GtkSharp.Win64") + print (" all to make all") + + def main(self): + if len(sys.argv) != 2: + self.usage() + return + + if sys.argv[1] == "gtksharp_net45": + self.GtkSharp_Builder.build_net45() + if sys.argv[1] == "gtksharp_nuget_net45": + self.GtkSharp_Builder.build_nuget_net45() + if sys.argv[1] == "gtk_nuget_win32": + self.Gtk_Builder.build_nuget_win32() + if sys.argv[1] == "gtk_nuget_win64": + self.Gtk_Builder.build_nuget_win64() + + if sys.argv[1] == "all": + self.GtkSharp_Builder.build_net45() + self.GtkSharp_Builder.build_nuget_net45() + self.Gtk_Builder.build_nuget_win32() + self.Gtk_Builder.build_nuget_win64() + + if sys.argv[1] == "clean": + self.clean() + +if __name__ == "__main__": + Build().main() diff --git a/NuGet/misc/GtkSharp.Native.targets b/NuGet/misc/GtkSharp.Native.targets new file mode 100644 index 000000000..16cf8d793 --- /dev/null +++ b/NuGet/misc/GtkSharp.Native.targets @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/NuGet/misc/GtkSharp.nuspec b/NuGet/misc/GtkSharp.nuspec new file mode 100644 index 000000000..3583ea169 --- /dev/null +++ b/NuGet/misc/GtkSharp.nuspec @@ -0,0 +1,16 @@ + + + + GBD.GtkSharp + 3.22.0 + Ric Westell + grbd + https://github.com/mono/gtk-sharp/blob/master/COPYING + https://github.com/mono/gtk-sharp + https://upload.wikimedia.org/wikipedia/en/5/5f/Gtk_Sharp_Logo.png + false + Gtk# is a .NET language binding for the GTK+ toolkit and assorted GNOME libraries. Gtk# is free software, licensed under the GNU LGPL. + Copyright 2016 + GTK3 GTK# gtk3-sharp + + \ No newline at end of file diff --git a/NuGet/misc/GtkSharp.targets b/NuGet/misc/GtkSharp.targets new file mode 100644 index 000000000..2ac7cc5a3 --- /dev/null +++ b/NuGet/misc/GtkSharp.targets @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/NuGet/pybuild/GtkSharp_Builder.py b/NuGet/pybuild/GtkSharp_Builder.py new file mode 100644 index 000000000..62d8f47f7 --- /dev/null +++ b/NuGet/pybuild/GtkSharp_Builder.py @@ -0,0 +1,85 @@ +#! python3 +import os, shutil +from pybuild.Settings import Settings +from pybuild.Helper import Helper as helpers +from os.path import join +from xml.etree import ElementTree as et + +class GtkSharp_Builder(object): + + def __init__(self): + """Class Init""" + self.setts = Settings() + + def clean(self): + """Clean the build dir""" + helpers.emptydir('./build') + print ("Clean finished") + + def build_net45(self): + """Build the gtksharp binaries for .Net 4.5""" + self.clean() + os.makedirs(self.setts.BuildDir, exist_ok=True) + buildfile = join(self.setts.BuildDir, 'net45_build.sh') + + # run script via MSYS for windows, or shell for linux + if os.name == 'nt': + print("Building .Net GtkSharp using MSYS2") + with open(buildfile, 'w') as f: + f.write('PATH=$PATH:/c/Program\ Files\ \(x86\)/Microsoft\ SDKs/Windows/v10.0A/bin/NETFX\ 4.6\ Tools/\n') + f.write('PATH=$PATH:/c/Windows/Microsoft.NET/Framework/v4.0.30319/\n') + f.write('cd ' + helpers.winpath_to_msyspath(self.setts.SrcDir + '\n')) + f.write('./autogen.sh --prefix=/tmp/install\n') + f.write('make clean\n') + f.write('make\n') + cmds = [join(self.setts.msys2path, 'usr\\bin\\bash.exe'), '--login', buildfile] + cmd = helpers.run_cmd(cmds, self.setts.SrcDir) + + else: + print("Building using Linux shell") + with open(buildfile, 'w') as f: + f.write('cd ' + self.setts.SrcDir + '\n') + f.write('./autogen.sh --prefix=/tmp/install\n') + f.write('make clean\n') + f.write('make\n') + cmds = [self.setts.bashpath, buildfile] + cmd = helpers.run_cmd(cmds, self.setts.SrcDir) + + def build_nuget_net45(self): + """Package up a nuget file based on the default build""" + self.clean() + net45_build_dir = join(self.setts.BuildDir, 'build', 'net45') + net45_lib_dir = join(self.setts.BuildDir, 'lib', 'net45') + GtkVersion = helpers.get_gtksharp_version(self.setts.SrcDir) + + os.makedirs(self.setts.BuildDir, exist_ok=True) + os.makedirs(net45_build_dir, exist_ok=True) + os.makedirs(net45_lib_dir, exist_ok=True) + + print ('Copying Files') + shutil.copy('./misc/GtkSharp.nuspec', self.setts.BuildDir) + shutil.copy('./misc/GtkSharp.targets', net45_build_dir) + + dll_list = ['atk', 'cairo', 'gdk', 'gio', 'glib', 'gtk', 'pango'] + for item in dll_list: + shutil.copy(join(self.setts.SrcDir, item, item + "-sharp.dll"), net45_lib_dir) + if item != 'cairo': + shutil.copy(join(self.setts.SrcDir, item, item + '-sharp.dll.config'), net45_build_dir) + + # Edit the XML version / package name in the .nuspec file + nuspecfile = join(self.setts.BuildDir, 'GtkSharp.nuspec') + et.register_namespace('', 'http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd') + tree = et.parse(nuspecfile) + xmlns = {'nuspec': '{http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd}'} + tree.find('.//{nuspec}version'.format(**xmlns)).text = GtkVersion + tree.find('.//{nuspec}id'.format(**xmlns)).text = self.setts.Gtksharp_PackageName + tree.write(nuspecfile) + + # Run Nuget + helpers.run_cmd([self.setts.NuGetExe, 'pack', 'GtkSharp.nuspec'], self.setts.BuildDir) + + nugetfile = join(self.setts.BuildDir, self.setts.Gtksharp_PackageName + '.' + GtkVersion + '.nupkg') + os.makedirs(self.setts.NugetPkgs, exist_ok=True) + shutil.copy(nugetfile, self.setts.NugetPkgs) + + print ('Generation of Nuget package complete') diff --git a/NuGet/pybuild/Gtk_Builder.py b/NuGet/pybuild/Gtk_Builder.py new file mode 100644 index 000000000..a549835ba --- /dev/null +++ b/NuGet/pybuild/Gtk_Builder.py @@ -0,0 +1,77 @@ +#! python3 +import os, shutil +from pybuild.Settings import Settings +from pybuild.Helper import Helper as helpers +from os.path import join +from xml.etree import ElementTree as et + +# This script assumes the gtk libraries have already been installed via MSYS2 / MinGW32 / MinGW64 + +class Gtk_Builder(object): + + def __init__(self): + """Class Init""" + self.setts = Settings() + + def clean(self): + """Clean the build dir""" + helpers.emptydir('./build') + print ("Clean finished") + + def build_nuget_win32(self): + self.build_nuget('Win32') + + def build_nuget_win64(self): + self.build_nuget('Win64') + + def build_nuget(self, arch): + """Package up a nuget file based on the default build""" + + if os.name != 'nt': + print("Skipping Native Nuget package build, as this needs to be run on Windows") + return + + self.clean() + net45_build_dir = join(self.setts.BuildDir, 'build', 'net45') + if arch == 'Win32': + mingwdir = self.setts.mingwin32path + else: + mingwdir = self.setts.mingwin64path + + os.makedirs(self.setts.BuildDir, exist_ok=True) + os.makedirs(net45_build_dir, exist_ok=True) + + print ('Copying Files') + shutil.copy('./misc/GtkSharp.nuspec', self.setts.BuildDir) + shutil.copy('./misc/GtkSharp.Native.targets', join(net45_build_dir, 'GtkSharp.' + arch + '.targets')) + + # Copy dlls + dll_list = [] + dll_list += self.setts.get_native_win_dlls() + dll_list += self.setts.get_native_win_deps() + + for item in dll_list: + src = join(mingwdir, item) + helpers.copy_files(src, net45_build_dir) + + # Get version + GtkVersion = helpers.get_gtk_version(self.setts.msys2path) + + # Edit the XML version / package name in the .nuspec file + nuspecfile = join(self.setts.BuildDir, 'GtkSharp.nuspec') + et.register_namespace('', 'http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd') + tree = et.parse(nuspecfile) + xmlns = {'nuspec': '{http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd}'} + tree.find('.//{nuspec}version'.format(**xmlns)).text = GtkVersion + tree.find('.//{nuspec}id'.format(**xmlns)).text = self.setts.Gtksharp_PackageName + '.' + arch + tree.write(nuspecfile) + + # Run Nuget + helpers.run_cmd([self.setts.NuGetExe, 'pack', 'GtkSharp.nuspec'], self.setts.BuildDir) + + nugetfile = join(self.setts.BuildDir, self.setts.Gtksharp_PackageName + '.' + arch + '.' + GtkVersion + '.nupkg') + os.makedirs(self.setts.NugetPkgs, exist_ok=True) + shutil.copy(nugetfile, self.setts.NugetPkgs) + + print ('Generation of Nuget package complete') + diff --git a/NuGet/pybuild/Helper.py b/NuGet/pybuild/Helper.py new file mode 100644 index 000000000..32313de64 --- /dev/null +++ b/NuGet/pybuild/Helper.py @@ -0,0 +1,78 @@ +#! python3 +"""Helper Functions""" + +import os, subprocess, shutil, sys +from os.path import join +from glob import iglob +from executor import ExternalCommand +import ntpath + +class Helper(object): + + def emptydir(top): + """Empty a Directory""" + if(top == '/' or top == "\\"): return + else: + for root, dirs, files in os.walk(top, topdown=False): + for name in files: + os.remove(os.path.join(root, name)) + for name in dirs: + os.rmdir(os.path.join(root, name)) + + def run_cmd(cmdarray, workdir, comms = None): + """Run a command on the shell""" + cmd = ExternalCommand(*cmdarray, capture=True, capture_stderr=True, async=True, shell=False, directory=workdir) + cmd.start() + last_out = '' + last_err = '' + while cmd.is_running: + new_out = cmd.decoded_stdout.replace(last_out, '') + new_err = cmd.decoded_stderr.replace(last_err, '') + last_out += new_out + last_err += new_err + new_out = new_out.replace(u"\u2018", "'").replace(u"\u2019", "'") + new_err = new_err.replace(u"\u2018", "'").replace(u"\u2019", "'") + if new_out != '': print(new_out, end='') + if new_err != '': print(new_err, end='') + + if cmd.returncode != 0: + raise RuntimeError('Failure to run command') + return cmd + + def winpath_to_msyspath(winpath): + """Convert a Windows path to a Msys type path""" + winpath = '/' + winpath[0] + winpath[2:].replace('\\', '/') + return winpath + + def get_gtksharp_version(srcdir): + """Get the Version of GTK Sharp in use from the source directory""" + ret = None + with open(join(srcdir, 'configure.ac')) as f: + for line in f: + if line.startswith('AC_INIT'): + ret = line + ret = ret.replace('AC_INIT(gtk-sharp,', '') + ret = ret.replace(' ', '') + ret = ret.replace(')\n', '') + break + return ret + + def get_gtk_version(msyspath): + ret = '' + pacman_path = join(msyspath, 'usr\\bin\\pacman.exe') + # pull version from msys2 / pacman + # pacman -Qi mingw-w64-i686-gtk3 + cmd = Helper.run_cmd([pacman_path, '-Qi', 'mingw-w64-i686-gtk3'], msyspath) + + for line in cmd.output.split('\n'): + if 'Version' in line: + ret = line.replace('Version', '') + ret = ret.replace(' ', '').replace(':', '') + if '-' in ret: + ret = ret[:-2] + break + return ret + + def copy_files(src_glob, dst_folder): + for fname in iglob(src_glob): + shutil.copy(fname, join(dst_folder, ntpath.basename(fname))) \ No newline at end of file diff --git a/NuGet/pybuild/Settings.py b/NuGet/pybuild/Settings.py new file mode 100644 index 000000000..79a7d1860 --- /dev/null +++ b/NuGet/pybuild/Settings.py @@ -0,0 +1,80 @@ +#! python3 +"""Settings for scripts""" + +import os + +class Settings(object): + + def __init__(self): + """Class Init""" + + self.NuGetExe = 'nuget.exe' + self.Gtksharp_PackageName = 'GBD.GtkSharp' + + self.SrcDir = '../' + self.BuildDir = './build' + self.NugetPkgs = './nupkg' + self.SrcDir = os.path.abspath(self.SrcDir) + self.BuildDir = os.path.abspath(self.BuildDir) + self.NugetPkgs = os.path.abspath(self.NugetPkgs) + + self.msys2path = 'C:\\msys64' + self.msys2path = os.path.abspath(self.msys2path) + self.bashpath = '/bin/bash' + + self.mingwin32path = 'C:\\msys64\\mingw32\\bin' + self.mingwin32path = os.path.abspath(self.mingwin32path) + self.mingwin64path = 'C:\\msys64\\mingw64\\bin' + self.mingwin64path = os.path.abspath(self.mingwin64path) + + def get_native_win_dlls(self): + ret = [] + + # Gtk + ret.append('libgtk-3-0.dll') + ret.append('libgdk-3-0.dll') + + # atk + ret.append('libatk-1.0-0.dll') + + # cairo + ret.append('libcairo-2.dll') + ret.append('libcairo-gobject-2.dll') + + # gdk-pixbuf + ret.append('libgdk_pixbuf-2.0-0.dll') + + # glib2 + ret.append('libgio-2.0-0.dll') + ret.append('libglib-2.0-0.dll') + ret.append('libgmodule-2.0-0.dll') + ret.append('libgobject-2.0-0.dll') + + # pango + ret.append('libpango-1.0-0.dll') + ret.append('libpangocairo-1.0-0.dll') + ret.append('libpangoft2-1.0-0.dll') + ret.append('libpangowin32-1.0-0.dll') + return ret + + def get_native_win_deps(self): + ret = [] + # Determined by using PE Explorer + ret.append('libgcc_*.dll') + ret.append('libepoxy-0.dll') + ret.append('libintl-8.dll') + ret.append('libwinpthread-1.dll') + ret.append('libiconv-2.dll') + ret.append('libfontconfig-1.dll') + ret.append('libexpat-1.dll') + ret.append('libfreetype-6.dll') + ret.append('libpixman-1-0.dll') + ret.append('libpng16-16.dll') + ret.append('zlib1.dll') + ret.append('libpcre-1.dll') + ret.append('libffi-6.dll') + ret.append('libharfbuzz-0.dll') + ret.append('libgraphite2.dll') + ret.append('libstdc++-6.dll') + ret.append('libbz2-1.dll') + return ret \ No newline at end of file diff --git a/NuGet/pybuild/__init__.py b/NuGet/pybuild/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/NuGet/vs/GtkSharp-NugetBuild.sln b/NuGet/vs/GtkSharp-NugetBuild.sln new file mode 100644 index 000000000..5301fc15e --- /dev/null +++ b/NuGet/vs/GtkSharp-NugetBuild.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "App", "App", "{52C7113D-CB6A-4A0E-AD00-F2840069C3A5}" +EndProject +Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "GtkSharp-NugetBuild", "GtkSharp-NugetBuild\GtkSharp-NugetBuild.pyproj", "{222475C5-78B6-4961-9552-D83D2C65A9A1}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {222475C5-78B6-4961-9552-D83D2C65A9A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {222475C5-78B6-4961-9552-D83D2C65A9A1}.Release|Any CPU.ActiveCfg = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {222475C5-78B6-4961-9552-D83D2C65A9A1} = {52C7113D-CB6A-4A0E-AD00-F2840069C3A5} + EndGlobalSection +EndGlobal diff --git a/NuGet/vs/GtkSharp-NugetBuild/GtkSharp-NugetBuild.pyproj b/NuGet/vs/GtkSharp-NugetBuild/GtkSharp-NugetBuild.pyproj new file mode 100644 index 000000000..262f9bcbe --- /dev/null +++ b/NuGet/vs/GtkSharp-NugetBuild/GtkSharp-NugetBuild.pyproj @@ -0,0 +1,70 @@ + + + + Debug + 2.0 + 222475c5-78b6-4961-9552-d83d2c65a9a1 + + + ..\..\build.py + ..\..\;..\..\pybuild\ + ..\..\ + . + GtkSharp-NugetBuild + GtkSharp3-Build + False + {9a7a9026-48c1-4688-9d5d-e5699d47d074} + 3.5 + Standard Python launcher + False + all + + + true + false + + + true + false + + + 10.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Python Tools\Microsoft.PythonTools.targets + + + + + + + build.py + + + pybuild\GtkSharp_Builder.py + + + pybuild\Gtk_Builder.py + + + pybuild\Helper.py + + + pybuild\Settings.py + + + pybuild\__init__.py + + + + + + + + + + + + + + \ No newline at end of file From c45e3558b6b871f28f8c774734b6b740caf67258 Mon Sep 17 00:00:00 2001 From: grbd Date: Mon, 17 Oct 2016 20:05:48 +0100 Subject: [PATCH 50/66] Rewrite of the nuget package genertion code, also included the glue libs --- NuGet/build.py | 77 ++++++++----- NuGet/misc/GtkSharp.nuspec | 2 +- NuGet/pybuild/GtkSharp_Builder.py | 85 --------------- NuGet/pybuild/Gtk_Builder.py | 77 ------------- NuGet/pybuild/Helper.py | 8 +- NuGet/pybuild/ProfileBase.py | 87 +++++++++++++++ NuGet/pybuild/Settings.py | 80 -------------- NuGet/pybuild/profiles/Glue_Win32.py | 51 +++++++++ NuGet/pybuild/profiles/Glue_Win64.py | 14 +++ NuGet/pybuild/profiles/GtkSharp.py | 73 +++++++++++++ NuGet/pybuild/profiles/Gtk_Win32.py | 102 ++++++++++++++++++ NuGet/pybuild/profiles/Gtk_Win64.py | 18 ++++ NuGet/pybuild/profiles/__init__.py | 0 .../GtkSharp-NugetBuild.pyproj | 29 +++-- 14 files changed, 417 insertions(+), 286 deletions(-) delete mode 100644 NuGet/pybuild/GtkSharp_Builder.py delete mode 100644 NuGet/pybuild/Gtk_Builder.py create mode 100644 NuGet/pybuild/ProfileBase.py delete mode 100644 NuGet/pybuild/Settings.py create mode 100644 NuGet/pybuild/profiles/Glue_Win32.py create mode 100644 NuGet/pybuild/profiles/Glue_Win64.py create mode 100644 NuGet/pybuild/profiles/GtkSharp.py create mode 100644 NuGet/pybuild/profiles/Gtk_Win32.py create mode 100644 NuGet/pybuild/profiles/Gtk_Win64.py create mode 100644 NuGet/pybuild/profiles/__init__.py diff --git a/NuGet/build.py b/NuGet/build.py index 0fbb81679..0fb9491b4 100644 --- a/NuGet/build.py +++ b/NuGet/build.py @@ -1,9 +1,11 @@ #!/usr/bin/python3 """Script to build out the .Net dll's and package them into a Nuget Package for gtksharp3""" import os, sys -from pybuild.GtkSharp_Builder import GtkSharp_Builder -from pybuild.Gtk_Builder import Gtk_Builder -from pybuild.Helper import Helper as helpers +from pybuild.profiles.GtkSharp import GtkSharp +from pybuild.profiles.Glue_Win32 import Glue_Win32 +from pybuild.profiles.Glue_Win64 import Glue_Win64 +from pybuild.profiles.Gtk_Win32 import Gtk_Win32 +from pybuild.profiles.Gtk_Win64 import Gtk_Win64 # Ideally I'd like to see the GtkSharp Build system redone via .Net Core or something other than make # For now though we rely on the use of make to build the .Net dll's @@ -11,11 +13,6 @@ class Build(object): - # Class Init - def __init__(self): - self.GtkSharp_Builder = GtkSharp_Builder() - self.Gtk_Builder = Gtk_Builder() - # Clean the Build directory def clean(self): """Clean the build dir""" @@ -26,34 +23,56 @@ def clean(self): def usage(self): print ("Please use GtkSharp3_Build.py where is one of") print (" clean to clean the output directory: ./build") - print (" gtksharp_net45 to build ,Net libs for GtkSharp, via .Net 4.5") - print (" gtksharp_nuget_net45 to build Nuget Packages for GtkSharp, via .Net 4.5") - print (" gtk_nuget_win32 to build the Nuget package for GtkSharp.Win32") - print (" gtk_nuget_win64 to build the Nuget package for GtkSharp.Win64") - print (" all to make all") + +# print (" gtksharp_all to build .Net libs for GtkSharp, via .Net 4.5 and .Net Core") + print (" gtksharp_net45 to build .Net libs for GtkSharp, via .Net 4.5") +# print (" gtksharp_core to build .Net libs for GtkSharp, via .Net Core") + + print (" gtk_win32 to build the Nuget package for GtkSharp.Win32") + print (" gtk_win64 to build the Nuget package for GtkSharp.Win64") + print (" all to make all") def main(self): if len(sys.argv) != 2: self.usage() return - if sys.argv[1] == "gtksharp_net45": - self.GtkSharp_Builder.build_net45() - if sys.argv[1] == "gtksharp_nuget_net45": - self.GtkSharp_Builder.build_nuget_net45() - if sys.argv[1] == "gtk_nuget_win32": - self.Gtk_Builder.build_nuget_win32() - if sys.argv[1] == "gtk_nuget_win64": - self.Gtk_Builder.build_nuget_win64() - - if sys.argv[1] == "all": - self.GtkSharp_Builder.build_net45() - self.GtkSharp_Builder.build_nuget_net45() - self.Gtk_Builder.build_nuget_win32() - self.Gtk_Builder.build_nuget_win64() - - if sys.argv[1] == "clean": + if sys.argv[1] == 'all': + self.runbuild('gtksharp_net45') + self.runbuild('gtk_win32') + self.runbuild('gtk_win64') + return + + self.runbuild(sys.argv[1]) + + + def runbuild(self, build_type): + + if build_type == 'clean': self.clean() + elif build_type == 'gtksharp_net45': + profile = GtkSharp() + profile.clean() + profile.build_net45() + profile.copy_net45() + profile.build_nuget() + + elif build_type == 'gtk_win32': + profile_glue = Glue_Win32() + profile_glue.clean() + profile_glue.build() + profile_gtk = Gtk_Win32() + profile_gtk.build() + profile_gtk.build_nuget() + + elif build_type == 'gtk_win64': + profile_glue = Glue_Win64() + profile_glue.clean() + profile_glue.build() + profile = Gtk_Win64() + profile.build() + profile.build_nuget() + if __name__ == "__main__": Build().main() diff --git a/NuGet/misc/GtkSharp.nuspec b/NuGet/misc/GtkSharp.nuspec index 3583ea169..70cc70bee 100644 --- a/NuGet/misc/GtkSharp.nuspec +++ b/NuGet/misc/GtkSharp.nuspec @@ -3,7 +3,7 @@ GBD.GtkSharp 3.22.0 - Ric Westell + Grbd grbd https://github.com/mono/gtk-sharp/blob/master/COPYING https://github.com/mono/gtk-sharp diff --git a/NuGet/pybuild/GtkSharp_Builder.py b/NuGet/pybuild/GtkSharp_Builder.py deleted file mode 100644 index 62d8f47f7..000000000 --- a/NuGet/pybuild/GtkSharp_Builder.py +++ /dev/null @@ -1,85 +0,0 @@ -#! python3 -import os, shutil -from pybuild.Settings import Settings -from pybuild.Helper import Helper as helpers -from os.path import join -from xml.etree import ElementTree as et - -class GtkSharp_Builder(object): - - def __init__(self): - """Class Init""" - self.setts = Settings() - - def clean(self): - """Clean the build dir""" - helpers.emptydir('./build') - print ("Clean finished") - - def build_net45(self): - """Build the gtksharp binaries for .Net 4.5""" - self.clean() - os.makedirs(self.setts.BuildDir, exist_ok=True) - buildfile = join(self.setts.BuildDir, 'net45_build.sh') - - # run script via MSYS for windows, or shell for linux - if os.name == 'nt': - print("Building .Net GtkSharp using MSYS2") - with open(buildfile, 'w') as f: - f.write('PATH=$PATH:/c/Program\ Files\ \(x86\)/Microsoft\ SDKs/Windows/v10.0A/bin/NETFX\ 4.6\ Tools/\n') - f.write('PATH=$PATH:/c/Windows/Microsoft.NET/Framework/v4.0.30319/\n') - f.write('cd ' + helpers.winpath_to_msyspath(self.setts.SrcDir + '\n')) - f.write('./autogen.sh --prefix=/tmp/install\n') - f.write('make clean\n') - f.write('make\n') - cmds = [join(self.setts.msys2path, 'usr\\bin\\bash.exe'), '--login', buildfile] - cmd = helpers.run_cmd(cmds, self.setts.SrcDir) - - else: - print("Building using Linux shell") - with open(buildfile, 'w') as f: - f.write('cd ' + self.setts.SrcDir + '\n') - f.write('./autogen.sh --prefix=/tmp/install\n') - f.write('make clean\n') - f.write('make\n') - cmds = [self.setts.bashpath, buildfile] - cmd = helpers.run_cmd(cmds, self.setts.SrcDir) - - def build_nuget_net45(self): - """Package up a nuget file based on the default build""" - self.clean() - net45_build_dir = join(self.setts.BuildDir, 'build', 'net45') - net45_lib_dir = join(self.setts.BuildDir, 'lib', 'net45') - GtkVersion = helpers.get_gtksharp_version(self.setts.SrcDir) - - os.makedirs(self.setts.BuildDir, exist_ok=True) - os.makedirs(net45_build_dir, exist_ok=True) - os.makedirs(net45_lib_dir, exist_ok=True) - - print ('Copying Files') - shutil.copy('./misc/GtkSharp.nuspec', self.setts.BuildDir) - shutil.copy('./misc/GtkSharp.targets', net45_build_dir) - - dll_list = ['atk', 'cairo', 'gdk', 'gio', 'glib', 'gtk', 'pango'] - for item in dll_list: - shutil.copy(join(self.setts.SrcDir, item, item + "-sharp.dll"), net45_lib_dir) - if item != 'cairo': - shutil.copy(join(self.setts.SrcDir, item, item + '-sharp.dll.config'), net45_build_dir) - - # Edit the XML version / package name in the .nuspec file - nuspecfile = join(self.setts.BuildDir, 'GtkSharp.nuspec') - et.register_namespace('', 'http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd') - tree = et.parse(nuspecfile) - xmlns = {'nuspec': '{http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd}'} - tree.find('.//{nuspec}version'.format(**xmlns)).text = GtkVersion - tree.find('.//{nuspec}id'.format(**xmlns)).text = self.setts.Gtksharp_PackageName - tree.write(nuspecfile) - - # Run Nuget - helpers.run_cmd([self.setts.NuGetExe, 'pack', 'GtkSharp.nuspec'], self.setts.BuildDir) - - nugetfile = join(self.setts.BuildDir, self.setts.Gtksharp_PackageName + '.' + GtkVersion + '.nupkg') - os.makedirs(self.setts.NugetPkgs, exist_ok=True) - shutil.copy(nugetfile, self.setts.NugetPkgs) - - print ('Generation of Nuget package complete') diff --git a/NuGet/pybuild/Gtk_Builder.py b/NuGet/pybuild/Gtk_Builder.py deleted file mode 100644 index a549835ba..000000000 --- a/NuGet/pybuild/Gtk_Builder.py +++ /dev/null @@ -1,77 +0,0 @@ -#! python3 -import os, shutil -from pybuild.Settings import Settings -from pybuild.Helper import Helper as helpers -from os.path import join -from xml.etree import ElementTree as et - -# This script assumes the gtk libraries have already been installed via MSYS2 / MinGW32 / MinGW64 - -class Gtk_Builder(object): - - def __init__(self): - """Class Init""" - self.setts = Settings() - - def clean(self): - """Clean the build dir""" - helpers.emptydir('./build') - print ("Clean finished") - - def build_nuget_win32(self): - self.build_nuget('Win32') - - def build_nuget_win64(self): - self.build_nuget('Win64') - - def build_nuget(self, arch): - """Package up a nuget file based on the default build""" - - if os.name != 'nt': - print("Skipping Native Nuget package build, as this needs to be run on Windows") - return - - self.clean() - net45_build_dir = join(self.setts.BuildDir, 'build', 'net45') - if arch == 'Win32': - mingwdir = self.setts.mingwin32path - else: - mingwdir = self.setts.mingwin64path - - os.makedirs(self.setts.BuildDir, exist_ok=True) - os.makedirs(net45_build_dir, exist_ok=True) - - print ('Copying Files') - shutil.copy('./misc/GtkSharp.nuspec', self.setts.BuildDir) - shutil.copy('./misc/GtkSharp.Native.targets', join(net45_build_dir, 'GtkSharp.' + arch + '.targets')) - - # Copy dlls - dll_list = [] - dll_list += self.setts.get_native_win_dlls() - dll_list += self.setts.get_native_win_deps() - - for item in dll_list: - src = join(mingwdir, item) - helpers.copy_files(src, net45_build_dir) - - # Get version - GtkVersion = helpers.get_gtk_version(self.setts.msys2path) - - # Edit the XML version / package name in the .nuspec file - nuspecfile = join(self.setts.BuildDir, 'GtkSharp.nuspec') - et.register_namespace('', 'http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd') - tree = et.parse(nuspecfile) - xmlns = {'nuspec': '{http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd}'} - tree.find('.//{nuspec}version'.format(**xmlns)).text = GtkVersion - tree.find('.//{nuspec}id'.format(**xmlns)).text = self.setts.Gtksharp_PackageName + '.' + arch - tree.write(nuspecfile) - - # Run Nuget - helpers.run_cmd([self.setts.NuGetExe, 'pack', 'GtkSharp.nuspec'], self.setts.BuildDir) - - nugetfile = join(self.setts.BuildDir, self.setts.Gtksharp_PackageName + '.' + arch + '.' + GtkVersion + '.nupkg') - os.makedirs(self.setts.NugetPkgs, exist_ok=True) - shutil.copy(nugetfile, self.setts.NugetPkgs) - - print ('Generation of Nuget package complete') - diff --git a/NuGet/pybuild/Helper.py b/NuGet/pybuild/Helper.py index 32313de64..f54e51e85 100644 --- a/NuGet/pybuild/Helper.py +++ b/NuGet/pybuild/Helper.py @@ -1,4 +1,4 @@ -#! python3 +#!/usr/bin/python3 """Helper Functions""" import os, subprocess, shutil, sys @@ -57,7 +57,7 @@ def get_gtksharp_version(srcdir): break return ret - def get_gtk_version(msyspath): + def get_gtk_version_msys(msyspath): ret = '' pacman_path = join(msyspath, 'usr\\bin\\pacman.exe') # pull version from msys2 / pacman @@ -72,7 +72,3 @@ def get_gtk_version(msyspath): ret = ret[:-2] break return ret - - def copy_files(src_glob, dst_folder): - for fname in iglob(src_glob): - shutil.copy(fname, join(dst_folder, ntpath.basename(fname))) \ No newline at end of file diff --git a/NuGet/pybuild/ProfileBase.py b/NuGet/pybuild/ProfileBase.py new file mode 100644 index 000000000..317f3c062 --- /dev/null +++ b/NuGet/pybuild/ProfileBase.py @@ -0,0 +1,87 @@ +#!/usr/bin/python3 +"""Base class for Settings profiles""" + +import os, shutil +from os.path import abspath, join +from xml.etree import ElementTree as et +from pybuild.Helper import Helper + +class ProfileBase(object): + + def __init__(self): + """Class Init""" + self._NuGetPath = 'nuget.exe' + self._SrcDir = '../' + self._BuildDir = './build' + self._PackageDestination = './nupkg' + self._NuGet_PackageName = '' + self._MsysPath = 'C:\\msys64' + self._LinuxBashPath = '/bin/bash' + self._Version = '0.0.0' + + @property + def NuGetPath(self): + return self._NuGetPath + + @property + def SrcDir(self): + return abspath(self._SrcDir) + + @property + def BuildDir(self): + return abspath(self._BuildDir) + + @property + def Build_NugetDir(self): + return abspath(join(self._BuildDir, 'nuget')) + + @property + def PackageDestination(self): + return abspath(self._PackageDestination) + + @property + def NuGet_PackageName(self): + return self._NuGet_PackageName + + @property + def MsysPath(self): + return abspath(self._MsysPath) + + @property + def LinuxBashPath(self): + return abspath(self._LinuxBashPath) + + @property + def Version(self): + return self._Version + + + def clean(self): + """Clean the build dir""" + Helper.emptydir('./build') + print ("Clean finished") + + + def build_nuget(self): + """Package up a nuget file based on the default build""" + + # Copy Nuget Spec file + shutil.copy('./misc/GtkSharp.nuspec', self.Build_NugetDir) + + # Edit the XML version / package name in the .nuspec file + nuspecfile = join(self.Build_NugetDir, 'GtkSharp.nuspec') + et.register_namespace('', 'http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd') + tree = et.parse(nuspecfile) + xmlns = {'nuspec': '{http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd}'} + tree.find('.//{nuspec}version'.format(**xmlns)).text = self.Version + tree.find('.//{nuspec}id'.format(**xmlns)).text = self.NuGet_PackageName + tree.write(nuspecfile) + + # Run Nuget + Helper.run_cmd([self.NuGetPath, 'pack', 'GtkSharp.nuspec'], self.Build_NugetDir) + + # Copy Nuget files out of build directory + nugetfile = join(self.Build_NugetDir, self.NuGet_PackageName + '.' + self.Version + '.nupkg') + os.makedirs(self.PackageDestination, exist_ok=True) + shutil.copy(nugetfile, self.PackageDestination) + print ('Generation of Nuget package complete - ' + self.NuGet_PackageName) diff --git a/NuGet/pybuild/Settings.py b/NuGet/pybuild/Settings.py deleted file mode 100644 index 79a7d1860..000000000 --- a/NuGet/pybuild/Settings.py +++ /dev/null @@ -1,80 +0,0 @@ -#! python3 -"""Settings for scripts""" - -import os - -class Settings(object): - - def __init__(self): - """Class Init""" - - self.NuGetExe = 'nuget.exe' - self.Gtksharp_PackageName = 'GBD.GtkSharp' - - self.SrcDir = '../' - self.BuildDir = './build' - self.NugetPkgs = './nupkg' - self.SrcDir = os.path.abspath(self.SrcDir) - self.BuildDir = os.path.abspath(self.BuildDir) - self.NugetPkgs = os.path.abspath(self.NugetPkgs) - - self.msys2path = 'C:\\msys64' - self.msys2path = os.path.abspath(self.msys2path) - self.bashpath = '/bin/bash' - - self.mingwin32path = 'C:\\msys64\\mingw32\\bin' - self.mingwin32path = os.path.abspath(self.mingwin32path) - self.mingwin64path = 'C:\\msys64\\mingw64\\bin' - self.mingwin64path = os.path.abspath(self.mingwin64path) - - def get_native_win_dlls(self): - ret = [] - - # Gtk - ret.append('libgtk-3-0.dll') - ret.append('libgdk-3-0.dll') - - # atk - ret.append('libatk-1.0-0.dll') - - # cairo - ret.append('libcairo-2.dll') - ret.append('libcairo-gobject-2.dll') - - # gdk-pixbuf - ret.append('libgdk_pixbuf-2.0-0.dll') - - # glib2 - ret.append('libgio-2.0-0.dll') - ret.append('libglib-2.0-0.dll') - ret.append('libgmodule-2.0-0.dll') - ret.append('libgobject-2.0-0.dll') - - # pango - ret.append('libpango-1.0-0.dll') - ret.append('libpangocairo-1.0-0.dll') - ret.append('libpangoft2-1.0-0.dll') - ret.append('libpangowin32-1.0-0.dll') - return ret - - def get_native_win_deps(self): - ret = [] - # Determined by using PE Explorer - ret.append('libgcc_*.dll') - ret.append('libepoxy-0.dll') - ret.append('libintl-8.dll') - ret.append('libwinpthread-1.dll') - ret.append('libiconv-2.dll') - ret.append('libfontconfig-1.dll') - ret.append('libexpat-1.dll') - ret.append('libfreetype-6.dll') - ret.append('libpixman-1-0.dll') - ret.append('libpng16-16.dll') - ret.append('zlib1.dll') - ret.append('libpcre-1.dll') - ret.append('libffi-6.dll') - ret.append('libharfbuzz-0.dll') - ret.append('libgraphite2.dll') - ret.append('libstdc++-6.dll') - ret.append('libbz2-1.dll') - return ret \ No newline at end of file diff --git a/NuGet/pybuild/profiles/Glue_Win32.py b/NuGet/pybuild/profiles/Glue_Win32.py new file mode 100644 index 000000000..0904563d9 --- /dev/null +++ b/NuGet/pybuild/profiles/Glue_Win32.py @@ -0,0 +1,51 @@ +#!/usr/bin/python3 + +import os, shutil, ntpath +from pybuild.ProfileBase import ProfileBase +from os.path import abspath, join +from glob import glob +from pybuild.Helper import Helper +from pybuild.profiles.GtkSharp import GtkSharp + +class Glue_Win32(ProfileBase): + + def __init__(self): + """Class Init""" + super().__init__() + self._NuGet_PackageName = 'GtkSharp.Win32.Glue' + self._Version = Helper.get_gtksharp_version(self.SrcDir) + self.MSYSTEM = 'MINGW32' + + def Get_Dlls_GtkSharp_Glue(self): + ret = [] + + # Gtksharp Glue libs + ret.append(['atk/glue/.libs/*atksharpglue-3.dll', 'atksharpglue-3.dl_']) + ret.append(['pango/glue/.libs/*pangosharpglue-3.dll', 'pangosharpglue-3.dl_']) + ret.append(['gio/glue/.libs/*giosharpglue-3.dll', 'giosharpglue-3.dl_']) + ret.append(['gtk/glue/.libs/*gtksharpglue-3.dll', 'gtksharpglue-3.dl_']) + return ret + + def build(self): + """Package up a nuget file based on the default build""" + + if os.name != 'nt': + print("Skipping Native Nuget package build, as this needs to be run on Windows") + return + + # Trigger build of gtksharp with specific bash for Mingw32 + builder = GtkSharp() + builder.MSYSTEM = self.MSYSTEM + builder.build_net45() + + net45_build_dir = join(self.Build_NugetDir, 'build', 'net45') + os.makedirs(net45_build_dir, exist_ok=True) + + print ('Copying Files') + dll_list = self.Get_Dlls_GtkSharp_Glue() + + for item in dll_list: + src = glob(abspath(join(self.SrcDir, item[0])))[0] + f_basename, f_extension = os.path.splitext(ntpath.basename(src)) + dest = join(net45_build_dir, item[1]) + shutil.copy(src, dest) diff --git a/NuGet/pybuild/profiles/Glue_Win64.py b/NuGet/pybuild/profiles/Glue_Win64.py new file mode 100644 index 000000000..74938ac9f --- /dev/null +++ b/NuGet/pybuild/profiles/Glue_Win64.py @@ -0,0 +1,14 @@ +#!/usr/bin/python3 + +from pybuild.ProfileBase import ProfileBase +from pybuild.Helper import Helper +from pybuild.profiles.Glue_Win32 import Glue_Win32 + +class Glue_Win64(Glue_Win32): + + def __init__(self): + """Class Init""" + super().__init__() + self._NuGet_PackageName = 'GtkSharp.Win64.Glue' + self._Version = Helper.get_gtksharp_version(self.SrcDir) + self.MSYSTEM = 'MINGW64' diff --git a/NuGet/pybuild/profiles/GtkSharp.py b/NuGet/pybuild/profiles/GtkSharp.py new file mode 100644 index 000000000..b285658c0 --- /dev/null +++ b/NuGet/pybuild/profiles/GtkSharp.py @@ -0,0 +1,73 @@ +#!/usr/bin/python3 +import os, shutil +from pybuild.ProfileBase import ProfileBase +from os.path import abspath, join +from pybuild.Helper import Helper + +# TODO Add .Net Core generation + +class GtkSharp(ProfileBase): + + def __init__(self): + """Class Init""" + super().__init__() + self._NuGet_PackageName = 'GtkSharp' + self._Version = Helper.get_gtksharp_version(self.SrcDir) + self.MSYSTEM = 'MINGW64' + + @property + def Build_ScriptDir(self): + return abspath(join(self._BuildDir, 'scripts')) + + def build_net45(self): + """Build the gtksharp binaries for .Net 4.5""" + os.makedirs(self.Build_ScriptDir, exist_ok=True) + buildfile = join(self.Build_ScriptDir, 'net45_build.sh') + buildbatch = join(self.Build_ScriptDir, 'net45_build.bat') + + # run script via MSYS for windows, or shell for linux + if os.name == 'nt': + print("Building .Net GtkSharp using MSYS2") + with open(buildfile, 'w') as f: + f.write('PATH=$PATH:/c/Program\ Files\ \(x86\)/Microsoft\ SDKs/Windows/v10.0A/bin/NETFX\ 4.6\ Tools/\n') + f.write('PATH=$PATH:/c/Windows/Microsoft.NET/Framework/v4.0.30319/\n') + f.write('cd ' + Helper.winpath_to_msyspath(self.SrcDir + '\n')) + f.write('./autogen.sh --prefix=/tmp/install\n') + f.write('make clean\n') + f.write('make\n') + + bashexe = join(self.MsysPath, 'usr\\bin\\bash.exe') + + with open(buildbatch, 'w') as f: + f.write('set MSYSTEM=' + self.MSYSTEM + '\n') + f.write(bashexe + ' --login ' + buildfile) + + cmds = ['C:\Windows\System32\cmd.exe', '/C', buildbatch] + cmd = Helper.run_cmd(cmds, self.SrcDir) + + else: + print("Building using Linux shell") + with open(buildfile, 'w') as f: + f.write('cd ' + self.SrcDir + '\n') + f.write('./autogen.sh --prefix=/tmp/install\n') + f.write('make clean\n') + f.write('make\n') + cmds = [self.LinuxBashPath, buildfile] + cmd = Helper.run_cmd(cmds, self.SrcDir) + + + def copy_net45(self): + """Copy the .Net 4.5 dll's to the build dir""" + + net45_build_dir = join(self.Build_NugetDir, 'build', 'net45') + net45_lib_dir = join(self.Build_NugetDir, 'lib', 'net45') + + os.makedirs(net45_build_dir, exist_ok=True) + os.makedirs(net45_lib_dir, exist_ok=True) + shutil.copy('./misc/GtkSharp.targets', net45_build_dir) + + dll_list = ['atk', 'cairo', 'gdk', 'gio', 'glib', 'gtk', 'pango'] + for item in dll_list: + shutil.copy(join(self.SrcDir, item, item + "-sharp.dll"), net45_lib_dir) + if item != 'cairo': + shutil.copy(join(self.SrcDir, item, item + '-sharp.dll.config'), net45_build_dir) diff --git a/NuGet/pybuild/profiles/Gtk_Win32.py b/NuGet/pybuild/profiles/Gtk_Win32.py new file mode 100644 index 000000000..0c4fb1fad --- /dev/null +++ b/NuGet/pybuild/profiles/Gtk_Win32.py @@ -0,0 +1,102 @@ +#!/usr/bin/python3 +"""Build of GTK3 into a NuGet package - Windows 32bit""" + +import os, shutil, ntpath +from pybuild.ProfileBase import ProfileBase +from os.path import abspath, join +from glob import iglob +from pybuild.Helper import Helper + +class Gtk_Win32(ProfileBase): + + def __init__(self): + """Class Init""" + super().__init__() + self._NuGet_PackageName = 'GtkSharp.Win32' + self._MingwBinPath = join(self.MsysPath + '\\mingw32\\bin') + self.arch = 'Win32' + self._Version = Helper.get_gtk_version_msys(self.MsysPath) + + @property + def MingwBinPath(self): + return abspath(self._MingwBinPath) + + + def Get_Dlls_Native_GTK(self): + ret = [] + + # Gtk + ret.append('libgtk-3-0.dll') + ret.append('libgdk-3-0.dll') + + # atk + ret.append('libatk-1.0-0.dll') + + # cairo + ret.append('libcairo-2.dll') + ret.append('libcairo-gobject-2.dll') + + # gdk-pixbuf + ret.append('libgdk_pixbuf-2.0-0.dll') + + # glib2 + ret.append('libgio-2.0-0.dll') + ret.append('libglib-2.0-0.dll') + ret.append('libgmodule-2.0-0.dll') + ret.append('libgobject-2.0-0.dll') + + # pango + ret.append('libpango-1.0-0.dll') + ret.append('libpangocairo-1.0-0.dll') + ret.append('libpangoft2-1.0-0.dll') + ret.append('libpangowin32-1.0-0.dll') + return ret + + def Get_Dlls_Native_GTK_Deps(self): + ret = [] + # Determined by using PE Explorer + ret.append('libgcc_*.dll') + ret.append('libepoxy-0.dll') + ret.append('libintl-8.dll') + ret.append('libwinpthread-1.dll') + ret.append('libiconv-2.dll') + ret.append('libfontconfig-1.dll') + ret.append('libexpat-1.dll') + ret.append('libfreetype-6.dll') + ret.append('libpixman-1-0.dll') + ret.append('libpng16-16.dll') + ret.append('zlib1.dll') + ret.append('libpcre-1.dll') + ret.append('libffi-6.dll') + ret.append('libharfbuzz-0.dll') + ret.append('libgraphite2.dll') + ret.append('libstdc++-6.dll') + ret.append('libbz2-1.dll') + return ret + + + def build(self): + """Package up a nuget file based on the default build""" + + if os.name != 'nt': + print("Skipping Native Nuget package build, as this needs to be run on Windows") + return + + net45_build_dir = join(self.Build_NugetDir, 'build', 'net45') + os.makedirs(net45_build_dir, exist_ok=True) + + print ('Copying Files') + shutil.copy('./misc/GtkSharp.Native.targets', join(net45_build_dir, 'GtkSharp.' + self.arch + '.targets')) + + # Copy dlls + dll_list = [] + dll_list += self.Get_Dlls_Native_GTK() + dll_list += self.Get_Dlls_Native_GTK_Deps() + + for item in dll_list: + src = join(self.MingwBinPath, item) + + srclist = iglob(src) + for fname in srclist: + f_basename, f_extension = os.path.splitext(ntpath.basename(fname)) + shutil.copy(fname, join(net45_build_dir, f_basename + '.dl_')) diff --git a/NuGet/pybuild/profiles/Gtk_Win64.py b/NuGet/pybuild/profiles/Gtk_Win64.py new file mode 100644 index 000000000..998fc8252 --- /dev/null +++ b/NuGet/pybuild/profiles/Gtk_Win64.py @@ -0,0 +1,18 @@ +#!/usr/bin/python3 +"""Build of GTK3 into a NuGet package - Windows 64bit""" + +import os, shutil +from pybuild.ProfileBase import ProfileBase +from os.path import abspath, join +from pybuild.Helper import Helper +from pybuild.profiles.Gtk_Win32 import Gtk_Win32 + +class Gtk_Win64(Gtk_Win32): + + def __init__(self): + """Class Init""" + super().__init__() + self._NuGet_PackageName = 'GtkSharp.Win64' + self._MingwBinPath = join(self.MsysPath + '\\mingw64\\bin') + self.arch = 'Win64' + self._Version = Helper.get_gtk_version_msys(self.MsysPath) diff --git a/NuGet/pybuild/profiles/__init__.py b/NuGet/pybuild/profiles/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/NuGet/vs/GtkSharp-NugetBuild/GtkSharp-NugetBuild.pyproj b/NuGet/vs/GtkSharp-NugetBuild/GtkSharp-NugetBuild.pyproj index 262f9bcbe..1e2f66dec 100644 --- a/NuGet/vs/GtkSharp-NugetBuild/GtkSharp-NugetBuild.pyproj +++ b/NuGet/vs/GtkSharp-NugetBuild/GtkSharp-NugetBuild.pyproj @@ -38,17 +38,29 @@ build.py - - pybuild\GtkSharp_Builder.py - - - pybuild\Gtk_Builder.py - pybuild\Helper.py - - pybuild\Settings.py + + pybuild\ProfileBase.py + + + pybuild\profiles\Glue_Win32.py + + + pybuild\profiles\Glue_Win64.py + + + pybuild\profiles\GtkSharp.py + + + pybuild\profiles\Gtk_Win32.py + + + pybuild\profiles\Gtk_Win64.py + + + pybuild\profiles\__init__.py pybuild\__init__.py @@ -56,6 +68,7 @@ + From 9c00e256176eef564c9df3405364cd6b94d07d50 Mon Sep 17 00:00:00 2001 From: grbd Date: Mon, 17 Oct 2016 20:09:26 +0100 Subject: [PATCH 51/66] Added some code for trying out the build of Gtksharp using dotnet cli from .Net core --- NuGet/Readme.md | 4 +- NuGet/build.py | 24 ++- NuGet/pybuild/profiles/Glue_Win32.py | 2 +- NuGet/pybuild/profiles/GtkSharp.py | 6 +- NuGet/pybuild/profiles/GtkSharp_Core.py | 155 ++++++++++++++++++ NuGet/pybuild/vsgenext/CoreVSProject.py | 144 ++++++++++++++++ NuGet/pybuild/vsgenext/__init__.py | 0 .../GtkSharp-NugetBuild.pyproj | 12 +- 8 files changed, 331 insertions(+), 16 deletions(-) create mode 100644 NuGet/pybuild/profiles/GtkSharp_Core.py create mode 100644 NuGet/pybuild/vsgenext/CoreVSProject.py create mode 100644 NuGet/pybuild/vsgenext/__init__.py diff --git a/NuGet/Readme.md b/NuGet/Readme.md index a9764bdb9..3c34a23c0 100644 --- a/NuGet/Readme.md +++ b/NuGet/Readme.md @@ -25,7 +25,7 @@ pacman -S mingw-w64-x86_64-pango mingw-w64-x86_64-atk mingw-w64-x86_64-gtk3 And installed the executor python module ``` -C:\Python35\Scripts\pip.exe install executor +C:\Python35\Scripts\pip.exe install executor yattag vsgen ``` ### Running Build @@ -48,7 +48,7 @@ sudo apt-get install libglib2.0-dev libpango1.0-dev libatk1.0-dev libgtk-3-dev Then install the executor python module ``` -pip3 install executor +pip3 install executor yattag vsgen ``` The version of Nuget needs to be the latest for linux diff --git a/NuGet/build.py b/NuGet/build.py index 0fb9491b4..3ba9363bb 100644 --- a/NuGet/build.py +++ b/NuGet/build.py @@ -2,12 +2,14 @@ """Script to build out the .Net dll's and package them into a Nuget Package for gtksharp3""" import os, sys from pybuild.profiles.GtkSharp import GtkSharp +from pybuild.profiles.GtkSharp_Core import GtkSharp_Core from pybuild.profiles.Glue_Win32 import Glue_Win32 from pybuild.profiles.Glue_Win64 import Glue_Win64 from pybuild.profiles.Gtk_Win32 import Gtk_Win32 from pybuild.profiles.Gtk_Win64 import Gtk_Win64 -# Ideally I'd like to see the GtkSharp Build system redone via .Net Core or something other than make +# Ideally I'd like to see the GtkSharp Build system redone via the build system of .Net core (dotnet cli tool) +# and using Scons / Cuppa for the glue libraries # For now though we rely on the use of make to build the .Net dll's # under linux we run this natively, under windows we can use MSYS2 @@ -24,9 +26,8 @@ def usage(self): print ("Please use GtkSharp3_Build.py where is one of") print (" clean to clean the output directory: ./build") -# print (" gtksharp_all to build .Net libs for GtkSharp, via .Net 4.5 and .Net Core") - print (" gtksharp_net45 to build .Net libs for GtkSharp, via .Net 4.5") -# print (" gtksharp_core to build .Net libs for GtkSharp, via .Net Core") + print (" gtksharp to build .Net libs for GtkSharp, via .Net 4.5") + print (" gtksharp_core to build .Net libs for GtkSharp, via .Net 4.5 using the dotnet cli tool") print (" gtk_win32 to build the Nuget package for GtkSharp.Win32") print (" gtk_win64 to build the Nuget package for GtkSharp.Win64") @@ -38,7 +39,7 @@ def main(self): return if sys.argv[1] == 'all': - self.runbuild('gtksharp_net45') + self.runbuild('gtksharp') self.runbuild('gtk_win32') self.runbuild('gtk_win64') return @@ -51,11 +52,18 @@ def runbuild(self, build_type): if build_type == 'clean': self.clean() - elif build_type == 'gtksharp_net45': + elif build_type == 'gtksharp': profile = GtkSharp() profile.clean() - profile.build_net45() - profile.copy_net45() + profile.build() + profile.copy() + profile.build_nuget() + + elif build_type == 'gtksharp_core': + profile = GtkSharp_Core() + profile.clean() + profile.build() + profile.copy_dll() profile.build_nuget() elif build_type == 'gtk_win32': diff --git a/NuGet/pybuild/profiles/Glue_Win32.py b/NuGet/pybuild/profiles/Glue_Win32.py index 0904563d9..5fa72f141 100644 --- a/NuGet/pybuild/profiles/Glue_Win32.py +++ b/NuGet/pybuild/profiles/Glue_Win32.py @@ -36,7 +36,7 @@ def build(self): # Trigger build of gtksharp with specific bash for Mingw32 builder = GtkSharp() builder.MSYSTEM = self.MSYSTEM - builder.build_net45() + builder.build() net45_build_dir = join(self.Build_NugetDir, 'build', 'net45') os.makedirs(net45_build_dir, exist_ok=True) diff --git a/NuGet/pybuild/profiles/GtkSharp.py b/NuGet/pybuild/profiles/GtkSharp.py index b285658c0..f1a193e75 100644 --- a/NuGet/pybuild/profiles/GtkSharp.py +++ b/NuGet/pybuild/profiles/GtkSharp.py @@ -4,8 +4,6 @@ from os.path import abspath, join from pybuild.Helper import Helper -# TODO Add .Net Core generation - class GtkSharp(ProfileBase): def __init__(self): @@ -19,7 +17,7 @@ def __init__(self): def Build_ScriptDir(self): return abspath(join(self._BuildDir, 'scripts')) - def build_net45(self): + def build(self): """Build the gtksharp binaries for .Net 4.5""" os.makedirs(self.Build_ScriptDir, exist_ok=True) buildfile = join(self.Build_ScriptDir, 'net45_build.sh') @@ -56,7 +54,7 @@ def build_net45(self): cmd = Helper.run_cmd(cmds, self.SrcDir) - def copy_net45(self): + def copy(self): """Copy the .Net 4.5 dll's to the build dir""" net45_build_dir = join(self.Build_NugetDir, 'build', 'net45') diff --git a/NuGet/pybuild/profiles/GtkSharp_Core.py b/NuGet/pybuild/profiles/GtkSharp_Core.py new file mode 100644 index 000000000..078f376e1 --- /dev/null +++ b/NuGet/pybuild/profiles/GtkSharp_Core.py @@ -0,0 +1,155 @@ +#!/usr/bin/python3 +import os, shutil +from pybuild.ProfileBase import ProfileBase +from pybuild.vsgenext.CoreVSProject import CoreVSProject +from os.path import abspath, join +from pybuild.Helper import Helper +from glob import glob +import vsgen + +# Note at this stage we can't complile GtkSharp using the .Net Core platform libraries, such as netstandard1.6 +# https://docs.microsoft.com/en-us/dotnet/articles/standard/library +# This is due to some small api changes in the platform that the Gtksharp code would need to be adjusted to + +# We can however use the newer dotnet build system specifying the net461 platform +# This is the same set of platform libs under the surface (using mono) but a step in the right direction +# with modernising the build system. One advantage to this newer build system is that we don't need to list all the .cs files +# Within the project files (see generated .xproj file and project.json) + +# TODO look into package for symbols, via NuGet -symbols + +class GtkSharp_Core(ProfileBase): + + def __init__(self): + """Class Init""" + super().__init__() + self._NuGet_PackageName = 'GtkSharp.Core' + self._Version = Helper.get_gtksharp_version(self.SrcDir) + self.Solution = None + self.BuildConfig = 'Release' + + @property + def Build_CoreDir(self): + return abspath(join(self._BuildDir, 'core')) + + @property + def Dotnet_BuildExe(self): + return 'dotnet.exe' + + + def Copy_CS_Files(self, csfiles): + srclist = glob(join(self.SrcDir, csfiles[0])) + destdir = join(self.Build_CoreDir, csfiles[1]) + os.makedirs(destdir, exist_ok=True) + for fname in srclist: + shutil.copy(fname, destdir) + + def SetupProject(self, projname): + proj = CoreVSProject() + proj.Name = projname + proj.RootNamespace=projname + proj.FileName = join(self.Build_CoreDir, projname, projname + '.xproj') + proj.Frameworks = {'net461': {}} + proj.Depends = {} + proj.BuildOptions = { "allowUnsafe": True , "outputName": projname + "-sharp"} + proj.Version = self._Version + self.Solution.Projects.append(proj) + self.Solution.write() + return proj + + def Build_Project(self, proj): + projdir = join(self.Build_CoreDir, proj.Name) + Helper.run_cmd([self.Dotnet_BuildExe, 'restore'], projdir) + Helper.run_cmd([self.Dotnet_BuildExe, 'build', + '--configuration', self.BuildConfig, + '--framework', 'net461', + '--output', join(self.Build_CoreDir, 'build')] + , projdir) + + + def build(self): + """Build the gtksharp binaries for .Net 4.5""" + os.makedirs(self.Build_CoreDir, exist_ok=True) + self.Solution = vsgen.solution.VSGSolution() + self.Solution.FileName = join(self.Build_CoreDir, 'GtkSharp.sln') + + # Build Glib + self.Copy_CS_Files(['glib/*.cs', 'glib/']) + proj = self.SetupProject('glib') + proj.write() + self.Build_Project(proj) + + # Build Gio + self.Copy_CS_Files(['gio/*.cs', 'gio/']) + self.Copy_CS_Files(['gio/generated/GLib/*.cs', 'gio/generated/GLib/']) + proj = self.SetupProject('gio') + proj.Depends = {'glib': self._Version} + proj.write() + self.Build_Project(proj) + + # Build Cairo + self.Copy_CS_Files(['cairo/*.cs', 'cairo/']) + proj = self.SetupProject('cairo') + proj.write() + self.Build_Project(proj) + + # Build Pango + self.Copy_CS_Files(['pango/*.cs', 'pango/']) + self.Copy_CS_Files(['pango/generated/Pango/*.cs', 'pango/generated/Pango/']) + proj = self.SetupProject('pango') + proj.Depends = {'glib': self._Version, + 'cairo': self._Version} + proj.write() + self.Build_Project(proj) + + # Build Atk + self.Copy_CS_Files(['atk/*.cs', 'atk/']) + self.Copy_CS_Files(['atk/generated/Atk/*.cs', 'atk/generated/Atk/']) + proj = self.SetupProject('atk') + proj.Depends = {'glib': self._Version} + proj.write() + self.Build_Project(proj) + + # Build Gdk + self.Copy_CS_Files(['gdk/*.cs', 'gdk/']) + self.Copy_CS_Files(['gdk/generated/Gdk/*.cs', 'gdk/generated/Gdk/']) + self.Copy_CS_Files(['gdk/generated/GLib/*.cs', 'gdk/generated/GLib/']) + proj = self.SetupProject('gdk') + proj.Depends = {'atk': self._Version, + 'cairo': self._Version, + 'gio': self._Version, + 'glib': self._Version, + 'pango': self._Version} + proj.write() + self.Build_Project(proj) + + # Build Gtk + self.Copy_CS_Files(['gtk/*.cs', 'gtk/']) + self.Copy_CS_Files(['gtk/generated/GLib/*.cs', 'gtk/generated/GLib/']) + self.Copy_CS_Files(['gtk/generated/Gtk/*.cs', 'gtk/generated/Gtk/']) + proj = self.SetupProject('gtk') + proj.Depends = {'gdk': self._Version, + 'glib': self._Version} + proj.write() + self.Build_Project(proj) + + + def copy_dll(self): + """Copy the .Net 4.5 dll's to the build dir""" + + net45_build_dir = join(self.Build_NugetDir, 'build', 'net45') + net45_lib_dir = join(self.Build_NugetDir, 'lib', 'net45') + + os.makedirs(net45_build_dir, exist_ok=True) + os.makedirs(net45_lib_dir, exist_ok=True) + shutil.copy('./misc/GtkSharp.targets', net45_build_dir) + + srclist = glob(join(self.Build_CoreDir, 'build', '*.dll')) + for item in srclist: + shutil.copy(item, net45_lib_dir) + + # Get the Config files + dll_list = ['atk', 'cairo', 'gdk', 'gio', 'glib', 'gtk', 'pango'] + for item in dll_list: + if item != 'cairo': + shutil.copy(join(self.SrcDir, item, item + '-sharp.dll.config'), net45_build_dir) \ No newline at end of file diff --git a/NuGet/pybuild/vsgenext/CoreVSProject.py b/NuGet/pybuild/vsgenext/CoreVSProject.py new file mode 100644 index 000000000..520c0f763 --- /dev/null +++ b/NuGet/pybuild/vsgenext/CoreVSProject.py @@ -0,0 +1,144 @@ +#!/usr/bin/python3 + +import os, json +from vsgen.project import VSGProject +from xml.etree import ElementTree as et +from yattag import indent +from os.path import abspath, join +from collections import OrderedDict + +class CoreVSProject(VSGProject): + """ + CoreVSProject extends :class:`~vsgen.project.VSGProject` with data and logic needed to create a `.xproj` file. + :ivar str TargetFrameworkVersion: The target framework version. + :ivar str BaseIntermediateOutputPath: Intermediate path for building the output. + :ivar str ProjectXml: Override the xml within the .xproj file. + :ivar str ProjectJson: Override the json within the project.lock file. + """ + __project_type__ = 'netcore' + + __writable_name__ = "Visual Studio .Net Core Project" + + __registerable_name__ = "Visual Studio C# Compiler" + + def __init__(self, **kwargs): + """ + Constructor. + :param kwargs: List of arbitrary keyworded arguments to be processed as instance variable data + """ + super(CoreVSProject, self).__init__(**kwargs) + + def _import(self, datadict): + """ + Internal method to import instance variables data from a dictionary + :param dict datadict: The dictionary containing variables values. + """ + super(CoreVSProject, self)._import(datadict) + self.TargetFrameworkVersion = datadict.get('TargetFrameworkVersion', 'v4.6.1') + self.BaseIntermediateOutputPath = datadict.get('BaseIntermediateOutputPath', '.\obj') + self.ProjectXml = datadict.get('ProjectXml', None) + self.ProjectJson = datadict.get('ProjectJson', None) + self.Version = datadict.get('Version', '1.0.0-*') + self.Depends = datadict.get('Depends', {'NETStandard.Library': '1.6.0'}) + self.Frameworks = datadict.get('Frameworks', None) + self.BuildOptions = datadict.get('BuildOptions', None) + + def get_project_json(self): + """ + Get the json for use in Project.lock + """ + + data = OrderedDict() + ver = {'version': self.Version} + data.update(ver) + + depends = self.Depends + depends2 = {'dependencies': depends} + data.update(depends2) + + if self.Frameworks != None: + frameworks = {'frameworks': self.Frameworks} + else: + frameworks = {'frameworks': {'netstandard1.6': {'imports': 'dnxcore50'}}} + data.update(frameworks) + + if self.BuildOptions != None: + buildopts = {'buildOptions': self.BuildOptions} + data.update(buildopts) + + return data + + def get_project_xml(self): + """ + Get the xml for use in the xproj file + """ + + xml_projroot = et.Element('Project') + xml_projroot.set('ToolsVersion', '14.0') + xml_projroot.set('DefaultTargets', 'Build') + xml_projroot.set('xmlns', 'http://schemas.microsoft.com/developer/msbuild/2003') + + propgroup1 = et.SubElement(xml_projroot, 'PropertyGroup') + studiover = et.SubElement(propgroup1, 'VisualStudioVersion') + studiover.set('Condition', "'$(VisualStudioVersion)' == ''") + studiover.text = '14.0' + vstoolspath = et.SubElement(propgroup1, 'VSToolsPath') + vstoolspath.set('Condition', "'$(VSToolsPath)' == ''") + vstoolspath.text = r"$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)" + + import1 = et.SubElement(xml_projroot, 'Import') + import1.set('Project', '$(VSToolsPath)\DotNet\Microsoft.DotNet.Props') + import1.set('Condition', "'$(VSToolsPath)' != ''") + + propgroup2 = et.SubElement(xml_projroot, 'PropertyGroup') + propgroup2.set('Label', 'Globals') + projguid = et.SubElement(propgroup2, 'ProjectGuid') + projguid.text = self.lower(self.GUID) + rootnamespace = et.SubElement(propgroup2, 'RootNamespace') + rootnamespace.text = self.RootNamespace + baseintermediateoutputpath = et.SubElement(propgroup2, 'BaseIntermediateOutputPath') + baseintermediateoutputpath.set('Condition', "'$(BaseIntermediateOutputPath)'=='' ") + baseintermediateoutputpath.text = self.BaseIntermediateOutputPath + targetframeworkversion = et.SubElement(propgroup2, 'TargetFrameworkVersion') + targetframeworkversion.text = self.TargetFrameworkVersion + + propgroup3 = et.SubElement(xml_projroot, 'PropertyGroup') + schemaver = et.SubElement(propgroup3, 'SchemaVersion') + schemaver.text = '2.0' + + import2 = et.SubElement(xml_projroot, 'Import') + import2.set('Project', '$(VSToolsPath)\DotNet\Microsoft.DotNet.targets') + import2.set('Condition', "'$(VSToolsPath)' != ''") + + etstr = et.tostring(xml_projroot, encoding='utf-8', method='xml').decode('utf-8') + outtxt = indent(etstr) + return outtxt + + + def write(self): + """ + Creates the project files. + """ + npath = os.path.normpath(self.FileName) + (filepath, filename) = os.path.split(npath) + os.makedirs(filepath, exist_ok=True) + + projectFileName = os.path.normpath(self.FileName) + projxml = '' + if self.ProjectXml == None: + projxml = self.get_project_xml() + else: + projxml = self.ProjectXml + with open(projectFileName, 'wt') as f: + f.write(projxml) + + jsonFileName = join(filepath, 'project.json') + + if self.ProjectJson == None: + projjson = self.get_project_json() + else: + projjson = self.ProjectJson + + with open(jsonFileName, 'w') as f: + txt = json.dumps(projjson, indent=2, separators=(',', ': ')) + f.write(txt) diff --git a/NuGet/pybuild/vsgenext/__init__.py b/NuGet/pybuild/vsgenext/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/NuGet/vs/GtkSharp-NugetBuild/GtkSharp-NugetBuild.pyproj b/NuGet/vs/GtkSharp-NugetBuild/GtkSharp-NugetBuild.pyproj index 1e2f66dec..6a9c1dcc7 100644 --- a/NuGet/vs/GtkSharp-NugetBuild/GtkSharp-NugetBuild.pyproj +++ b/NuGet/vs/GtkSharp-NugetBuild/GtkSharp-NugetBuild.pyproj @@ -7,7 +7,7 @@ ..\..\build.py - ..\..\;..\..\pybuild\ + ..\..\;..\..\pybuild\;..\..\pybuild\vsgen\ ..\..\ . GtkSharp-NugetBuild @@ -53,6 +53,9 @@ pybuild\profiles\GtkSharp.py + + pybuild\profiles\GtkSharp_Core.py + pybuild\profiles\Gtk_Win32.py @@ -62,12 +65,19 @@ pybuild\profiles\__init__.py + + pybuild\vsgenext\CoreVSProject.py + + + pybuild\vsgenext\__init__.py + pybuild\__init__.py + From 43c86d7fe6c17f127af0c8efb9b538187d1003d6 Mon Sep 17 00:00:00 2001 From: grbd Date: Mon, 17 Oct 2016 20:20:23 +0100 Subject: [PATCH 52/66] updated patches for 3.22 --- configure.ac | 2 +- sources/Generating-Sources.md | 112 ++++++++++++++++++ sources/Makefile.am | 19 ++- .../gtk_tree_model_signal_fix.patch | 19 +-- .../gtktextattributes-gi-scanner.patch | 0 .../gwin32registrykey-little-endian.patch | 0 sources/sources.xml | 16 +-- 7 files changed, 140 insertions(+), 28 deletions(-) create mode 100644 sources/Generating-Sources.md rename sources/{ => patches}/gtk_tree_model_signal_fix.patch (80%) rename sources/{ => patches}/gtktextattributes-gi-scanner.patch (100%) rename sources/{ => patches}/gwin32registrykey-little-endian.patch (100%) diff --git a/configure.ac b/configure.ac index d3c93f5f3..389304ee0 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ -AC_INIT(gtk-sharp, 3.20.6) +AC_INIT(gtk-sharp, 3.22.1) AM_INIT_AUTOMAKE([1.10 no-dist-gzip dist-bzip2 tar-ustar foreign]) AC_CANONICAL_HOST diff --git a/sources/Generating-Sources.md b/sources/Generating-Sources.md new file mode 100644 index 000000000..708a1972d --- /dev/null +++ b/sources/Generating-Sources.md @@ -0,0 +1,112 @@ +# Generating Sources + +## Overview + +This is a quick overview of some of the commands to run when updating the sources for a new gtk version + +### Linux + +You may need to install the following package for generating the source under Linux +``` +sudo apt-get install libxml-libxml-perl +``` + +### Windows + +So far I've only managed to get this working in ubuntu, not Windows due to the way the .net app launches the perl script via libc +i.e. [DllImport ("libc")] + +It looks like we need to use the 32bit version of MinGW if we do try it this way. +The following path statements are needed in the console at the very least +``` +PATH=$PATH:/c/Program\ Files\ \(x86\)/Microsoft\ SDKs/Windows/v10.0A/bin/NETFX\ 4.6\ Tools/ +PATH=$PATH:/c/Windows/Microsoft.NET/Framework/v4.0.30319/ +``` + +Also the parser can be rebuilt via +``` +./autogen.sh --prefix=/tmp/install +cd parser +make clean +make +``` + +Also it's important to make sure MSYS2 is uptodate with +``` +pacman -Syuu +``` + +To search for a package that's been install (to see what version it is for example) +``` +pacman -Ss gtk3 +``` + + +## Editing Files for Downloaded Source + +### Configure.ac version number + +First change the version number in configure.ac to match that of the gtk version we're moving to +``` +AC_INIT(gtk-sharp, 3.22.1) +``` + +### Sources/Makefile.am + +Next change the version number in sources/Makefile.am to match +``` +TARGET_GTK_VERSION=3.22.1 +TARGET_GTK_API=3.22 +``` + +Next update the orher url's in Makefile.am, the version numbers should match those in use on the system (such as MSYS2) +``` +GTK_DOWNLOADS = \ + http://ftp.gnome.org/pub/GNOME/sources/glib/2.50/glib-2.50.0.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/pango/1.40/pango-1.40.3.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/atk/2.22/atk-2.22.0.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.36/gdk-pixbuf-2.36.0.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/gtk+/$(TARGET_GTK_API)/gtk+-$(TARGET_GTK_VERSION).tar.xz +``` + +### Patches + +As part of the source code download, some of the files will be patched +so you need to look at and check that all the patches apply correctly to the downloaded source when running make get-source-code + + +## Download the sources + +Next we're going to download the source +``` +./autogen.sh --prefix=/tmp/install +cd sources +make get-source-code +``` + +At this stage the sources should now be extracted within the sources sub directory + +### Update sources.xml + +One last file to update is the sources/sources.xml file +all directories in this file need to match the extracted directories + +## Generate the API Code + +### Generate the XML Files + +Next to generate the xml files needed for the generation of code +``` +make api +``` + +This should result in the following files + + * gdk/gdk-api.raw + * gio/gio-api.raw + * gtk/gtk-api.raw + * pango/pango-api.raw + +### Generate the API Code from the XML Files + +TODO we need to use generator/gapi_codegen.exe on each of the xml files to generate the .cs code within the generated sub directories diff --git a/sources/Makefile.am b/sources/Makefile.am index 2b9e8bd63..54a189d95 100644 --- a/sources/Makefile.am +++ b/sources/Makefile.am @@ -3,14 +3,14 @@ EXTRA_DIST = \ sources.xml \ gtk_tree_model_signal_fix.patch -TARGET_GTK_VERSION=3.20.6 -TARGET_GTK_API=3.20 +TARGET_GTK_VERSION=3.22.1 +TARGET_GTK_API=3.22 GTK_DOWNLOADS = \ - http://ftp.gnome.org/pub/GNOME/sources/glib/2.48/glib-2.48.0.tar.xz \ - http://ftp.gnome.org/pub/GNOME/sources/pango/1.40/pango-1.40.1.tar.xz \ - http://ftp.gnome.org/pub/GNOME/sources/atk/2.20/atk-2.20.0.tar.xz \ - http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.34/gdk-pixbuf-2.34.0.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/glib/2.50/glib-2.50.0.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/pango/1.40/pango-1.40.3.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/atk/2.22/atk-2.22.0.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.36/gdk-pixbuf-2.36.0.tar.xz \ http://ftp.gnome.org/pub/GNOME/sources/gtk+/$(TARGET_GTK_API)/gtk+-$(TARGET_GTK_VERSION).tar.xz api: @@ -21,9 +21,8 @@ get-source-code: wget $$i --output-document=- | tar -xJ ; \ done; ln -f -s gtkfilechooserprivate.h gtk+-$(TARGET_GTK_VERSION)/gtk/gtkfilechooserpriv.h - patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtktreemodel.c < gtk_tree_model_signal_fix.patch + patch -p1 -d gtk+-$(TARGET_GTK_VERSION) < patches/gtk_tree_model_signal_fix.patch echo "typedef struct _GtkClipboard GtkClipboard;" >> gtk+-$(TARGET_GTK_VERSION)/gtk/gtkclipboard.h echo "typedef struct _GtkClipboardClass GtkClipboardClass;" >> gtk+-$(TARGET_GTK_VERSION)/gtk/gtkclipboard.h - patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtktextattributes.h < gtktextattributes-gi-scanner.patch - patch -p0 glib-2.48.0/gio/gwin32registrykey.h < gwin32registrykey-little-endian.patch - + patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtktextattributes.h < patches/gtktextattributes-gi-scanner.patch + patch -p0 glib-2.50.0/gio/gwin32registrykey.h < patches/gwin32registrykey-little-endian.patch diff --git a/sources/gtk_tree_model_signal_fix.patch b/sources/patches/gtk_tree_model_signal_fix.patch similarity index 80% rename from sources/gtk_tree_model_signal_fix.patch rename to sources/patches/gtk_tree_model_signal_fix.patch index be9c74eee..31ec6a014 100644 --- a/sources/gtk_tree_model_signal_fix.patch +++ b/sources/patches/gtk_tree_model_signal_fix.patch @@ -1,6 +1,7 @@ ---- gtk+-2.14.3/gtk/gtktreemodel.c 2009-01-04 11:52:01.000000000 -0600 -+++ gtktreemodel.c 2009-01-04 12:03:58.000000000 -0600 -@@ -193,14 +193,15 @@ +diff -Naur gtk+-3.22.1.orig/gtk/gtktreemodel.c gtk+-3.22.1/gtk/gtktreemodel.c +--- gtk+-3.22.1.orig/gtk/gtktreemodel.c 2016-08-29 18:20:43.000000000 +0100 ++++ gtk+-3.22.1/gtk/gtktreemodel.c 2016-10-17 13:57:41.204889300 +0100 +@@ -395,14 +395,15 @@ closure = g_closure_new_simple (sizeof (GClosure), NULL); g_closure_set_marshal (closure, row_inserted_marshal); tree_model_signals[ROW_INSERTED] = @@ -19,7 +20,7 @@ /** * GtkTreeModel::row-has-child-toggled: -@@ -242,14 +243,14 @@ +@@ -441,14 +442,14 @@ closure = g_closure_new_simple (sizeof (GClosure), NULL); g_closure_set_marshal (closure, row_deleted_marshal); tree_model_signals[ROW_DELETED] = @@ -30,14 +31,14 @@ - closure, + G_STRUCT_OFFSET (GtkTreeModelIface, row_deleted), NULL, NULL, - _gtk_marshal_VOID__BOXED, + NULL, G_TYPE_NONE, 1, - row_deleted_params); + GTK_TYPE_TREE_PATH); /** - * GtkTreeModel::rows-reordered: -@@ -268,14 +269,15 @@ + * GtkTreeModel::rows-reordered: (skip) +@@ -471,14 +472,15 @@ closure = g_closure_new_simple (sizeof (GClosure), NULL); g_closure_set_marshal (closure, rows_reordered_marshal); tree_model_signals[ROWS_REORDERED] = @@ -51,8 +52,8 @@ _gtk_marshal_VOID__BOXED_BOXED_POINTER, G_TYPE_NONE, 3, - rows_reordered_params); -+ GTK_TYPE_TREE_PATH | G_SIGNAL_TYPE_STATIC_SCOPE, -+ GTK_TYPE_TREE_ITER, G_TYPE_POINTER); ++ GTK_TYPE_TREE_PATH | G_SIGNAL_TYPE_STATIC_SCOPE, ++ GTK_TYPE_TREE_ITER, G_TYPE_POINTER); initialized = TRUE; } } diff --git a/sources/gtktextattributes-gi-scanner.patch b/sources/patches/gtktextattributes-gi-scanner.patch similarity index 100% rename from sources/gtktextattributes-gi-scanner.patch rename to sources/patches/gtktextattributes-gi-scanner.patch diff --git a/sources/gwin32registrykey-little-endian.patch b/sources/patches/gwin32registrykey-little-endian.patch similarity index 100% rename from sources/gwin32registrykey-little-endian.patch rename to sources/patches/gwin32registrykey-little-endian.patch diff --git a/sources/sources.xml b/sources/sources.xml index 996b8fc66..a67a511a5 100644 --- a/sources/sources.xml +++ b/sources/sources.xml @@ -2,7 +2,7 @@ - + gasynchelper.h gcontenttypeprivate.h gdelayedsettingsbackend.h @@ -91,14 +91,14 @@ - atk-2.20.0/atk + atk-2.22.0/atk - + pangoatsui.c pangoatsui.h pangoatsui-fontmap.h @@ -140,17 +140,17 @@ - + gdkalias.h gdkwindowimpl.h keyname-table.h - + - + io-gdip-native.h io-gdip-propertytags.h io-gdip-utils.h @@ -165,7 +165,7 @@ - + gtkalias.h gtkappchooseronline.h @@ -263,7 +263,7 @@ gtkcomposetable.c gtkcomposetable.h - + From 2c82d95b583335be251df802bd7686d0b35a4866 Mon Sep 17 00:00:00 2001 From: Marek Habersack Date: Sat, 17 Dec 2016 23:53:35 +0100 Subject: [PATCH 53/66] Fix System.Array usage in {List,Tree}Store {List,Tree}Store.AppendValues overloads which take System.Array as their 'values' parameter incorrectly pass the array down to SetValues. The latter expects a 'params object[]' array of parameters but passing an instance of System.Array to such method will NOT pass the contents of System.Array instance into the 'params' method as separate members of the parms array. It will instead box System.Array and the params method will receive one parameter of type System.Array instead of X parameters of various types. This affects the following example code: var store = new TreeStore (typeof (string), typeof (int)); store.AppendValues ("One", 1); If the column configured to retrieve the 'string' value reads data from this store it will instead get an instance of System.Array and the node displayed by the TreeView will have no text, won't be clickable etc. The fix implemented here is to "explode" the System.Array into a separate array of the 'object[]' type. The 'TreeStore.AppendValues (params object[] values)' overload no longer calls the 'TreeStore.Appendvalues (Array values)' overload since the indirection only wastes time and memory. It now directly calls `SetValues`. --- gtk/ArrayExtensions.cs | 35 +++++++++++++++++++++++++++++++++++ gtk/ListStore.cs | 2 +- gtk/Makefile.am | 1 + gtk/TreeStore.cs | 8 +++++--- gtk/gtk.csproj | 1 + 5 files changed, 43 insertions(+), 4 deletions(-) create mode 100644 gtk/ArrayExtensions.cs diff --git a/gtk/ArrayExtensions.cs b/gtk/ArrayExtensions.cs new file mode 100644 index 000000000..b58db2a8b --- /dev/null +++ b/gtk/ArrayExtensions.cs @@ -0,0 +1,35 @@ +// Gtk.TreeStore.cs - Gtk TreeStore class customizations +// +// Authors: Marek Habersack +// +// Copyright (c) 2016 Marek Habersack +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of version 2 of the Lesser GNU General +// Public License as published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., 59 Temple Place - Suite 330, +// Boston, MA 02111-1307, USA. + +namespace Gtk { + using System; + + static class ArrayExtensions + { + public static object[] Explode (this Array arr) + { + if (arr == null) + return null; + var ret = new object [arr.Length]; + arr.CopyTo (ret, 0); + return ret; + } + } +} diff --git a/gtk/ListStore.cs b/gtk/ListStore.cs index 47c4505e6..585df14dc 100644 --- a/gtk/ListStore.cs +++ b/gtk/ListStore.cs @@ -110,7 +110,7 @@ public void SetValue (Gtk.TreeIter iter, int column, object value) public Gtk.TreeIter AppendValues (Array values) { Gtk.TreeIter iter = Append(); - SetValues (iter, values); + SetValues (iter, values.Explode ()); return iter; } diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 3a5d45f78..19ecbd148 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -22,6 +22,7 @@ sources = \ ActionGroup.cs \ Adjustment.cs \ Application.cs \ + ArrayExtensions.cs \ Bin.cs \ BindingAttribute.cs \ Builder.cs \ diff --git a/gtk/TreeStore.cs b/gtk/TreeStore.cs index d2f3a4d21..9cfe85b2e 100644 --- a/gtk/TreeStore.cs +++ b/gtk/TreeStore.cs @@ -200,7 +200,7 @@ public void SetValue (Gtk.TreeIter iter, int column, object value) public Gtk.TreeIter AppendValues (Gtk.TreeIter parent, Array values) { Gtk.TreeIter iter = AppendNode (parent); - SetValues (iter, values); + SetValues (iter, values.Explode ()); return iter; } @@ -212,12 +212,14 @@ public Gtk.TreeIter AppendValues (Gtk.TreeIter parent, params object[] values) { public Gtk.TreeIter AppendValues (Array values) { Gtk.TreeIter iter = AppendNode (); - SetValues (iter, values); + SetValues (iter, values.Explode ()); return iter; } public Gtk.TreeIter AppendValues (params object[] values) { - return AppendValues ((Array) values); + Gtk.TreeIter iter = AppendNode (); + SetValues (iter, values); + return iter; } [DllImport (Global.GtkNativeDll, CallingConvention = CallingConvention.Cdecl)] diff --git a/gtk/gtk.csproj b/gtk/gtk.csproj index 97b284691..83b45c8bb 100644 --- a/gtk/gtk.csproj +++ b/gtk/gtk.csproj @@ -141,6 +141,7 @@ + From 5e164b4340ee131b34418899a352983350c22900 Mon Sep 17 00:00:00 2001 From: Marek Habersack Date: Sun, 18 Dec 2016 00:05:05 +0100 Subject: [PATCH 54/66] Fix the ActionMap.AddActionEntries API The 'entries' parameter is an array. --- gio/gio-api.raw | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gio/gio-api.raw b/gio/gio-api.raw index 0330a2c99..2e99e85d1 100644 --- a/gio/gio-api.raw +++ b/gio/gio-api.raw @@ -1048,7 +1048,7 @@ - + From 3d99318871a591fdf28c3bff45da4ea8e9bf27fa Mon Sep 17 00:00:00 2001 From: Marek Habersack Date: Sun, 18 Dec 2016 23:17:12 +0100 Subject: [PATCH 55/66] Make GLib.Object.{Set,Get}Property public The two methods are useful when we don't bind a property or the user needs to set a custom property. --- glib/Object.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glib/Object.cs b/glib/Object.cs index 3f444eeab..92bc6be5f 100644 --- a/glib/Object.cs +++ b/glib/Object.cs @@ -728,7 +728,7 @@ public System.Collections.Hashtable Data { [DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)] static extern void g_object_get_property (IntPtr obj, IntPtr name, ref GLib.Value val); - protected GLib.Value GetProperty (string name) + public GLib.Value GetProperty (string name) { Value val = new Value (this, name); IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name); @@ -740,7 +740,7 @@ protected GLib.Value GetProperty (string name) [DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)] static extern void g_object_set_property (IntPtr obj, IntPtr name, ref GLib.Value val); - protected void SetProperty (string name, GLib.Value val) + public void SetProperty (string name, GLib.Value val) { IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name); g_object_set_property (Raw, native_name, ref val); From ccbd9ca6a2f564af71aa1d31cc6345adecd6c491 Mon Sep 17 00:00:00 2001 From: Marek Habersack Date: Sun, 18 Dec 2016 23:18:54 +0100 Subject: [PATCH 56/66] Bind a number of Gtk.CellRendererTextProperties This binds all the '*-set' properties. The properties are useful when one wants to restore a previously set property to its initial value. For instance, when setting the ForegroundRgba property the 'foreground-set' property is automatically set to 'true' but when we assign 'Gdk.RGBA.Zero' to ForegroundRgba then the 'foreground-set' property is NOT set to false and the foreground becomes black instead of the default one. --- gtk/gtk-api.raw | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gtk/gtk-api.raw b/gtk/gtk-api.raw index ad3c0d858..9246da4db 100644 --- a/gtk/gtk-api.raw +++ b/gtk/gtk-api.raw @@ -8114,30 +8114,46 @@ + + + + + + + + + + + + + + + + From 9af0176bd2221c3405d948eaf7a512c6763c999f Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Fri, 20 Jan 2017 13:10:48 +0100 Subject: [PATCH 57/66] Updated to 3.22. Need to fix GtkMenu and Popup --- README | 2 +- gdk/Gdk.metadata | 13 + gdk/gdk-api.raw | 574 ++++++++++++++++-- gio/gio-api.raw | 104 +++- gtk/Menu.cs | 2 +- gtk/gtk-api.raw | 384 +++++++++++- pango/pango-api.raw | 6 - sources/Makefile.am | 8 +- .../gwin32registrykey-little-endian.patch | 5 +- sources/sources.xml | 14 +- 10 files changed, 1011 insertions(+), 101 deletions(-) diff --git a/README b/README index c4fc25d2c..ed0139220 100644 --- a/README +++ b/README @@ -96,7 +96,7 @@ Developers: For developers wishing to "get started" with Gtk#, they are encouraged to read the Mono Hand Book: - http://www.mono-project.com/Monkeyguide + http://www.mono-project.com/docs/gui/gtksharp/ Hackers: diff --git a/gdk/Gdk.metadata b/gdk/Gdk.metadata index 4763a7d1c..c1ac95520 100644 --- a/gdk/Gdk.metadata +++ b/gdk/Gdk.metadata @@ -12,6 +12,7 @@ 1 1 CairoHelper + true 1 out 1 @@ -44,6 +45,18 @@ InputOnly Pointer | Touch | TabletStylus AllPointing | Keyboard + FlipX | FlipY + SlideX | SlideY + ResizeX | ResizeY + AxisUse.X + AxisUse.Y + AxisUse.Pressure + AxisUse.Xtilt + AxisUse.Ytilt + AxisUse.Wheel + AxisUse.Distance + AxisUse.Rotation + AxisUse.Slider 1 1 1 diff --git a/gdk/gdk-api.raw b/gdk/gdk-api.raw index 66369a5ea..f8e9ffb65 100644 --- a/gdk/gdk-api.raw +++ b/gdk/gdk-api.raw @@ -7,6 +7,28 @@ --> + + + + + + + + + + + + + + + + + + + + + + @@ -15,6 +37,9 @@ + + + @@ -114,6 +139,21 @@ + + + + + + + + + + + + + + + @@ -167,6 +207,7 @@ + @@ -215,6 +256,11 @@ + + + + + @@ -279,6 +325,8 @@ + + @@ -373,6 +421,14 @@ + + + + + + + + @@ -517,6 +573,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -659,10 +772,18 @@ + + + + + + + + @@ -752,6 +873,9 @@ + + + @@ -985,6 +1109,27 @@ + + + + + + + + + + + + + + + + + + + + + @@ -1032,6 +1177,10 @@ + + + + @@ -1057,6 +1206,18 @@ + + + + + + + + + + + + @@ -1299,6 +1460,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -1345,6 +1526,28 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -1360,7 +1563,10 @@ - + + + + @@ -1724,6 +1930,28 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -1897,6 +2125,9 @@ + + + @@ -1938,6 +2169,12 @@ + + + + + + @@ -2132,6 +2369,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2343,7 +2648,7 @@ - + @@ -2355,70 +2660,70 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2446,19 +2751,19 @@ - + - + - + - + @@ -2467,7 +2772,7 @@ - + @@ -2482,10 +2787,10 @@ - + - + @@ -2500,6 +2805,7 @@ + @@ -2551,6 +2857,12 @@ + + + + + + @@ -2592,35 +2904,35 @@ - + - + - + - + - + - + - + @@ -2631,10 +2943,10 @@ - + - + @@ -2659,7 +2971,7 @@ - + @@ -2718,6 +3030,15 @@ + + + + + + + + + @@ -2759,6 +3080,12 @@ + + + + + + @@ -2778,13 +3105,13 @@ - + - + @@ -2875,7 +3202,13 @@ - + + + + + + + @@ -2911,7 +3244,7 @@ - + @@ -3283,13 +3616,13 @@ - + - + @@ -3313,7 +3646,7 @@ - + @@ -3719,6 +4052,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4022,7 +4382,7 @@ - + @@ -4085,12 +4445,6 @@ - - - - - - @@ -4112,6 +4466,12 @@ + + + + + + @@ -4344,6 +4704,12 @@ + + + + + + @@ -4370,6 +4736,12 @@ + + + + + + @@ -4378,6 +4750,12 @@ + + + + + + @@ -4475,6 +4853,13 @@ + + + + + + + @@ -4609,6 +4994,12 @@ + + + + + + @@ -4717,14 +5108,14 @@ - + - + @@ -5067,6 +5458,12 @@ + + + + + + @@ -5204,6 +5601,15 @@ + + + + + + + + + @@ -5212,6 +5618,20 @@ + + + + + + + + + + + + + + @@ -5289,6 +5709,12 @@ + + + + + + @@ -5382,6 +5808,29 @@ + + + + + + + + + + + + + + + + + + + + + + + @@ -5392,6 +5841,16 @@ + + + + + + + + + + @@ -5415,6 +5874,13 @@ + + + + + + + @@ -5444,6 +5910,12 @@ + + + + + + @@ -5708,6 +6180,12 @@ + + + + + + diff --git a/gio/gio-api.raw b/gio/gio-api.raw index 2e99e85d1..7a7ee8663 100644 --- a/gio/gio-api.raw +++ b/gio/gio-api.raw @@ -695,6 +695,14 @@ + + + + + + + + @@ -1048,7 +1056,7 @@ - + @@ -1324,6 +1332,23 @@ + + + + + + + + + + + + + + + + + @@ -1679,6 +1704,7 @@ + @@ -1848,6 +1874,10 @@ + + + + @@ -1922,6 +1952,9 @@ + + + @@ -8777,6 +8810,19 @@ + + + + + + + + + + + + + @@ -9531,6 +9577,17 @@ + + + + + + + + + + + @@ -9928,6 +9985,12 @@ + + + + + + @@ -9971,6 +10034,12 @@ + + + + + + @@ -10098,6 +10167,13 @@ + + + + + + + @@ -10127,6 +10203,13 @@ + + + + + + + @@ -12858,6 +12941,24 @@ + + + + + + + + + + + + + + + + + + @@ -13506,6 +13607,7 @@ + diff --git a/gtk/Menu.cs b/gtk/Menu.cs index eb8d226a3..af848ed28 100644 --- a/gtk/Menu.cs +++ b/gtk/Menu.cs @@ -32,7 +32,7 @@ public void Popup (Gtk.Widget parent_menu_shell, Gtk.Widget parent_menu_item, Gt public void Popup () { - Popup (null, null, null, 3, Global.CurrentEventTime); + PopupAtPointer (null); } [DllImport (Global.GtkNativeDll, CallingConvention = CallingConvention.Cdecl)] diff --git a/gtk/gtk-api.raw b/gtk/gtk-api.raw index 9246da4db..56ae9d1a5 100644 --- a/gtk/gtk-api.raw +++ b/gtk/gtk-api.raw @@ -372,6 +372,7 @@ + @@ -431,6 +432,11 @@ + + + + + @@ -2363,6 +2369,10 @@ + + + + @@ -2483,6 +2493,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2509,6 +2556,12 @@ + + + + + + @@ -2616,6 +2669,12 @@ + + + + + + @@ -2664,6 +2723,13 @@ + + + + + + + @@ -8114,46 +8180,30 @@ - - - - - - - - - - - - - - - - @@ -8533,6 +8583,9 @@ + + + @@ -11369,12 +11422,20 @@ + + + + + + + + @@ -11516,6 +11577,13 @@ + + + + + + + @@ -12520,6 +12588,7 @@ + @@ -12568,6 +12637,9 @@ + + + @@ -12612,6 +12684,12 @@ + + + + + + @@ -15709,6 +15787,15 @@ + + + + + + + + + @@ -15717,6 +15804,10 @@ + + + + @@ -15799,10 +15890,16 @@ + + + + + + - + @@ -15813,7 +15910,32 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16487,6 +16609,9 @@ + + + @@ -17333,6 +17458,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17419,6 +17578,11 @@ + + + + + @@ -17479,6 +17643,9 @@ + + + @@ -17992,7 +18159,7 @@ - + @@ -18009,6 +18176,12 @@ + + + + + + @@ -18045,7 +18218,7 @@ - + @@ -18426,6 +18599,13 @@ + + + + + + + @@ -18621,6 +18801,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -18900,6 +19104,11 @@ + + + + + @@ -19104,6 +19313,9 @@ + + + @@ -19628,10 +19840,10 @@ + - @@ -19679,6 +19891,14 @@ + + + + + + + + @@ -19688,9 +19908,6 @@ - - - @@ -20561,6 +20778,10 @@ + + + + @@ -20616,6 +20837,12 @@ + + + + + + @@ -20635,6 +20862,12 @@ + + + + + + @@ -20671,6 +20904,18 @@ + + + + + + + + + + + + @@ -20702,6 +20947,18 @@ + + + + + + + + + + + + @@ -21124,6 +21381,7 @@ + @@ -21148,6 +21406,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -21180,7 +21471,7 @@ - + @@ -21203,7 +21494,7 @@ - + @@ -29176,7 +29467,7 @@ - + @@ -29391,7 +29682,7 @@ - + @@ -30488,7 +30779,7 @@ - + @@ -31234,6 +31525,13 @@ + + + + + + + @@ -31328,6 +31626,11 @@ + + + + + @@ -31358,6 +31661,9 @@ + + + @@ -31403,6 +31709,7 @@ + @@ -31716,8 +32023,6 @@ - - @@ -33077,6 +33382,12 @@ + + + + + + @@ -33161,6 +33472,15 @@ + + + + + + + + + @@ -33300,7 +33620,7 @@ - + diff --git a/pango/pango-api.raw b/pango/pango-api.raw index d9a51b17e..872ad00ee 100644 --- a/pango/pango-api.raw +++ b/pango/pango-api.raw @@ -359,9 +359,6 @@ - - - @@ -372,9 +369,6 @@ - - - diff --git a/sources/Makefile.am b/sources/Makefile.am index 54a189d95..67e998577 100644 --- a/sources/Makefile.am +++ b/sources/Makefile.am @@ -3,14 +3,14 @@ EXTRA_DIST = \ sources.xml \ gtk_tree_model_signal_fix.patch -TARGET_GTK_VERSION=3.22.1 +TARGET_GTK_VERSION=3.22.6 TARGET_GTK_API=3.22 GTK_DOWNLOADS = \ - http://ftp.gnome.org/pub/GNOME/sources/glib/2.50/glib-2.50.0.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/glib/2.50/glib-2.50.2.tar.xz \ http://ftp.gnome.org/pub/GNOME/sources/pango/1.40/pango-1.40.3.tar.xz \ http://ftp.gnome.org/pub/GNOME/sources/atk/2.22/atk-2.22.0.tar.xz \ - http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.36/gdk-pixbuf-2.36.0.tar.xz \ + http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.36/gdk-pixbuf-2.36.2.tar.xz \ http://ftp.gnome.org/pub/GNOME/sources/gtk+/$(TARGET_GTK_API)/gtk+-$(TARGET_GTK_VERSION).tar.xz api: @@ -25,4 +25,4 @@ get-source-code: echo "typedef struct _GtkClipboard GtkClipboard;" >> gtk+-$(TARGET_GTK_VERSION)/gtk/gtkclipboard.h echo "typedef struct _GtkClipboardClass GtkClipboardClass;" >> gtk+-$(TARGET_GTK_VERSION)/gtk/gtkclipboard.h patch -p0 gtk+-$(TARGET_GTK_VERSION)/gtk/gtktextattributes.h < patches/gtktextattributes-gi-scanner.patch - patch -p0 glib-2.50.0/gio/gwin32registrykey.h < patches/gwin32registrykey-little-endian.patch + patch -p0 glib-2.50.2/gio/gwin32registrykey.h < patches/gwin32registrykey-little-endian.patch diff --git a/sources/patches/gwin32registrykey-little-endian.patch b/sources/patches/gwin32registrykey-little-endian.patch index 91e4fdb66..5d5f1a1ff 100644 --- a/sources/patches/gwin32registrykey-little-endian.patch +++ b/sources/patches/gwin32registrykey-little-endian.patch @@ -1,5 +1,6 @@ ---- glib-2.46.1.orig/gio/gwin32registrykey.h 2015-11-09 13:36:38.873084380 +0100 -+++ glib-2.46.1/gio/gwin32registrykey.h 2015-11-09 13:37:20.124084380 +0100 +diff -Nur glib-2.50.2.orig/gio/gwin32registrykey.h glib-2.50.2/gio/gwin32registrykey.h +--- glib-2.50.2.orig/gio/gwin32registrykey.h 2016-10-22 07:18:19.000000000 +0200 ++++ glib-2.50.2/gio/gwin32registrykey.h 2017-01-20 10:00:20.512880131 +0100 @@ -37,18 +37,12 @@ G_WIN32_REGISTRY_VALUE_BINARY = 1, G_WIN32_REGISTRY_VALUE_UINT32LE = 2, diff --git a/sources/sources.xml b/sources/sources.xml index a67a511a5..20c27dd15 100644 --- a/sources/sources.xml +++ b/sources/sources.xml @@ -2,7 +2,7 @@ - + gasynchelper.h gcontenttypeprivate.h gdelayedsettingsbackend.h @@ -84,6 +84,8 @@ gdtlsconnection.h gdtlsserverconnection.c gdtlsserverconnection.h + xdp-dbus.c + xdp-dbus.h @@ -140,17 +142,17 @@ - + gdkalias.h gdkwindowimpl.h keyname-table.h - + - + io-gdip-native.h io-gdip-propertytags.h io-gdip-utils.h @@ -165,7 +167,7 @@ - + gtkalias.h gtkappchooseronline.h @@ -263,7 +265,7 @@ gtkcomposetable.c gtkcomposetable.h - + From e2bf48f8ceb2072b91073a5bb951783e29850680 Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Thu, 26 Jan 2017 13:51:53 +0100 Subject: [PATCH 58/66] Add Deprecated method Create in CairoHelper --- gdk/gdk-api.raw | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gdk/gdk-api.raw b/gdk/gdk-api.raw index f8e9ffb65..4ba1a40d5 100644 --- a/gdk/gdk-api.raw +++ b/gdk/gdk-api.raw @@ -4445,6 +4445,12 @@ + + + + + + From af3956b2ddf35580149d355833f8bf42c1c43431 Mon Sep 17 00:00:00 2001 From: Mikkel Kruse Johnsen Date: Thu, 2 Feb 2017 10:19:23 +0100 Subject: [PATCH 59/66] Updated version to 3.22.6 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 389304ee0..d58243133 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ -AC_INIT(gtk-sharp, 3.22.1) +AC_INIT(gtk-sharp, 3.22.6) AM_INIT_AUTOMAKE([1.10 no-dist-gzip dist-bzip2 tar-ustar foreign]) AC_CANONICAL_HOST From 5063385d16deae5f63e7f1c062e4d31f9a6d8502 Mon Sep 17 00:00:00 2001 From: stil Date: Sun, 5 Feb 2017 07:07:05 +0100 Subject: [PATCH 60/66] AppVeyor integration (#25) * Fix minor bugs and improve code formatting of Python build tool * Prepend $PATH to give it higher priority * Invoke WiX tools through variable to ensure correct path * Make build script ensure pacman dependencies are installed * pacman -Sy causes dependency break on AppVeyor * Skip deps version check and don't show progress bar --- NuGet/build.py | 38 +++++++------ NuGet/pybuild/Helper.py | 71 +++++++++++++++++-------- NuGet/pybuild/ProfileBase.py | 15 +++--- NuGet/pybuild/profiles/Glue_Win32.py | 17 +++--- NuGet/pybuild/profiles/Glue_Win64.py | 3 +- NuGet/pybuild/profiles/GtkSharp.py | 13 ++--- NuGet/pybuild/profiles/GtkSharp_Core.py | 26 ++++----- NuGet/pybuild/profiles/Gtk_Win32.py | 19 +++---- NuGet/pybuild/profiles/Gtk_Win64.py | 7 ++- NuGet/pybuild/vsgenext/CoreVSProject.py | 26 ++++----- configure.ac | 5 +- msi/Makefile.am | 4 +- msi/unmanaged/Makefile.am | 4 +- 13 files changed, 144 insertions(+), 104 deletions(-) diff --git a/NuGet/build.py b/NuGet/build.py index 3ba9363bb..99b2f7055 100644 --- a/NuGet/build.py +++ b/NuGet/build.py @@ -1,12 +1,14 @@ #!/usr/bin/python3 """Script to build out the .Net dll's and package them into a Nuget Package for gtksharp3""" -import os, sys +import sys from pybuild.profiles.GtkSharp import GtkSharp from pybuild.profiles.GtkSharp_Core import GtkSharp_Core from pybuild.profiles.Glue_Win32 import Glue_Win32 from pybuild.profiles.Glue_Win64 import Glue_Win64 from pybuild.profiles.Gtk_Win32 import Gtk_Win32 from pybuild.profiles.Gtk_Win64 import Gtk_Win64 +from pybuild.Helper import Helper + # Ideally I'd like to see the GtkSharp Build system redone via the build system of .Net core (dotnet cli tool) # and using Scons / Cuppa for the glue libraries @@ -14,24 +16,25 @@ # under linux we run this natively, under windows we can use MSYS2 class Build(object): - # Clean the Build directory - def clean(self): + @staticmethod + def clean(): """Clean the build dir""" - helpers.emptydir('./build') - print ("Clean finished") + Helper.emptydir('./build') + print("Clean finished") # Print Usage - def usage(self): - print ("Please use GtkSharp3_Build.py where is one of") - print (" clean to clean the output directory: ./build") + @staticmethod + def usage(): + print("Please use GtkSharp3_Build.py where is one of") + print(" clean to clean the output directory: ./build") - print (" gtksharp to build .Net libs for GtkSharp, via .Net 4.5") - print (" gtksharp_core to build .Net libs for GtkSharp, via .Net 4.5 using the dotnet cli tool") + print(" gtksharp to build .Net libs for GtkSharp, via .Net 4.5") + print(" gtksharp_core to build .Net libs for GtkSharp, via .Net 4.5 using the dotnet cli tool") - print (" gtk_win32 to build the Nuget package for GtkSharp.Win32") - print (" gtk_win64 to build the Nuget package for GtkSharp.Win64") - print (" all to make all") + print(" gtk_win32 to build the Nuget package for GtkSharp.Win32") + print(" gtk_win64 to build the Nuget package for GtkSharp.Win64") + print(" all to make all") def main(self): if len(sys.argv) != 2: @@ -46,13 +49,15 @@ def main(self): self.runbuild(sys.argv[1]) - def runbuild(self, build_type): - + if build_type == 'clean': self.clean() + return + + Helper.install_pacman_deps() - elif build_type == 'gtksharp': + if build_type == 'gtksharp': profile = GtkSharp() profile.clean() profile.build() @@ -82,5 +87,6 @@ def runbuild(self, build_type): profile.build() profile.build_nuget() + if __name__ == "__main__": Build().main() diff --git a/NuGet/pybuild/Helper.py b/NuGet/pybuild/Helper.py index f54e51e85..fa4d69203 100644 --- a/NuGet/pybuild/Helper.py +++ b/NuGet/pybuild/Helper.py @@ -1,17 +1,18 @@ #!/usr/bin/python3 """Helper Functions""" -import os, subprocess, shutil, sys +import os from os.path import join -from glob import iglob + from executor import ExternalCommand -import ntpath -class Helper(object): +class Helper(object): + @staticmethod def emptydir(top): """Empty a Directory""" - if(top == '/' or top == "\\"): return + if top == '/' or top == "\\": + return else: for root, dirs, files in os.walk(top, topdown=False): for name in files: @@ -19,44 +20,70 @@ def emptydir(top): for name in dirs: os.rmdir(os.path.join(root, name)) - def run_cmd(cmdarray, workdir, comms = None): - """Run a command on the shell""" + @staticmethod + def run_cmd(cmdarray, workdir): + """Run a command on the shell""" cmd = ExternalCommand(*cmdarray, capture=True, capture_stderr=True, async=True, shell=False, directory=workdir) cmd.start() last_out = '' last_err = '' while cmd.is_running: - new_out = cmd.decoded_stdout.replace(last_out, '') - new_err = cmd.decoded_stderr.replace(last_err, '') + new_out = cmd.stdout.decode(cmd.encoding, 'ignore').replace(last_out, '') + new_err = cmd.stderr.decode(cmd.encoding, 'ignore').replace(last_err, '') + last_out += new_out last_err += new_err new_out = new_out.replace(u"\u2018", "'").replace(u"\u2019", "'") new_err = new_err.replace(u"\u2018", "'").replace(u"\u2019", "'") - if new_out != '': print(new_out, end='') - if new_err != '': print(new_err, end='') + if new_out != '': + print(new_out, end='') + if new_err != '': + print(new_err, end='') if cmd.returncode != 0: raise RuntimeError('Failure to run command') return cmd + @staticmethod def winpath_to_msyspath(winpath): """Convert a Windows path to a Msys type path""" winpath = '/' + winpath[0] + winpath[2:].replace('\\', '/') return winpath + @staticmethod def get_gtksharp_version(srcdir): - """Get the Version of GTK Sharp in use from the source directory""" - ret = None - with open(join(srcdir, 'configure.ac')) as f: - for line in f: - if line.startswith('AC_INIT'): - ret = line - ret = ret.replace('AC_INIT(gtk-sharp,', '') - ret = ret.replace(' ', '') - ret = ret.replace(')\n', '') - break - return ret + """Get the Version of GTK Sharp in use from the source directory""" + ret = None + with open(join(srcdir, 'configure.ac')) as f: + for line in f: + if line.startswith('AC_INIT'): + ret = line + ret = ret.replace('AC_INIT(gtk-sharp,', '') + ret = ret.replace(' ', '') + ret = ret.replace(')\n', '') + break + return ret + + @staticmethod + def install_pacman_deps(): + Helper.run_pacman_cmd(['-Sy']) + + args = ['--needed', '--nodeps', '--noprogressbar', '--noconfirm', '-S'] + args += 'unzip autoconf automake libtool pkg-config make'.split(' ') + + deps_arch = 'gcc glib2 pango atk gtk3 zlib libiconv' + args += ['mingw-w64-i686-{0}'.format(i) for i in deps_arch.split(' ')] + args += ['mingw-w64-x86_64-{0}'.format(i) for i in deps_arch.split(' ')] + + Helper.run_pacman_cmd(args) + + @staticmethod + def run_pacman_cmd(pacman_args): + msyspath = 'C:\\msys64' + pacman_path = join(msyspath, 'usr\\bin\\pacman.exe') + return Helper.run_cmd([pacman_path] + pacman_args, msyspath) + @staticmethod def get_gtk_version_msys(msyspath): ret = '' pacman_path = join(msyspath, 'usr\\bin\\pacman.exe') diff --git a/NuGet/pybuild/ProfileBase.py b/NuGet/pybuild/ProfileBase.py index 317f3c062..cb64d8cb5 100644 --- a/NuGet/pybuild/ProfileBase.py +++ b/NuGet/pybuild/ProfileBase.py @@ -1,13 +1,15 @@ #!/usr/bin/python3 """Base class for Settings profiles""" -import os, shutil +import os +import shutil from os.path import abspath, join from xml.etree import ElementTree as et + from pybuild.Helper import Helper -class ProfileBase(object): +class ProfileBase(object): def __init__(self): """Class Init""" self._NuGetPath = 'nuget.exe' @@ -55,12 +57,11 @@ def LinuxBashPath(self): def Version(self): return self._Version - - def clean(self): + @staticmethod + def clean(): """Clean the build dir""" Helper.emptydir('./build') - print ("Clean finished") - + print("Clean finished") def build_nuget(self): """Package up a nuget file based on the default build""" @@ -84,4 +85,4 @@ def build_nuget(self): nugetfile = join(self.Build_NugetDir, self.NuGet_PackageName + '.' + self.Version + '.nupkg') os.makedirs(self.PackageDestination, exist_ok=True) shutil.copy(nugetfile, self.PackageDestination) - print ('Generation of Nuget package complete - ' + self.NuGet_PackageName) + print('Generation of Nuget package complete - ' + self.NuGet_PackageName) diff --git a/NuGet/pybuild/profiles/Glue_Win32.py b/NuGet/pybuild/profiles/Glue_Win32.py index 5fa72f141..86117a4d3 100644 --- a/NuGet/pybuild/profiles/Glue_Win32.py +++ b/NuGet/pybuild/profiles/Glue_Win32.py @@ -1,14 +1,17 @@ #!/usr/bin/python3 -import os, shutil, ntpath -from pybuild.ProfileBase import ProfileBase -from os.path import abspath, join +import ntpath +import os +import shutil from glob import glob +from os.path import abspath, join + from pybuild.Helper import Helper +from pybuild.ProfileBase import ProfileBase from pybuild.profiles.GtkSharp import GtkSharp -class Glue_Win32(ProfileBase): +class Glue_Win32(ProfileBase): def __init__(self): """Class Init""" super().__init__() @@ -30,8 +33,8 @@ def build(self): """Package up a nuget file based on the default build""" if os.name != 'nt': - print("Skipping Native Nuget package build, as this needs to be run on Windows") - return + print("Skipping Native Nuget package build, as this needs to be run on Windows") + return # Trigger build of gtksharp with specific bash for Mingw32 builder = GtkSharp() @@ -41,7 +44,7 @@ def build(self): net45_build_dir = join(self.Build_NugetDir, 'build', 'net45') os.makedirs(net45_build_dir, exist_ok=True) - print ('Copying Files') + print('Copying Files') dll_list = self.Get_Dlls_GtkSharp_Glue() for item in dll_list: diff --git a/NuGet/pybuild/profiles/Glue_Win64.py b/NuGet/pybuild/profiles/Glue_Win64.py index 74938ac9f..60f741fa9 100644 --- a/NuGet/pybuild/profiles/Glue_Win64.py +++ b/NuGet/pybuild/profiles/Glue_Win64.py @@ -1,11 +1,10 @@ #!/usr/bin/python3 -from pybuild.ProfileBase import ProfileBase from pybuild.Helper import Helper from pybuild.profiles.Glue_Win32 import Glue_Win32 -class Glue_Win64(Glue_Win32): +class Glue_Win64(Glue_Win32): def __init__(self): """Class Init""" super().__init__() diff --git a/NuGet/pybuild/profiles/GtkSharp.py b/NuGet/pybuild/profiles/GtkSharp.py index f1a193e75..87c121afb 100644 --- a/NuGet/pybuild/profiles/GtkSharp.py +++ b/NuGet/pybuild/profiles/GtkSharp.py @@ -1,11 +1,13 @@ #!/usr/bin/python3 -import os, shutil -from pybuild.ProfileBase import ProfileBase +import os +import shutil from os.path import abspath, join + from pybuild.Helper import Helper +from pybuild.ProfileBase import ProfileBase -class GtkSharp(ProfileBase): +class GtkSharp(ProfileBase): def __init__(self): """Class Init""" super().__init__() @@ -27,8 +29,8 @@ def build(self): if os.name == 'nt': print("Building .Net GtkSharp using MSYS2") with open(buildfile, 'w') as f: - f.write('PATH=$PATH:/c/Program\ Files\ \(x86\)/Microsoft\ SDKs/Windows/v10.0A/bin/NETFX\ 4.6\ Tools/\n') - f.write('PATH=$PATH:/c/Windows/Microsoft.NET/Framework/v4.0.30319/\n') + f.write('PATH=/c/Program\ Files\ \(x86\)/Microsoft\ SDKs/Windows/v10.0A/bin/NETFX\ 4.6\ Tools/:$PATH\n') + f.write('PATH=/c/Windows/Microsoft.NET/Framework/v4.0.30319/:$PATH\n') f.write('cd ' + Helper.winpath_to_msyspath(self.SrcDir + '\n')) f.write('./autogen.sh --prefix=/tmp/install\n') f.write('make clean\n') @@ -53,7 +55,6 @@ def build(self): cmds = [self.LinuxBashPath, buildfile] cmd = Helper.run_cmd(cmds, self.SrcDir) - def copy(self): """Copy the .Net 4.5 dll's to the build dir""" diff --git a/NuGet/pybuild/profiles/GtkSharp_Core.py b/NuGet/pybuild/profiles/GtkSharp_Core.py index 078f376e1..18640ecf7 100644 --- a/NuGet/pybuild/profiles/GtkSharp_Core.py +++ b/NuGet/pybuild/profiles/GtkSharp_Core.py @@ -1,12 +1,16 @@ #!/usr/bin/python3 -import os, shutil -from pybuild.ProfileBase import ProfileBase -from pybuild.vsgenext.CoreVSProject import CoreVSProject -from os.path import abspath, join -from pybuild.Helper import Helper +import os +import shutil from glob import glob +from os.path import abspath, join + import vsgen +from pybuild.Helper import Helper +from pybuild.ProfileBase import ProfileBase +from pybuild.vsgenext.CoreVSProject import CoreVSProject + + # Note at this stage we can't complile GtkSharp using the .Net Core platform libraries, such as netstandard1.6 # https://docs.microsoft.com/en-us/dotnet/articles/standard/library # This is due to some small api changes in the platform that the Gtksharp code would need to be adjusted to @@ -19,7 +23,6 @@ # TODO look into package for symbols, via NuGet -symbols class GtkSharp_Core(ProfileBase): - def __init__(self): """Class Init""" super().__init__() @@ -36,7 +39,6 @@ def Build_CoreDir(self): def Dotnet_BuildExe(self): return 'dotnet.exe' - def Copy_CS_Files(self, csfiles): srclist = glob(join(self.SrcDir, csfiles[0])) destdir = join(self.Build_CoreDir, csfiles[1]) @@ -47,11 +49,11 @@ def Copy_CS_Files(self, csfiles): def SetupProject(self, projname): proj = CoreVSProject() proj.Name = projname - proj.RootNamespace=projname + proj.RootNamespace = projname proj.FileName = join(self.Build_CoreDir, projname, projname + '.xproj') proj.Frameworks = {'net461': {}} proj.Depends = {} - proj.BuildOptions = { "allowUnsafe": True , "outputName": projname + "-sharp"} + proj.BuildOptions = {"allowUnsafe": True, "outputName": projname + "-sharp"} proj.Version = self._Version self.Solution.Projects.append(proj) self.Solution.write() @@ -64,8 +66,7 @@ def Build_Project(self, proj): '--configuration', self.BuildConfig, '--framework', 'net461', '--output', join(self.Build_CoreDir, 'build')] - , projdir) - + , projdir) def build(self): """Build the gtksharp binaries for .Net 4.5""" @@ -133,7 +134,6 @@ def build(self): proj.write() self.Build_Project(proj) - def copy_dll(self): """Copy the .Net 4.5 dll's to the build dir""" @@ -152,4 +152,4 @@ def copy_dll(self): dll_list = ['atk', 'cairo', 'gdk', 'gio', 'glib', 'gtk', 'pango'] for item in dll_list: if item != 'cairo': - shutil.copy(join(self.SrcDir, item, item + '-sharp.dll.config'), net45_build_dir) \ No newline at end of file + shutil.copy(join(self.SrcDir, item, item + '-sharp.dll.config'), net45_build_dir) diff --git a/NuGet/pybuild/profiles/Gtk_Win32.py b/NuGet/pybuild/profiles/Gtk_Win32.py index 0c4fb1fad..311fb87a2 100644 --- a/NuGet/pybuild/profiles/Gtk_Win32.py +++ b/NuGet/pybuild/profiles/Gtk_Win32.py @@ -1,14 +1,17 @@ #!/usr/bin/python3 """Build of GTK3 into a NuGet package - Windows 32bit""" -import os, shutil, ntpath -from pybuild.ProfileBase import ProfileBase -from os.path import abspath, join +import ntpath +import os +import shutil from glob import iglob +from os.path import abspath, join + from pybuild.Helper import Helper +from pybuild.ProfileBase import ProfileBase -class Gtk_Win32(ProfileBase): +class Gtk_Win32(ProfileBase): def __init__(self): """Class Init""" super().__init__() @@ -21,7 +24,6 @@ def __init__(self): def MingwBinPath(self): return abspath(self._MingwBinPath) - def Get_Dlls_Native_GTK(self): ret = [] @@ -74,18 +76,17 @@ def Get_Dlls_Native_GTK_Deps(self): ret.append('libbz2-1.dll') return ret - def build(self): """Package up a nuget file based on the default build""" if os.name != 'nt': - print("Skipping Native Nuget package build, as this needs to be run on Windows") - return + print("Skipping Native Nuget package build, as this needs to be run on Windows") + return net45_build_dir = join(self.Build_NugetDir, 'build', 'net45') os.makedirs(net45_build_dir, exist_ok=True) - print ('Copying Files') + print('Copying Files') shutil.copy('./misc/GtkSharp.Native.targets', join(net45_build_dir, 'GtkSharp.' + self.arch + '.targets')) # Copy dlls diff --git a/NuGet/pybuild/profiles/Gtk_Win64.py b/NuGet/pybuild/profiles/Gtk_Win64.py index 998fc8252..97e8fe839 100644 --- a/NuGet/pybuild/profiles/Gtk_Win64.py +++ b/NuGet/pybuild/profiles/Gtk_Win64.py @@ -1,14 +1,13 @@ #!/usr/bin/python3 """Build of GTK3 into a NuGet package - Windows 64bit""" -import os, shutil -from pybuild.ProfileBase import ProfileBase -from os.path import abspath, join +from os.path import join + from pybuild.Helper import Helper from pybuild.profiles.Gtk_Win32 import Gtk_Win32 -class Gtk_Win64(Gtk_Win32): +class Gtk_Win64(Gtk_Win32): def __init__(self): """Class Init""" super().__init__() diff --git a/NuGet/pybuild/vsgenext/CoreVSProject.py b/NuGet/pybuild/vsgenext/CoreVSProject.py index 520c0f763..79dcca987 100644 --- a/NuGet/pybuild/vsgenext/CoreVSProject.py +++ b/NuGet/pybuild/vsgenext/CoreVSProject.py @@ -1,11 +1,14 @@ #!/usr/bin/python3 -import os, json -from vsgen.project import VSGProject +import json +import os +from collections import OrderedDict +from os.path import join from xml.etree import ElementTree as et + +from vsgen.project import VSGProject from yattag import indent -from os.path import abspath, join -from collections import OrderedDict + class CoreVSProject(VSGProject): """ @@ -51,18 +54,18 @@ def get_project_json(self): data = OrderedDict() ver = {'version': self.Version} data.update(ver) - + depends = self.Depends depends2 = {'dependencies': depends} data.update(depends2) - - if self.Frameworks != None: + + if self.Frameworks is not None: frameworks = {'frameworks': self.Frameworks} else: frameworks = {'frameworks': {'netstandard1.6': {'imports': 'dnxcore50'}}} data.update(frameworks) - if self.BuildOptions != None: + if self.BuildOptions is not None: buildopts = {'buildOptions': self.BuildOptions} data.update(buildopts) @@ -112,8 +115,7 @@ def get_project_xml(self): etstr = et.tostring(xml_projroot, encoding='utf-8', method='xml').decode('utf-8') outtxt = indent(etstr) - return outtxt - + return outtxt def write(self): """ @@ -125,7 +127,7 @@ def write(self): projectFileName = os.path.normpath(self.FileName) projxml = '' - if self.ProjectXml == None: + if self.ProjectXml is None: projxml = self.get_project_xml() else: projxml = self.ProjectXml @@ -134,7 +136,7 @@ def write(self): jsonFileName = join(filepath, 'project.json') - if self.ProjectJson == None: + if self.ProjectJson is None: projjson = self.get_project_json() else: projjson = self.ProjectJson diff --git a/configure.ac b/configure.ac index d58243133..eb8162efd 100644 --- a/configure.ac +++ b/configure.ac @@ -89,8 +89,9 @@ fi enable_msi="no" if test "x$platform_win32" = "xyes"; then - AC_PATH_PROG(WIX, candle, no) - if test "x$WIX" != "xno" ; then + AC_PATH_PROG(WIX_CANDLE, candle, no) + AC_PATH_PROG(WIX_LIGHT, light, no) + if test "x$WIX_CANDLE" != "xno" -a "x$WIX_LIGHT" != "xno" ; then enable_msi="yes" fi fi diff --git a/msi/Makefile.am b/msi/Makefile.am index bceda3229..11e80b622 100644 --- a/msi/Makefile.am +++ b/msi/Makefile.am @@ -26,5 +26,5 @@ gtk-sharp-3.0.msi: gtk-sharp-3.0.wxs mv binaries/libpangosharpglue-3.dll binaries/pangosharpglue-3.dll cp $(top_builddir)/sample/GtkDemo/GtkDemo.exe binaries - candle -ext WixUIExtension gtk-sharp-3.0.wxs - light -cultures:en-us -ext WixUIExtension -ext WixNetFxExtension -out gtk-sharp-$(VERSION).msi gtk-sharp-3.0.wixobj + $(WIX_CANDLE) -ext WixUIExtension gtk-sharp-3.0.wxs + $(WIX_LIGHT) -cultures:en-us -ext WixUIExtension -ext WixNetFxExtension -out gtk-sharp-$(VERSION).msi gtk-sharp-3.0.wixobj diff --git a/msi/unmanaged/Makefile.am b/msi/unmanaged/Makefile.am index 6afe677d9..433a97e5e 100644 --- a/msi/unmanaged/Makefile.am +++ b/msi/unmanaged/Makefile.am @@ -15,10 +15,10 @@ download-stamp: $(DOWNLOADS) touch download-stamp unmanaged.wixobj: unmanaged.wxs redirector.exe download-stamp - candle unmanaged.wxs + $(WIX_CANDLE) unmanaged.wxs unmanaged.msm: unmanaged.wixobj - light unmanaged.wixobj + $(WIX_LIGHT) unmanaged.wixobj bundle-scanner.exe: bundle-scanner.cs $(CSC) bundle-scanner.cs From b6260e8865dd09a50d41abe157e348618d5a733e Mon Sep 17 00:00:00 2001 From: stil Date: Sun, 5 Feb 2017 07:08:24 +0100 Subject: [PATCH 61/66] Include debugging symbols in nupkg (#26) --- NuGet/pybuild/profiles/GtkSharp.py | 1 + 1 file changed, 1 insertion(+) diff --git a/NuGet/pybuild/profiles/GtkSharp.py b/NuGet/pybuild/profiles/GtkSharp.py index 87c121afb..5b3660800 100644 --- a/NuGet/pybuild/profiles/GtkSharp.py +++ b/NuGet/pybuild/profiles/GtkSharp.py @@ -68,5 +68,6 @@ def copy(self): dll_list = ['atk', 'cairo', 'gdk', 'gio', 'glib', 'gtk', 'pango'] for item in dll_list: shutil.copy(join(self.SrcDir, item, item + "-sharp.dll"), net45_lib_dir) + shutil.copy(join(self.SrcDir, item, item + "-sharp.pdb"), net45_lib_dir) if item != 'cairo': shutil.copy(join(self.SrcDir, item, item + '-sharp.dll.config'), net45_build_dir) From 87d4d29dfd18b22f58a582da33d6fa5052dab469 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Thu, 24 Aug 2017 10:20:05 -0300 Subject: [PATCH 62/66] Some fixes to support updated gstreamer-sharp (#29) * parameters: Ignore UserData arguments to compute if has_optional Those are never present in the prototypes and thus should not be taken into account to see if prototype alternative has to be implemented. * Fix generation of interface properties * generator: Enhance the way we check if a field is padding First check that fields are private to see if a field is padding, in GstVideo we have public field staring with padding (VideoAlignment.padding_top/bottomg/left/right) and thus need to be taken into account to compare structures. Also add a way for user to specify that the field is padding with the new `is-padding` attribute. In GStreamer padding fields usually look like __gst_reservedX, meaning that they go unnoticed by previous code. --- generator/Parameters.cs | 2 +- generator/Property.cs | 4 ++++ generator/StructField.cs | 6 +++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/generator/Parameters.cs b/generator/Parameters.cs index 9ebecea17..1b0544d5f 100644 --- a/generator/Parameters.cs +++ b/generator/Parameters.cs @@ -206,7 +206,7 @@ public bool Validate (LogWriter log) return false; } - if (p.IsOptional && p.PassAs == String.Empty) + if (p.IsOptional && p.PassAs == String.Empty && p.IsUserData == false) has_optional = true; IGeneratable gen = p.Generatable; diff --git a/generator/Property.cs b/generator/Property.cs index 7e0e09549..5dd7cc74a 100644 --- a/generator/Property.cs +++ b/generator/Property.cs @@ -68,10 +68,14 @@ protected virtual string PropertyAttribute (string qpname) { } protected virtual string RawGetter (string qpname) { + if (container_type is InterfaceGen) + return "implementor.GetProperty (" + qpname + ")"; return "GetProperty (" + qpname + ")"; } protected virtual string RawSetter (string qpname) { + if (container_type is InterfaceGen) + return "implementor.SetProperty(" + qpname + ", val)"; return "SetProperty(" + qpname + ", val)"; } diff --git a/generator/StructField.cs b/generator/StructField.cs index 292d99814..78a15fb36 100644 --- a/generator/StructField.cs +++ b/generator/StructField.cs @@ -102,7 +102,11 @@ public string EqualityName { public bool IsPadding { get { - return (CName.StartsWith ("dummy") || CName.StartsWith ("padding")); + if (elem.GetAttributeAsBoolean ("is-padding")) + return elem.GetAttributeAsBoolean ("is-padding"); + + return (elem.GetAttribute ("access") == "private" && ( + CName.StartsWith ("dummy") || CName.StartsWith ("padding"))); } } From 4f388c6ef789154aa6f95a1a6ff19742ef40d79a Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Thu, 24 Aug 2017 10:21:41 -0300 Subject: [PATCH 63/66] Add meson build definitions (#30) --- .gitignore | 2 +- atk/generated/meson.build | 122 ++++ atk/meson.build | 33 + cairo/meson.build | 72 +++ gacutil_install.py | 15 + gdk/generated/meson.build | 220 +++++++ gdk/meson.build | 71 +++ generator/meson.build | 82 +++ gio/generated/generate_code.py | 83 +++ gio/generated/meson.build | 418 ++++++++++++ gio/gio-api.raw | 2 +- gio/meson.build | 36 ++ glib/meson.build | 98 +++ gtk/generated/meson.build | 1089 ++++++++++++++++++++++++++++++++ gtk/meson.build | 140 ++++ meson.build | 114 ++++ pango/generated/meson.build | 136 ++++ pango/meson.build | 67 ++ parser/meson.build | 26 + sample/GtkDemo/meson.build | 54 ++ 20 files changed, 2878 insertions(+), 2 deletions(-) create mode 100644 atk/generated/meson.build create mode 100644 atk/meson.build create mode 100644 cairo/meson.build create mode 100644 gacutil_install.py create mode 100644 gdk/generated/meson.build create mode 100644 gdk/meson.build create mode 100644 generator/meson.build create mode 100644 gio/generated/generate_code.py create mode 100644 gio/generated/meson.build create mode 100644 gio/meson.build create mode 100644 glib/meson.build create mode 100644 gtk/generated/meson.build create mode 100644 gtk/meson.build create mode 100644 meson.build create mode 100644 pango/generated/meson.build create mode 100644 pango/meson.build create mode 100644 parser/meson.build create mode 100644 sample/GtkDemo/meson.build diff --git a/.gitignore b/.gitignore index 0a4380a2b..0582bd33b 100644 --- a/.gitignore +++ b/.gitignore @@ -25,7 +25,7 @@ config.* configure depcomp doc/gtk-sharp-3-docs.* -generated +generated/*/*.cs generated.c generated-stamp install-sh diff --git a/atk/generated/meson.build b/atk/generated/meson.build new file mode 100644 index 000000000..8cc1ad5b1 --- /dev/null +++ b/atk/generated/meson.build @@ -0,0 +1,122 @@ +generated_sources = [ + 'Atk_ActionAdapter.cs', + 'Atk_AtkSharp.FocusHandlerNative.cs', + 'Atk_NoOpObjectFactory.cs', + 'Atk_TextRange.cs', + 'Atk_TextBoundary.cs', + 'Atk_GObjectAccessible.cs', + 'Atk_IText.cs', + 'Atk_AtkSharp.KeySnoopFuncNative.cs', + 'Atk_ChildrenChangedHandler.cs', + 'Atk_PropertyValues.cs', + 'Atk_RealStateSet.cs', + 'Atk_NoOpObject.cs', + 'Atk_Object.cs', + 'Atk_EventListener.cs', + 'Atk_Layer.cs', + 'Atk_IHyperlinkImpl.cs', + 'Atk_FocusTracker.cs', + 'Atk_Rectangle.cs', + 'Atk_Global.cs', + 'Atk_IValue.cs', + 'Atk_ImageAdapter.cs', + 'Atk_TextRectangle.cs', + 'Atk_KeySnoopFunc.cs', + 'Atk_WindowAdapter.cs', + 'Atk_ColumnDeletedHandler.cs', + 'Atk_Relation.cs', + 'Atk_RelationType.cs', + 'Atk_FocusHandler.cs', + 'Atk_RowDeletedHandler.cs', + 'Atk_StateSet.cs', + 'Atk_StreamableContentAdapter.cs', + 'Atk_StateType.cs', + 'Atk_Range.cs', + 'Atk_TextClipType.cs', + 'Atk_IImplementor.cs', + 'Atk_AtkSharp.EventListenerNative.cs', + 'Atk_ITable.cs', + 'Atk_LinkSelectedHandler.cs', + 'Atk_IDocument.cs', + 'Atk_TextAdapter.cs', + 'Atk_AtkSharp.PropertyChangeHandlerNative.cs', + 'Atk_ComponentAdapter.cs', + 'Atk_EditableTextAdapter.cs', + 'Atk_KeyEventType.cs', + 'Atk_TableAdapter.cs', + 'Atk_EventListenerInit.cs', + 'Atk_ImplementorAdapter.cs', + 'Atk_AtkSharp.FunctionNative.cs', + 'Atk_ISelection.cs', + 'Atk_Attribute.cs', + 'Atk_SelectionAdapter.cs', + 'Atk_TextChangedHandler.cs', + 'Atk_FocusEventHandler.cs', + 'Atk_TextCaretMovedHandler.cs', + 'Atk_Role.cs', + 'Atk_BoundsChangedHandler.cs', + 'Atk_ColumnInsertedHandler.cs', + 'Atk_IWindow.cs', + 'Atk_TextInsertHandler.cs', + 'Atk_PropertyChangeEventHandler.cs', + 'Atk_ValueChangedHandler.cs', + 'Atk_RelationSet.cs', + 'Atk_TextGranularity.cs', + 'Atk_Registry.cs', + 'Atk_HyperlinkImplAdapter.cs', + 'Atk_UtilListenerInfo.cs', + 'Atk_Socket.cs', + 'Atk_IEditableText.cs', + 'Atk_ITableCell.cs', + 'Atk_CoordType.cs', + 'Atk_TableCellAdapter.cs', + 'Atk_ValueType.cs', + 'Atk_TextAttribute.cs', + 'Atk_AtkSharp.EventListenerInitNative.cs', + 'Atk_ValueAdapter.cs', + 'Atk_Plug.cs', + 'Atk_StateChangeHandler.cs', + 'Atk_KeyEventStruct.cs', + 'Atk_Function.cs', + 'Atk_Misc.cs', + 'Atk_PageChangedHandler.cs', + 'Atk_IStreamableContent.cs', + 'Atk_DocumentAdapter.cs', + 'Atk_RowInsertedHandler.cs', + 'Atk_IImage.cs', + 'Atk_StateManager.cs', + 'Atk_Focus.cs', + 'Atk_HyperlinkStateFlags.cs', + 'Atk_Util.cs', + 'Atk_ObjectFactory.cs', + 'Atk_HypertextAdapter.cs', + 'Atk_Hyperlink.cs', + 'Atk_ActiveDescendantChangedHandler.cs', + 'Atk_IHypertext.cs', + 'Atk_IComponent.cs', + 'Atk_TextRemoveHandler.cs', + 'Atk_PropertyChangeHandler.cs', + 'Atk_IAction.cs', +] + +source_gen = custom_target('atk_generated', + command: [ + generate_api, + '--api-raw', raw_api_fname, + '--gapi-fixup', gapi_fixup.full_path(), + '--metadata', metadata_fname, + '--gapi-codegen', gapi_codegen.full_path(), + '--extra-includes', glib_api_includes, + '--glue-file', gluefile, + '--glue-includes', glueincludes, + '--out', meson.current_build_dir(), + '--files', ';'.join(generated_sources), + '--assembly-name', meson.project_name() + ], + depends: [gapi_codegen, gapi_fixup], + input: raw_api_fname, + output: generated_sources, +) + +atk_api_includes = join_paths(meson.current_build_dir(), 'atk-api.xml') + diff --git a/atk/meson.build b/atk/meson.build new file mode 100644 index 000000000..c9b72287d --- /dev/null +++ b/atk/meson.build @@ -0,0 +1,33 @@ +snk = join_paths(meson.current_source_dir(), '..', 'gtk-sharp.snk') +assembly_name = 'atk-sharp' + +raw_api_fname = join_paths(meson.current_source_dir(), 'atk-api.raw') +metadata_fname = join_paths(meson.current_source_dir(), 'Atk.metadata') +glueincludes = 'atk/atk.h' +gluefile = join_paths(meson.current_build_dir(), 'generate.c') + +configure_file(input: assembly_name + '.dll.config.in', + output: assembly_name + '.dll.config', + configuration : remap_dl_data) + +subdir('generated') + +sources = [ + 'Global.cs', + 'Hyperlink.cs', + 'Misc.cs', + 'Object.cs', + 'SelectionAdapter.cs', + 'TextAdapter.cs', + 'TextChangedDetail.cs', + 'Util.cs', +] + +atk_sharp = library(assembly_name, source_gen, sources, + cs_args: ['-unsafe', '-keyfile:' + snk], + link_with: glib_sharp, +) + +install_infos += [assembly_name, atk_sharp.full_path()] +atk_sharp_dep = declare_dependency(link_with: atk_sharp) + diff --git a/cairo/meson.build b/cairo/meson.build new file mode 100644 index 000000000..4c1a2f08d --- /dev/null +++ b/cairo/meson.build @@ -0,0 +1,72 @@ +snk = join_paths(meson.current_source_dir(), 'mono.snk') +assembly_name = 'cairo-sharp' + +raw_api_fname = join_paths(meson.current_source_dir(), 'cairo-api.raw') +metadata_fname = join_paths(meson.current_source_dir(), 'cairo.metadata') +glueincludes = '' +gluefile = join_paths(meson.current_build_dir(), 'generate.c') + +sources = [ + 'Antialias.cs', + 'Cairo.cs', + 'CairoDebug.cs', + 'Color.cs', + 'Content.cs', + 'Context.cs', + 'Device.cs', + 'DirectFBSurface.cs', + 'Distance.cs', + 'Extend.cs', + 'FillRule.cs', + 'Filter.cs', + 'FontExtents.cs', + 'FontFace.cs', + 'FontOptions.cs', + 'FontSlant.cs', + 'FontType.cs', + 'FontWeight.cs', + 'Format.cs', + 'GlitzSurface.cs', + 'Glyph.cs', + 'Gradient.cs', + 'HintMetrics.cs', + 'HintStyle.cs', + 'ImageSurface.cs', + 'LinearGradient.cs', + 'LineCap.cs', + 'LineJoin.cs', + 'Matrix.cs', + 'NativeMethods.cs', + 'Operator.cs', + 'Path.cs', + 'Pattern.cs', + 'PatternType.cs', + 'PdfSurface.cs', + 'Point.cs', + 'PointD.cs', + 'PSSurface.cs', + 'RadialGradient.cs', + 'Rectangle.cs', + 'Region.cs', + 'ScaledFont.cs', + 'SolidPattern.cs', + 'Status.cs', + 'SubpixelOrder.cs', + 'Surface.cs', + 'SurfacePattern.cs', + 'SurfaceType.cs', + 'SvgSurface.cs', + 'SvgVersion.cs', + 'TextExtents.cs', + 'Win32Surface.cs', + 'XcbSurface.cs', + 'XlibSurface.cs', +] + +cairo_sharp = library(assembly_name, sources, + cs_args: ['-keyfile:' + snk], +) + +install_infos += [assembly_name, cairo_sharp.full_path()] +cairo_sharp_dep = declare_dependency(link_with: cairo_sharp) +cairo_api_includes = join_paths(meson.current_source_dir(), 'cairo-api.xml') diff --git a/gacutil_install.py b/gacutil_install.py new file mode 100644 index 000000000..48ef320b2 --- /dev/null +++ b/gacutil_install.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python3 + +import os +import sys +import subprocess + +outdir = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], 'lib') +builddir = os.environ['MESON_BUILD_ROOT'] + +for i in range(1, len(sys.argv), 2): + assembly_name, fname = sys.argv[i], os.path.join(builddir, sys.argv[i + 1]) + + cmd = ['gacutil', '/i', fname, '/f', '/package', assembly_name, '/root', outdir] + print('(%s) Running %s' % (os.path.abspath(os.path.curdir), ' '.join(cmd))) + subprocess.check_call(cmd) diff --git a/gdk/generated/meson.build b/gdk/generated/meson.build new file mode 100644 index 000000000..89956fab3 --- /dev/null +++ b/gdk/generated/meson.build @@ -0,0 +1,220 @@ +generated_sources = [ + 'Gdk_Pixbuf.cs', + 'Gdk_GdkSharp.FilterFuncNative.cs', + 'Gdk_GdkSharp.EventFuncNative.cs', + 'Gdk_FilterFunc.cs', + 'Gdk_EventFunc.cs', + 'Gdk_ActionChangedHandler.cs', + 'Gdk_PixbufBufferQueue.cs', + 'Gdk_ByteOrder.cs', + 'Gdk_Error.cs', + 'Gdk_EventMask.cs', + 'Gdk_FilterReturn.cs', + 'Gdk_PixbufAniAnimIter.cs', + 'Gdk_WindowPaint.cs', + 'Gdk_ThreadsDispatch.cs', + 'Gdk_EventHelper.cs', + 'Gdk_DevicePadAdapter.cs', + 'Gdk_Monitor.cs', + 'Gdk_GLError.cs', + 'Gdk_EventFilter.cs', + 'Gdk_Cursor.cs', + 'Gdk_Events.cs', + 'Gdk_Gravity.cs', + 'Gdk_Backend.cs', + 'Gdk_FrameClockPhase.cs', + 'Gdk_Gif89.cs', + 'Gdk_OffscreenWindowClass.cs', + 'Gdk_AxisUse.cs', + 'Gdk_Global.cs', + 'Gdk_SeatCapabilities.cs', + 'Gdk_ArgContext.cs', + 'Gdk_DeviceToolType.cs', + 'Gdk_IOClosure.cs', + 'Gdk_WindowChildFunc.cs', + 'Gdk_Selection.cs', + 'Gdk_WindowType.cs', + 'Gdk_GLContext.cs', + 'Gdk_AreaUpdatedHandler.cs', + 'Gdk_ToolChangedHandler.cs', + 'Gdk_Drag.cs', + 'Gdk_GrabStatus.cs', + 'Gdk_CursorType.cs', + 'Gdk_PixbufFrameAction.cs', + 'Gdk_DeviceAddedHandler.cs', + 'Gdk_Color.cs', + 'Gdk_EventTouchpadPinch.cs', + 'Gdk_FrameClock.cs', + 'Gdk_DropPerformedHandler.cs', + 'Gdk_SeatRemovedHandler.cs', + 'Gdk_PixbufGifAnimIter.cs', + 'Gdk_MonitorAddedHandler.cs', + 'Gdk_WindowWindowClass.cs', + 'Gdk_PixbufGifAnim.cs', + 'Gdk_PixbufScaledAnimIter.cs', + 'Gdk_WMFunction.cs', + 'Gdk_PickEmbeddedChildHandler.cs', + 'Gdk_PropertyState.cs', + 'Gdk_Atom.cs', + 'Gdk_TiffContext.cs', + 'Gdk_MonitorRemovedHandler.cs', + 'Gdk_TimeCoord.cs', + 'Gdk_PixbufAlphaMode.cs', + 'Gdk_IcnsBlockHeader.cs', + 'Gdk_PixbufAnimation.cs', + 'Gdk_PixbufRotation.cs', + 'Gdk_PixbufFormat.cs', + 'Gdk_PixdataDumpType.cs', + 'Gdk_Window.cs', + 'Gdk_TGAContext.cs', + 'Gdk_SeatDefault.cs', + 'Gdk_WindowTypeHint.cs', + 'Gdk_Pixdata.cs', + 'Gdk_Pointer.cs', + 'Gdk_Screen.cs', + 'Gdk_DeviceChangedHandler.cs', + 'Gdk_PangoHelper.cs', + 'Gdk_GlobalErrorTrap.cs', + 'Gdk_ToEmbedderHandler.cs', + 'Gdk_XPMContext.cs', + 'Gdk_EventPadAxis.cs', + 'Gdk_Colorspace.cs', + 'Gdk_Predicate.cs', + 'Gdk_Seat.cs', + 'Gdk_InterpType.cs', + 'Gdk_TGAHeader.cs', + 'Gdk_PixdataType.cs', + 'Gdk_PixbufLoader.cs', + 'Gdk_MovedToRectHandler.cs', + 'Gdk_SizePreparedHandler.cs', + 'Gdk_LoadContext.cs', + 'Gdk_IconEntry.cs', + 'Gdk_SettingAction.cs', + 'Gdk_CrossingMode.cs', + 'Gdk_Property.cs', + 'Gdk_DragContext.cs', + 'Gdk_FrameTimings.cs', + 'Gdk_SeatGrabPrepareFunc.cs', + 'Gdk_ArgDesc.cs', + 'Gdk_ModifierIntent.cs', + 'Gdk_OffscreenWindow.cs', + 'Gdk_Keyval.cs', + 'Gdk_DragAction.cs', + 'Gdk_PixbufAnimationIter.cs', + 'Gdk_VisibilityState.cs', + 'Gdk_PixbufNonAnimIterClass.cs', + 'Gdk_NotifyType.cs', + 'Gdk_Keymap.cs', + 'Gdk_DisplayManager.cs', + 'Gdk_DeviceRemovedHandler.cs', + 'Gdk_CairoHelper.cs', + 'Gdk_PixbufNonAnimIter.cs', + 'Gdk_IDevicePad.cs', + 'Gdk_VisualType.cs', + 'Gdk_FullscreenMode.cs', + 'Gdk_Threads.cs', + 'Gdk_GifContext.cs', + 'Gdk_DeviceTool.cs', + 'Gdk_KeymapKey.cs', + 'Gdk_PixbufError.cs', + 'Gdk_Display.cs', + 'Gdk_ClosedHandler.cs', + 'Gdk_EventPadButton.cs', + 'Gdk_DeviceManager.cs', + 'Gdk_Device.cs', + 'Gdk_Visual.cs', + 'Gdk_PixbufNonAnim.cs', + 'Gdk_EventTouchpadSwipe.cs', + 'Gdk_DragProtocol.cs', + 'Gdk_PixbufSaveFunc.cs', + 'Gdk_InputMode.cs', + 'Gdk_DevicePadFeature.cs', + 'Gdk_WindowHints.cs', + 'Gdk_PixbufSimpleAnimIterClass.cs', + 'Gdk_AppLaunchContext.cs', + 'Gdk_ModifierType.cs', + 'Gdk_TGAFooter.cs', + 'Gdk_GdkSharp.PixbufDestroyNotifyNative.cs', + 'Gdk_WindowAttributesType.cs', + 'Gdk_DragCancelReason.cs', + 'Gdk_FrameClockIdle.cs', + 'Gdk_InputSource.cs', + 'Gdk_Status.cs', + 'Gdk_PixbufSimpleAnimIter.cs', + 'Gdk_AxisFlags.cs', + 'Gdk_PropMode.cs', + 'Gdk_PixbufScaledAnimIterClass.cs', + 'Gdk_DisplayOpenedHandler.cs', + 'Gdk_Geometry.cs', + 'Gdk_DeviceType.cs', + 'Gdk_WindowEdge.cs', + 'Gdk_WMDecoration.cs', + 'Gdk_WindowRedirect.cs', + 'Gdk_WindowAttr.cs', + 'Gdk_Keyboard.cs', + 'Gdk_EventPadGroupMode.cs', + 'Gdk_GdipContext.cs', + 'Gdk_PixbufDestroyNotify.cs', + 'Gdk_CancelHandler.cs', + 'Gdk_DrawingContext.cs', + 'Gdk_Point.cs', + 'Gdk_TGAColor.cs', + 'Gdk_TGAColormap.cs', + 'Gdk_AnchorHints.cs', + 'Gdk_PixbufSimpleAnim.cs', + 'Gdk_EventSequence.cs', + 'Gdk_GdkSharp.WindowChildFuncNative.cs', + 'Gdk_GdkSharp.PixbufSaveFuncNative.cs', + 'Gdk_Drop.cs', + 'Gdk_ClientFilter.cs', + 'Gdk_SubpixelLayout.cs', + 'Gdk_EventType.cs', + 'Gdk_TouchpadGesturePhase.cs', + 'Gdk_GrabOwnership.cs', + 'Gdk_RGBA.cs', + 'Gdk_PixbufNonAnimClass.cs', + 'Gdk_SeatDefaultClass.cs', + 'Gdk_WindowState.cs', + 'Gdk_SeatAddedHandler.cs', + 'Gdk_PixbufFrame.cs', + 'Gdk_GdkSharp.SeatGrabPrepareFuncNative.cs', + 'Gdk_AxisInfo.cs', + 'Gdk_ScrollDirection.cs', + 'Gdk_FromEmbedderHandler.cs', + 'Gdk_EventTouch.cs', + 'Gdk_XBMData.cs', + 'Gdk_OwnerChange.cs', + 'Gdk_PixbufAniAnim.cs', + 'Gdk_CreateSurfaceHandler.cs', + 'Gdk_GdkSharp.WindowInvalidateHandlerFuncNative.cs', + 'Gdk_WindowInvalidateHandlerFunc.cs', + 'GLib_GLibSharp.AsyncReadyCallbackNative.cs', + 'GLib_GLibSharp.GSourceFuncNative.cs', +] + +source_gen = [] +source_gen += [custom_target(assembly_name + 'codegen', + input: raw_api_fname, + output: generated_sources, + command: [ + generate_api, + '--api-raw', '@INPUT@', + '--gapi-fixup', gapi_fixup.full_path(), + '--metadata', metadata_fname, + '--symbols', symbols, + '--gapi-codegen', gapi_codegen.full_path(), + '--extra-includes', glib_api_includes, + '--extra-includes', pango_api_includes, + '--extra-includes', gio_api_includes, + '--extra-includes', cairo_api_includes, + '--glue-file', gluefile, + '--glue-includes', glueincludes, + '--out', meson.current_build_dir(), + '--files', ';'.join(generated_sources), + '--assembly-name', assembly_name, + '--glue-libname', gluefile, + '--schema', schema, + ], + depends: [gapi_codegen, gapi_fixup])] + +gdk_api_includes = join_paths(meson.current_build_dir(), 'gdk-api.xml') diff --git a/gdk/meson.build b/gdk/meson.build new file mode 100644 index 000000000..16eb4dd48 --- /dev/null +++ b/gdk/meson.build @@ -0,0 +1,71 @@ +snk = join_paths(meson.current_source_dir(), '..', 'gtk-sharp.snk') +assembly_name = 'gdk-sharp' +symbols = join_paths(meson.current_source_dir(), 'gdk-symbols.xml') + +raw_api_fname = join_paths(meson.current_source_dir(), 'gdk-api.raw') +metadata_fname = join_paths(meson.current_source_dir(), 'Gdk.metadata') +glueincludes = 'gdk/gdk.h' +gluefile = join_paths(meson.current_build_dir(), 'generate.c') + +configure_file(input: assembly_name + '.dll.config.in', + output: assembly_name + '.dll.config', + configuration : remap_dl_data) + +configure_file(input: assembly_name + '-3.0.pc.in', + output: assembly_name + '-3.0.pc', + configuration : version_data) + +subdir('generated') + +sources = [ + 'Atom.cs', + 'Color.cs', + 'Device.cs', + 'Display.cs', + 'DisplayManager.cs', + 'EventButton.cs', + 'EventConfigure.cs', + 'EventCrossing.cs', + 'Event.cs', + 'EventDND.cs', + 'EventExpose.cs', + 'EventFocus.cs', + 'EventGrabBroken.cs', + 'EventKey.cs', + 'EventMotion.cs', + 'EventOwnerChange.cs', + 'EventProperty.cs', + 'EventProximity.cs', + 'EventScroll.cs', + 'EventSelection.cs', + 'EventSetting.cs', + 'EventVisibility.cs', + 'EventWindowState.cs', + 'Global.cs', + 'Key.cs', + 'Keymap.cs', + 'Pixbuf.cs', + 'PixbufAnimation.cs', + 'PixbufFrame.cs', + 'PixbufLoader.cs', + 'Pixdata.cs', + 'Point.cs', + 'Property.cs', + 'Rectangle.cs', + 'RGBA.cs', + 'Screen.cs', + 'Selection.cs', + 'Size.cs', + 'TextProperty.cs', + 'WindowAttr.cs', + 'Window.cs', +] + +gdk_sharp = library(assembly_name, source_gen, sources, + cs_args: ['-unsafe', '-keyfile:' + snk], + link_with: [glib_sharp, pango_sharp, cairo_sharp, gio_sharp], +) + +install_infos += [assembly_name, gdk_sharp.full_path()] +gdk_sharp_dep = declare_dependency(link_with: gdk_sharp) + diff --git a/generator/meson.build b/generator/meson.build new file mode 100644 index 000000000..b0c5987cd --- /dev/null +++ b/generator/meson.build @@ -0,0 +1,82 @@ +gapi_fixup = executable('gapi-fixup', 'gapi-fixup.cs', + install_dir : gapi_installdir, + install: true) + +configure_file(input: 'gapi3-fixup.in', + output: 'gapi3-fixup', + configuration : gapi_parser_data, + install_dir: get_option('bindir'), + install: true) + + +gapi_codegen = executable('gapi_codegen', + 'AliasGen.cs', + 'ArrayParameter.cs', + 'BoxedGen.cs', + 'ByRefGen.cs', + 'CallbackGen.cs', + 'ChildProperty.cs', + 'ClassBase.cs', + 'ClassField.cs', + 'ClassGen.cs', + 'CodeGenerator.cs', + 'ConstFilenameGen.cs', + 'ConstStringGen.cs', + 'Constant.cs', + 'Ctor.cs', + 'DefaultSignalHandler.cs', + 'EnumGen.cs', + 'FieldBase.cs', + 'GenBase.cs', + 'GenerationInfo.cs', + 'GObjectVM.cs', + 'HandleBase.cs', + 'IAccessor.cs', + 'IGeneratable.cs', + 'IManualMarshaler.cs', + 'InterfaceGen.cs', + 'InterfaceVM.cs', + 'IOwnable.cs', + 'LogWriter.cs', + 'LPGen.cs', + 'LPUGen.cs', + 'ManagedCallString.cs', + 'ManualGen.cs', + 'MarshalGen.cs', + 'MethodBase.cs', + 'MethodBody.cs', + 'Method.cs', + 'NativeStructGen.cs', + 'ObjectField.cs', + 'ObjectBase.cs', + 'ObjectGen.cs', + 'OpaqueGen.cs', + 'Options.cs', + 'OwnableGen.cs', + 'Parameter.cs', + 'Parameters.cs', + 'Parser.cs', + 'Property.cs', + 'PropertyBase.cs', + 'ReturnValue.cs', + 'Signal.cs', + 'Signature.cs', + 'SimpleBase.cs', + 'SimpleGen.cs', + 'Statistics.cs', + 'StructBase.cs', + 'StructField.cs', + 'StructGen.cs', + 'SymbolTable.cs', + 'UnionGen.cs', + 'VirtualMethod.cs', + 'VMSignature.cs', + 'XmlElementExtensions.cs', + install_dir : gapi_installdir, + install: true) + +configure_file(input: 'gapi3-codegen.in', + output: 'gapi3-codegen', + configuration : gapi_parser_data, + install_dir: get_option('bindir'), + install: true) diff --git a/gio/generated/generate_code.py b/gio/generated/generate_code.py new file mode 100644 index 000000000..f49d8dc99 --- /dev/null +++ b/gio/generated/generate_code.py @@ -0,0 +1,83 @@ +#!/usr/bin/env python3 + +import argparse +import glob +import os +import re +import shutil +import subprocess + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--api-raw") + parser.add_argument("--gapi-fixup") + parser.add_argument("--metadata") + parser.add_argument("--gapi-codegen") + parser.add_argument("--glue-file") + parser.add_argument("--glue-includes") + parser.add_argument("--glue-libname") + parser.add_argument("--assembly-name") + parser.add_argument("--extra-includes", action='append', default=[]) + parser.add_argument("--out") + parser.add_argument("--files") + parser.add_argument("--symbols") + parser.add_argument("--schema") + parser.add_argument("--fakeglue", action='store_true') + + opts = parser.parse_args() + if opts.fakeglue: + exit(0) + + if not opts.glue_libname: + opts.glue_libname = opts.assembly_name + 'sharpglue-3' + + api_xml = os.path.join(opts.out, os.path.basename( + opts.api_raw).replace('.raw', '.xml')) + + shutil.copyfile(opts.api_raw, api_xml) + + cmd = [opts.gapi_fixup, "--api=" + api_xml, + "--metadata=" + opts.metadata] + if opts.symbols: + cmd.extend(['--symbols=' + opts.symbols]) + subprocess.check_call(cmd) + + cmd = [ + opts.gapi_codegen, '--generate', api_xml, + '--outdir=' + opts.out, + '--glue-filename=' + opts.glue_file, + '--gluelib-name=' + opts.glue_libname, + '--glue-includes=' + opts.glue_includes, + '--assembly-name=' + opts.assembly_name,] + + if opts.schema: + cmd += ['--schema=' + opts.schema] + + cmd += ['-I' + i for i in opts.extra_includes] + + print(' '.join(cmd)) + subprocess.check_call(cmd) + + # WORKAROUND: Moving files into the out directory with special names + # as meson doesn't like path separator in output names. + regex = re.compile('_') + dirs = set() + for _f in opts.files.split(';'): + fpath = os.path.join(opts.out, regex.sub("/", _f, 1)) + dirs.add(os.path.dirname(fpath)) + _f = os.path.join(opts.out, _f) + shutil.move(fpath, _f) + + missing_files = [] + for _dir in dirs: + missing_files.extend(glob.glob(os.path.join(_dir, '*.cs'))) + + if missing_files: + print("Following files were generated but not listed:\n %s" % + '\n '.join(["'%s_%s'," % (m.split(os.path.sep)[-2], m.split(os.path.sep)[-1]) + for m in missing_files])) + exit(1) + + for _dir in dirs: + shutil.rmtree(_dir) diff --git a/gio/generated/meson.build b/gio/generated/meson.build new file mode 100644 index 000000000..53b615858 --- /dev/null +++ b/gio/generated/meson.build @@ -0,0 +1,418 @@ +generate_api = find_program('generate_code.py') + +generated_sources = [ + 'GLib_DBusServer.cs', + 'GLib_GLibSharp.AsyncReadyCallbackNative.cs', + 'GLib_DBusProxyFlags.cs', + 'GLib_GLibSharp.SettingsBindGetMappingNative.cs', + 'GLib_FileAttributeInfoFlags.cs', + 'GLib_SettingsBackendWatch.cs', + 'GLib_ResourceFileEnumerator.cs', + 'GLib_Credentials.cs', + 'GLib_AsyncResultAdapter.cs', + 'GLib_DBusError.cs', + 'GLib_DBusMessageFlags.cs', + 'GLib_FileType.cs', + 'GLib_FdoNotificationBackend.cs', + 'GLib_TlsDatabaseVerifyFlags.cs', + 'GLib_DBusMessageType.cs', + 'GLib_MenuItem.cs', + 'GLib_GLibSharp.FileProgressCallbackNative.cs', + 'GLib_DBusCallFlags.cs', + 'GLib_SocketClient.cs', + 'GLib_ZlibDecompressor.cs', + 'GLib_ActionMapAdapter.cs', + 'GLib_IOModuleScope.cs', + 'GLib_DBusSubtreeFlags.cs', + 'GLib_InputStream.cs', + 'GLib_SimpleProxyResolver.cs', + 'GLib_NetworkAddress.cs', + 'GLib_DBusObjectSkeleton.cs', + 'GLib_Socks4aProxy.cs', + 'GLib_SocketListener.cs', + 'GLib_FileDescriptorBasedAdapter.cs', + 'GLib_ActionRemovedHandler.cs', + 'GLib_Resource.cs', + 'GLib_SettingsBindFlags.cs', + 'GLib_SocketAddress.cs', + 'GLib_EmblemedIcon.cs', + 'GLib_AcceptCertificateHandler.cs', + 'GLib_MenuExporterLink.cs', + 'GLib_PropertyAction.cs', + 'GLib_TlsDatabase.cs', + 'GLib_DummyTlsCertificate.cs', + 'GLib_Socks5Proxy.cs', + 'GLib_IFileDescriptorBased.cs', + 'GLib_FileIOStream.cs', + 'GLib_DataOutputStream.cs', + 'GLib_SocketListenerEvent.cs', + 'GLib_IOSchedulerJob.cs', + 'GLib_MountRemovedHandler.cs', + 'GLib_IDatagramBased.cs', + 'GLib_IOExtension.cs', + 'GLib_AsyncInitableAdapter.cs', + 'GLib_DummyTlsConnection.cs', + 'GLib_ShowUnmountProgressHandler.cs', + 'GLib_DBusErrorEntry.cs', + 'GLib_DummyTlsCertificateClass.cs', + 'GLib_DBusAnnotationInfo.cs', + 'GLib_SocketService.cs', + 'GLib_LaunchedFailedHandler.cs', + 'GLib_ChangeEventHandler.cs', + 'GLib_MemoryBuffer.cs', + 'GLib_Win32RegistrySubkeyIter.cs', + 'GLib_FileMeasureProgressCallback.cs', + 'GLib_OutputMessage.cs', + 'GLib_DBusObject.cs', + 'GLib_DBusInterfaceSkeleton.cs', + 'GLib_ActionGroupAdapter.cs', + 'GLib_ISeekable.cs', + 'GLib_GLibSharp.PollableSourceFuncNative.cs', + 'GLib_ResourceFileInputStreamClass.cs', + 'GLib_GLibSharp.CancellableSourceFuncNative.cs', + 'GLib_NativeVolumeMonitor.cs', + 'GLib_DBusServerClass.cs', + 'GLib_DBusMenuPath.cs', + 'GLib_Win32WinsockFuncs.cs', + 'GLib_MenuExporterGroup.cs', + 'GLib_DBusPropertyInfoFlags.cs', + 'GLib_DriveDisconnectedHandler.cs', + 'GLib_UnixFDMessage.cs', + 'GLib_Win32RegistryValueIter.cs', + 'GLib_ResourceFileInputStream.cs', + 'GLib_DBusAuthObserverClass.cs', + 'GLib_ConverterAdapter.cs', + 'GLib_ShowProcessesHandler.cs', + 'GLib_ItemsChangedHandler.cs', + 'GLib_CancellableSourceFunc.cs', + 'GLib_FileProgressCallback.cs', + 'GLib_DBusSignalInfo.cs', + 'GLib_DriveStartFlags.cs', + 'GLib_CredentialsType.cs', + 'GLib_Menu.cs', + 'GLib_IOStream.cs', + 'GLib_DriveConnectedHandler.cs', + 'GLib_MenuModel.cs', + 'GLib_LocalFileEnumerator.cs', + 'GLib_ProxyAddressEnumerator.cs', + 'GLib_Win32RegistryKeyWatchCallbackFunc.cs', + 'GLib_MenuExporterWatch.cs', + 'GLib_Win32AppInfoApplication.cs', + 'GLib_FileInfo.cs', + 'GLib_ContentType.cs', + 'GLib_MountOperation.cs', + 'GLib_DriveAdapter.cs', + 'GLib_GLibSharp.SocketSourceFuncNative.cs', + 'GLib_BytesIcon.cs', + 'GLib_ThreadedSocketService.cs', + 'GLib_ThreadedResolver.cs', + 'GLib_SettingsGetMapping.cs', + 'GLib_WritableChangedHandler.cs', + 'GLib_TestDBus.cs', + 'GLib_FileMeasureFlags.cs', + 'GLib_IAsyncResult.cs', + 'GLib_DBusMethodInfo.cs', + 'GLib_TaskThreadFunc.cs', + 'GLib_IDrive.cs', + 'GLib_SettingsBackendClosure.cs', + 'GLib_DBusArgInfo.cs', + 'GLib_DBusSendMessageFlags.cs', + 'GLib_DBusObjectManagerClientFlags.cs', + 'GLib_TlsCertificateFlags.cs', + 'GLib_IAppInfo.cs', + 'GLib_UnixFDList.cs', + 'GLib_ITlsServerConnection.cs', + 'GLib_SocketType.cs', + 'GLib_TlsDatabaseLookupFlags.cs', + 'GLib_Application.cs', + 'GLib_DBusInterface.cs', + 'GLib_HttpsProxy.cs', + 'GLib_OutputStream.cs', + 'GLib_TlsConnection.cs', + 'GLib_DBusMessageClass.cs', + 'GLib_ThemedIcon.cs', + 'GLib_IOErrorEnum.cs', + 'GLib_DBusServerFlags.cs', + 'GLib_TcpWrapperConnection.cs', + 'GLib_BusNameWatcherFlags.cs', + 'GLib_GLibSharp.IOSchedulerJobFuncNative.cs', + 'GLib_SocketProtocol.cs', + 'GLib_DummyTlsDatabase.cs', + 'GLib_TlsFileDatabase.cs', + 'GLib_SeekableAdapter.cs', + 'GLib_NetworkMonitor.cs', + 'GLib_DtlsServerConnection.cs', + 'GLib_SocketAddressEnumerator.cs', + 'GLib_CommandLineHandler.cs', + 'GLib_CocoaNotificationBackend.cs', + 'GLib_ConverterResult.cs', + 'GLib_TlsCertificateRequestFlags.cs', + 'GLib_MenuAttributeIter.cs', + 'GLib_IOError.cs', + 'GLib_TlsServerConnectionAdapter.cs', + 'GLib_SocketFamily.cs', + 'GLib_RunHandler.cs', + 'GLib_Win32AppInfoURLSchema.cs', + 'GLib_DBusObjectManager.cs', + 'GLib_MountAddedHandler.cs', + 'GLib_AskPasswordFlags.cs', + 'GLib_LocalFileIOStream.cs', + 'GLib_FileMonitorEvent.cs', + 'GLib_NativeSocketAddress.cs', + 'GLib_FileReadMoreCallback.cs', + 'GLib_EmblemOrigin.cs', + 'GLib_IOModule.cs', + 'GLib_VolumeAdapter.cs', + 'GLib_Subprocess.cs', + 'GLib_PortalNotificationBackend.cs', + 'GLib_OutputVector.cs', + 'GLib_SocketMsgFlags.cs', + 'GLib_LoadableIconAdapter.cs', + 'GLib_DataStreamNewlineType.cs', + 'GLib_VolumeChangedHandler.cs', + 'GLib_AskPasswordHandler.cs', + 'GLib_SubprocessFlags.cs', + 'GLib_FileAttributeInfo.cs', + 'GLib_BufferedInputStream.cs', + 'GLib_GLibSharp.SpawnChildSetupFuncNative.cs', + 'GLib_VolumeMonitor.cs', + 'GLib_DBusMethodInvocationClass.cs', + 'GLib_MenuLinkIter.cs', + 'GLib_ReplyHandler.cs', + 'GLib_PasswordSave.cs', + 'GLib_DBusInterfaceInfo.cs', + 'GLib_ResolverRecordType.cs', + 'GLib_Win32AppInfoFileExtensionClass.cs', + 'GLib_MountMountFlags.cs', + 'GLib_FilesystemPreviewType.cs', + 'GLib_DatagramBasedAdapter.cs', + 'GLib_ChangedHandler.cs', + 'GLib_TlsError.cs', + 'GLib_TlsCertificate.cs', + 'GLib_Resolver.cs', + 'GLib_SocketControlMessage.cs', + 'GLib_DataInputStream.cs', + 'GLib_MountAdapter.cs', + 'GLib_SocketConnection.cs', + 'GLib_DummyDtlsConnection.cs', + 'GLib_DBusInterfaceSkeletonFlags.cs', + 'GLib_IAsyncInitable.cs', + 'GLib_SimpleAsyncThreadFunc.cs', + 'GLib_TlsInteractionResult.cs', + 'GLib_InitableAdapter.cs', + 'GLib_DBusObjectManagerServer.cs', + 'GLib_UnixConnection.cs', + 'GLib_TlsPasswordFlags.cs', + 'GLib_ActionEnabledChangedHandler.cs', + 'GLib_GLibSharp.ReallocFuncNative.cs', + 'GLib_Win32AppInfoFileExtension.cs', + 'GLib_ZlibCompressorFormat.cs', + 'GLib_UnixSocketAddressType.cs', + 'GLib_InetAddressMask.cs', + 'GLib_MenuExporter.cs', + 'GLib_BusType.cs', + 'GLib_EventHandler.cs', + 'GLib_Win32AppInfoHandlerClass.cs', + 'GLib_TlsRehandshakeMode.cs', + 'GLib_FileIcon.cs', + 'GLib_SettingsBackend.cs', + 'GLib_ITlsClientConnection.cs', + 'GLib_ResourceFileEnumeratorClass.cs', + 'GLib_ResourceFlags.cs', + 'GLib_DBusObjectManagerClient.cs', + 'GLib_Socks4Proxy.cs', + 'GLib_DBusMessageByteOrder.cs', + 'GLib_SrvTarget.cs', + 'GLib_CharsetConverter.cs', + 'GLib_DriveStopButtonHandler.cs', + 'GLib_Emblem.cs', + 'GLib_DummyTlsConnectionClass.cs', + 'GLib_WritableChangeEventHandler.cs', + 'GLib_DummyDtlsConnectionClass.cs', + 'GLib_GtkNotificationBackend.cs', + 'GLib_FileMonitor.cs', + 'GLib_AppInfoMonitor.cs', + 'GLib_IOStreamSpliceFlags.cs', + 'GLib_FileInputStream.cs', + 'GLib_DBusSubtreeVTable.cs', + 'GLib_InputVector.cs', + 'GLib_DtlsClientConnection.cs', + 'GLib_ActionAddedHandler.cs', + 'GLib_GLibSharp.TaskThreadFuncNative.cs', + 'GLib_AppInfoCreateFlags.cs', + 'GLib_TlsInteraction.cs', + 'GLib_ReallocFunc.cs', + 'GLib_UnixCredentialsMessage.cs', + 'GLib_ResolverError.cs', + 'GLib_Settings.cs', + 'GLib_GLibSharp.SettingsBindSetMappingNative.cs', + 'GLib_IConverter.cs', + 'GLib_DBusMessage.cs', + 'GLib_SettingsBindGetMapping.cs', + 'GLib_MountUnmountFlags.cs', + 'GLib_IOSchedulerJobFunc.cs', + 'GLib_SimpleIOStream.cs', + 'GLib_IconAdapter.cs', + 'GLib_DBusConnectionFlags.cs', + 'GLib_SocketSourceFunc.cs', + 'GLib_GLibSharp.FileMeasureProgressCallbackNative.cs', + 'GLib_TestDBusClass.cs', + 'GLib_FileEnumerator.cs', + 'GLib_AppLaunchContext.cs', + 'GLib_Task.cs', + 'GLib_DBusProxy.cs', + 'GLib_ProxyResolverAdapter.cs', + 'GLib_DBusActionGroup.cs', + 'GLib_SettingsBindSetMapping.cs', + 'GLib_DriveChangedHandler.cs', + 'GLib_FileCreateFlags.cs', + 'GLib_PollableInputStream.cs', + 'GLib_ResourceError.cs', + 'GLib_MenuExporterRemote.cs', + 'GLib_ExportedSubtree.cs', + 'GLib_ApplicationFlags.cs', + 'GLib_ProxyResolverPortal.cs', + 'GLib_GioGlobal.cs', + 'GLib_GLibSharp.SimpleAsyncThreadFuncNative.cs', + 'GLib_DBusConnection.cs', + 'GLib_Socket.cs', + 'GLib_TlsClientConnectionAdapter.cs', + 'GLib_GLibSharp.Win32RegistryKeyWatchCallbackFuncNative.cs', + 'GLib_Win32AppInfoURLSchemaClass.cs', + 'GLib_IIcon.cs', + 'GLib_MountOperationResult.cs', + 'GLib_VolumeRemovedHandler.cs', + 'GLib_ProxyAdapter.cs', + 'GLib_SubprocessLauncher.cs', + 'GLib_ResourceLookupFlags.cs', + 'GLib_InetAddress.cs', + 'GLib_SimpleActionGroup.cs', + 'GLib_FileAttributeMatcher.cs', + 'GLib_NetworkConnectivity.cs', + 'GLib_ConverterFlags.cs', + 'GLib_DBusMessageHeaderField.cs', + 'GLib_IVolume.cs', + 'GLib_FileAdapter.cs', + 'GLib_Notification.cs', + 'GLib_DBusProxyTypeFunc.cs', + 'GLib_IOExtensionPoint.cs', + 'GLib_TcpConnection.cs', + 'GLib_Win32AppInfoHandler.cs', + 'GLib_DummyProxyResolver.cs', + 'GLib_TlsPassword.cs', + 'GLib_DataStreamByteOrder.cs', + 'GLib_DBusPropertyInfo.cs', + 'GLib_ISocketConnectable.cs', + 'GLib_OpenedHandler.cs', + 'GLib_IProxyResolver.cs', + 'GLib_ActionStateChangedHandler.cs', + 'GLib_FilterOutputStream.cs', + 'GLib_SocketClientEvent.cs', + 'GLib_IOStreamAdapter.cs', + 'GLib_VfsFileLookupFunc.cs', + 'GLib_NotificationPriority.cs', + 'GLib_InputMessage.cs', + 'GLib_ApplicationCommandLine.cs', + 'GLib_Cancellable.cs', + 'GLib_DBusObjectProxy.cs', + 'GLib_DBusSignalFlags.cs', + 'GLib_InetSocketAddress.cs', + 'GLib_Win32RegistryValueType.cs', + 'GLib_SchemaState.cs', + 'GLib_DBusAuthObserver.cs', + 'GLib_Win32RegistryKeyWatcherFlags.cs', + 'GLib_IActionGroup.cs', + 'GLib_Win32AppInfoApplicationClass.cs', + 'GLib_DatagramBasedSourceFunc.cs', + 'GLib_PollableSourceFunc.cs', + 'GLib_GLibSharp.GSourceFuncNative.cs', + 'GLib_Pollable.cs', + 'GLib_ZlibCompressor.cs', + 'GLib_DtlsConnection.cs', + 'GLib_GLibSharp.DatagramBasedSourceFuncNative.cs', + 'GLib_ExportedObject.cs', + 'GLib_TestDBusFlags.cs', + 'GLib_MenuExporterMenu.cs', + 'GLib_BusNameOwnerFlags.cs', + 'GLib_DBusNodeInfo.cs', + 'GLib_GLibSharp.VfsFileLookupFuncNative.cs', + 'GLib_NetworkService.cs', + 'GLib_DBusMethodInvocation.cs', + 'GLib_FileMonitorFlags.cs', + 'GLib_DBusConnectionClass.cs', + 'GLib_DBusInterfaceVTable.cs', + 'GLib_IProxy.cs', + 'GLib_IActionMap.cs', + 'GLib_Resources.cs', + 'GLib_SimplePermission.cs', + 'GLib_IFile.cs', + 'GLib_LaunchedHandler.cs', + 'GLib_NextstepSettingsBackend.cs', + 'GLib_VolumeAddedHandler.cs', + 'GLib_OutputStreamSpliceFlags.cs', + 'GLib_BufferedOutputStream.cs', + 'GLib_PollableOutputStream.cs', + 'GLib_FileCopyFlags.cs', + 'GLib_AskQuestionHandler.cs', + 'GLib_SimpleAsyncResult.cs', + 'GLib_IMount.cs', + 'GLib_DBusMenuGroup.cs', + 'GLib_FilenameCompleter.cs', + 'GLib_IOModuleScopeFlags.cs', + 'GLib_Permission.cs', + 'GLib_MountChangedHandler.cs', + 'GLib_DriveEjectButtonHandler.cs', + 'GLib_DummyTlsDatabaseClass.cs', + 'GLib_ProxyAddress.cs', + 'GLib_FileAttributeStatus.cs', + 'GLib_IInitable.cs', + 'GLib_MessageToWriteData.cs', + 'GLib_FileOutputStream.cs', + 'GLib_GLibSharp.FileReadMoreCallbackNative.cs', + 'GLib_Vfs.cs', + 'GLib_FileAttributeInfoList.cs', + 'GLib_DriveStartStopType.cs', + 'GLib_ActionEntry.cs', + 'GLib_Win32RegistryKey.cs', + 'GLib_NotificationBackend.cs', + 'GLib_IncomingHandler.cs', + 'GLib_HttpProxy.cs', + 'GLib_MountPreUnmountHandler.cs', + 'GLib_SocketConnectableAdapter.cs', + 'GLib_SimpleAction.cs', + 'GLib_ActionAdapter.cs', + 'GLib_FileQueryInfoFlags.cs', + 'GLib_FilterInputStream.cs', + 'GLib_GLibSharp.SettingsGetMappingNative.cs', + 'GLib_ILoadableIcon.cs', + 'GLib_TlsAuthenticationMode.cs', + 'GLib_GLibSharp.DBusProxyTypeFuncNative.cs', + 'GLib_FileAttributeType.cs', + 'GLib_AsyncReadyCallback.cs', + 'GLib_DBusCapabilityFlags.cs', + 'GLib_AppInfoAdapter.cs', + 'GLib_RemoteActionGroup.cs', + 'GLib_IAction.cs', +] + +source_gen = custom_target('gio_generated', + command: [ + generate_api, + '--api-raw', raw_api_fname, + '--gapi-fixup', gapi_fixup.full_path(), + '--metadata', metadata_fname, + '--gapi-codegen', gapi_codegen.full_path(), + '--extra-includes', glib_api_includes, + '--glue-file', gluefile, + '--glue-includes', glueincludes, + '--out', meson.current_build_dir(), + '--files', ';'.join(generated_sources), + '--assembly-name', assembly_name, + '--schema', schema, + ], + depends: [gapi_codegen, gapi_fixup], + input: raw_api_fname, + output: generated_sources, +) + +gio_api_includes = join_paths(meson.current_build_dir(), 'gio-api.xml') diff --git a/gio/gio-api.raw b/gio/gio-api.raw index 7a7ee8663..27891c837 100644 --- a/gio/gio-api.raw +++ b/gio/gio-api.raw @@ -14261,4 +14261,4 @@ - \ No newline at end of file + diff --git a/gio/meson.build b/gio/meson.build new file mode 100644 index 000000000..01505c70d --- /dev/null +++ b/gio/meson.build @@ -0,0 +1,36 @@ +snk = join_paths(meson.current_source_dir(), '..', 'gtk-sharp.snk') +assembly_name = 'gio-sharp' + +raw_api_fname = join_paths(meson.current_source_dir(), 'gio-api.raw') +metadata_fname = join_paths(meson.current_source_dir(), 'Gio.metadata') +glueincludes = 'gio/gio.h' +gluefile = join_paths(meson.current_build_dir(), 'generate.c') + +configure_file(input: assembly_name + '.dll.config.in', + output: assembly_name + '.dll.config', + configuration : remap_dl_data) + +configure_file(input: assembly_name + '-3.0.pc.in', + output: assembly_name + '-3.0.pc', + configuration : version_data) + +subdir('generated') + +sources = [ + 'Application.cs', + 'AppInfoAdapter.cs', + 'FileAdapter.cs', + 'FileEnumerator.cs', + 'FileFactory.cs', + 'GioGlobal.cs', + 'GioStream.cs', + 'IFile.cs' +] + +gio_sharp = library(assembly_name, source_gen, sources, + cs_args: ['-unsafe', '-keyfile:' + snk], + link_with: glib_sharp, +) + +install_infos += [assembly_name, gio_sharp.full_path()] +gio_sharp_dep = declare_dependency(link_with: gio_sharp) diff --git a/glib/meson.build b/glib/meson.build new file mode 100644 index 000000000..1cae0f906 --- /dev/null +++ b/glib/meson.build @@ -0,0 +1,98 @@ +snk = join_paths(meson.current_source_dir(), '..', 'gtk-sharp.snk') +assembly_name = 'glib-sharp' + +configure_file(input: 'glib-sharp.dll.config.in', + output: 'glib-sharp.dll.config', + configuration : remap_dl_data) + +configure_file(input: 'glib-sharp-3.0.pc.in', + output: 'glib-sharp-3.0.pc', + configuration : version_data) + +policy_data = configuration_data() +policy_data.set('ASSEMBLY_NAME', assembly_name) +policy_data.set('API_VERSION', apiversion) + +policy = configure_file(input: policy_config, + output: 'policy.config', + configuration : policy_data) + +sources = [ + 'Argv.cs', + 'Bytes.cs', + 'ConnectBeforeAttribute.cs', + 'Cond.cs', + 'Date.cs', + 'DateTime.cs', + 'DefaultSignalHandlerAttribute.cs', + 'DestroyNotify.cs', + 'ExceptionManager.cs', + 'FileUtils.cs', + 'GException.cs', + 'GInterfaceAdapter.cs', + 'GInterfaceAttribute.cs', + 'GLibSynchronizationContext.cs', + 'Global.cs', + 'GString.cs', + 'GType.cs', + 'GTypeAttribute.cs', + 'Idle.cs', + 'InitiallyUnowned.cs', + 'IOChannel.cs', + 'IWrapper.cs', + 'KeyFile.cs', + 'ListBase.cs', + 'List.cs', + 'Log.cs', + 'MainContext.cs', + 'MainLoop.cs', + 'ManagedValue.cs', + 'Markup.cs', + 'Marshaller.cs', + 'MissingIntPtrCtorException.cs', + 'Mutex.cs', + 'NotifyHandler.cs', + 'Object.cs', + 'ObjectManager.cs', + 'Opaque.cs', + 'ParamSpec.cs', + 'PollFD.cs', + 'Priority.cs', + 'PropertyAttribute.cs', + 'PtrArray.cs', + 'RecMutex.cs', + 'Signal.cs', + 'SignalArgs.cs', + 'SignalAttribute.cs', + 'SignalClosure.cs', + 'SList.cs', + 'Source.cs', + 'SourceFunc.cs', + 'SourceFuncs.cs', + 'SourceDummyMarshal.cs', + 'GLibSharp.SourceFuncNative.cs', + 'GLibSharp.SourceDummyMarshalNative.cs', + 'SourceCallbackFuncs.cs', + 'Spawn.cs', + 'Thread.cs', + 'Timeout.cs', + 'TimeVal.cs', + 'TimeZone.cs', + 'ToggleRef.cs', + 'TypeFundamentals.cs', + 'TypeInitializerAttribute.cs', + 'TypeNameAttribute.cs', + 'ValueArray.cs', + 'Value.cs', + 'Variant.cs', + 'VariantType.cs' ] + + +glib_sharp = library(assembly_name, sources, + cs_args: ['-unsafe', '-keyfile:' + snk], +) + +install_infos += [assembly_name, glib_sharp.full_path()] + +glib_sharp_dep = declare_dependency(link_with: glib_sharp) +glib_api_includes = join_paths(meson.current_source_dir(), 'glib-api.xml') diff --git a/gtk/generated/meson.build b/gtk/generated/meson.build new file mode 100644 index 000000000..a010b781c --- /dev/null +++ b/gtk/generated/meson.build @@ -0,0 +1,1089 @@ +generated_sources = [ + 'GLib_GLibSharp.AsyncReadyCallbackNative.cs', + 'Gtk_AboutDialog.cs', + 'Gtk_PopoverConstraint.cs', + 'Gtk_ColorScaleClass.cs', + 'Gtk_CellRendererState.cs', + 'Gtk_Orientation.cs', + 'Gtk_MessageType.cs', + 'Gtk_OrientableAdapter.cs', + 'Gtk_StatusbarMsg.cs', + 'Gtk_CssStyleClass.cs', + 'Gtk_ComboBoxText.cs', + 'Gtk_TextViewLayer.cs', + 'Gtk_UpdateHandler.cs', + 'Gtk_ImageDefinitionEmpty.cs', + 'Gtk_AssistantPageFunc.cs', + 'Gtk_ListBoxRow.cs', + 'Gtk_MountOperationLookupContext.cs', + 'Gtk_CssNode.cs', + 'Gtk_IconPressHandler.cs', + 'Gtk_BuilderConnectFunc.cs', + 'Gtk_ActionGroup.cs', + 'Gtk_OwnerChangeHandler.cs', + 'Gtk_PreeditChangedHandler.cs', + 'Gtk_MenuAttachData.cs', + 'Gtk_UnselectAllHandler.cs', + 'Gtk_TickCallback.cs', + 'Gtk_RequestURIInfo.cs', + 'Gtk_ApplicationInhibitFlags.cs', + 'Gtk_HSV.cs', + 'Gtk_LinkButton.cs', + 'Gtk_Stock.cs', + 'Gtk_TreeModelSort.cs', + 'Gtk_TagRemovedHandler.cs', + 'Gtk_ModelButton.cs', + 'Gtk_CellEditableAdapter.cs', + 'Gtk_ToolItemGroupInfo.cs', + 'Gtk_TrashMonitor.cs', + 'Gtk_IconInfo.cs', + 'Gtk_IconViewChild.cs', + 'Gtk_ImageDefinitionIconSet.cs', + 'Gtk_ActionBar.cs', + 'Gtk_GridRowProperties.cs', + 'Gtk_AppChooserWidget.cs', + 'Gtk_MenuToolButton.cs', + 'Gtk_IMContext.cs', + 'Gtk_TextViewChild.cs', + 'Gtk_ColorEditor.cs', + 'Gtk_ProgressBar.cs', + 'Gtk_Rc.cs', + 'Gtk_MenuItem.cs', + 'Gtk_CellRendererAccel.cs', + 'Gtk_ComboBox.cs', + 'Gtk_TagChangedHandler.cs', + 'Gtk_CellRendererText.cs', + 'Gtk_CssProviderError.cs', + 'Gtk_SortType.cs', + 'Gtk_MenuActivateHandler.cs', + 'Gtk_Bindings.cs', + 'Gtk_ColorScale.cs', + 'Gtk_SpinButton.cs', + 'Gtk_FileFilterInfo.cs', + 'Gtk_StyleProviderAdapter.cs', + 'Gtk_ScaleButton.cs', + 'Gtk_ClipboardRequest.cs', + 'Gtk_PrintOperationAction.cs', + 'Gtk_InfoBar.cs', + 'Gtk_CssGadgetClass.cs', + 'Gtk_ShortcutsGroup.cs', + 'Gtk_CssRuleset.cs', + 'Gtk_DragSourceInfo.cs', + 'Gtk_Grab.cs', + 'Gtk_AccelGroupFindFunc.cs', + 'Gtk_ToggleToolButton.cs', + 'Gtk_Native.cs', + 'Gtk_GtkSharp.CallbackNative.cs', + 'Gtk_PrintBackend.cs', + 'Gtk_EntryBuffer.cs', + 'Gtk_TreeIterCompareFunc.cs', + 'Gtk_ColorSwatch.cs', + 'Gtk_ListBox.cs', + 'Gtk_ScaleMark.cs', + 'Gtk_Init.cs', + 'Gtk_SymbolicColor.cs', + 'Gtk_ImageDefinitionIconName.cs', + 'Gtk_OrientationChangedHandler.cs', + 'Gtk_ResponseData.cs', + 'Gtk_GtkSharp.ListBoxCreateWidgetFuncNative.cs', + 'Gtk_TreeStore.cs', + 'Gtk_GtkSharp.AccelMapForeachNative.cs', + 'Gtk_CssSectionType.cs', + 'Gtk_GtkSharp.TextBufferSerializeFuncNative.cs', + 'Gtk_SeparatorMenuItem.cs', + 'Gtk_AccelMapForeach.cs', + 'Gtk_RecentChooserError.cs', + 'Gtk_CellRendererToggle.cs', + 'Gtk_ToolItemGroup.cs', + 'Gtk_IconFactory.cs', + 'Gtk_IconSet.cs', + 'Gtk_ActivateCurrentHandler.cs', + 'Gtk_CssShorthandProperty.cs', + 'Gtk_TreeCellDataFunc.cs', + 'Gtk_DeleteRangeHandler.cs', + 'Gtk_BeginPrintHandler.cs', + 'Gtk_ICellLayout.cs', + 'Gtk_GtkSharp.ListBoxForeachFuncNative.cs', + 'Gtk_TreeViewColumnSizing.cs', + 'Gtk_CssSelectorTreeBuilder.cs', + 'Gtk_GtkSharp.CalendarDetailFuncNative.cs', + 'Gtk_TextPixbuf.cs', + 'Gtk_ShortcutType.cs', + 'Gtk_AdjustBoundsHandler.cs', + 'Gtk_ColorStop.cs', + 'Gtk_ReleasedHandler.cs', + 'Gtk_PaginateHandler.cs', + 'Gtk_EndPrintHandler.cs', + 'Gtk_AddedHandler.cs', + 'Gtk_TransitionInfo.cs', + 'Gtk_RowCollapsedHandler.cs', + 'Gtk_ButtonPressEventHandler.cs', + 'Gtk_Paned.cs', + 'Gtk_DragDestInfo.cs', + 'Gtk_HandleWindow.cs', + 'Gtk_Main.cs', + 'Gtk_PrintStatus.cs', + 'Gtk_HBox.cs', + 'Gtk_Magnifier.cs', + 'Gtk_IconHelperClass.cs', + 'Gtk_ScrollableAdapter.cs', + 'Gtk_TreeModelAdapter.cs', + 'Gtk_CustomItemActivatedHandler.cs', + 'Gtk_TextHandleClass.cs', + 'Gtk_CssNodeClass.cs', + 'Gtk_Global.cs', + 'Gtk_ColorPlaneClass.cs', + 'Gtk_FileChooserButton.cs', + 'Gtk_CssAnimation.cs', + 'Gtk_IFontChooser.cs', + 'Gtk_GtkSharp.FlowBoxCreateWidgetFuncNative.cs', + 'Gtk_GtkSharp.PrintSettingsFuncNative.cs', + 'Gtk_GtkSharp.ListBoxFilterFuncNative.cs', + 'Gtk_TestCollapseRowHandler.cs', + 'Gtk_GtkSharp.TreeCellDataFuncNative.cs', + 'Gtk_Tooltip.cs', + 'Gtk_GtkSharp.KeySnoopFuncNative.cs', + 'Gtk_TextBufferTargetInfo.cs', + 'Gtk_PressedHandler.cs', + 'Gtk_StockItem.cs', + 'Gtk_IActionObserver.cs', + 'Gtk_PolicyType.cs', + 'Gtk_TextPoppedHandler.cs', + 'Gtk_WrapMode.cs', + 'Gtk_RecentData.cs', + 'Gtk_PrintBackendModule.cs', + 'Gtk_AttachOptions.cs', + 'Gtk_GtkSharp.TreeModelForeachFuncNative.cs', + 'Gtk_CellRendererAccelMode.cs', + 'Gtk_GotPageSizeHandler.cs', + 'Gtk_PageSet.cs', + 'Gtk_Frame.cs', + 'Gtk_EventData.cs', + 'Gtk_SizeGroupMode.cs', + 'Gtk_ClipboardReceivedFunc.cs', + 'Gtk_Selection.cs', + 'Gtk_TextRealIter.cs', + 'Gtk_UpdateCustomWidgetHandler.cs', + 'Gtk_ClipboardClearFunc.cs', + 'Gtk_EditableAdapter.cs', + 'Gtk_HashNode.cs', + 'Gtk_ListRowActivatedHandler.cs', + 'Gtk_TreeViewGridLines.cs', + 'Gtk_WindowType.cs', + 'Gtk_GtkSharp.TreeViewSearchEqualFuncNative.cs', + 'Gtk_TreeModelFilterModifyFunc.cs', + 'Gtk_KeySnoopFunc.cs', + 'Gtk_StackTransitionType.cs', + 'Gtk_ImageType.cs', + 'Gtk_Assistant.cs', + 'Gtk_Drag.cs', + 'Gtk_ToolPaletteDragTargets.cs', + 'Gtk_GetChildPositionHandler.cs', + 'Gtk_DecomposedMatrix.cs', + 'Gtk_CssScanner.cs', + 'Gtk_TreeView.cs', + 'Gtk_FontChooserProp.cs', + 'Gtk_ButtonReleaseEventHandler.cs', + 'Gtk_HeaderBar.cs', + 'Gtk_StyleCascadeIter.cs', + 'Gtk_GtkSharp.CellAllocCallbackNative.cs', + 'Gtk_ParsingErrorHandler.cs', + 'Gtk_MountHandler.cs', + 'Gtk_DrawPageHandler.cs', + 'Gtk_CellRendererMode.cs', + 'Gtk_ToolbarStyle.cs', + 'Gtk_PrintWin32Devnames.cs', + 'Gtk_RecentInfo.cs', + 'Gtk_CellView.cs', + 'Gtk_CellAreaBox.cs', + 'Gtk_ModelMenuItem.cs', + 'Gtk_TextInsertedHandler.cs', + 'Gtk_PreActivateHandler.cs', + 'Gtk_ITreeSortable.cs', + 'Gtk_RegionFlags.cs', + 'Gtk_RecentChooserAdapter.cs', + 'Gtk_Bitmask.cs', + 'Gtk_CssNodeDeclaration.cs', + 'Gtk_IMContextSimple.cs', + 'Gtk_CssMatcherSuperset.cs', + 'Gtk_CssGadget.cs', + 'Gtk_Popover.cs', + 'Gtk_CssWidgetNode.cs', + 'Gtk_EnableDebuggingHandler.cs', + 'Gtk_TreeSortableAdapter.cs', + 'Gtk_ThemingModule.cs', + 'Gtk_PrintContext.cs', + 'Gtk_AcceptPositionHandler.cs', + 'Gtk_CssStaticStyleClass.cs', + 'Gtk_GLArea.cs', + 'Gtk_CssImageFallbackClass.cs', + 'Gtk_IActionable.cs', + 'Gtk_CssImageRecolorClass.cs', + 'Gtk_GtkSharp.FileFilterFuncNative.cs', + 'Gtk_RecentSortType.cs', + 'Gtk_ColorPlane.cs', + 'Gtk_Stack.cs', + 'Gtk_CellEditableEventBox.cs', + 'Gtk_Printer.cs', + 'Gtk_LevelBar.cs', + 'Gtk_Label.cs', + 'Gtk_CssImageFallback.cs', + 'Gtk_IconAlias.cs', + 'Gtk_IconView.cs', + 'Gtk_MoveHandler.cs', + 'Gtk_ColorSelectionChangePaletteWithScreenFunc.cs', + 'Gtk_EntryCompletion.cs', + 'Gtk_IAppChooser.cs', + 'Gtk_TextBufferDeserializeFunc.cs', + 'Gtk_FillLayoutRenderer.cs', + 'Gtk_TagAppliedHandler.cs', + 'Gtk_VButtonBox.cs', + 'Gtk_IOrientable.cs', + 'Gtk_TextPushedHandler.cs', + 'Gtk_DragActionRequestedHandler.cs', + 'Gtk_Calendar.cs', + 'Gtk_MoveScrollHandler.cs', + 'Gtk_Scrollbar.cs', + 'Gtk_CssImage.cs', + 'Gtk_Unit.cs', + 'Gtk_GtkSharp.TextTagTableForeachNative.cs', + 'Gtk_Menu.cs', + 'Gtk_TreeViewChild.cs', + 'Gtk_RowDeletedHandler.cs', + 'Gtk_SelectCursorRowHandler.cs', + 'Gtk_ActionHelper.cs', + 'Gtk_LayoutChild.cs', + 'Gtk_FontChooserAdapter.cs', + 'Gtk_Target.cs', + 'Gtk_Requisition.cs', + 'Gtk_GridLine.cs', + 'Gtk_GestureSingle.cs', + 'Gtk_MenuTracker.cs', + 'Gtk_FilterRule.cs', + 'Gtk_ActionMuxer.cs', + 'Gtk_GtkSharp.TreeSelectionForeachFuncNative.cs', + 'Gtk_TextLayoutClass.cs', + 'Gtk_FontSelection.cs', + 'Gtk_Win32EmbedWidget.cs', + 'Gtk_HSLA.cs', + 'Gtk_BorderImage.cs', + 'Gtk_ToolItem.cs', + 'Gtk_ScaleChangedHandler.cs', + 'Gtk_ClipboardTextReceivedFunc.cs', + 'Gtk_Button.cs', + 'Gtk_MoveFocusOutHandler.cs', + 'Gtk_BuiltinIcon.cs', + 'Gtk_MenuPopdownData.cs', + 'Gtk_InsertTextHandler.cs', + 'Gtk_ActionObserverAdapter.cs', + 'Gtk_MountOperation.cs', + 'Gtk_TextAttrAppearance.cs', + 'Gtk_Icon.cs', + 'Gtk_ConnectProxyHandler.cs', + 'Gtk_GtkSharp.PageSetupDoneFuncNative.cs', + 'Gtk_RenderHandler.cs', + 'Gtk_KeyHashEntry.cs', + 'Gtk_SymbolicPixbufCache.cs', + 'Gtk_StateFlags.cs', + 'Gtk_AppChooserAdapter.cs', + 'Gtk_TextLine.cs', + 'Gtk_FilterLevel.cs', + 'Gtk_StyleCascade.cs', + 'Gtk_CompareInfo.cs', + 'Gtk_ToggleSizeAllocatedHandler.cs', + 'Gtk_ToolShellAdapter.cs', + 'Gtk_SizeChangedHandler.cs', + 'Gtk_Style.cs', + 'Gtk_CssCustomProperty.cs', + 'Gtk_SidebarRowClass.cs', + 'Gtk_CellRendererProgress.cs', + 'Gtk_ImageDefinitionSurface.cs', + 'Gtk_ItemActivatedHandler.cs', + 'Gtk_GridChild.cs', + 'Gtk_Gesture.cs', + 'Gtk_SelectionInfo.cs', + 'Gtk_IColorChooser.cs', + 'Gtk_CountingData.cs', + 'Gtk_CssLookup.cs', + 'Gtk_CssParser.cs', + 'Gtk_CssNumberValueClass.cs', + 'Gtk_ResizeMode.cs', + 'Gtk_PrintOperationPreviewAdapter.cs', + 'Gtk_TextTagTableForeach.cs', + 'Gtk_GtkSharp.MenuDetachFuncNative.cs', + 'Gtk_SizeRequestMode.cs', + 'Gtk_ActivateLinkHandler.cs', + 'Gtk_Window.cs', + 'Gtk_VScale.cs', + 'Gtk_EndHandler.cs', + 'Gtk_PopulatePopupHandler.cs', + 'Gtk_GtkSharp.MnemonicHashForeachNative.cs', + 'Gtk_PrintJobCompleteFunc.cs', + 'Gtk_TextChildBody.cs', + 'Gtk_StateType.cs', + 'Gtk_ChildAnchorInsertedHandler.cs', + 'Gtk_Targets.cs', + 'Gtk_GtkSharp.TreeSelectionFuncNative.cs', + 'Gtk_CursorOnMatchHandler.cs', + 'Gtk_PoppedUpHandler.cs', + 'Gtk_CssStylePropertyClass.cs', + 'Gtk_Overlay.cs', + 'Gtk_CssSelectorTree.cs', + 'Gtk_ShowErrorMessageHandler.cs', + 'Gtk_FileFilter.cs', + 'Gtk_GestureLongPress.cs', + 'Gtk_IFileChooser.cs', + 'Gtk_HSeparator.cs', + 'Gtk_RoundedBox.cs', + 'Gtk_ResizeHandler.cs', + 'Gtk_EventController.cs', + 'Gtk_EntryIconInfo.cs', + 'Gtk_ClipboardURIReceivedFunc.cs', + 'Gtk_GtkSharp.AccelGroupFindFuncNative.cs', + 'Gtk_PopupMenuHandler.cs', + 'Gtk_RowChangedHandler.cs', + 'Gtk_GridChildAttach.cs', + 'Gtk_AngleChangedHandler.cs', + 'Gtk_FontActivatedHandler.cs', + 'Gtk_TreeIter.cs', + 'Gtk_ConfirmOverwriteHandler.cs', + 'Gtk_ScrollEventHandler.cs', + 'Gtk_DragBeginHandler.cs', + 'Gtk_QueryTooltipHandler.cs', + 'Gtk_TranslateFunc.cs', + 'Gtk_HScrollbar.cs', + 'Gtk_FocusChildSetHandler.cs', + 'Gtk_StyleProviderPrivateInterface.cs', + 'Gtk_StartInteractiveSearchHandler.cs', + 'Gtk_CornerType.cs', + 'Gtk_ClipboardTargetsReceivedFunc.cs', + 'Gtk_PrinterFinder.cs', + 'Gtk_ButtonRole.cs', + 'Gtk_ActivatableAdapter.cs', + 'Gtk_Range.cs', + 'Gtk_Application.cs', + 'Gtk_Child.cs', + 'Gtk_TreeModelFlags.cs', + 'Gtk_TargetEntry.cs', + 'Gtk_PrinterFunc.cs', + 'Gtk_StackChildInfo.cs', + 'Gtk_PixbufInsertedHandler.cs', + 'Gtk_TagAddedHandler.cs', + 'Gtk_PadActionEntry.cs', + 'Gtk_TreeSelectionForeachFunc.cs', + 'Gtk_GtkSharp.AccelGroupActivateNative.cs', + 'Gtk_CssTransientNodeClass.cs', + 'Gtk_IStyleProvider.cs', + 'Gtk_GtkSharp.ListBoxUpdateHeaderFuncNative.cs', + 'Gtk_SortLevel.cs', + 'Gtk_MoveCursorHandler.cs', + 'Gtk_GtkSharp.IconViewForeachFuncNative.cs', + 'Gtk_WindowKeyEntry.cs', + 'Gtk_ColorSelectionChangePaletteFunc.cs', + 'Gtk_GtkSharp.FlowBoxForeachFuncNative.cs', + 'Gtk_IncrInfo.cs', + 'Gtk_MenuShell.cs', + 'Gtk_LinesWindow.cs', + 'Gtk_Region.cs', + 'Gtk_RecentManagerError.cs', + 'Gtk_ActionableAdapter.cs', + 'Gtk_GtkSharp.StylePropertyParserNative.cs', + 'Gtk_ListStore.cs', + 'Gtk_PropertyData.cs', + 'Gtk_MoveViewportHandler.cs', + 'Gtk_GtkSharp.TreeViewRowSeparatorFuncNative.cs', + 'Gtk_SettingsValue.cs', + 'Gtk_SelectCursorParentHandler.cs', + 'Gtk_GtkSharp.FlowBoxSortFuncNative.cs', + 'Gtk_ResponseType.cs', + 'Gtk_ValueData.cs', + 'Gtk_RequestTargetsInfo.cs', + 'Gtk_NotebookPage.cs', + 'Gtk_FontChooserDialog.cs', + 'Gtk_Justification.cs', + 'Gtk_ExpandCollapseCursorRowHandler.cs', + 'Gtk_CssMatcherWidgetPath.cs', + 'Gtk_TextChildAnchor.cs', + 'Gtk_GtkSharp.ColorSelectionChangePaletteWithScreenFuncNative.cs', + 'Gtk_CssStaticStyle.cs', + 'Gtk_CreateWindowHandler.cs', + 'Gtk_ToggleButton.cs', + 'Gtk_TextExtendSelection.cs', + 'Gtk_Box.cs', + 'Gtk_GtkSharp.EntryCompletionMatchFuncNative.cs', + 'Gtk_DragFindData.cs', + 'Gtk_License.cs', + 'Gtk_EventBox.cs', + 'Gtk_RequestTextInfo.cs', + 'Gtk_CssPathNodeClass.cs', + 'Gtk_RadioMenuItem.cs', + 'Gtk_TextView.cs', + 'Gtk_CssImageRecolor.cs', + 'Gtk_RevealerTransitionType.cs', + 'Gtk_GtkSharp.ClipboardGetFuncNative.cs', + 'Gtk_GestureMultiPress.cs', + 'Gtk_CssImageRadialClass.cs', + 'Gtk_RecentFilterInfo.cs', + 'Gtk_Grid.cs', + 'Gtk_DisconnectProxyHandler.cs', + 'Gtk_Scale.cs', + 'Gtk_ListBoxForeachFunc.cs', + 'Gtk_LevelBarMode.cs', + 'Gtk_Win32ThemePart.cs', + 'Gtk_HButtonBox.cs', + 'Gtk_GtkSharp.MenuTrackerRemoveFuncNative.cs', + 'Gtk_GtkSharp.FontFilterFuncNative.cs', + 'Gtk_RowSelectedHandler.cs', + 'Gtk_GtkSharp.RecentFilterFuncNative.cs', + 'Gtk_StockTranslateFunc.cs', + 'Gtk_ClipboardImageReceivedFunc.cs', + 'Gtk_EditedHandler.cs', + 'Gtk_TextAttributes.cs', + 'Gtk_Dialog.cs', + 'Gtk_RetrieveSurroundingHandler.cs', + 'Gtk_ImageMenuItem.cs', + 'Gtk_RetrievalInfo.cs', + 'Gtk_MoveSliderHandler.cs', + 'Gtk_RoundedBoxCorner.cs', + 'Gtk_CssAnimationClass.cs', + 'Gtk_CssAnimatedStyleClass.cs', + 'Gtk_FontChooserWidget.cs', + 'Gtk_FlowBoxSortFunc.cs', + 'Gtk_CellAreaBoxContext.cs', + 'Gtk_CssImageBuiltin.cs', + 'Gtk_MenuTrackerInsertFunc.cs', + 'Gtk_ChangeValueHandler.cs', + 'Gtk_GtkSharp.TickCallbackNative.cs', + 'Gtk_PoppedDownHandler.cs', + 'Gtk_ModuleInfo.cs', + 'Gtk_CssImageLinear.cs', + 'Gtk_RemovedHandler.cs', + 'Gtk_FillLayoutRendererClass.cs', + 'Gtk_ThemeEngine.cs', + 'Gtk_RcProperty.cs', + 'Gtk_UIManagerItemType.cs', + 'Gtk_ArrowPlacement.cs', + 'Gtk_MenuPositionFunc.cs', + 'Gtk_MenuButton.cs', + 'Gtk_ShortcutLabel.cs', + 'Gtk_CellRenderer.cs', + 'Gtk_AppChooserDialog.cs', + 'Gtk_AccelActivateHandler.cs', + 'Gtk_PositionType.cs', + 'Gtk_GtkSharp.ClipboardURIReceivedFuncNative.cs', + 'Gtk_TextBTreeNode.cs', + 'Gtk_ExpanderStyle.cs', + 'Gtk_CssPathNode.cs', + 'Gtk_CellLayoutDataFunc.cs', + 'Gtk_ReliefStyle.cs', + 'Gtk_MapChangedHandler.cs', + 'Gtk_GtkSharp.TreeModelFilterVisibleFuncNative.cs', + 'Gtk_DirectionType.cs', + 'Gtk_GtkSharp.ClipboardImageReceivedFuncNative.cs', + 'Gtk_ButtonBoxStyle.cs', + 'Gtk_WidgetPath.cs', + 'Gtk_Container.cs', + 'Gtk_CssImageSurface.cs', + 'Gtk_NumerableIcon.cs', + 'Gtk_ThemingBackground.cs', + 'Gtk_ModifierStyle.cs', + 'Gtk_Gradient.cs', + 'Gtk_ListBoxSortFunc.cs', + 'Gtk_DeleteType.cs', + 'Gtk_AspectFrame.cs', + 'Gtk_MoveSelectedHandler.cs', + 'Gtk_ThemingEngine.cs', + 'Gtk_CssStyleChange.cs', + 'Gtk_GtkSharp.TreeIterCompareFuncNative.cs', + 'Gtk_EdgeReachedHandler.cs', + 'Gtk_OpenLocationHandler.cs', + 'Gtk_MessageDialog.cs', + 'Gtk_GridLines.cs', + 'Gtk_CacheEntry.cs', + 'Gtk_CssImageScaledClass.cs', + 'Gtk_TextPendingScroll.cs', + 'Gtk_Adjustment.cs', + 'Gtk_ChildDetachedHandler.cs', + 'Gtk_ToggleCursorRowHandler.cs', + 'Gtk_ImageDefinitionPixbuf.cs', + 'Gtk_Invisible.cs', + 'Gtk_TextCharPredicate.cs', + 'Gtk_CellRendererSpin.cs', + 'Gtk_AssistantPage.cs', + 'Gtk_TextAppearance.cs', + 'Gtk_GtkSharp.ClipboardTargetsReceivedFuncNative.cs', + 'Gtk_StylePropertyValue.cs', + 'Gtk_GridRequest.cs', + 'Gtk_CssImageBuiltinClass.cs', + 'Gtk_StackSidebar.cs', + 'Gtk_InputHandler.cs', + 'Gtk_TextRendererClass.cs', + 'Gtk_SwitchPageHandler.cs', + 'Gtk_CancelPositionHandler.cs', + 'Gtk_PageOrientation.cs', + 'Gtk_OffscreenWindow.cs', + 'Gtk_PageAddedHandler.cs', + 'Gtk_CssImageLinearColorStop.cs', + 'Gtk_CssMatcherNode.cs', + 'Gtk_CssImageLinearClass.cs', + 'Gtk_InsertedTextHandler.cs', + 'Gtk_GtkSharp.RcPropertyParserNative.cs', + 'Gtk_DragUpdateHandler.cs', + 'Gtk_SortData.cs', + 'Gtk_ActionActivatedHandler.cs', + 'Gtk_Render.cs', + 'Gtk_GtkSharp.MenuTrackerInsertFuncNative.cs', + 'Gtk_ColorChooserDialog.cs', + 'Gtk_ChangedHandler.cs', + 'Gtk_ColorButton.cs', + 'Gtk_AccelChangedHandler.cs', + 'Gtk_CssTransition.cs', + 'Gtk_TextBufferSerializeFunc.cs', + 'Gtk_Border.cs', + 'Gtk_TreeViewMappingFunc.cs', + 'Gtk_FileChooserAction.cs', + 'Gtk_OffsetChangedHandler.cs', + 'Gtk_PageSetupDoneFunc.cs', + 'Gtk_CreateCustomWidgetHandler.cs', + 'Gtk_Accessible.cs', + 'Gtk_GtkSharp.FlowBoxFilterFuncNative.cs', + 'Gtk_WidgetHelpType.cs', + 'Gtk_TreeDragSourceAdapter.cs', + 'Gtk_TreeMenu.cs', + 'Gtk_StyleContext.cs', + 'Gtk_FocusTabHandler.cs', + 'Gtk_Arrow.cs', + 'Gtk_ImageDefinitionAnimation.cs', + 'Gtk_FormatEntryTextHandler.cs', + 'Gtk_JunctionSides.cs', + 'Gtk_MoveActiveHandler.cs', + 'Gtk_DragActionAskHandler.cs', + 'Gtk_ColorSelectionDialog.cs', + 'Gtk_InputPurpose.cs', + 'Gtk_HPaned.cs', + 'Gtk_PrintJob.cs', + 'Gtk_TreeViewColumnDropFunc.cs', + 'Gtk_TreeViewColumnReorder.cs', + 'Gtk_MoveHandleHandler.cs', + 'Gtk_TextLineDisplay.cs', + 'Gtk_CairoHelper.cs', + 'Gtk_EntryCompletionMatchFunc.cs', + 'Gtk_PrepareHandler.cs', + 'Gtk_RecentChooserProp.cs', + 'Gtk_PlacesOpenFlags.cs', + 'Gtk_TextHandle.cs', + 'Gtk_PrintUnixDialog.cs', + 'Gtk_FlowBoxCreateWidgetFunc.cs', + 'Gtk_CssSection.cs', + 'Gtk_ToolButton.cs', + 'Gtk_CssAnimatedStyle.cs', + 'Gtk_Statusbar.cs', + 'Gtk_BorderImageSliceSize.cs', + 'Gtk_Notebook.cs', + 'Gtk_FileChooserConfirmation.cs', + 'Gtk_CycleFocusHandler.cs', + 'Gtk_AccelGroupActivate.cs', + 'Gtk_CssStyleProperty.cs', + 'Gtk_BorderStyle.cs', + 'Gtk_CheckMenuItem.cs', + 'Gtk_ColorEditorClass.cs', + 'Gtk_NotebookTab.cs', + 'Gtk_BookmarksChangedFunc.cs', + 'Gtk_FlowBoxForeachFunc.cs', + 'Gtk_CreateMenuProxyHandler.cs', + 'Gtk_RecentChooserWidget.cs', + 'Gtk_CellCallback.cs', + 'Gtk_CssImageWin32.cs', + 'Gtk_FontButton.cs', + 'Gtk_DrawingArea.cs', + 'Gtk_SearchBar.cs', + 'Gtk_ToolbarContent.cs', + 'Gtk_GtkSharp.MenuPositionFuncNative.cs', + 'Gtk_PrintSettings.cs', + 'Gtk_GtkSharp.CellCallbackNative.cs', + 'Gtk_Clipboard.cs', + 'Gtk_DragPerformDropHandler.cs', + 'Gtk_CellRendererCombo.cs', + 'Gtk_AssistantPageType.cs', + 'Gtk_ScrollType.cs', + 'Gtk_ProgressTracker.cs', + 'Gtk_CalendarDetailFunc.cs', + 'Gtk_TreePath.cs', + 'Gtk_SequenceStateChangedHandler.cs', + 'Gtk_Device.cs', + 'Gtk_ScrollChildHandler.cs', + 'Gtk_SelectAllHandler.cs', + 'Gtk_BoxGadgetClass.cs', + 'Gtk_PageReorderedHandler.cs', + 'Gtk_TreeDragDestAdapter.cs', + 'Gtk_IconSource.cs', + 'Gtk_RadioToolButton.cs', + 'Gtk_FlowBox.cs', + 'Gtk_IconViewItem.cs', + 'Gtk_CssImageUrlClass.cs', + 'Gtk_AppChooserButton.cs', + 'Gtk_CheckButton.cs', + 'Gtk_Align.cs', + 'Gtk_ApplicationWindow.cs', + 'Gtk_Separator.cs', + 'Gtk_GtkSharp.ColorSelectionChangePaletteFuncNative.cs', + 'Gtk_GtkSharp.ClipboardReceivedFuncNative.cs', + 'Gtk_ListBoxCreateWidgetFunc.cs', + 'Gtk_IActivatable.cs', + 'Gtk_ApplicationActivatedHandler.cs', + 'Gtk_StyleProperty.cs', + 'Gtk_Image.cs', + 'Gtk_PostActivateHandler.cs', + 'Gtk_CustomWidgetApplyHandler.cs', + 'Gtk_GtkSharp.PrinterFuncNative.cs', + 'Gtk_EntryCapslockFeedback.cs', + 'Gtk_ValueChangedHandler.cs', + 'Gtk_BoxGadgetChild.cs', + 'Gtk_PointData.cs', + 'Gtk_MenuSectionBox.cs', + 'Gtk_TreeViewRowSeparatorFunc.cs', + 'Gtk_TextTagTable.cs', + 'Gtk_GtkSharp.TextBufferDeserializeFuncNative.cs', + 'Gtk_ToolPalette.cs', + 'Gtk_TreeViewSearchPositionFunc.cs', + 'Gtk_CssSelectorClass.cs', + 'Gtk_Settings.cs', + 'Gtk_PlacesView.cs', + 'Gtk_GestureRotate.cs', + 'Gtk_PageSetupUnixDialog.cs', + 'Gtk_IconReleaseHandler.cs', + 'Gtk_WindowGroup.cs', + 'Gtk_VBox.cs', + 'Gtk_RequestContentsInfo.cs', + 'Gtk_SelectionData.cs', + 'Gtk_TextLineData.cs', + 'Gtk_PropagationPhase.cs', + 'Gtk_ParseContext.cs', + 'Gtk_StyleAnimation.cs', + 'Gtk_WindowPopover.cs', + 'Gtk_DragEndHandler.cs', + 'Gtk_AccelEditedHandler.cs', + 'Gtk_MenuDirectionType.cs', + 'Gtk_DeleteFromCursorHandler.cs', + 'Gtk_ICellEditable.cs', + 'Gtk_SortElt.cs', + 'Gtk_StyleProperties.cs', + 'Gtk_GtkSharp.TreeViewSearchPositionFuncNative.cs', + 'Gtk_TreeViewColumn.cs', + 'Gtk_GestureZoom.cs', + 'Gtk_VolumeButton.cs', + 'Gtk_CssStyle.cs', + 'Gtk_TextEventHandler.cs', + 'Gtk_VScrollbar.cs', + 'Gtk_TextDirection.cs', + 'Gtk_BookmarksManager.cs', + 'Gtk_PanDirection.cs', + 'Gtk_DelayedFontDescription.cs', + 'Gtk_FontSelectionDialog.cs', + 'Gtk_AppChooserIface.cs', + 'Gtk_DragResult.cs', + 'Gtk_LocationPopupHandler.cs', + 'Gtk_MenuDetachFunc.cs', + 'Gtk_Revealer.cs', + 'Gtk_ExtendSelectionHandler.cs', + 'Gtk_HandleBox.cs', + 'Gtk_AddWidgetHandler.cs', + 'Gtk_TreeModelForeachFunc.cs', + 'Gtk_AccelLabel.cs', + 'Gtk_WidgetPropertyValue.cs', + 'Gtk_WindowAddedHandler.cs', + 'Gtk_IRecentChooser.cs', + 'Gtk_CssProvider.cs', + 'Gtk_Builder.cs', + 'Gtk_PaperSize.cs', + 'Gtk_TargetList.cs', + 'Gtk_MenuTrackerItemRole.cs', + 'Gtk_TargetFlags.cs', + 'Gtk_ColorSelection.cs', + 'Gtk_StackSwitcher.cs', + 'Gtk_MenuTrackerItem.cs', + 'Gtk_PageSetup.cs', + 'Gtk_FormatValueHandler.cs', + 'Gtk_PrintBackendModuleClass.cs', + 'Gtk_RecentFilterFunc.cs', + 'Gtk_ThemingModuleClass.cs', + 'Gtk_GesturePan.cs', + 'Gtk_InsertedHandler.cs', + 'Gtk_CellLayoutAdapter.cs', + 'Gtk_RequestImageInfo.cs', + 'Gtk_PrefixInsertedHandler.cs', + 'Gtk_TextDeletedHandler.cs', + 'Gtk_TreeRowData.cs', + 'Gtk_HScale.cs', + 'Gtk_RequestRichTextInfo.cs', + 'Gtk_IconLookupFlags.cs', + 'Gtk_Socket.cs', + 'Gtk_Alignment.cs', + 'Gtk_TreeRowReference.cs', + 'Gtk_CssImageIconThemeClass.cs', + 'Gtk_ToolItemGroupChild.cs', + 'Gtk_BeginHandler.cs', + 'Gtk_PrintPagesData.cs', + 'Gtk_PackDirection.cs', + 'Gtk_GtkSharp.TextCharPredicateNative.cs', + 'Gtk_IMModuleClass.cs', + 'Gtk_EventSequenceState.cs', + 'Gtk_FocusHomeOrEndHandler.cs', + 'Gtk_SizeGroup.cs', + 'Gtk_IActionObservable.cs', + 'Gtk_MenuTrackerRemoveFunc.cs', + 'Gtk_SearchEntry.cs', + 'Gtk_CommitHandler.cs', + 'Gtk_PanHandler.cs', + 'Gtk_TextMark.cs', + 'Gtk_Node.cs', + 'Gtk_CssWidgetNodeClass.cs', + 'Gtk_FlowBoxFilterFunc.cs', + 'Gtk_SharedData.cs', + 'Gtk_CssCustomPropertyClass.cs', + 'Gtk_GtkSharp.PrintJobCompleteFuncNative.cs', + 'Gtk_Table.cs', + 'Gtk_CssImageRadial.cs', + 'Gtk_CssImageWin32Class.cs', + 'Gtk_PrintOperationResult.cs', + 'Gtk_MenuBar.cs', + 'Gtk_PrintSettingsFunc.cs', + 'Gtk_SwipeHandler.cs', + 'Gtk_RowExpandedHandler.cs', + 'Gtk_PrimaryAccelChangedHandler.cs', + 'Gtk_Accelerator.cs', + 'Gtk_SetFocusHandler.cs', + 'Gtk_GestureDrag.cs', + 'Gtk_FileChooserDialog.cs', + 'Gtk_GtkSharp.AssistantPageFuncNative.cs', + 'Gtk_PlugRemovedHandler.cs', + 'Gtk_GtkSharp.ClipboardClearFuncNative.cs', + 'Gtk_TreeViewDropPosition.cs', + 'Gtk_IMModule.cs', + 'Gtk_StyleAnimationClass.cs', + 'Gtk_OverlayChild.cs', + 'Gtk_CellAreaBoxContextClass.cs', + 'Gtk_Switch.cs', + 'Gtk_EdgeOvershotHandler.cs', + 'Gtk_InputHints.cs', + 'Gtk_ColorSwatchClass.cs', + 'Gtk_CssImageClass.cs', + 'Gtk_ClipboardGetFunc.cs', + 'Gtk_TrayIcon.cs', + 'Gtk_Plug.cs', + 'Gtk_IconClass.cs', + 'Gtk_TreeModelFilter.cs', + 'Gtk_IconViewForeachFunc.cs', + 'Gtk_MatchSelectedHandler.cs', + 'Gtk_GtkSharp.TreeViewColumnDropFuncNative.cs', + 'Gtk_CustomPaperUnixDialog.cs', + 'Gtk_CycleHandleFocusHandler.cs', + 'Gtk_PlacesSidebar.cs', + 'Gtk_ShortcutsShortcut.cs', + 'Gtk_BuiltinIconClass.cs', + 'Gtk_CssImageRadialColorStop.cs', + 'Gtk_CellAllocCallback.cs', + 'Gtk_GtkSharp.ListBoxSortFuncNative.cs', + 'Gtk_ColorChooserAdapter.cs', + 'Gtk_SeparatorToolItem.cs', + 'Gtk_StateSetHandler.cs', + 'Gtk_CssTransitionClass.cs', + 'Gtk_TextLayout.cs', + 'Gtk_ChildAttachedHandler.cs', + 'Gtk_CssImageCrossFade.cs', + 'Gtk_TargetPair.cs', + 'Gtk_CssCustomGadgetClass.cs', + 'Gtk_Fixed.cs', + 'Gtk_VPaned.cs', + 'Gtk_PlacesViewClass.cs', + 'Gtk_TreeSelectionFunc.cs', + 'Gtk_ScrolledWindow.cs', + 'Gtk_EntryIconPosition.cs', + 'Gtk_TreeViewSearchEqualFunc.cs', + 'Gtk_StyleCascadeClass.cs', + 'Gtk_IconThemeError.cs', + 'Gtk_IToolShell.cs', + 'Gtk_WindowPosition.cs', + 'Gtk_TreeViewDragInfo.cs', + 'Gtk_ShortcutsSection.cs', + 'Gtk_FileChooserError.cs', + 'Gtk_WindowRemovedHandler.cs', + 'Gtk_DetailsAcquiredHandler.cs', + 'Gtk_BaselinePosition.cs', + 'Gtk_CssImageIconTheme.cs', + 'Gtk_FileChooserAdapter.cs', + 'Gtk_GtkSharp.TreeViewMappingFuncNative.cs', + 'Gtk_SpinType.cs', + 'Gtk_ButtonsType.cs', + 'Gtk_TextSearchFlags.cs', + 'Gtk_RecentFilterFlags.cs', + 'Gtk_NumberUpLayout.cs', + 'Gtk_IncrConversion.cs', + 'Gtk_Misc.cs', + 'Gtk_SurroundingDeletedHandler.cs', + 'Gtk_PrintCapabilities.cs', + 'Gtk_TextWindowType.cs', + 'Gtk_Accel.cs', + 'Gtk_CellRendererSpinner.cs', + 'Gtk_CancelHandler.cs', + 'Gtk_PageRemovedHandler.cs', + 'Gtk_CssImageScaled.cs', + 'Gtk_IconHelper.cs', + 'Gtk_PrintPages.cs', + 'Gtk_CycleChildFocusHandler.cs', + 'Gtk_CssImageCrossFadeClass.cs', + 'Gtk_GtkSharp.TreeModelFilterModifyFuncNative.cs', + 'Gtk_CellArea.cs', + 'Gtk_DeletedTextHandler.cs', + 'Gtk_AccelClearedHandler.cs', + 'Gtk_ActivateCursorItemHandler.cs', + 'Gtk_RcStyle.cs', + 'Gtk_SelectionMode.cs', + 'Gtk_RcPropertyParser.cs', + 'Gtk_ShowOtherLocationsWithFlagsHandler.cs', + 'Gtk_PageRange.cs', + 'Gtk_CssImageGradient.cs', + 'Gtk_TestExpandRowHandler.cs', + 'Gtk_CssValue.cs', + 'Gtk_RadioButton.cs', + 'Gtk_GtkSharp.TranslateFuncNative.cs', + 'Gtk_RecentAction.cs', + 'Gtk_ITreeModel.cs', + 'Gtk_StyleContextPrintFlags.cs', + 'Gtk_RespondHandler.cs', + 'Gtk_ButtonBox.cs', + 'Gtk_RecentChooserDefault.cs', + 'Gtk_CssShorthandPropertyClass.cs', + 'Gtk_IconTheme.cs', + 'Gtk_Spinner.cs', + 'Gtk_DialogFlags.cs', + 'Gtk_AccelGroupEntry.cs', + 'Gtk_CreateContextHandler.cs', + 'Gtk_PopoverMenu.cs', + 'Gtk_RowInsertedHandler.cs', + 'Gtk_MoveCurrentHandler.cs', + 'Gtk_StatusIcon.cs', + 'Gtk_UIManager.cs', + 'Gtk_CssMatcherClass.cs', + 'Gtk_TextWindow.cs', + 'Gtk_CssImageUrl.cs', + 'Gtk_ReorderTabHandler.cs', + 'Gtk_IconSize.cs', + 'Gtk_GtkSharp.BuilderConnectFuncNative.cs', + 'Gtk_SettingsPropertyValue.cs', + 'Gtk_XEmbedMessage.cs', + 'Gtk_Viewport.cs', + 'Gtk_TreeSelection.cs', + 'Gtk_MnemonicHashForeach.cs', + 'Gtk_Win32Theme.cs', + 'Gtk_TearoffMenuItem.cs', + 'Gtk_RecentManager.cs', + 'Gtk_InsertAtCursorHandler.cs', + 'Gtk_Action.cs', + 'Gtk_PasteDoneHandler.cs', + 'Gtk_PathElement.cs', + 'Gtk_ToolPaletteDragData.cs', + 'Gtk_CssValueClass.cs', + 'Gtk_StylePropertyParser.cs', + 'Gtk_AccelFlags.cs', + 'Gtk_CssImageSurfaceClass.cs', + 'Gtk_ITreeDragDest.cs', + 'Gtk_CellRendererPixbuf.cs', + 'Gtk_PixelCache.cs', + 'Gtk_PadController.cs', + 'Gtk_ChangeCurrentPageHandler.cs', + 'Gtk_ReadyHandler.cs', + 'Gtk_PropertyValue.cs', + 'Gtk_PrintError.cs', + 'Gtk_AccelKey.cs', + 'Gtk_GtkSharp.BookmarksChangedFuncNative.cs', + 'Gtk_DestDefaults.cs', + 'Gtk_KineticScrolling.cs', + 'Gtk_GtkSharp.CellLayoutDataFuncNative.cs', + 'Gtk_ScrollablePolicy.cs', + 'Gtk_Entry.cs', + 'Gtk_RowHasChildToggledHandler.cs', + 'Gtk_Callback.cs', + 'Gtk_CssNodeStyleCache.cs', + 'Gtk_StyleChangedHandler.cs', + 'Gtk_ListBoxFilterFunc.cs', + 'Gtk_RequestedSize.cs', + 'Gtk_ShadowType.cs', + 'Gtk_RecentSortFunc.cs', + 'Gtk_ITreeDragSource.cs', + 'Gtk_GtkSharp.ClipboardTextReceivedFuncNative.cs', + 'Gtk_DeviceGrabInfo.cs', + 'Gtk_AccelMap.cs', + 'Gtk_UnmountHandler.cs', + 'Gtk_PadActionType.cs', + 'Gtk_TickCallbackInfo.cs', + 'Gtk_ToggleAction.cs', + 'Gtk_QuickBookmarkHandler.cs', + 'Gtk_TextTag.cs', + 'Gtk_CssTransientNode.cs', + 'Gtk_ImageDefinitionGIcon.cs', + 'Gtk_KeySnooperData.cs', + 'Gtk_FileChooserWidget.cs', + 'Gtk_FontFilterFunc.cs', + 'Gtk_ToggledHandler.cs', + 'Gtk_TextIter.cs', + 'Gtk_Bookmark.cs', + 'Gtk_ShortcutsWindow.cs', + 'Gtk_MovementStep.cs', + 'Gtk_IScrollable.cs', + 'Gtk_StyleProviderData.cs', + 'Gtk_ListBoxUpdateHeaderFunc.cs', + 'Gtk_IEditable.cs', + 'Gtk_ChildActivatedHandler.cs', + 'Gtk_FileFilterFunc.cs', + 'Gtk_AccelGroup.cs', + 'Gtk_ColorChooserWidget.cs', + 'Gtk_DragDestSite.cs', + 'Gtk_ApplicationSelectedHandler.cs', + 'Gtk_MarkSetHandler.cs', + 'Gtk_EditingStartedHandler.cs', + 'Gtk_CssKeyframes.cs', + 'Gtk_ToggleHandleFocusHandler.cs', + 'Gtk_ScrollStep.cs', + 'Gtk_Print.cs', + 'Gtk_StylePropertyClass.cs', + 'Gtk_ToggleSizeRequestedHandler.cs', + 'Gtk_CssCustomGadget.cs', + 'Gtk_IMMulticontext.cs', + 'Gtk_RecentChooserMenu.cs', + 'Gtk_PopupContextMenuHandler.cs', + 'Gtk_NodeUIReference.cs', + 'Gtk_CalendarDisplayOptions.cs', + 'Gtk_RecentChooserDialog.cs', + 'Gtk_ImageDefinitionStock.cs', + 'Gtk_TextBuffer.cs', + 'Gtk_TreeModelFilterVisibleFunc.cs', + 'Gtk_RadioAction.cs', + 'Gtk_CellAreaContext.cs', + 'Gtk_MenuTrackerSection.cs', + 'Gtk_IPrintOperationPreview.cs', + 'Gtk_SelectionTargetList.cs', + 'Gtk_RowActivatedHandler.cs', + 'Gtk_FlowBoxChild.cs', + 'Gtk_BuilderError.cs', + 'Gtk_GridLineData.cs', + 'Gtk_TextRenderer.cs', + 'Gtk_SidebarRow.cs', + 'Gtk_CssImageGradientClass.cs', + 'Gtk_Bin.cs', + 'Gtk_PreviewHandler.cs', + 'Gtk_GtkSharp.TreeDestroyCountFuncNative.cs', + 'Gtk_DragSourceSite.cs', + 'Gtk_ActionObservableAdapter.cs', + 'Gtk_PrintDuplex.cs', + 'Gtk_SelectPageHandler.cs', + 'Gtk_VSeparator.cs', + 'Gtk_Layout.cs', + 'Gtk_FilterElt.cs', + 'Gtk_BoxGadget.cs', + 'Gtk_FileFilterFlags.cs', + 'Gtk_IconViewDropPosition.cs', + 'Gtk_RequestPageSetupHandler.cs', + 'Gtk_PackType.cs', + 'Gtk_TreeDestroyCountFunc.cs', + 'Gtk_MagnifierClass.cs', + 'Gtk_ArrowType.cs', + 'Gtk_Tree.cs', + 'Gtk_EntryPasswordHint.cs', + 'Gtk_GestureSwipe.cs', + 'Gtk_MnemonicHash.cs', + 'Gtk_ResponseHandler.cs', + 'Gtk_SpinButtonUpdatePolicy.cs', + 'Gtk_DoneHandler.cs', + 'Gtk_OutputHandler.cs', + 'Gtk_PrintQuality.cs', + 'Gtk_ColorActivatedHandler.cs', + 'Gtk_GtkSharp.RecentSortFuncNative.cs', + 'Gtk_SensitivityType.cs', + 'Gtk_PrintOperation.cs', + 'Gtk_Toolbar.cs', + 'Gtk_RecentFilter.cs', + 'Gtk_Expander.cs', + 'Gtk_MarkDeletedHandler.cs', + 'Gtk_KeyReleaseEventHandler.cs', + 'Gtk_SelectionClearEventHandler.cs', + 'Gtk_GrabNotifyHandler.cs', + 'Gtk_DragDropHandler.cs', + 'Gtk_ProximityInEventHandler.cs', + 'Gtk_DragDataGetHandler.cs', + 'Gtk_DirectionChangedHandler.cs', + 'Gtk_StateChangedHandler.cs', + 'Gtk_WindowStateEventHandler.cs', + 'Gtk_MoveFocusHandler.cs', + 'Gtk_SelectionReceivedHandler.cs', + 'Gtk_FocusedHandler.cs', + 'Gtk_ProximityOutEventHandler.cs', + 'Gtk_UnmapEventHandler.cs', + 'Gtk_MnemonicActivatedHandler.cs', + 'Gtk_KeyPressEventHandler.cs', + 'Gtk_AccelCanActivateHandler.cs', + 'Gtk_PropertyNotifyEventHandler.cs', + 'Gtk_StateFlagsChangedHandler.cs', + 'Gtk_DragDataReceivedHandler.cs', + 'Gtk_SelectionGetHandler.cs', + 'Gtk_TouchEventHandler.cs', + 'Gtk_EnterNotifyEventHandler.cs', + 'Gtk_StyleSetHandler.cs', + 'Gtk_LeaveNotifyEventHandler.cs', + 'Gtk_DragLeaveHandler.cs', + 'Gtk_DeleteEventHandler.cs', + 'Gtk_WidgetEventHandler.cs', + 'Gtk_Widget.cs', + 'Gtk_HierarchyChangedHandler.cs', + 'Gtk_VisibilityNotifyEventHandler.cs', + 'Gtk_DragDataDeleteHandler.cs', + 'Gtk_DestroyEventHandler.cs', + 'Gtk_WidgetEventAfterHandler.cs', + 'Gtk_FocusOutEventHandler.cs', + 'Gtk_ParentSetHandler.cs', + 'Gtk_SizeAllocatedHandler.cs', + 'Gtk_ChildNotifiedHandler.cs', + 'Gtk_DragFailedHandler.cs', + 'Gtk_MotionNotifyEventHandler.cs', + 'Gtk_DrawnHandler.cs', + 'Gtk_SelectionNotifyEventHandler.cs', + 'Gtk_HelpShownHandler.cs', + 'Gtk_GrabBrokenEventHandler.cs', + 'Gtk_ConfigureEventHandler.cs', + 'Gtk_FocusInEventHandler.cs', + 'Gtk_DragMotionHandler.cs', + 'Gtk_ScreenChangedHandler.cs', + 'Gtk_DamageEventHandler.cs', + 'Gtk_SelectionRequestEventHandler.cs', + 'Gtk_MapEventHandler.cs', +] + +source_gen = [] +source_gen += [custom_target(assembly_name + 'codegen', + input: raw_api_fname, + output: generated_sources, + command: [ + generate_api, + '--api-raw', '@INPUT@', + '--gapi-fixup', gapi_fixup.full_path(), + '--metadata', metadata_fname, + '--symbols', symbols, + '--gapi-codegen', gapi_codegen.full_path(), + '--extra-includes', glib_api_includes, + '--extra-includes', pango_api_includes, + '--extra-includes', gio_api_includes, + '--extra-includes', cairo_api_includes, + '--extra-includes', gdk_api_includes, + '--extra-includes', atk_api_includes, + '--glue-file', gluefile, + '--glue-includes', glueincludes, + '--out', meson.current_build_dir(), + '--files', ';'.join(generated_sources), + '--assembly-name', assembly_name, + '--glue-libname', gluefile, + '--schema', schema, + ], + depends: [gapi_codegen, gapi_fixup])] + +gtk_api_includes = join_paths(meson.current_build_dir(), 'gtk-api.xml') + diff --git a/gtk/meson.build b/gtk/meson.build new file mode 100644 index 000000000..9ad65e045 --- /dev/null +++ b/gtk/meson.build @@ -0,0 +1,140 @@ +snk = join_paths(meson.current_source_dir(), '..', 'gtk-sharp.snk') +assembly_name = 'gtk-sharp' +symbols = join_paths(meson.current_source_dir(), 'gtk-symbols.xml') + +raw_api_fname = join_paths(meson.current_source_dir(), 'gtk-api.raw') +metadata_fname = join_paths(meson.current_source_dir(), 'Gtk.metadata') +glueincludes = 'gtk/gtk.h' +gluefile = join_paths(meson.current_build_dir(), 'generate.c') + +configure_file(input: assembly_name + '.dll.config.in', + output: assembly_name + '.dll.config', + configuration : remap_dl_data) + +configure_file(input: assembly_name + '-3.0.pc.in', + output: assembly_name + '-3.0.pc', + configuration : version_data) + +subdir('generated') + +sources = [ + 'Accel.cs', + 'AccelKey.cs', + 'Action.cs', + 'ActionEntry.cs', + 'ActionGroup.cs', + 'Adjustment.cs', + 'Application.cs', + 'ArrayExtensions.cs', + 'Bin.cs', + 'BindingAttribute.cs', + 'Builder.cs', + 'Button.cs', + 'Calendar.cs', + 'CellAreaBox.cs', + 'CellLayoutAdapter.cs', + 'CellRenderer.cs', + 'CellView.cs', + 'CheckMenuItem.cs', + 'ChildPropertyAttribute.cs', + 'Clipboard.cs', + 'ColorSelection.cs', + 'ComboBox.cs', + 'ComboBoxText.cs', + 'Container.cs', + 'Dialog.cs', + 'Drag.cs', + 'Entry.cs', + 'EntryCompletion.cs', + 'FileChooserDialog.cs', + 'FileChooserNative.cs', + 'Frame.cs', + 'Global.cs', + 'HBox.cs', + 'HScale.cs', + 'ICellLayout.cs', + 'IconFactory.cs', + 'IconSet.cs', + 'IconTheme.cs', + 'IconView.cs', + 'Image.cs', + 'ImageMenuItem.cs', + 'Init.cs', + 'ITreeModel.cs', + 'ITreeNode.cs', + 'Key.cs', + 'Label.cs', + 'ListStore.cs', + 'Menu.cs', + 'MenuItem.cs', + 'MessageDialog.cs', + 'NativeDialog.cs', + 'NodeCellDataFunc.cs', + 'NodeSelection.cs', + 'NodeStore.cs', + 'NodeView.cs', + 'Notebook.cs', + 'PaperSize.cs', + 'Plug.cs', + 'Printer.cs', + 'RadioAction.cs', + 'RadioActionEntry.cs', + 'RadioButton.cs', + 'RadioMenuItem.cs', + 'RadioToolButton.cs', + 'RecentManager.cs', + 'RowsReorderedHandler.cs', + 'ScrolledWindow.cs', + 'SelectionData.cs', + 'Settings.cs', + 'SpinButton.cs', + 'StatusIcon.cs', + 'Stock.cs', + 'StockItem.cs', + 'StockManager.cs', + 'Style.cs', + 'StyleContext.cs', + 'StyleProviderPriority.cs', + 'Target.cs', + 'TargetEntry.cs', + 'TargetList.cs', + 'TextAttributes.cs', + 'TextBuffer.cs', + 'TextChildAnchor.cs', + 'TextIter.cs', + 'TextMark.cs', + 'TextTag.cs', + 'TextView.cs', + 'ThreadNotify.cs', + 'ToggleActionEntry.cs', + 'TreeEnumerator.cs', + 'TreeIter.cs', + 'TreeMenu.cs', + 'TreeModelAdapter.cs', + 'TreeModelFilter.cs', + 'TreeModelSort.cs', + 'TreeNode.cs', + 'TreeNodeAttribute.cs', + 'TreeNodeValueAttribute.cs', + 'TreePath.cs', + 'TreeSelection.cs', + 'TreeStore.cs', + 'TreeView.cs', + 'TreeViewColumn.cs', + 'UIManager.cs', + 'VBox.cs', + 'Viewport.cs', + 'VScale.cs', + 'Widget.cs', + 'Window.cs', +] + +gtk_sharp = library(assembly_name, source_gen, sources, + cs_args: ['-unsafe', '-keyfile:' + snk, '-nowarn:0618,0612,0169'], + link_with: [glib_sharp, pango_sharp, + cairo_sharp, gio_sharp, atk_sharp, + gdk_sharp], +) + +install_infos += [assembly_name, gtk_sharp.full_path()] +gtk_sharp_dep = declare_dependency(link_with: gtk_sharp) diff --git a/meson.build b/meson.build new file mode 100644 index 000000000..889475c49 --- /dev/null +++ b/meson.build @@ -0,0 +1,114 @@ +project('gtk-sharp', ['cs', 'c'], version: '3.22.6') + +if host_machine.system() == 'windows' + if h.get(0) == host_machine.cpu() + add_project_arguments('-define:WIN64LONGS', language: 'cs') + endif +endif + + +apiversion = '3.0.0.0' +mono_required_version = '>=3.2.0' +gtk_required_version='>=3.0.0' +glib_required_version='>=2.32.0' + +# FIXME Handle .net +mono = meson.get_compiler('cs') +if not mono.version().version_compare(mono_required_version) + error('Mono required version @0@ not found (@1@)'.format( + mono_required_version, mono.version())) +endif + +assemblyinfo='/AssemblyInfo.cs' + +gacutil = find_program('gacutil') +al = find_program('al') + +glib_dep = dependency('glib-2.0', version: glib_required_version) +gio_dep = dependency('gio-2.0', version: glib_required_version) +mono_runtime_dep = dependency('mono', required: false) + +# FIXME Check how to enabled debug flags (if at all needed). + +# TODO monodoc + +prefix = get_option('prefix') +assembly_data = configuration_data() +assembly_data.set_quoted('API_VERSION', apiversion) +configure_file(input: 'AssemblyInfo.cs.in', output: 'AssemblyInfo.cs', configuration : assembly_data) + +policy_config = files('policy.config.in') +runtime = '' +if get_option('buildtype') == 'debug' or get_option('buildtype') == 'debugoptimized' + runtime_debug_flags=' --debug' +endif +if mono_runtime_dep.found() + runtime = 'mono' + runtime_debug_flags +endif + +if host_machine.system() == 'osx' + lib_prefix='' + lib_suffix='.dylib' +else + lib_prefix='.so' + lib_suffix='' +endif + +remap_dl_data = configuration_data() +remap_dl_data.set('LIB_PREFIX', lib_prefix) +remap_dl_data.set('LIB_SUFFIX', lib_suffix) + +version_data = configuration_data() +version_data.set('VERSION', meson.project_version()) +version_data.set('PACKAGE_VERSION', meson.project_name() + '-3.0') + +install_infos = [] +schema = join_paths(meson.current_source_dir(), 'gapi.xsd') + +subdir('parser') +subdir('generator') +subdir('glib') +subdir('gio') + +cairo_dep = dependency('cairo', required: false) +if cairo_dep.found() + subdir('cairo') +else + message('Cairo not found, not building') +endif + +pango_dep = dependency('pango', required: false) +if pango_dep.found() + subdir('pango') +else + message('Pango not found, not building') +endif + +atk_dep = dependency('atk', required: false) +if atk_dep.found() + subdir('atk') +else + message('Atk not found, not building') +endif + +gdk_dep = dependency('gdk-3.0', version: gtk_required_version, required: false) +if gdk_dep.found() and atk_dep.found() and pango_dep.found() + subdir('gdk') + has_gdk = true +else + message('Gdk not found, not building') + has_gdk = false +endif + +gtk_dep = dependency('gtk+-3.0', version: gtk_required_version, required: false) +if gtk_dep.found() and atk_dep.found() and pango_dep.found() + subdir('gtk') + subdir('sample/GtkDemo') + has_gtk = true +else + has_gtk = false + message('Gtk not found, not building') +endif + +gacutil_install = join_paths(meson.current_source_dir(), 'gacutil_install.py') +meson.add_install_script(gacutil_install, install_infos) diff --git a/pango/generated/meson.build b/pango/generated/meson.build new file mode 100644 index 000000000..13b4d13c0 --- /dev/null +++ b/pango/generated/meson.build @@ -0,0 +1,136 @@ +generated_sources = [ + 'Pango_Alignment.cs', + 'Pango_Variant.cs', + 'Pango_GlyphItem.cs', + 'Pango_Analysis.cs', + 'Pango_AttrDataCopyFunc.cs', + 'Pango_CoreTextFamily.cs', + 'Pango_Win32Family.cs', + 'Pango_Fontset.cs', + 'Pango_Gravity.cs', + 'Pango_CairoWin32FontClass.cs', + 'Pango_GlyphGeometry.cs', + 'Pango_FontMetrics.cs', + 'Pango_Markup.cs', + 'Pango_CoreTextFamilyClass.cs', + 'Pango_AttrIterator.cs', + 'Pango_Rectangle.cs', + 'Pango_Global.cs', + 'Pango_WrapMode.cs', + 'Pango_CoreTextFontset.cs', + 'Pango_BlockInfo.cs', + 'Pango_CairoRendererClass.cs', + 'Pango_CoreTextFaceClass.cs', + 'Pango_Color.cs', + 'Pango_GlyphInfo.cs', + 'Pango_FontsetForeachFunc.cs', + 'Pango_CoreTextFontMapClass.cs', + 'Pango_Win32FontMap.cs', + 'Pango_AttrList.cs', + 'Pango_CoreTextFontMap.cs', + 'Pango_FT2Font.cs', + 'Pango_CoverageLevel.cs', + 'Pango_WidthIter.cs', + 'Pango_EllipsizeState.cs', + 'Pango_CairoFcFontMapClass.cs', + 'Pango_LineState.cs', + 'Pango_RenderPart.cs', + 'Pango_Weight.cs', + 'Pango_FontHashKey.cs', + 'Pango_Style.cs', + 'Pango_Script.cs', + 'Pango_Units.cs', + 'Pango_Language.cs', + 'Pango_CoreTextFontsetClass.cs', + 'Pango_PangoSharp.AttrDataCopyFuncNative.cs', + 'Pango_GlyphVisAttr.cs', + 'Pango_GravityHint.cs', + 'Pango_FT2GlyphInfo.cs', + 'Pango_LogAttr.cs', + 'Pango_CairoFcFont.cs', + 'Pango_Win32FontMapClass.cs', + 'Pango_OTRulesetClass.cs', + 'Pango_Win32MetricsInfo.cs', + 'Pango_Win32Font.cs', + 'Pango_GlyphItemIter.cs', + 'Pango_FontFamily.cs', + 'Pango_PangoSharp.FontsetForeachFuncNative.cs', + 'Pango_FT2Renderer.cs', + 'Pango_Win32FontClass.cs', + 'Pango_GlyphString.cs', + 'Pango_CacheEntry.cs', + 'Pango_CairoWin32Font.cs', + 'Pango_Extents.cs', + 'Pango_CoreTextFontsetKey.cs', + 'Pango_LineIter.cs', + 'Pango_TabAlign.cs', + 'Pango_Underline.cs', + 'Pango_OpenTag.cs', + 'Pango_EngineShape.cs', + 'Pango_CairoHelper.cs', + 'Pango_FontDescription.cs', + 'Pango_FT2RendererClass.cs', + 'Pango_CairoFcFontClass.cs', + 'Pango_RunInfo.cs', + 'Pango_EllipsizeMode.cs', + 'Pango_Stretch.cs', + 'Pango_FontMask.cs', + 'Pango_Matrix.cs', + 'Pango_LayoutLine.cs', + 'Pango_ItemProperties.cs', + 'Pango_FT2Family.cs', + 'Pango_FT2FontClass.cs', + 'Pango_AttrType.cs', + 'Pango_Context.cs', + 'Pango_Win32GlyphInfo.cs', + 'Pango_CoreTextFace.cs', + 'Pango_TabArray.cs', + 'Pango_AttrFontFeatures.cs', + 'Pango_LayoutRun.cs', + 'Pango_ParaBreakState.cs', + 'Pango_Renderer.cs', + 'Pango_MarkupData.cs', + 'Pango_Item.cs', + 'Pango_CoreTextFontKey.cs', + 'Pango_CoreTextFont.cs', + 'Pango_EngineLang.cs', + 'Pango_CairoContextInfo.cs', + 'Pango_CairoWin32FontMapClass.cs', + 'Pango_OTInfoClass.cs', + 'Pango_Point.cs', + 'Pango_ParenStackEntry.cs', + 'Pango_LayoutIter.cs', + 'Pango_Direction.cs', + 'Pango_Font.cs', + 'Pango_FontMap.cs', + 'Pango_BidiType.cs', + 'Pango_ItemizeState.cs', + 'Pango_Win32Face.cs', + 'Pango_Tab.cs', + 'Pango_Coverage.cs', + 'Pango_Layout.cs', + 'Pango_FontFace.cs', +] + +source_gen = custom_target('pango_generated', + command: [ + generate_api, + '--api-raw', raw_api_fname, + '--gapi-fixup', gapi_fixup.full_path(), + '--metadata', metadata_fname, + '--gapi-codegen', gapi_codegen.full_path(), + '--extra-includes', glib_api_includes, + '--extra-includes', cairo_api_includes, + '--glue-file', gluefile, + '--glue-includes', glueincludes, + '--out', meson.current_build_dir(), + '--files', ';'.join(generated_sources), + '--assembly-name', assembly_name, + '--schema', schema, + ], + depends: [gapi_codegen, gapi_fixup], + input: raw_api_fname, + output: generated_sources, +) + +pango_api_includes = join_paths(meson.current_build_dir(), 'pango-api.xml') diff --git a/pango/meson.build b/pango/meson.build new file mode 100644 index 000000000..370807c84 --- /dev/null +++ b/pango/meson.build @@ -0,0 +1,67 @@ +snk = join_paths(meson.current_source_dir(), '..', 'gtk-sharp.snk') +assembly_name = 'pango-sharp' +glueincludes = 'pango/pango.h' +raw_api_fname = join_paths(meson.current_source_dir(), 'pango-api.raw') +metadata_fname = join_paths(meson.current_source_dir(), 'Pango.metadata') +gluefile = join_paths(meson.current_build_dir(), 'generate.c') + +configure_file(input: assembly_name + '.dll.config.in', + output: assembly_name + '.dll.config', + configuration : remap_dl_data) + +subdir('generated') + +sources = [ + 'Analysis.cs', + 'AttrBackground.cs', + 'AttrColor.cs', + 'AttrFallback.cs', + 'AttrFamily.cs', + 'AttrFloat.cs', + 'AttrFontDesc.cs', + 'AttrForeground.cs', + 'AttrGravity.cs', + 'AttrGravityHint.cs', + 'Attribute.cs', + 'AttrInt.cs', + 'AttrIterator.cs', + 'AttrLanguage.cs', + 'AttrLetterSpacing.cs', + 'AttrList.cs', + 'AttrRise.cs', + 'AttrScale.cs', + 'AttrShape.cs', + 'AttrSize.cs', + 'AttrStretch.cs', + 'AttrStrikethrough.cs', + 'AttrStrikethroughColor.cs', + 'AttrStyle.cs', + 'AttrUnderline.cs', + 'AttrUnderlineColor.cs', + 'AttrVariant.cs', + 'AttrWeight.cs', + 'Context.cs', + 'Coverage.cs', + 'FontFamily.cs', + 'FontMap.cs', + 'Global.cs', + 'GlyphItem.cs', + 'GlyphString.cs', + 'Item.cs', + 'Layout.cs', + 'LayoutLine.cs', + 'LayoutRun.cs', + 'Matrix.cs', + 'Scale.cs', + 'ScriptIter.cs', + 'TabArray.cs', + 'Units.cs', +] + +pango_sharp = library(assembly_name, source_gen, sources, + cs_args: ['-unsafe', '-keyfile:' + snk], + link_with: [glib_sharp, cairo_sharp] +) + +install_infos += [assembly_name, pango_sharp.full_path()] +pango_sharp_dep = declare_dependency(link_with: pango_sharp) diff --git a/parser/meson.build b/parser/meson.build new file mode 100644 index 000000000..547cf6283 --- /dev/null +++ b/parser/meson.build @@ -0,0 +1,26 @@ +gapi_installdir = join_paths(get_option('libdir'), 'gapi-3.0') +pkg_install_dir = '@0@/pkgconfig'.format(get_option('libdir')) + +gapi_parser = executable('gapi-parser', 'gapi-parser.cs', + install_dir : gapi_installdir, + install: true) + +gapi_parser_data = configuration_data() +gapi_parser_data.set('prefix', prefix) +gapi_parser_data.set('RUNTIME', runtime) + +configure_file(input: 'gapi3-parser.in', + output: 'gapi3-parser', + configuration : gapi_parser_data, + install_dir: get_option('bindir'), + install: true) + +pkg_gapi_parser_data = configuration_data() +pkg_gapi_parser_data .set('VERSION', meson.project_version()) +configure_file(input: 'gapi-3.0.pc.in', + output: 'gapi-3.0.pc', + configuration : pkg_gapi_parser_data, + install_dir: pkg_install_dir, + install: true) + +install_data('gapi_pp.pl', 'gapi2xml.pl', install_dir: gapi_installdir) diff --git a/sample/GtkDemo/meson.build b/sample/GtkDemo/meson.build new file mode 100644 index 000000000..21b6ff222 --- /dev/null +++ b/sample/GtkDemo/meson.build @@ -0,0 +1,54 @@ +resource_flags = [] + +foreach rid: [ + ['css/css_basics.css', 'css_basics.css'], + ['css/reset.css', 'reset.css'], + ['images/gnome-foot.png', 'gnome-foot.png'], + ['images/MonoIcon.png', 'MonoIcon.png'], + ['images/gnome-calendar.png', 'gnome-calendar.png'], + ['images/gnome-gmush.png', 'gnome-gmush.png'], + ['images/gnu-keys.png', 'gnu-keys.png'], + ['images/gnome-applets.png', 'gnome-applets.png'], + ['images/gnome-gsame.png', 'gnome-gsame.png'], + ['images/alphatest.png', 'alphatest.png'], + ['images/gnome-gimp.png', 'gnome-gimp.png'], + ['images/apple-red.png', 'apple-red.png'], + ['images/background.jpg', 'background.jpg'], + ['images/gtk-logo-rgb.gif', 'gtk-logo-rgb.gif'], + ['images/floppybuddy.gif', 'floppybuddy.gif'], + ['theming.ui', 'theming.ui'],] + resource_flags += ['-resource:' + join_paths(meson.current_source_dir(), rid.get(0)) + ',' + rid.get(1)] +endforeach + +executable('GtkDemo', + 'DemoApplicationWindow.cs', + 'DemoAttribute.cs', + 'DemoButtonBox.cs', + 'DemoClipboard.cs', + 'DemoColorSelection.cs', + 'DemoDialog.cs', + 'DemoDrawingArea.cs', + 'DemoEditableCells.cs', + 'DemoEntryCompletion.cs', + 'DemoExpander.cs', + 'DemoHyperText.cs', + 'DemoIconView.cs', + 'DemoImages.cs', + 'DemoListStore.cs', + 'DemoMain.cs', + 'DemoMenus.cs', + 'DemoPanes.cs', + 'DemoPixbuf.cs', + 'DemoRotatedText.cs', + 'DemoSizeGroup.cs', + 'DemoSpinner.cs', + 'DemoStockBrowser.cs', + 'DemoTextView.cs', + 'DemoThemingStyleClasses.cs', + 'DemoTreeStore.cs', + 'DemoUIManager.cs', + 'DemoPrinting.cs', + link_with: [glib_sharp, gio_sharp, cairo_sharp, pango_sharp, + atk_sharp, gdk_sharp, gtk_sharp], + cs_args: resource_flags +) From 6d9c9fefaebc6a367890b093fef3bbe4179385ad Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Thu, 24 Aug 2017 10:57:07 -0300 Subject: [PATCH 64/66] meson: Add glue libraries generation (#31) --- atk/meson.build | 10 ++++++++++ gio/meson.build | 10 ++++++++++ gtk/generated/meson.build | 5 ++--- gtk/meson.build | 10 ++++++++++ pango/meson.build | 10 ++++++++++ 5 files changed, 42 insertions(+), 3 deletions(-) diff --git a/atk/meson.build b/atk/meson.build index c9b72287d..bacf1d99e 100644 --- a/atk/meson.build +++ b/atk/meson.build @@ -28,6 +28,16 @@ atk_sharp = library(assembly_name, source_gen, sources, link_with: glib_sharp, ) +gluegen = custom_target('atkgluegen', + input: raw_api_fname, + output: 'generate.c', + command: [generate_api, '--fakeglue'], + depends: [source_gen]) + +library('atksharpglue-3', gluegen, + dependencies: [glib_dep, gio_dep, atk_dep], + install: true) + install_infos += [assembly_name, atk_sharp.full_path()] atk_sharp_dep = declare_dependency(link_with: atk_sharp) diff --git a/gio/meson.build b/gio/meson.build index 01505c70d..b74d454a0 100644 --- a/gio/meson.build +++ b/gio/meson.build @@ -32,5 +32,15 @@ gio_sharp = library(assembly_name, source_gen, sources, link_with: glib_sharp, ) +gluegen = custom_target('giogluegen', + input: raw_api_fname, + output: 'generate.c', + command: [generate_api, '--fakeglue'], + depends: [source_gen]) + +library('giosharpglue-3', gluegen, + dependencies: [glib_dep, gio_dep], + install: true) + install_infos += [assembly_name, gio_sharp.full_path()] gio_sharp_dep = declare_dependency(link_with: gio_sharp) diff --git a/gtk/generated/meson.build b/gtk/generated/meson.build index a010b781c..7ba67889f 100644 --- a/gtk/generated/meson.build +++ b/gtk/generated/meson.build @@ -1058,8 +1058,7 @@ generated_sources = [ 'Gtk_MapEventHandler.cs', ] -source_gen = [] -source_gen += [custom_target(assembly_name + 'codegen', +source_gen = custom_target(assembly_name + 'codegen', input: raw_api_fname, output: generated_sources, command: [ @@ -1083,7 +1082,7 @@ source_gen += [custom_target(assembly_name + 'codegen', '--glue-libname', gluefile, '--schema', schema, ], - depends: [gapi_codegen, gapi_fixup])] + depends: [gapi_codegen, gapi_fixup]) gtk_api_includes = join_paths(meson.current_build_dir(), 'gtk-api.xml') diff --git a/gtk/meson.build b/gtk/meson.build index 9ad65e045..349d033d5 100644 --- a/gtk/meson.build +++ b/gtk/meson.build @@ -136,5 +136,15 @@ gtk_sharp = library(assembly_name, source_gen, sources, gdk_sharp], ) +gluegen = custom_target('gtkgluegen', + input: raw_api_fname, + output: 'generate.c', + command: [generate_api, '--fakeglue'], + depends: [source_gen]) + +library('gtksharpglue-3', gluegen, + dependencies: [glib_dep, gio_dep, atk_dep, gdk_dep, gtk_dep], + install: true) + install_infos += [assembly_name, gtk_sharp.full_path()] gtk_sharp_dep = declare_dependency(link_with: gtk_sharp) diff --git a/pango/meson.build b/pango/meson.build index 370807c84..bdb82e1b9 100644 --- a/pango/meson.build +++ b/pango/meson.build @@ -63,5 +63,15 @@ pango_sharp = library(assembly_name, source_gen, sources, link_with: [glib_sharp, cairo_sharp] ) +gluegen = custom_target('pangogluegen', + input: raw_api_fname, + output: 'generate.c', + command: [generate_api, '--fakeglue'], + depends: [source_gen]) + +library('pangosharpglue-3', gluegen, + dependencies: [glib_dep, gio_dep, pango_dep], + install: true) + install_infos += [assembly_name, pango_sharp.full_path()] pango_sharp_dep = declare_dependency(link_with: pango_sharp) From f90d29dc69906483e18d77e1319c36d0e62765a8 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Thu, 24 Aug 2017 16:49:02 -0300 Subject: [PATCH 65/66] meson: Install missing .pc/lib/gapi XML files (#32) --- atk/generated/meson.build | 8 +++++++- atk/meson.build | 7 +++++-- cairo/meson.build | 3 +++ gdk/generated/meson.build | 12 +++++++++--- gdk/meson.build | 9 +++++++-- gio/generated/meson.build | 7 +++++++ gio/meson.build | 11 ++++++++--- glib/meson.build | 7 ++++++- gtk/generated/meson.build | 8 +++++++- gtk/meson.build | 13 +++++++++---- meson.build | 8 ++++++-- pango/generated/meson.build | 9 ++++++++- pango/meson.build | 9 ++++++--- 13 files changed, 88 insertions(+), 23 deletions(-) diff --git a/atk/generated/meson.build b/atk/generated/meson.build index 8cc1ad5b1..23819a454 100644 --- a/atk/generated/meson.build +++ b/atk/generated/meson.build @@ -118,5 +118,11 @@ source_gen = custom_target('atk_generated', output: generated_sources, ) +api_xml = custom_target(pkg + '_api_xml', + input: raw_api_fname, + output: pkg + '-api.xml', + command: [generate_api, '--fakeglue'], + depends: [source_gen], + install: true, + install_dir: gapi_xml_installdir) atk_api_includes = join_paths(meson.current_build_dir(), 'atk-api.xml') - diff --git a/atk/meson.build b/atk/meson.build index bacf1d99e..354fa9735 100644 --- a/atk/meson.build +++ b/atk/meson.build @@ -1,7 +1,8 @@ snk = join_paths(meson.current_source_dir(), '..', 'gtk-sharp.snk') -assembly_name = 'atk-sharp' +pkg = 'atk' -raw_api_fname = join_paths(meson.current_source_dir(), 'atk-api.raw') +assembly_name = pkg + '-sharp' +raw_api_fname = join_paths(meson.current_source_dir(), pkg + '-api.raw') metadata_fname = join_paths(meson.current_source_dir(), 'Atk.metadata') glueincludes = 'atk/atk.h' gluefile = join_paths(meson.current_build_dir(), 'generate.c') @@ -26,6 +27,8 @@ sources = [ atk_sharp = library(assembly_name, source_gen, sources, cs_args: ['-unsafe', '-keyfile:' + snk], link_with: glib_sharp, + install: true, + install_dir: lib_install_dir ) gluegen = custom_target('atkgluegen', diff --git a/cairo/meson.build b/cairo/meson.build index 4c1a2f08d..bb7c16cbd 100644 --- a/cairo/meson.build +++ b/cairo/meson.build @@ -65,8 +65,11 @@ sources = [ cairo_sharp = library(assembly_name, sources, cs_args: ['-keyfile:' + snk], + install: true, + install_dir: lib_install_dir ) install_infos += [assembly_name, cairo_sharp.full_path()] cairo_sharp_dep = declare_dependency(link_with: cairo_sharp) cairo_api_includes = join_paths(meson.current_source_dir(), 'cairo-api.xml') +install_data(cairo_api_includes, install_dir: gapi_xml_installdir) diff --git a/gdk/generated/meson.build b/gdk/generated/meson.build index 89956fab3..87a0d0c54 100644 --- a/gdk/generated/meson.build +++ b/gdk/generated/meson.build @@ -192,8 +192,7 @@ generated_sources = [ 'GLib_GLibSharp.GSourceFuncNative.cs', ] -source_gen = [] -source_gen += [custom_target(assembly_name + 'codegen', +source_gen = custom_target(assembly_name + 'codegen', input: raw_api_fname, output: generated_sources, command: [ @@ -215,6 +214,13 @@ source_gen += [custom_target(assembly_name + 'codegen', '--glue-libname', gluefile, '--schema', schema, ], - depends: [gapi_codegen, gapi_fixup])] + depends: [gapi_codegen, gapi_fixup]) +api_xml = custom_target(pkg + '_api_xml', + input: raw_api_fname, + output: pkg + '-api.xml', + command: [generate_api, '--fakeglue'], + depends: [source_gen], + install: true, + install_dir: gapi_xml_installdir) gdk_api_includes = join_paths(meson.current_build_dir(), 'gdk-api.xml') diff --git a/gdk/meson.build b/gdk/meson.build index 16eb4dd48..036f145a5 100644 --- a/gdk/meson.build +++ b/gdk/meson.build @@ -1,5 +1,6 @@ snk = join_paths(meson.current_source_dir(), '..', 'gtk-sharp.snk') -assembly_name = 'gdk-sharp' +pkg = 'gdk' +assembly_name = pkg + '-sharp' symbols = join_paths(meson.current_source_dir(), 'gdk-symbols.xml') raw_api_fname = join_paths(meson.current_source_dir(), 'gdk-api.raw') @@ -13,7 +14,9 @@ configure_file(input: assembly_name + '.dll.config.in', configure_file(input: assembly_name + '-3.0.pc.in', output: assembly_name + '-3.0.pc', - configuration : version_data) + configuration : version_data, + install_dir: pkg_install_dir, + install: true) subdir('generated') @@ -64,6 +67,8 @@ sources = [ gdk_sharp = library(assembly_name, source_gen, sources, cs_args: ['-unsafe', '-keyfile:' + snk], link_with: [glib_sharp, pango_sharp, cairo_sharp, gio_sharp], + install: true, + install_dir: lib_install_dir ) install_infos += [assembly_name, gdk_sharp.full_path()] diff --git a/gio/generated/meson.build b/gio/generated/meson.build index 53b615858..2dd0c90aa 100644 --- a/gio/generated/meson.build +++ b/gio/generated/meson.build @@ -415,4 +415,11 @@ source_gen = custom_target('gio_generated', output: generated_sources, ) +api_xml = custom_target(pkg + '_api_xml', + input: raw_api_fname, + output: pkg + '-api.xml', + command: [generate_api, '--fakeglue'], + depends: [source_gen], + install: true, + install_dir: gapi_xml_installdir) gio_api_includes = join_paths(meson.current_build_dir(), 'gio-api.xml') diff --git a/gio/meson.build b/gio/meson.build index b74d454a0..55021dcd6 100644 --- a/gio/meson.build +++ b/gio/meson.build @@ -1,7 +1,8 @@ snk = join_paths(meson.current_source_dir(), '..', 'gtk-sharp.snk') -assembly_name = 'gio-sharp' +pkg = 'gio' +assembly_name = pkg + '-sharp' -raw_api_fname = join_paths(meson.current_source_dir(), 'gio-api.raw') +raw_api_fname = join_paths(meson.current_source_dir(), pkg + '-api.raw') metadata_fname = join_paths(meson.current_source_dir(), 'Gio.metadata') glueincludes = 'gio/gio.h' gluefile = join_paths(meson.current_build_dir(), 'generate.c') @@ -12,7 +13,9 @@ configure_file(input: assembly_name + '.dll.config.in', configure_file(input: assembly_name + '-3.0.pc.in', output: assembly_name + '-3.0.pc', - configuration : version_data) + configuration : version_data, + install_dir: pkg_install_dir, + install: true) subdir('generated') @@ -30,6 +33,8 @@ sources = [ gio_sharp = library(assembly_name, source_gen, sources, cs_args: ['-unsafe', '-keyfile:' + snk], link_with: glib_sharp, + install: true, + install_dir: lib_install_dir ) gluegen = custom_target('giogluegen', diff --git a/glib/meson.build b/glib/meson.build index 1cae0f906..00e8634c6 100644 --- a/glib/meson.build +++ b/glib/meson.build @@ -7,7 +7,9 @@ configure_file(input: 'glib-sharp.dll.config.in', configure_file(input: 'glib-sharp-3.0.pc.in', output: 'glib-sharp-3.0.pc', - configuration : version_data) + configuration : version_data, + install_dir: pkg_install_dir, + install: true) policy_data = configuration_data() policy_data.set('ASSEMBLY_NAME', assembly_name) @@ -90,9 +92,12 @@ sources = [ glib_sharp = library(assembly_name, sources, cs_args: ['-unsafe', '-keyfile:' + snk], + install: true, + install_dir: lib_install_dir ) install_infos += [assembly_name, glib_sharp.full_path()] glib_sharp_dep = declare_dependency(link_with: glib_sharp) glib_api_includes = join_paths(meson.current_source_dir(), 'glib-api.xml') +install_data(glib_api_includes, install_dir: gapi_xml_installdir) diff --git a/gtk/generated/meson.build b/gtk/generated/meson.build index 7ba67889f..b76825b56 100644 --- a/gtk/generated/meson.build +++ b/gtk/generated/meson.build @@ -1084,5 +1084,11 @@ source_gen = custom_target(assembly_name + 'codegen', ], depends: [gapi_codegen, gapi_fixup]) +api_xml = custom_target(pkg + '_api_xml', + input: raw_api_fname, + output: pkg + '-api.xml', + command: [generate_api, '--fakeglue'], + depends: [source_gen], + install: true, + install_dir: gapi_xml_installdir) gtk_api_includes = join_paths(meson.current_build_dir(), 'gtk-api.xml') - diff --git a/gtk/meson.build b/gtk/meson.build index 349d033d5..4ff478712 100644 --- a/gtk/meson.build +++ b/gtk/meson.build @@ -1,8 +1,9 @@ snk = join_paths(meson.current_source_dir(), '..', 'gtk-sharp.snk') -assembly_name = 'gtk-sharp' -symbols = join_paths(meson.current_source_dir(), 'gtk-symbols.xml') +pkg = 'gtk' +assembly_name = pkg + '-sharp' +symbols = join_paths(meson.current_source_dir(), pkg + '-symbols.xml') -raw_api_fname = join_paths(meson.current_source_dir(), 'gtk-api.raw') +raw_api_fname = join_paths(meson.current_source_dir(), pkg + '-api.raw') metadata_fname = join_paths(meson.current_source_dir(), 'Gtk.metadata') glueincludes = 'gtk/gtk.h' gluefile = join_paths(meson.current_build_dir(), 'generate.c') @@ -13,7 +14,9 @@ configure_file(input: assembly_name + '.dll.config.in', configure_file(input: assembly_name + '-3.0.pc.in', output: assembly_name + '-3.0.pc', - configuration : version_data) + configuration : version_data, + install_dir: pkg_install_dir, + install: true) subdir('generated') @@ -134,6 +137,8 @@ gtk_sharp = library(assembly_name, source_gen, sources, link_with: [glib_sharp, pango_sharp, cairo_sharp, gio_sharp, atk_sharp, gdk_sharp], + install: true, + install_dir: lib_install_dir ) gluegen = custom_target('gtkgluegen', diff --git a/meson.build b/meson.build index 889475c49..73b9e223f 100644 --- a/meson.build +++ b/meson.build @@ -58,13 +58,17 @@ remap_dl_data = configuration_data() remap_dl_data.set('LIB_PREFIX', lib_prefix) remap_dl_data.set('LIB_SUFFIX', lib_suffix) +pkg_version = meson.project_name() + '-3.0' version_data = configuration_data() version_data.set('VERSION', meson.project_version()) -version_data.set('PACKAGE_VERSION', meson.project_name() + '-3.0') +version_data.set('PACKAGE_VERSION', pkg_version) install_infos = [] -schema = join_paths(meson.current_source_dir(), 'gapi.xsd') +lib_install_dir = join_paths(get_option('libdir'), 'mono', pkg_version) +pkg_install_dir = join_paths(get_option('libdir'), 'pkgconfig') +gapi_xml_installdir = join_paths(get_option('datadir'), 'gapi-3.0') +schema = join_paths(meson.current_source_dir(), 'gapi.xsd') subdir('parser') subdir('generator') subdir('glib') diff --git a/pango/generated/meson.build b/pango/generated/meson.build index 13b4d13c0..eb9801e55 100644 --- a/pango/generated/meson.build +++ b/pango/generated/meson.build @@ -133,4 +133,11 @@ source_gen = custom_target('pango_generated', output: generated_sources, ) -pango_api_includes = join_paths(meson.current_build_dir(), 'pango-api.xml') +api_xml = custom_target(pkg + '_api_xml', + input: raw_api_fname, + output: pkg + '-api.xml', + command: [generate_api, '--fakeglue'], + depends: [source_gen], + install: true, + install_dir: gapi_xml_installdir) +pango_api_includes = join_paths(meson.current_build_dir(), pkg + '-api.xml') diff --git a/pango/meson.build b/pango/meson.build index bdb82e1b9..bd51f3efc 100644 --- a/pango/meson.build +++ b/pango/meson.build @@ -1,7 +1,8 @@ snk = join_paths(meson.current_source_dir(), '..', 'gtk-sharp.snk') -assembly_name = 'pango-sharp' +pkg = 'pango' +assembly_name = pkg + '-sharp' glueincludes = 'pango/pango.h' -raw_api_fname = join_paths(meson.current_source_dir(), 'pango-api.raw') +raw_api_fname = join_paths(meson.current_source_dir(), pkg + '-api.raw') metadata_fname = join_paths(meson.current_source_dir(), 'Pango.metadata') gluefile = join_paths(meson.current_build_dir(), 'generate.c') @@ -60,7 +61,9 @@ sources = [ pango_sharp = library(assembly_name, source_gen, sources, cs_args: ['-unsafe', '-keyfile:' + snk], - link_with: [glib_sharp, cairo_sharp] + link_with: [glib_sharp, cairo_sharp], + install: true, + install_dir: lib_install_dir ) gluegen = custom_target('pangogluegen', From 2be716606b6b2de96fcb080db8dce82794777180 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Fri, 25 Aug 2017 10:11:37 -0300 Subject: [PATCH 66/66] meson: Specify all link dependencies in declare_dependency (#33) --- atk/meson.build | 3 +-- cairo/meson.build | 3 ++- gdk/meson.build | 5 +++-- gio/meson.build | 2 +- glib/meson.build | 3 ++- gtk/meson.build | 7 +++---- pango/meson.build | 5 +++-- 7 files changed, 15 insertions(+), 13 deletions(-) diff --git a/atk/meson.build b/atk/meson.build index 354fa9735..a52a3b5f3 100644 --- a/atk/meson.build +++ b/atk/meson.build @@ -42,5 +42,4 @@ library('atksharpglue-3', gluegen, install: true) install_infos += [assembly_name, atk_sharp.full_path()] -atk_sharp_dep = declare_dependency(link_with: atk_sharp) - +atk_sharp_dep = declare_dependency(link_with: [glib_sharp, atk_sharp]) diff --git a/cairo/meson.build b/cairo/meson.build index bb7c16cbd..243ad7166 100644 --- a/cairo/meson.build +++ b/cairo/meson.build @@ -70,6 +70,7 @@ cairo_sharp = library(assembly_name, sources, ) install_infos += [assembly_name, cairo_sharp.full_path()] -cairo_sharp_dep = declare_dependency(link_with: cairo_sharp) cairo_api_includes = join_paths(meson.current_source_dir(), 'cairo-api.xml') install_data(cairo_api_includes, install_dir: gapi_xml_installdir) + +cairo_sharp_dep = declare_dependency(link_with: cairo_sharp) diff --git a/gdk/meson.build b/gdk/meson.build index 036f145a5..c2eb13448 100644 --- a/gdk/meson.build +++ b/gdk/meson.build @@ -64,13 +64,14 @@ sources = [ 'Window.cs', ] +deps = [glib_sharp, pango_sharp, cairo_sharp, gio_sharp] gdk_sharp = library(assembly_name, source_gen, sources, cs_args: ['-unsafe', '-keyfile:' + snk], - link_with: [glib_sharp, pango_sharp, cairo_sharp, gio_sharp], + link_with: deps, install: true, install_dir: lib_install_dir ) install_infos += [assembly_name, gdk_sharp.full_path()] -gdk_sharp_dep = declare_dependency(link_with: gdk_sharp) +gdk_sharp_dep = declare_dependency(link_with: deps + [gdk_sharp]) diff --git a/gio/meson.build b/gio/meson.build index 55021dcd6..f561560a4 100644 --- a/gio/meson.build +++ b/gio/meson.build @@ -48,4 +48,4 @@ library('giosharpglue-3', gluegen, install: true) install_infos += [assembly_name, gio_sharp.full_path()] -gio_sharp_dep = declare_dependency(link_with: gio_sharp) +gio_sharp_dep = declare_dependency(link_with: [glib_sharp, gio_sharp]) diff --git a/glib/meson.build b/glib/meson.build index 00e8634c6..f3ed7f00a 100644 --- a/glib/meson.build +++ b/glib/meson.build @@ -98,6 +98,7 @@ glib_sharp = library(assembly_name, sources, install_infos += [assembly_name, glib_sharp.full_path()] -glib_sharp_dep = declare_dependency(link_with: glib_sharp) glib_api_includes = join_paths(meson.current_source_dir(), 'glib-api.xml') install_data(glib_api_includes, install_dir: gapi_xml_installdir) + +glib_sharp_dep = declare_dependency(link_with: glib_sharp) diff --git a/gtk/meson.build b/gtk/meson.build index 4ff478712..5c0f5032d 100644 --- a/gtk/meson.build +++ b/gtk/meson.build @@ -132,11 +132,10 @@ sources = [ 'Window.cs', ] +deps = [glib_sharp, pango_sharp, cairo_sharp, gio_sharp, atk_sharp, gdk_sharp] gtk_sharp = library(assembly_name, source_gen, sources, cs_args: ['-unsafe', '-keyfile:' + snk, '-nowarn:0618,0612,0169'], - link_with: [glib_sharp, pango_sharp, - cairo_sharp, gio_sharp, atk_sharp, - gdk_sharp], + link_with: deps, install: true, install_dir: lib_install_dir ) @@ -152,4 +151,4 @@ library('gtksharpglue-3', gluegen, install: true) install_infos += [assembly_name, gtk_sharp.full_path()] -gtk_sharp_dep = declare_dependency(link_with: gtk_sharp) +gtk_sharp_dep = declare_dependency(link_with: deps + [gtk_sharp]) diff --git a/pango/meson.build b/pango/meson.build index bd51f3efc..f36eacfac 100644 --- a/pango/meson.build +++ b/pango/meson.build @@ -59,9 +59,10 @@ sources = [ 'Units.cs', ] +deps = [glib_sharp, cairo_sharp] pango_sharp = library(assembly_name, source_gen, sources, cs_args: ['-unsafe', '-keyfile:' + snk], - link_with: [glib_sharp, cairo_sharp], + link_with: deps, install: true, install_dir: lib_install_dir ) @@ -77,4 +78,4 @@ library('pangosharpglue-3', gluegen, install: true) install_infos += [assembly_name, pango_sharp.full_path()] -pango_sharp_dep = declare_dependency(link_with: pango_sharp) +pango_sharp_dep = declare_dependency(link_with: deps + [pango_sharp])