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