[Pkg-rust-maintainers] Bug#1116500: rust-gtk4: please remove Build-Depends on non-multiarch-friendly libgirepository1.0-dev
Simon McVittie
smcv at debian.org
Sun Sep 28 01:13:36 BST 2025
Source: rust-gtk4
Severity: normal
Tags: patch forky sid
User: pkg-gnome-maintainers at lists.alioth.debian.org
Usertags: libgirepository1.0-dev
As announced in
https://lists.debian.org/debian-devel/2025/08/msg00150.html I would like
to try to remove libgirepository1.0-dev during the forky cycle (and I
plan to do a mass-bug filing for this at some point).
As previously discussed with Matthias Geiger on IRC, I've added a new
tool to gobject-introspection (>= 1.86.0-3~), deb-gir-tool(1), which
should make it easier to remove this dependency from rust-gtk4 and
similar packages.
I successfully built rust-gtk4 with the attached patch. I have not
tested the result, but I used diffoscope to compare the resulting binary
packages to a reference build done against
libgirepository1.0-dev_1.86.0-2 without the patch, and they were
identical - so hopefully everything is as it should be.
This requires a very new gobject-introspection, so you might prefer to
let it migrate to testing before applying the patch, but I wanted to
send the patch before I forget about it.
The output of the tool in the build log looks something like this:
>make[1]: Entering directory '/build/reproducible-path/rust-gtk4-0.10.1'
>deb-gir-tool find \
> --target-directory=/build/reproducible-path/rust-gtk4-0.10.1 \
> --verbose \
> --with-dependencies \
> Gtk-4.0
>deb-gi-tool: Copied “/usr/share/gir-1.0/Gtk-4.0.gir” to “/build/reproducible-path/rust-gtk4-0.10.1/Gtk-4.0.gir”
>deb-gi-tool: Gtk-4.0 depends on Gdk-4.0
>deb-gi-tool: Gtk-4.0 depends on Gsk-4.0
>deb-gi-tool: Copied “/usr/share/gir-1.0/Gdk-4.0.gir” to “/build/reproducible-path/rust-gtk4-0.10.1/Gdk-4.0.gir”
...
>deb-gi-tool: GModule-2.0 depends on GLib-2.0
>deb-gi-tool: Copied “/usr/lib/x86_64-linux-gnu/gir-1.0/GLib-2.0.gir” to “/build/reproducible-path/rust-gtk4-0.10.1/GLib-2.0.gir”
>deb-gi-tool: Copied “/usr/share/gir-1.0/GObject-2.0.gir” to “/build/reproducible-path/rust-gtk4-0.10.1/GObject-2.0.gir”
>deb-gi-tool: GObject-2.0 depends on GLib-2.0 which was already processed
...
>xmlstarlet ed -L \
(build continues)
The same technique can probably be used in many (all?) of the packages
that follow the same patterns as rust-gtk4. I don't intend to propose
patches for all of them individually, I was treating rust-gtk4 as a
proof of concept more than anything else.
smcv
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-d-control-d-rules-Use-deb-gir-tool-find-to-copy-GIR-.patch
Type: text/x-diff
Size: 2312 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-rust-maintainers/attachments/20250928/9d49d08a/attachment-0001.patch>
More information about the Pkg-rust-maintainers
mailing list