Dependencies

Guile-Clutter depends on the following software:

Others:

  • Autoconf >= 2.61
  • Automake >= 1.12
  • Guile-2.0 >= 2.0.11 or Guile-2.2
  • Guile-Gnome >= 2.16.4, the following wrappers:
    • Gobject, Glib, Atk, Pango, Pangocairo, Gdk, Gdk-Pixbuf

  • Cogl-1.0 >= 1.12.2
  • Clutter-1.0 >= 1.12.2
    • Guile-Clutter won't compile against the latest stable version of both Cogl and Clutter, so, you won't escape a manual installation from their respective source code. Relax though, because we will walk you through step by step! See below...

  • Guile-Lib >= 0.2.2
    • Strictly speaking, you only need Guile-Lib if you intend to locally build the documentation and/or run make check, Guile-Clutter's test suite, which is recommended but not mandatory.

Cogl and Clutter

Note: Guile-Clutter's actual bindings won't compile against the latest Cogl and Clutter stable versions. The following is a step by step guide to grab and install them from their respective source code.

We use and recommend the following installation schema: (a) use a $prefix that includes Cogl and Clutter version number and (b) in the parent directory, create/update 3 symbolic links: 'share', 'lib' and 'include'. The following steps are based on this assumption, please adapt as required if you do not use this schema.

Cogl

  • git clone git://git.gnome.org/cogl
  • cd cogl
  • git checkout --track -b cogl-1.12 origin/cogl-1.12
    • Early versions of Cogl and Clutter may require a specific automake version that you may not have anymore... You have to edit the file autogen.sh and check if there is a line like AUTOMAKE_VERSIONS="1.12 1.11", in which case you may safely, and have to anyway, add the automake version number that is installed on your machine, for example AUTOMAKE_VERSIONS="1.15 1.14 1.12 1.11".

  • ./autogen.sh --prefix=/opt/cogl/1.12
  • make
  • make install
  • cd /opt/cogl
  • ln -s 1.12/include .
  • ln -s 1.12/lib .
  • ln -s 1.12/share .

Clutter

Note: While working on our bindings, we found a ClutterGridLayout related bug, present in all Clutter versions from 1.12 till master. It has been fixed by commit 7ed96aa, hence the 'git fetch all' and 'git cherry-pick' additional commands, caution!

  • git clone git://git.gnome.org/clutter
  • cd clutter
  • git checkout --track -b clutter-1.12 origin/clutter-1.12
    • Early versions of Cogl and Clutter may require a specific automake version that you may not have anymore... You have to edit the file autogen.sh and check if there is a line like AUTOMAKE_VERSIONS="1.12 1.11", in which case you may safely, and have to anyway, add the automake version number that is installed on your machine, for example AUTOMAKE_VERSIONS="1.15 1.14 1.12 1.11".

  • git fetch --all
  • git cherry-pick 7ed96aa
  • export PKG_CONFIG_PATH=/opt/cogl/lib/pkgconfig
  • export LD_LIBRARY_PATH=/opt/lib:/opt/cogl/lib
    • If the above environment variables were defined already, you must postfix the above respectively with ':$PKG_CONFIG_PATH' and ':$LD_LIBRARY_PATH'

  • ./autogen.sh --prefix=/opt/clutter/1.12 --enable-deprecated=yes --enable-gtk-doc=yes
  • make
  • make install
  • cd /opt/clutter
  • ln -s 1.12/include .
  • ln -s 1.12/lib .
  • ln -s 1.12/share .

Guile-Clutter

Still with us? Good! You'll enjoy it! The latest release is guile-clutter-1.12.2.1.tar.gz , with its GPG binary signature. Other releases are available here.

First you need to tell Guile-Clutter where Colg and Clutter were installed:

Notes

  1. In the above configure step, --prefix=/your/prefix is optional. The default value is /usr/local.

  2. To install Guile-Clutter, you must have write permissions to the following directories:
    • $prefix and its subdirs
    • Guile-Gnome's directory

    You may check Guile-Gnome's directory location, it is listed as part of the configure step, or you may edit the config.log file and look for 'checking for Guile-Gnome directory...'

  3. In case you need to augment Guile's load paths [for your own Guile-Clutter application(s) for example], you can: (a) create/update your personnal ~/.guile file, (b) update Guile's global site located init.scm file or (c) define/update your GUILE_LOAD_PATH shell environment variable.

  4. Like for any other GNU Tool Chain compatible software, you may install the documentation locally using make install-info, make install-html and/or make install-pdf.