GNOME+Rust Hackfest in Thessaloniki

The last GNOME+Rust hackfest just ended, time for a blog post to sum up what happened in this event!

What happened?

Just like usual, a lot of things. This time, we discussed more than usual, mainly about how things should move in gtk-rs future, things to be improved based on users' feedbacks and where Rust could be used in GNOME more generally. Some interesting things came out of those discussions and I can't wait for them to become real. I'll talk about all this when it'll be more concrete.

What about code then? A lot of awesome things:

I'm pretty sure I missed a lot of amazing other contributions but their authors will certainly write blog posts about it so I'll let them talk about their work themselves! :)

Little changes and (a lot of) scheduling

So what happened on my side? Before the event started, I generated the Rust binding for the Atk library. It allowed me then to integrate it into gtk-rs/gtk and to write an example on how to use it (orca has been really useful to test it!).

We also somewhat officialized that gtk-rs supports the Rust 1.28 version. We had to make a few fixes into gir in order to make it supported in all crates but it's now all working! Discussions about making it (the supported Rust version) official is still going on.

I sent a pull request strenghtened gir's CI in order to be sure that the generated code is valid for high-level generated APIs.

I made a little cleanup on gir repository.

I also added the generation of the Display trait in gir. It was weird to only have the Debug trait, so now this is a weirdness fixed. Therefore, you can now write:

Runlet widget = gtk::Button::new_with_label("hello");
println!("This is a {}!", widget);

And you'll get:

This is a Button!

I started working on the "closure user_data" issue. Unfortunately, I didn't have time to finish the pull request. This is one of the last big missing parts of gir and I really want it to be done as quickly as possible. More to come soon!

Scheduling you said?

Yes, I said that we discussed a lot about scheduling but didn't yet said what it was all about. Time to do it!

So we talked about what remained to be done before a 1.0 release. So basically:

Still a lot of work to do but it's nice to see how much gtk-rs evolved since its beginnings. We also talked more globally about Rust integration into GNOME libraries. Again, more to come later!

Word of the end

Thanks a lot to Sebastian and Vivia for organizing the event and taking care of us. It was an amazing hackfest!

Thessaloniki hackfest

And finally (last but not least):

Thanks to the GNOME Foundation...

... for sponsoring my travel and accomodation during the hackfest!

Berlin restaurant
Posted on the 19/11/2018 at 00:00 by @GuillaumeGomez

Next article

Keeping Rust projects' code examples up-to-date

Previous article

Rust+GNOME Hackfest in Madrid
Back to articles list
RSS feedRSS feed