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:

Reply via email to