[Debian-on-mobile-maintainers] Bug#1003756: squeekboard, build-depends unsatisfiable

peter green plugwash at p10link.net
Sat Jan 15 05:41:07 GMT 2022


Package: squeekboard
Version:  1.14.0-3
Severity: serious
x-debbugs-cc: debian at 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.


-------------- next part --------------
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 <plugwash at 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 <plugwash at 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:


More information about the Debian-on-mobile-maintainers mailing list