Add Vala bindings

Bug #510610 reported by Federico Pelloni
26
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Application Indicators
Fix Released
Wishlist
Unassigned

Bug Description

I quickly made a Vala binding to libappindicator, could/should be it added to application-indicator?

Related branches

Revision history for this message
Federico Pelloni (fredp) wrote :
Revision history for this message
Ted Gould (ted) wrote :

I have no issue adding Vala bindings, in fact I think it's a great idea. But, I'd really like to see them added as part of the build system instead of a "one shot" type of thing. I don't know the Vala parts, but I'd be happy to answer questions on the build system parts.

Changed in indicator-application:
status: New → In Progress
importance: Undecided → Wishlist
Revision history for this message
Neil J. Patel (njpatel) wrote :

The issue is that Vala needs the libraries installed to generate docs, at least that's what I gather from reading the binding tools man page. So it doesn't work well as part of the build the way they are currently generated.

Revision history for this message
Federico Pelloni (fredp) wrote :

That's true, at least as far as I know.

To generate the bindings I created the two required files (.files and .namespace), then used the commands vala-gen-introspection and vapigen, the first one looking for the installed .pc pkgconfig file.
Also, then I had to fix something by hand in the generated .vapi file because sometimes the extraction engine gets lost within namespace, class and function names. (e.g. the AppIndicator class had no name)

So I don't think it's possible to automatically generate 100%-working bindings.
(anyway we won't need this anymore once gobject introspection is working, they say)

Revision history for this message
Ted Gould (ted) wrote : Re: [Bug 510610] Re: Add Vala bindings

Okay. I'm not sure that I understand, but I'll believe you guys :)

My question then is, how do we know when we've broken the bindings? Is
there some way we can check as part of distcheck so we don't ship
something not working?

Revision history for this message
Neil J. Patel (njpatel) wrote :

For our stuff, we only re-generate the bindings when we've made an API change, but that's because we're developing with them. Normally I'd re-generate as part of the release process, or once you have a stable API.

For the bootstrapping needed, see liblauncher vapi/ directory in src.

Revision history for this message
Gabe Gorelick (gabegorelick) wrote :

The liblauncher stuff is actually in the gobject-introspection branch for anyone who's curious, I know I was trying to find it for a while. http://bazaar.launchpad.net/~liblauncher-team/liblauncher/gobject-introspection/files/head%3A/vapi/.

Ted Gould (ted)
Changed in indicator-application:
status: In Progress → Fix Committed
milestone: none → 0.2.0
Ted Gould (ted)
Changed in indicator-application:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.