Re: New maintainer



Hi,

> Is Tomaž working on Vala bindings for 0.5? I think we should stop writing
> them by hand and generate them from the gobject-introspection files (and
> additional metadata).

I don't write the bindings by hand - I use vala-gen-introspect and
vapigen tools provided by Vala (which are a predecessor to g-ir
tools). With this I mostly get the correct bindings out of the source
code but still some things need to be tweaked which is possible with
"metadata" files where you can describe what you want to change (for
example if the #include files are not correct or missing or if a
parameter is an "out" parameter but was not detected like that). From
this you get a working vapi files (with help of vapigen tool) which
are then used by Vala. This step is now always done by me so I can
inspect the bindings and fix them if necessary, but it could also be
made automatically at compile time in which case the bindings would be
always up-to-date like the gobject-introspection files are. But this
would complicate the build process and I think that currently it is
the best to just regenerate the vapi file before a release (or at
least when the API changes) is enough. This is then the same as
bindings provided by the Vala itself.

I have tried to generate the bindings out of gobject-introspection
files but it doesn't work for libchamplain-gtk because the vapi file
for Atk is not exactly compatible with what gir files expect. For
libchamplain only there is no error at generation of the vapi file but
the file is not correct and need tweaking, but there is no way
currently to tweak them via "metadata" file which is why I gave up on
gir generation for now, but there is everything in place to switch
over when the generation out of gir is working as expected.

The gir files for use with Seed for example are working as expected
for the part I tested.

I will tweak the vapi files for the 0.4 and add some examples and
hopefully also prepare bindings for 0.5 in the near future.
Additionally to this I will create some examples for use with seed and
gjs which are also missing currently and would be nice to show of
capabilities of libchamplain using gir.

Regards, Tomaž


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