[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Can not recreate GIR information from gir1.2-harfbuzz-0.0.typelib



Hi James and All,

On Sun, 2023-06-04 at 14:18 +0100, James Addison wrote:
Hi Abou,

Please find some slightly re-ordered responses below, and with the
gtk-gnome list and bug on cc because others are likely to know more
than me about this.
Thank you for looking on this so quickly.

On Sat, 3 Jun 2023 at 22:40, Abou Al Montacir <abou.almontacir@sfr.fr> wrote:
...
However, when starting the conversion, g-ir-generate crashes with an error on HarfBuzz-0.0.
I've raised a ticket https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1035669 to that package, but I'm not sure it is an issue in HarfBuzz itself, and maybe it is in g-ir-generate itself.

I'd begun looking into the problem - it seems that the g-ir-generate
tool determines that the HB_LANGUAGE_INVALID constant (zero) is a GTK
'interface'[1] type instead of a basic type (such as int, utf8, ...).
That causes the XML gir serialization failure here[2], because the
interface type isn't supported.

Few weeks ago, I started adding support for Gtk3 in FPC and Lazarus as part of the effort to close bugs related to the deprecation of Gtk2.
My goal was to be able to build binding units (pascal modules) from .typelib files shipped by Debian.
In order to be able to do that, I use a tool called gir2pas that I'm maintaining.
I've added support for on the fly converting .typelib files using g-ir-generate.

While developing a patch I'd found it difficult to figure out what the
effect of my changes were on the output .typelib binary file.  In
fact, I filed https://salsa.debian.org/reproducible-builds/diffoscope/-/issues/341
as a feature request for diffoscope.  Would any of the code from
gir2pas be helpful to mention there?
I intend to make gir2pas the standard way to interface Gtk-X libs with Free Pascal compiler.
So, feel free to mention it there.
gir2pas code is located here: https://gitlab.com/freepascal.org/lazarus/lazarus/-/tree/main/tools/gir2pascal
Code generated (with still some manual tweaks for now): https://gitlab.com/freepascal.org/lazarus/lazarus/-/tree/main/lcl/interfaces/gtk3/gtk3bindings

The reason I'm write to debian-devel is to know if we want to enforce the fact that typelib files shall be able to regenerate gir files for Bookworm.
If this is the case, shall I raise severity to be release critical?

What's the impact of the inability to generate the XML gir files for
gir1.2-harfbuzz on other packages?
Not sure there is any impact if we can get gir file from -dev packages as Simon stated in his answer.

Thanks,
James

[1] - https://gitlab.gnome.org/GNOME/gobject-introspection/-/blob/37bde613a7cb77e7399dafb25731e13208f0ae0b/girepository/gitypes.h#L410

[2] - https://gitlab.gnome.org/GNOME/gobject-introspection/-/blob/37bde613a7cb77e7399dafb25731e13208f0ae0b/girepository/girwriter.c#L784

Thank you for these pointers. It helps understanding the issue.
-- 
Cheers,
Abou Al Montacir

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: