Switch

I moved teams at work; I’m no longer writing connectivity oriented UI’s for Moblin. I’ve joined the fledgling Moblin SDK team and have a goal of making Moblin the best gosh darn development experience out there!

Which I realise is *quite* the lofty goal, so let’s reel it in a bit. I’m making the rest of this year “Make Moblin Development Not Suck” time.

Right now we have a pretty poor offering for third party developers; as with many such projects we’ve been hugely user-oriented up until now.
Our little team is working on making this right, we’ll hopefully have some useful stuff to show soon.

For myself, I’m trying to address the Moblin Foundations and make them more approachable. We have some sweet libraries in there but they are largely a black box to developers due to low Gtk-doc annotation coverage outside of the core UI toolkits (Nbtk & Clutter).

Over the coming weeks I aim to address this; I’m looking through the code and trying to understand the APIs enough to get slightly better than skeletal Gtk-doc annotations added to our platform.

As a bonus prize with Gtk-doc annotations come almost free introspection metadata!

So, you’ve read this far and for that I thank you, as a reward here are the two lessons I’ve learnt so far this week:

  1. Makefiles care about tabs, you can’t align with spaces
  2. Building GObject-Introspection metadata outside of the standard, system, prefix. Tweak your environment!
    GI_TYPELIB_PATH is where the gobject-introspection module looks for typelib files (perhaps add /usr/local/lib/girepository-1.0) and the giscanner looks in XDG_DATA_DIRS for gir-1.0 directories chock full of .gir files (maybe add /usr/local/share)

4 comments

  1. Thanks Josh. I got GJS installed, gobject-introspection, and gir-repository, but gjs couldn’t find GLib until I used GI_TYPELIB_PATH (as you suggested). Doesn’t that default to anything? It didn’t appear to be set for me. Just need to get a typelib for Clutter now…

    1. IIRC by default it searches a based on where you installed gobject-introspection. So if you make install to the default location it’ll look in /usr/local/lib/girepository-1.0

  2. Further to the above: I have finally managed to run a GTK+ js file in a chrooted Moblin environment. However, I’m having trouble with producing working gir/typelib files for Clutter. Any pointers/tutorials for this sort of thing?

    1. I’m afraid not, so long as you have all of your environment variables correctly configured and the devel packages of the things installed it should just work.

Comments are closed.