Hey Matthias, I tried to reproduce it, and it is true that on a raw trixie it is not reproducible as is.
However, it would be if librust-gobject-sys-dev would have been built from source that is uploaded. That does not seem to be the case. If I build it from source manually, the resulting package would contain a different src/lib.rs file (with the expected feature guards present): $ diff /tmp/gobject/usr/share/cargo/registry/gobject-sys-0.20.9/src/lib.rs /usr/share/cargo/registry/gobject-sys-0.20.9/src/lib.rs 111,112d110 < #[cfg(feature = "v2_68")] < #[cfg_attr(docsrs, doc(cfg(feature = "v2_68")))] 1504,1506d1501 < #[cfg(feature = "v2_84")] < #[cfg_attr(docsrs, doc(cfg(feature = "v2_84")))] < pub fn g_type_class_get(type_: GType) -> gpointer; 1942,1944d1936 < #[cfg(feature = "v2_84")] < #[cfg_attr(docsrs, doc(cfg(feature = "v2_84")))] < pub fn g_type_default_interface_get(g_type: GType) -> gpointer; So to reproduce the failure I am talking about you'd have to get a machine on trixie, build rust-gobject-sys, and then build rust-glib forcing it to use the just built librust-gobject-sys-dev. On Sat, May 10, 2025 at 3:19 PM Matthias Geiger <werdah...@riseup.net> wrote: > Control: tags -1 moreinfo > > On Fri, 9 May 2025 14:10:36 +0200 Andrey Feofilaktov <andarpo...@gmail.com> > wrote: > > Package: rust-glib > > Version: 0.20.9-1 > > > > rust-glib seems to have outdated/malformed gobject bindings and fails to > > build: > > > > error[E0425]: cannot find value `G_SIGNAL_ACCUMULATOR_FIRST_RUN` in crate > > `crate::gobject_ffi` > > --> src/gobject/auto/flags.rs:119:59 > > | > > 119 | const ACCUMULATOR_FIRST_RUN = > > crate::gobject_ffi::G_SIGNAL_ACCUMULATOR_FIRST_RUN as _; > > | > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::gobject_ffi` > > | > > note: found an item that was configured out > > --> /usr/share/cargo/registry/gobject-sys-0.20.9/src/lib.rs:113:11 > > | > > 113 | pub const G_SIGNAL_ACCUMULATOR_FIRST_RUN: GSignalFlags = 131072; > > | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > note: the item is gated behind the `v2_68` feature > > --> /usr/share/cargo/registry/gobject-sys-0.20.9/src/lib.rs:111:7 > > | > > 111 | #[cfg(feature = "v2_68")] > > | ^^^^^^^^^^^^^^^^^ > > > > I can fix this by updating debian/rules to also run gir for > > Gir_GObject.toml (the same way it does for the sys bindings in > > rust-gobject-sys): > > > > Index: rust-glib-0.20.9-1/debian/rules > > =================================================================== > > --- rust-glib-0.20.9-1.orig/debian/rules > > +++ rust-glib-0.20.9-1/debian/rules > > @@ -6,6 +6,7 @@ > > # regenerating the source code > > # the xmlstarlet fixes are taken from upstream here: > > https://github.com/gtk-rs/gir-files/blob/master/fix.sh > > execute_before_dh_auto_build: > > + cp /usr/share/gir-1.0/GObject-2.0.gir $(CURDIR) > > cp /usr/share/gir-1.0/GLib-2.0.gir $(CURDIR) > > xmlstarlet ed -L \ > > -u > > > '//*[@glib:error-domain="g-option-context-error-quark"]/@glib:error-domain' > > -v g-option-error-quark \ > > @@ -15,9 +16,20 @@ execute_before_dh_auto_build: > > -u > > > '//_:record[@name="KeyFile"]/_:method[@name="set_locale_string_list"]//_:parameter[@name="list"]/_:array/@c:type' > > -v "const gchar* const*" \ > > -u > > > '//_:record[@name="KeyFile"]/_:method[@name="set_string_list"]//_:parameter[@name="list"]/_:array/@c:type' > > -v "const gchar* const*" \ > > GLib-2.0.gir > > - sed -i > > > 's/girs_directories\s=\s\[\"\.\.\/gir-files\"\]/girs_directories=\[\".\"\]/' > > $(CURDIR)/Gir.toml > > + xmlstarlet ed -L \ > > + -u > > > '//_:class[@name="Object"]/_:method[@name="getv"]//_:parameter[@name="names"]/_:array/@c:type' > > -v "const gchar**" \ > > > Hi Andrey, > > thanks for the bug report and the patch. For me simply building > rust-glib works (with both !nocheck and without) (though I skipped > autopkgtest). Can you mabe share a full buildlog so we can compare notes > ? > > best, > > werdahias > -- Regards, Andrey