Wiki - https://fedoraproject.org/wiki/Changes/Deprecate_gtk3-rs Discussion Thread - https://discussion.fedoraproject.org/t/f42-change-proposal-deprecate-gtk3-rs-self-contained/139531 This is a proposed Change for Fedora Linux. This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee. == Summary == The Rust bindings for GTK3 (and related libraries) are unmaintained upstream, and are no longer updated in lockstep with bindings for GLib and other related libraries. This Change to mark the packages for the gtk3-rs crates as deprecated reflects this status. == Owner == * Name: [[User:Decathorpe| Fabio Valentini]] * Email: decathorpe (at) gmail (dot) com * Name: Rust SIG * Email: rust (at) lists (dot) fedoraproject (dot) org == Detailed Description == It was announced that the Rust bindings for GTK3 are on basic maintenance only in the [https://gtk-rs.org/blog/2023/02/10/new-release.html release announcement for gtk-rs 0.17]. The [https://gtk-rs.org/blog/2023/08/28/new-release.html release announcement for gtk-rs 0.18] noted that it would be the last release that included the GTK3 bindings. As expected, the [https://gtk-rs.org/blog/2024/06/01/new-release.html release announcement for gtk-rs 0.19] announces that support for the GTK3 bindings was officially dropped. Applications that rely on the Rust bindings for GTK3 continue to pull in version 0.18 of the Rust bindings for GLib, cairo, pango, etc. (which were obsoleted by version 0.19 and then 0.20) and the unmaintained bindings for atk and gdk. This also affects the Rust bindings for libhandy. These Rust bindings receive regular fixes for safety and correctness issues - continuing to depend on old versions is not ideal, since only critical fixes are backported to the Fedora packages for these obsolete versions (if that is even possible). The upstream project does not backport fixes or release new versions of older release branches at all. == Feedback == N/Y == Benefit to Fedora == The Rust bindings for GTK3 are obsolete. This Change ensures that no new packages are introduced that depend on them, and that they can eventually be removed from Fedora entirely (alongside old versions of the bindings for GLib, cairo, pango, etc. that are only still present because they are pulled in by the GTK3 bindings that are no longer updated in lockstep). == Scope == * Proposal owners: All affected packages are marked with `Provides: deprecated()` according to the [https://docs.fedoraproject.org/en-US/packaging-guidelines/deprecating-packages/ Packaging Guidelines for deprecating packages]. rust-atk rust-atk-sys rust-gdk rust-gdk-sys rust-gtk rust-gtk-sys rust-gtk3-macros rust-libhandy rust-libhandy-sys * Other developers: N/A * Release engineering: N/A * Policies and guidelines: N/A * Trademark approval: N/A * Alignment with the Fedora Strategy: Err ... maybe? == Upgrade/compatibility impact == N/A == How To Test == Ensure that `dnf repoquery --provides rust-$crate-devel` includes `deprecated()` for all listed packages in Fedora 42+. == User Experience == N/A == Dependencies == Two packages currently depend on the Rust bindings for GTK3, and both already have open upstream issues for moving to GTK4: * squeekboard: https://gitlab.gnome.org/World/Phosh/squeekboard/-/issues/64 * system76-keyboard-configurator: https://github.com/pop-os/keyboard-configurator/issues/133 == Contingency Plan == N/A (not a System Wide Change) In the extremely unlikely event that adding `Provides: deprecated()` to any or all of the listed packages causes problems, this change can be easily reverted. * Contingency mechanism: N/A (not a System Wide Change) * Contingency deadline: F42 Final Freeze * Blocks release? N/A (not a System Wide Change) == Documentation == * https://gtk-rs.org/blog/2023/02/10/new-release.html * https://gtk-rs.org/blog/2023/08/28/new-release.html * https://gtk-rs.org/blog/2024/06/01/new-release.html == Release Notes == The Rust bindings for GTK3 are obsolete and officially unmaintained. The packages for them have been marked as deprecated to prevent new packages that depend on them from being added to Fedora, and they will be removed from a future release. -- Aoife Moloney Fedora Operations Architect Fedora Project Matrix: @amoloney:fedora.im IRC: amoloney -- _______________________________________________ devel-announce mailing list -- devel-announce@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-announce-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel-announce@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue -- _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue