(define main-archive-url "http://arch.gna.org/guile-gnome/bzr") (define page `((h2 "developer information") (h3 "dependencies") (p (code "guile-gnome") " needs the following software to build:") (ul (li (a (@ (href "http://www.nongnu.org/g-wrap")) "G-Wrap") " >= 1.9.8")) (p "To build wrappers for GTK+ and higher in the stack, you will need:") (ul (li (a (@ (href "http://home.gna.org/guile-cairo/")) "guile-cairo"))) (h3 "quick start") (p "To build " (code "guile-gnome") " from source code, use the following commands:") (pre "bzr get " ,main-archive-url "/pkg guile-gnome-platform\n" "cd guile-gnome-platform\n" "scripts/get-packages guile-gnome-platform\n" "./autogen.sh --prefix=... && make && make install") (p "Should you need to build g-wrap from bzr (not currently the case), the following commands should work:") (pre "bzr get http://bazaar.launchpad.net/~rotty/g-wrap/dev/\n" "cd g-wrap\n" "./autogen.sh --prefix=... && make && make install") (h3 "bzr?") (p (code "guile-gnome") " uses " (a (@ (href "http://bazaar-vcs.org/")) "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, " (code "pkg") ", that is used to control the build. You can see what modules are avaiable by opening " (a (@ (href ,main-archive-url)) ,main-archive-url) " in your web browser.") (p "The basic idea is that the umbrella package provides the infrastructure to make different kinds of binding sets. " (code "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 " (code "pkg") " repository, and includes such sets as " (code "guile-gnome-platform") ", " (code "guile-gnome-gstreamer") ", " (code "guile-gnome-gtksourceview") ", etc.") (p "To fetch the actual set of packages you want, for example " (code "guile-gnome-platform") ", run " (code "get-packages") ":") (pre "scripts/get-packages guile-gnome-platform") (p "To update your checkout, run " (code "pull-packages") " to merge in any changes in the upstream repository:") (pre "scripts/pull-packages") (p "Your " (code "bzr") " checkout is actually a full-fledged branch of guile-gnome. You can hack on it and then run " (code "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 " (code "push-packages") ":") (pre "scripts/push-packages sftp://example.com/writable/location") (p "Then you can tell the " (code "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.") (p "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:") (pre "cd gdk\n" "bzr bundle > bundle-file\n" "# then attach the bundle to a mail to the list") (p "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 " (code "bundle") ", see " (code "bzr help commands") ".") (h3 "savannah project page") (p "We also have a " (a (@ (href "http://savannah.gnu.org/projects/guile-gnome")) "page on GNU savannah") "."))) (load "../template.scm") (define (make-index) (output-html page "guile-gnome: developers" "developers" "../"))