GNOME Bugzilla – Bug 792431
Use native GObject introspection for Vala
Last modified: 2018-01-11 18:26:40 UTC
We don't need the .metadata file when everything is fixed :) Here is a patch that fixes the previously wrong introspection with meson
Created attachment 366661 [details] [review] Use native GIR functions
(In reply to Corentin Noël from comment #0) > We don't need the .metadata file when everything is fixed :) > > Here is a patch that fixes the previously wrong introspection with meson I'm missing context here. What exactly is fixed?
Right, so here is the context: There used to be a gexiv2-custom.vala file that was forcing the prototype of some functions, and that's not good when the introspection already does all the thing. This file was missing in the meson port but I suggest to just remove it and go back to the native introspection solution Also there is the GExiv2-0.10.metadata file that is here when there are introspection issues. This file contained a cheader_filename argument to override the C header files that was written in the .gir file and was wrong. I just fixed that by adding a -c-include argument to the GObject introspection scanner (so that this change makes that any language using the C header file will be correct) It also contained a bunch of "skip" elements that are not needed at all because of the removal of the -custom.vala file and because some were just hiding some deprecated methods… Software depending on this will have to be updated accordingly but it's something that they would have to do anyway (mostly affecting Shotwell and elementary Photos) TL;DR: in the meson port Metadata.from_app1_segment and Metadata.open_buf were missing, re-establishing them in the right way.
No. Removing it will change vala api. That's why it was added in the first place. This should be only done with a clear cut and I would suggest doing it when breaking API anyway, but not in the middle of the current stable series
Created attachment 366662 [details] [review] Fix GIR and .vapi without API change Right, I can understand the will to keep the API stable, here is the change doing only the right things
Pushed original patch to wip/0.12, new patch to master. Thanks