Package: squeekboard Version: 1.14.0-3 Severity: serious x-debbugs-cc: deb...@nilux.be
squeekboard's build-dependencies are unsatisfiable in unstable due to the new version of the rust gtk stack. I tried relaxing the depenencies (on both the Debian side and cargo side), but it failed with the following error[E0432]: unresolved import `gtk::WidgetExt` --> /remap-pwd/src/drawing.rs:13:5 | 13 | use gtk::WidgetExt; | ^^^^^--------- | | | | | help: a similar name exists in the module: `Widget` | no `WidgetExt` in the root error[E0432]: unresolved import `gio::ActionMapExt` --> /remap-pwd/src/popover.rs:16:5 | 16 | use gio::ActionMapExt; | ^^^^^------------ | | | | | help: a similar name exists in the module: `ActionMap` | no `ActionMapExt` in the root error[E0432]: unresolved import `gio::SettingsExt` --> /remap-pwd/src/popover.rs:17:5 | 17 | use gio::SettingsExt; | ^^^^^----------- | | | | | help: a similar name exists in the module: `Settings` | no `SettingsExt` in the root error[E0432]: unresolved import `gtk::BuilderExtManual` --> /remap-pwd/src/popover.rs:23:5 | 23 | use gtk::BuilderExtManual; | ^^^^^^^^^^^^^^^^^^^^^ no `BuilderExtManual` in the root error[E0432]: unresolved import `gtk::PopoverExt` --> /remap-pwd/src/popover.rs:24:5 | 24 | use gtk::PopoverExt; | ^^^^^---------- | | | | | help: a similar name exists in the module: `Popover` | no `PopoverExt` in the root error[E0432]: unresolved import `gtk::WidgetExt` It seems to me that the new version of the rust gtk stack has changed the API quite substantially. I haven't looked deeper into porting this myself Debdiff adjusting the dependencies is attatched.
diff -Nru squeekboard-1.14.0/debian/changelog squeekboard-1.14.0/debian/changelog --- squeekboard-1.14.0/debian/changelog 2021-11-16 18:41:52.000000000 +0000 +++ squeekboard-1.14.0/debian/changelog 2022-01-15 05:09:34.000000000 +0000 @@ -1,3 +1,12 @@ +squeekboard (1.14.0-3.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Drop dependencies on obsolete cargo features in rust gtk stack. + * Use -f in rm command in clean target so it doesn't fail if the file + is already gone. + + -- Peter Michael Green <plugw...@debian.org> Sat, 15 Jan 2022 05:09:34 +0000 + squeekboard (1.14.0-3) unstable; urgency=medium * Team upload. diff -Nru squeekboard-1.14.0/debian/patches/relax-dep.patch squeekboard-1.14.0/debian/patches/relax-dep.patch --- squeekboard-1.14.0/debian/patches/relax-dep.patch 1970-01-01 00:00:00.000000000 +0000 +++ squeekboard-1.14.0/debian/patches/relax-dep.patch 2022-01-15 05:09:34.000000000 +0000 @@ -0,0 +1,53 @@ +Description: relax cargo dependencies +Author: Peter Michael Green <plugw...@debian.org> + +Index: squeekboard-1.14.0/Cargo.deps +=================================================================== +--- squeekboard-1.14.0.orig/Cargo.deps ++++ squeekboard-1.14.0/Cargo.deps +@@ -1,22 +1,19 @@ + # Dependencies which change based on build flags +-bitflags = "1.2.*" ++bitflags = "^1.2" + clap = { version = "2.33.*", default-features = false } +-regex = { version = "1.3.*", default-features = false, features = ["std", "unicode-case"] } ++regex = { version = "^1.3", default-features = false, features = ["std", "unicode-case"] } + + [dependencies.cairo-rs] +-version = "0.7.*" ++version = "0.14.*" + + [dependencies.gdk] +-version = "0.11.*" ++version = "0.14.*" + + [dependencies.gio] +-version = "0.7.*" +-features = ["v2_44"] ++version = "0.14.*" + + [dependencies.glib] +-version = "0.8.*" +-features = ["v2_44"] ++version = "0.14.*" + + [dependencies.gtk] +-version = "0.7.*" +-features = ["v3_22"] ++version = "0.14.*" +Index: squeekboard-1.14.0/Cargo.toml.in +=================================================================== +--- squeekboard-1.14.0.orig/Cargo.toml.in ++++ squeekboard-1.14.0/Cargo.toml.in +@@ -27,11 +27,9 @@ version = "*" + + [dependencies.glib-sys] + version = "*" +-features = ["v2_44"] + + [dependencies.gtk-sys] + version = "*" +-features = ["v3_22"] + + [dependencies] + maplit = "1.0.*" diff -Nru squeekboard-1.14.0/debian/patches/series squeekboard-1.14.0/debian/patches/series --- squeekboard-1.14.0/debian/patches/series 2021-11-16 17:09:40.000000000 +0000 +++ squeekboard-1.14.0/debian/patches/series 2022-01-15 05:09:34.000000000 +0000 @@ -1,2 +1,3 @@ fix_cargo_error.patch fix_meson_ftbfs.patch +relax-dep.patch diff -Nru squeekboard-1.14.0/debian/rules squeekboard-1.14.0/debian/rules --- squeekboard-1.14.0/debian/rules 2021-11-16 16:18:30.000000000 +0000 +++ squeekboard-1.14.0/debian/rules 2022-01-15 05:09:25.000000000 +0000 @@ -24,7 +24,7 @@ # The Debian version of linked-hash-map doesn't provide any hash, # causing Cargo to refuse to build with a crates.io copy build-arch: - rm Cargo.lock + rm -f Cargo.lock dh $@ --builddirectory=_build --buildsystem=meson override_dh_autoreconf: