I would suggest using Meson for installation. See Fractal and Podcasts for Rust examples. It makes resources and internationalization easy.
And cargo vendor (now out of the box in nightly) is excellent for packaging releases as tarballs together with all Rust dependencies. It’s awesome for packaging — net-im/fractal in FreeBSD Ports looks like a regular USES=meson port, just with a build dependency on Rust.
I actually tried to set up Meson and never got it working quite right. I have to say, I’m not sure what value it provides over make, probably because I have yet to run into the pain of maintaining a huge Makefile.
The project currently uses cargo vendor, and I’ll talk about it more in the Flatpak packaging post.
I always wonder about the completeness of these gtk bindings. Like is the table tree component (whatever it’s called in gtk) fully fleshed out or do I have to go in and touch up the functionility I might need for whatever ui components the creators aren’t using in their app? Does anyone have experience with this?
Most of the bindings are generated From gir (gobject instrospection) files published with the Gtk libraries so it’s quite complete. See the list here: https://github.com/gtk-rs/gtk/blob/master/Gir.toml
table tree component
table tree component
Don’t remind me of that thing. Last time I did Gtk (in Gtk#) there was so much boilerplate to get a simple example, and fighting the toolkit wanting to implement its own MVC model in lieu of one a backend library already had.
Nice one. I’ve also had the pleasure to use GTK3 with Rust for a little side project of mine, and it is doable. I think it’s a little awkward sometimes because GTK implements its own object/class model on top of C, but there are Rust traits to do introspection and convert things as needed.
it’s glib that implements the object model. It’s quite usable outside of gtk.
It’s nice to see more GTK integrations, and Glade being alive and developed.
Do the binaries depend on libglade?
Nope! Glade is only used to create the template file that’s then compiled into the binary.
That’s great. I’ve been out of touch with the GTK world for a while, but as far as I remember, that used to be the case.