developer information


guile-gnome needs the following software to build:

Whenever a g-wrap 1.9.7 is released, you can just use that tarball. Until then, the recommended procedure is to build g-wrap from the upstream repository:

bzr get
cd g-wrap
./ --prefix=... && make && make install

quick start

To build guile-gnome from source code, use the following commands:

bzr get guile-gnome-platform
cd guile-gnome-platform
scripts/pull-packages guile-gnome-platform
./ --prefix=... && make && make install


guile-gnome uses Bazaar as a revision-control system. There is one bazaar repository per module in guile-gnome: one for glib, one for gtk, et cetera. There is also an umbrella module, pkg, that is used to control the build. You can see what modules are avaiable by opening in your web browser.

The basic idea is that the umbrella package provides the infrastructure to make different kinds of binding sets. guile-gnome wraps all of the libraries in the GNOME platform in one set, but other libraries not in the platform are distributed separately. The available sets are given in the PACKAGES file in the pkg repository, and includes such sets as guile-gnome-platform, guile-gnome-gstreamer, guile-gnome-gtksourceview, etc.

To fetch the actual set of packages you want, for example guile-gnome-platform, run get-packages:

scripts/get-packages guile-gnome-platform

To update your checkout, run pull-packages to merge in any changes in the upstream repository:


Your bzr checkout is actually a full-fledged branch of guile-gnome. You can hack on it and then run bzr commit to commit your changes locally. If you want to then publish any local changes that you made to the web, for example so that they can be merged back into the upstream repositories, run push-packages:

scripts/push-packages s

Then you can tell the guile-gtk-general list of the HTTP address corresponding to that location so that people can look at your changes. Bazaar will remember this location the next time you run push-packages.

Alternately, if you don't have access to a writable spot on the web, you can send your changes over email. To send packages that you committed locally to the gdk bindings, do the following:

cd gdk
bzr bundle > bundle-file
# then attach the bundle to a mail to the list

This will bundle up any commits to your repo that are not in upstream, that is, that are not in the place you initially pulled your packages from. You can specify other options to bundle, see bzr help commands.

savannah project page

We also have a page on GNU savannah.