guile-gnome needs the following software to build:
To build wrappers for GTK+ and higher in the stack, you will need:
To build guile-gnome from source code, use
the following commands:
bzr get http://arch.gna.org/guile-gnome/bzr/pkg guile-gnome-platform cd guile-gnome-platform scripts/get-packages guile-gnome-platform ./autogen.sh --prefix=... && make && make install
Should you need to build g-wrap from bzr (not currently the case), the following commands should work:
bzr get http://bazaar.launchpad.net/~rotty/g-wrap/dev/ cd g-wrap ./autogen.sh --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 http://arch.gna.org/guile-gnome/bzr 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:
scripts/pull-packages
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 sftp://example.com/writable/location
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.
We also have a page on GNU savannah.