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 http://rerun.lefant.net/~rotty/bzr/g-wrap cd g-wrap ./autogen.sh --prefix=... && make && make install
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/pull-packages guile-gnome-platform ./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.