linebender / druid

A data-first Rust-native UI design toolkit.
https://linebender.org/druid/
Apache License 2.0
9.44k stars 569 forks source link

Update all gtk crates to 18.x #2391

Open atlanticaccent opened 7 months ago

atlanticaccent commented 7 months ago

Updates all GTK dependencies from 0.16.x to 0.18.x.

Fixes breaking changes introduced. Also adds a top level allow for clippy::arc_with_non_send_sync as it's triggered pretty much everywhere in the project and is a massive undertaking to fix.

Currently using a git dependency for piet as it does not have a release including updates to its GTK dependencies.

xStrom commented 4 months ago

Sorry for letting this sit for so long. Are you still interested in moving this forward?

The master branch now has an updated CI script and Clippy issues are resolved there. So please rebase on master and that top level clippy::arc_with_non_send_sync should no longer be required.

Also, Piet now has the GTK crates at 0.19. I will soon make a Piet release too. Until then, we could use a git pin. If you're interested, feel free to change this PR to 0.19 with the latest Piet git pin. If you just want to get the update to 0.18 that is fine too.

atlanticaccent commented 4 months ago

I'm happy to update this PR yes!

I'll need to check if updating to GTK 0.19 will break anything I'm working on (I have a bunch of other dependencies with GTK crates in their deps as well) so will default to only going to 0.18 for now.