rust-xkbcommon is transitioning to 0.9.0 (part of the xkbcommon/pipewire
Wayland stack update currently in debcargo-conf MR !1327). squeekboard
build-depends on librust-xkbcommon-0.8-dev and will need to move to
librust-xkbcommon-0.9-dev once that MR merges, since Debian does not
keep both xkbcommon 0.8 and 0.9 co-installable.
squeekboard's only use of the xkbcommon Rust API is in its test module
(src/keyboard.rs), calling xkb::Context::new, xkb::Keymap::new_from_string,
xkb::State::new and state.key_get_one_sym. None of that surface changed
between 0.8 and 0.9, so no source port is needed, only the version bump.
Verified by widening the Cargo.toml constraint to xkbcommon 0.9 and
compiling the lib target (cargo check --lib --tests) against xkbcommon
0.9.0 from crates.io: it builds clean, with no errors touching xkbcommon
or any of its consumers. (The two bin targets, rs and test_layout, fail
to resolve their own crate::* module paths under a bare cargo invocation
outside the meson build; that is pre-existing and unrelated to this bump.)
Attached debdiff bumps:
- Cargo.toml: xkbcommon 0.8 -> 0.9 (new patch,
debian/patches/0005-Bump-xkbcommon-dependency-to-0.9.patch)
- debian/control: librust-xkbcommon-0.8-dev -> librust-xkbcommon-0.9-dev
Please hold off uploading until librust-xkbcommon-0.9-dev actually lands
in unstable (debcargo-conf !1327 is still open review).