no more submodule

This commit is contained in:
2024-09-15 22:40:48 +02:00
parent df3b8a3135
commit 0234b33671
5804 changed files with 943618 additions and 1 deletions

View File

@@ -0,0 +1,5 @@
atk-*/
gdk-pixbuf-*/
glib-*/
gtk+-*/
pango-*/

View File

@@ -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

View File

@@ -0,0 +1,59 @@
The contents of this directory are (basically) the first step
in creating .NET bindings, to libraries based on GObject.
WHO USES THE SOURCES DIRECTORY
------------------------------
This directory is essentially the starting point in the creation
of a .NET binding. Most people can safely ignore it. (If all
you want to do is build Gtk#, then you can ignore what's in this
directory.)
This directory is not part of the normal build process for Gtk#.
But is instead used by people wishing to update an existing .NET
binding; or to create a new .NET binding (for a GObject based library).
The result of running "make api" on this directory (once everything
is set up) are the various '*-api.raw' XML files that you find in the
corresponding directories. Those XML files will then be used to generate
the C# code. And then that C# code is used to create the various .DLL
files.
Please refer to http://www.mono-project.com/GAPI for a more complete and
up-to-date guide to this process.
WHAT'S REQUIRED
---------------
Before you can do anything here, you need to get the source
code to the various libraries (which you are generating .NET
bindings for). And then do a little configuring. The current
list of libraries that Gtk# supports is in the sources.xml and Makefile.am
files.
If you create a new binding that is part of Gtk#, be sure to add it to this
list.
There are two ways to get this source code, as you will see in the
next section.
SETTING THINGS UP
-----------------
To set things up, you need to get the source code to the libraries listed
above. There are two (alternate) methods of doing this.
Method 1)
Download and unpack the source code manually.
Method 2)
Run:
make get-source-code
(Method 2 is probably the easiest way to do it for most people. It
automatically goes and downloads everything you need, and sets everything
up for you.)
For more information, please refer to http://www.mono-project.com/GAPI

View File

@@ -0,0 +1,59 @@
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] =
- g_signal_newv (I_("row-inserted"),
+ g_signal_new (I_("row-inserted"),
GTK_TYPE_TREE_MODEL,
G_SIGNAL_RUN_FIRST,
- closure,
+ G_STRUCT_OFFSET (GtkTreeModelIface, row_inserted),
NULL, NULL,
_gtk_marshal_VOID__BOXED_BOXED,
G_TYPE_NONE, 2,
- row_inserted_params);
+ GTK_TYPE_TREE_PATH | G_SIGNAL_TYPE_STATIC_SCOPE,
+ GTK_TYPE_TREE_ITER);
/**
* GtkTreeModel::row-has-child-toggled:
@@ -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] =
- g_signal_newv (I_("row-deleted"),
+ g_signal_new (I_("row-deleted"),
GTK_TYPE_TREE_MODEL,
G_SIGNAL_RUN_FIRST,
- closure,
+ G_STRUCT_OFFSET (GtkTreeModelIface, row_deleted),
NULL, NULL,
NULL,
G_TYPE_NONE, 1,
- row_deleted_params);
+ GTK_TYPE_TREE_PATH);
/**
* 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] =
- g_signal_newv (I_("rows-reordered"),
+ g_signal_new (I_("rows-reordered"),
GTK_TYPE_TREE_MODEL,
G_SIGNAL_RUN_FIRST,
- closure,
+ G_STRUCT_OFFSET (GtkTreeModelIface, rows_reordered),
NULL, NULL,
_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);
initialized = TRUE;
}
}

View File

@@ -0,0 +1,53 @@
--- 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;
- /* 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
};
/**
@@ -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

View File

@@ -0,0 +1,24 @@
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,
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;

View File

@@ -0,0 +1,272 @@
<gapi-parser-input>
<api filename="../gio/gio-api.raw">
<library name="libgio-2.0-0.dll">
<namespace name="G">
<directory path="glib-2.50.2/gio">
<exclude>gasynchelper.h</exclude>
<exclude>gcontenttypeprivate.h</exclude>
<exclude>gdelayedsettingsbackend.h</exclude>
<exclude>gdummyfile.h</exclude>
<exclude>gfileattribute-priv.h</exclude>
<exclude>gioalias.h</exclude>
<exclude>gio-marshal.h</exclude>
<exclude>giomodule-priv.h</exclude>
<exclude>glocalfile.h</exclude>
<exclude>glocalfileinfo.h</exclude>
<exclude>glocalfileinputstream.h</exclude>
<exclude>glocalfilemonitor.h</exclude>
<exclude>glocalfileoutputstream.h</exclude>
<exclude>glocalvfs.h</exclude>
<exclude>gkeyfilesettingsbackend.h</exclude>
<exclude>gmountprivate.h</exclude>
<exclude>gpollfilemonitor.h</exclude>
<exclude>gsettingsbackend.h</exclude>
<exclude>gsettingsbackendinternal.h</exclude>
<exclude>gunionvolumemonitor.h</exclude>
<exclude>gunixinputstream.h</exclude>
<exclude>gunixmount.h</exclude>
<exclude>gunixmounts.h</exclude>
<exclude>gunixoutputstream.h</exclude>
<exclude>gunixvolume.h</exclude>
<exclude>gunixvolumemonitor.h</exclude>
<exclude>gwin32appinfo.h</exclude>
<exclude>gwin32inputstream.h</exclude>
<exclude>gwin32mount.h</exclude>
<exclude>gwin32outputstream.h</exclude>
<exclude>gwin32resolver.h</exclude>
<exclude>gwin32volumemonitor.h</exclude>
<exclude>gdesktopappinfo.h</exclude>
<exclude>gdesktopappinfo.c</exclude>
<exclude>gdbusactiongroup.h</exclude>
<exclude>gdbusdaemon.h</exclude>
<exclude>gdbusobject.h</exclude>
<exclude>gdbusaddress.h</exclude>
<exclude>gdbuserror.h</exclude>
<exclude>gdbusobjectmanagerclient.h</exclude>
<exclude>gdbusauth.h</exclude>
<exclude>gdbusinterface.h</exclude>
<exclude>gdbusobjectmanager.h</exclude>
<exclude>gdbusauthmechanismanon.h</exclude>
<exclude>gdbusinterfaceskeleton.h</exclude>
<exclude>gdbusobjectmanagerserver.h</exclude>
<exclude>gdbusauthmechanismexternal.h</exclude>
<exclude>gdbusintrospection.h</exclude>
<exclude>gdbusobjectproxy.h</exclude>
<exclude>gdbusauthmechanism.h</exclude>
<exclude>gdbusmenumodel.h</exclude>
<exclude>gdbusobjectskeleton.h</exclude>
<exclude>gdbusauthmechanismsha1.h</exclude>
<exclude>gdbusmessage.h</exclude>
<exclude>gdbusprivate.h</exclude>
<exclude>gdbusauthobserver.h</exclude>
<exclude>gdbusmethodinvocation.h</exclude>
<exclude>gdbusproxy.h</exclude>
<exclude>gdbusconnection.h</exclude>
<exclude>gdbusnameowning.h</exclude>
<exclude>gdbusserver.h</exclude>
<exclude>gdbus-daemon-generated.h</exclude>
<exclude>gdbusnamewatching.h</exclude>
<exclude>gdbusutils.h</exclude>
<exclude>gpollableoutputstream.h</exclude>
<exclude>gsocket.h</exclude>
<exclude>gpollableinputstream.h</exclude>
<exclude>gnetworkmonitor.h</exclude>
<exclude>gnetworkmonitorbase.h</exclude>
<exclude>gremoteactiongroup.h</exclude>
<exclude>gapplicationimpl.h</exclude>
<exclude>gresourcefile.h</exclude>
<exclude>gsettingsschema.h</exclude>
<exclude>gsettingsschema-internal.h</exclude>
<exclude>gtlsfiledatabase.h</exclude>
<exclude>gdtlsclientconnection.c</exclude>
<exclude>gdtlsclientconnection.h</exclude>
<exclude>gdtlsconnection.c</exclude>
<exclude>gdtlsconnection.h</exclude>
<exclude>gdtlsserverconnection.c</exclude>
<exclude>gdtlsserverconnection.h</exclude>
<exclude>xdp-dbus.c</exclude>
<exclude>xdp-dbus.h</exclude>
</directory>
</namespace>
</library>
</api>
<api filename="../atk/atk-api.raw">
<library name="libatk-1.0-0.dll">
<namespace name="Atk">
<dir>atk-2.22.0/atk</dir>
</namespace>
</library>
</api>
<api filename="../pango/pango-api.raw">
<library name="libpango-1.0-0.dll">
<namespace name="Pango">
<directory path="pango-1.40.3/pango">
<exclude>pangoatsui.c</exclude>
<exclude>pangoatsui.h</exclude>
<exclude>pangoatsui-fontmap.h</exclude>
<exclude>pangoatsui-private.h</exclude>
<exclude>pangocairo-atsui.h</exclude>
<exclude>pangocairo-atsuifont.h</exclude>
<exclude>pangocairo-fc.h</exclude>
<exclude>pangocairo-win32.h</exclude>
<exclude>pangocairo-private.h</exclude>
<exclude>pangofc-decoder.c</exclude>
<exclude>pangofc-decoder.h</exclude>
<exclude>pangofc-font.c</exclude>
<exclude>pangofc-font.h</exclude>
<exclude>pangofc-fontmap.c</exclude>
<exclude>pangofc-fontmap.h</exclude>
<exclude>pangofc-private.h</exclude>
<exclude>pangox-fontcache.c</exclude>
<exclude>pangox-fontmap.c</exclude>
<exclude>pangox-private.h</exclude>
<exclude>pangox.h</exclude>
<exclude>pangox.c</exclude>
<exclude>pangoxft.h</exclude>
<exclude>pangoxft-font.c</exclude>
<exclude>pangoxft-font.h</exclude>
<exclude>pangoxft-fontmap.c</exclude>
<exclude>pangoxft-fontmap.h</exclude>
<exclude>pangoxft-private.h</exclude>
<exclude>pangoxft-render.c</exclude>
<exclude>pangoxft-render.h</exclude>
<exclude>pango-color-table.h</exclude>
<exclude>pango-impl-utils.h</exclude>
<exclude>pango-language-sample-table.h</exclude>
<exclude>pango-script-lang-table.h</exclude>
<exclude>pango-script-table.h</exclude>
</directory>
</namespace>
</library>
</api>
<api filename="../gdk/gdk-api.raw">
<library name="libgdk-3-0.dll">
<namespace name="Gdk">
<directory path="gtk+-3.22.6/gdk">
<exclude>gdkalias.h</exclude>
<exclude>gdkwindowimpl.h</exclude>
<exclude>keyname-table.h</exclude>
</directory>
<directory path="gtk+-3.22.6/gdk/deprecated" />
</namespace>
</library>
<library name="libgdk_pixbuf-2.0-0.dll">
<namespace name="Gdk">
<directory path="gdk-pixbuf-2.36.2/gdk-pixbuf">
<exclude>io-gdip-native.h</exclude>
<exclude>io-gdip-propertytags.h</exclude>
<exclude>io-gdip-utils.h</exclude>
<exclude>io-gdip-animation.h</exclude>
<exclude>gdk-pixbuf-alias.h</exclude>
<exclude>gdk-pixbuf-scaled-anim.h</exclude>
<exclude>xpm-color-table.h</exclude>
</directory>
</namespace>
</library>
</api>
<api filename="../gtk/gtk-api.raw">
<library name="libgtk-3-0.dll">
<namespace name="Gtk">
<directory path="gtk+-3.22.6/gtk">
<!-- Internal stuff -->
<exclude>gtkalias.h</exclude>
<exclude>gtkappchooseronline.h</exclude>
<exclude>gtkbuiltincache.h</exclude>
<exclude>gtkdndcursors.h</exclude>
<exclude>gtkfilechooserdefault.c</exclude>
<exclude>gtkfilechooserdefault.h</exclude>
<exclude>gtkfilechooserembed.c</exclude>
<exclude>gtkfilechooserembed.h</exclude>
<exclude>gtkfilechooserentry.c</exclude>
<exclude>gtkfilechooserentry.h</exclude>
<exclude>gtkfilechoosersettings.c</exclude>
<exclude>gtkfilechoosersettings.h</exclude>
<exclude>gtkfilechooserutils.c</exclude>
<exclude>gtkfilechooserutils.h</exclude>
<exclude>gtkfilesystem.c</exclude>
<exclude>gtkfilesystem.h</exclude>
<exclude>gtkfilesystemmodel.c</exclude>
<exclude>gtkfilesystemmodel.h</exclude>
<exclude>gtkfilesystemunix.c</exclude>
<exclude>gtkfilesystemunix.h</exclude>
<exclude>gtkfilesystemwin32.c</exclude>
<exclude>gtkfilesystemwin32.h</exclude>
<exclude>gtkiconcache.c</exclude>
<exclude>gtkiconcache.h</exclude>
<exclude>gtkiconcachevalidator.c</exclude>
<exclude>gtkiconcachevalidator.h</exclude>
<exclude>gtkiconthemeparser.h</exclude>
<exclude>gtkimcontextsimpleseqs.h</exclude>
<exclude>gtkpathbar.c</exclude>
<exclude>gtkpathbar.h</exclude>
<exclude>gtkprintbackend.h</exclude>
<exclude>gtkprinteroption.h</exclude>
<exclude>gtkprinteroptionset.h</exclude>
<exclude>gtkprinteroptionwidget.h</exclude>
<exclude>gtkquery.c</exclude>
<exclude>gtkquery.h</exclude>
<exclude>gtkrbtree.c</exclude>
<exclude>gtkrbtree.h</exclude>
<exclude>gtksearchengine.c</exclude>
<exclude>gtksearchengine.h</exclude>
<exclude>gtksearchenginebeagle.c</exclude>
<exclude>gtksearchenginebeagle.h</exclude>
<exclude>gtksearchenginequartz.c</exclude>
<exclude>gtksearchenginequartz.h</exclude>
<exclude>gtksearchenginesimple.c</exclude>
<exclude>gtksearchenginesimple.h</exclude>
<exclude>gtksearchenginetracker.c</exclude>
<exclude>gtksearchenginetracker.h</exclude>
<exclude>gtksequence.c</exclude>
<exclude>gtksequence.h</exclude>
<exclude>gtktextbtree.c</exclude>
<exclude>gtktextbtree.h</exclude>
<exclude>gtktextsegment.c</exclude>
<exclude>gtktextsegment.h</exclude>
<exclude>gtktexttypes.c</exclude>
<exclude>gtktexttypes.h</exclude>
<exclude>gtktextutil.c</exclude>
<exclude>gtktextutil.h</exclude>
<exclude>gtkthemes.c</exclude>
<exclude>gtkthemes.h</exclude>
<exclude>gtktreedatalist.c</exclude>
<exclude>gtktreedatalist.h</exclude>
<exclude>gtkwindow-decorate.c</exclude>
<exclude>gtkwindow-decorate.h</exclude>
<exclude>gtkxembed.h</exclude>
<exclude>xembed.h</exclude>
<exclude>gtkclist.c</exclude>
<exclude>gtkclist.h</exclude>
<exclude>gtkctree.c</exclude>
<exclude>gtkctree.h</exclude>
<exclude>gtklist.c</exclude>
<exclude>gtklist.h</exclude>
<exclude>gtklistitem.c</exclude>
<exclude>gtklistitem.h</exclude>
<exclude>gtkoldeditable.c</exclude>
<exclude>gtkoldeditable.h</exclude>
<exclude>gtkpixmap.c</exclude>
<exclude>gtkpixmap.h</exclude>
<exclude>gtkpreview.c</exclude>
<exclude>gtkpreview.h</exclude>
<exclude>gtkprogress.c</exclude>
<exclude>gtkprogress.h</exclude>
<exclude>gtktext.c</exclude>
<exclude>gtktext.h</exclude>
<exclude>gtktipsquery.c</exclude>
<exclude>gtktipsquery.h</exclude>
<exclude>gtktree.c</exclude>
<exclude>gtktree.h</exclude>
<exclude>gtktreeitem.c</exclude>
<exclude>gtktreeitem.h</exclude>
<exclude>gtkcellarea.c</exclude>
<exclude>gtklockbutton.h</exclude>
<exclude>gtksearchenginemodel.h</exclude>
<exclude>gtkcomposetable.c</exclude>
<exclude>gtkcomposetable.h</exclude>
</directory>
<directory path="gtk+-3.22.6/gtk/deprecated" />
</namespace>
</library>
</api>
</gapi-parser-input>