I was asked today if there is already a Flatpak runtime that includes GTK+ 3.94. A very natural question. GTK+ 4 and flatpak are both cool, so of course you want to try them together.
But the answer is: No, GTK+ 4 is not included in a runtime yet.
It is still a bit early for that – the master branch of the GNOME runtime includes development versions of libraries, but those are libraries that are following the GNOME release schedule, where we can expect them to have a stable release in time for GNOME 3.30 in September. That is not the case for GTK+ 4.
However, that does not mean you cannot take your first steps with GTK+ 3.94 and flatpak right now. Flatpak is a flexible system and the bundling capabilities are very well-suited for this kind of scenario.
Just add GTK+ to the list of bundled modules in your flatpak manifest:
... "modules": [ { "name": "gtk+", "buildsystem": "meson", "builddir": true, "config-opts": [ "--prefix="/app", "--libdir="lib", "-Ddemos=false", "-Dbuild-tests=false" ], "sources": [ "type": "archive", "url": "https://download.gnome.org/sources/gtk+/3.94/gtk+-3.94.0.tar.xz" ] }, { "name": "your-app", ... } ] ...
If you are more adventurous, you can also build the GTK+ master branch from git, to see our latest progress towards GTK+ 4 as it happens.
To see a complete example of a flatpak manifest bundling GTK+ and its dependencies, you can look at corebird.
We have the beginnings of a GTK+ 3 → 4 migration guide in the GTK+ documentation. If you give it a try, please let us know what works and what is missing.
One way to so so is to file an issue. But you also welcome to come by the GTK+ BoF at Guadec in Almeria and tell us in person.
Hi, WHile I have found a lot of info in the guide to port, I didnt find a guide or an example of a complex widget using gsk. Is there such a guide, or a kind of tutorial to create complex widgets with it?