linebender / druid

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

Update all gtk crates to 18.x #2391

Closed atlanticaccent closed 1 week ago

atlanticaccent commented 1 year 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 9 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 9 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.

jacksongoode commented 1 week ago

Would it make sense to try gtk-rs-core 0.20 now?

xStrom commented 1 week ago

Can't move on to 0.20 because gtk3-rs has been abandoned and 0.18 was the last release they did before archiving the repository.

Also, this PR here has been superseded by #2410. If @atlanticaccent or anyone else has interest in the upgrade to 0.18 then please take a look at #2410 and see if it works for you, so we can get that merged.