Archive for February, 2012

Animated Vala Swell-foop!

Today I’m very glad to share my great joy of making Vala Swell-foop animated! Check this out.

It turns out Clutter is a very fun toolkit for desktop application animation. If you are new to program with Clutter, do remember that when you specify the geometric properties (like positions in animation), always use ‘float’ or ‘double’ values! ‘int’ value will make a lot of troubles!

My journey of JHBuild

To better support the latest feature of GTK+3, Gnome-games git master has recently bumped up GTK+ minimum requirement to 3.3.x. However my desktop Ubuntu only provides development packages up to GTK+3.2. As such my local build of Gnome-games was broken. I think it is a good time to try JHBuild.

Ubuntu’s official APT repo has JHBuild package but it is outdated. I gave it a try but ran into many build errors. Soon I switched to its git version and it turned out to be the way to go.

I don’t want to repeat what JHBuild website already has. I will just list what I have encountered in the process of making a working Gnome-games JHBuild build.

First, follow the instructions on JHBuild website until you have run


$ jhbuild build gnome-games

It’s gonna take a quite while to fetch source code from upstream git repos build  and install them. You can do it once and in future, as long as the library dependency is satisfied, we can type


$ jhbuild buildone gnome-games

to just update and build gnome-games itself.

If you already have your local clone of gnome-games, and you just want to install the broken libraries, you can just


$ jhbuild build gtk+

$ jhbuild build clutter

$ jhbuild build clutter-gtk

However, I noticed that the GTK+3 baked by JHBuild didn’t support SVG file which was wildly used in many game apps. It looked like gdk-pixbuf didn’t include the loader for SVG. The trick is


$ jhbuild build librsvg

After that you can check if the SVG loader libpixbufloader-svg.so is in $JHBUILDER_PREFIX/lib64/gdk-pixbuf-2.0/loaders.

Another annoying problem is when you run the games, you probably will see


GLib-GIO-Message: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications.

The reason is that your system dconf is old, and the fix is to


$ jhbuild build dconf

All right. Hopefully this post can help you iron out all the glitches you have when you try to bake Gnome-games with JHBuild. Have fun!