GNOME Bugzilla – Bug 724172
gedit API broke without changing the pkg-config name
Last modified: 2014-02-17 18:12:28 UTC
gedit.vapi refers to "gedit/gedit-panel.h" as a necessary include file for certain symbols. However, gedit-panel.h has been removed in master: https://git.gnome.org/browse/gedit/commit/?id=d8c6a832e8f7d8f6bcd57a553b1951303c8d5a19
That's a heavy api breakage, isn't a new .pc file coming in?
Moving to gedit, we'll start distributing a new vapi as soon as they start distributing a new pkg-config file.
I agree we should bump the api version
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.
The pkg-config name and is still gedit (not gedit-3.12 or something similar), and the GIR is still Gedit-3.0.gir.
While changing the pkg-config file is not a problem, would this problem go away if we put the vapi in gedit itself? I ask because gedit is an application not a library, so you cannot have two parallel versions side by side in the same prefix...
I don't know that I would say it would go away since code written against a prior version may still not longer work in the newer version, but the problem would be reduced to the same level as the C API. If that's how you want to go I'd be happy to put together a patch.
That would be great. I think shipping the vapi upstream is better in any case, independently from the api break
Created attachment 269328 [details] [review] Add Vala bindings.
Comment on attachment 269328 [details] [review] Add Vala bindings. go ahead, you are the vapi master :-) thanks
Comment on attachment 269328 [details] [review] Add Vala bindings. It looks like I can make some improvements from the vapi distributed with Vala are possible, I'll take care of it this afternoon.
Created attachment 269356 [details] [review] Add Vala bindings. This improves the metadata a bit (no more warnings, add the right header to some types), but the important changes are really adding the pkg-config name and C headers to the GIR. This should make things work by default whenever you add new types instead of having to manually set the right cheader_filename in metadata. Of course if you don't set the cheader_filename *all* headers will be included, but that's better than the wrong one (Gedit-3.0.h).
Review of attachment 269356 [details] [review]: looks good