• Bug#1104991: FTBFS: rust-glib fails to with

    From Matthias Geiger@21:1/5 to andarpolis@gmail.com on Sat May 10 15:30:01 2025
    Control: tags -1 moreinfo

    On Fri, 9 May 2025 14:10:36 +0200 Andrey Feofilaktov <andarpolis@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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)