Technology
 

Download

From Sawfish

Documentation quick access

The latest versions of sawfish and its platforms are:

To compile, you also need

  • gtk+ >= 2.6 (for the stable series) / >= 2.12 (for the development series)
  • pango (optional)
  • gdk-pixbuf-xlib OR imlib1 (imlib2 is currently not supported)
  • esound / libaudiofile (only up to 1.5.3)
  • GNU autotools

Contents

[edit] Precompiled packages

Several Linux distributions include precompiled packages for sawfish.

[edit] Debian

See sawfish. Also look for pager and other extras.

[edit] 3rd party builds

Additionally you can find pre-built GIT snapshots for Debian/unstable in my repo:

deb http://www.nanolx.org/apt/ speedwave main
deb-src http://www.nanolx.org/apt/ speedwave main

The public key is here: http://www.nanolx.org/apt/conf/speedwave.asc

Flashrider [Christopher Bratusek] 05:39, October 25, 2009 (UTC)

[edit] Ubuntu

See Ubuntu. It uses Debian derived packages.

[edit] Gentoo

Official portage tree include all three packages, but not always up to date.

For releases of July 2009 (sawfish-1.5.0, rep-gtk-0.18.6r2, and librep-0.90.0), get them from here.

[edit] Other Distros

Other Distributions known to ship Sawfish in their repos (sometimes in Contrib or User repos):

  • Arch Linux
  • ALT Linux
  • openSuSE
  • Mandriva
  • Frugalware
  • T2 Linux
  • NetBSD
  • OpenBSD
  • FreeBSD

[edit] GIT

Alternatively you may use git access to the latest development sources (with no guarantees that they will work correctly, or even compile).

[edit] Preparation

For the first time, do

Without write access

git clone git://git.gnome.org/librep
git clone git://git.gnome.org/rep-gtk
git clone git://git.gnome.org/sawfish

With write access

git clone git+ssh://USERNAME@git.gnome.org/git/librep
git clone git+ssh://USERNAME@git.gnome.org/git/rep-gtk
git clone git+ssh://USERNAME@git.gnome.org/git/sawfish

Having all three takes about 40M disk space. Once you "cloned" and have the local repositories, you can update them with:

git pull
in each directory. (Far faster than clone.)

To get a branch:

Without write access

git clone git://git.gnome.org/sawfish
cd sawfish
git branch -r # lists all remote branches
# Suppose you like sawfish-1.5.0 series
git checkout remotes/origin/sawfish-1.5.0 # now you're on the sawfish 1.5x BRANCH

With write access

git clone git+ssh://USERNAME@git.gnome.org/git/sawfish
cd sawfish
git branch -r # lists all remote branches
# Suppose you like sawfish-1.5.0 series
git branch --track -b sawfish-1.5.0 remotes/origin/sawfish-1.5.0 
# now you're on the sawfish 1.5x BRANCH
# with ability to push changes to the remote

You can also browse the web git archives of sawfish, librep, and rep-gtk.

[edit] Compilation

To compile the source, you need to install, apart from the normal requierements, the GNU autotools, specificaly automake and autoconf. automake 1.10 and autoconf >= 2.60 have been tested and are known to work.

After getting the source tree, you need to run

autogen.sh (or for older snapshots, aclocal and autoconf before the usual ./configure).

This step may fail if aclocal cannot find the autoconf macros for any of the compile-time requisites. In that case, look for them (they are the files from your -devel packages with an .m4 extension) and add their location to your aclocal call, as

aclocal -I /some/dir -I /some/other/dir

In many cases you could need to install the packages where the missing macros are located. For example:

 pinocchio@balocchi ~/s/sawfish> aclocal
 aclocal:configure.in:148: warning: macro `AM_PATH_REP' not found in library
 aclocal:configure.in:229: warning: macro `AM_PATH_GTK_2_0' not found in library

With some guessing, you should be able to figure out in which package are located these macros: for example in this case they're installed in the librep-dev and libgtk-2.0-dev packages (Debian/Ubuntu). By installing these packages, the corresponding macros will be installed in /usr/share/aclocal, where they're looked up by aclocal, and you shouldn't get error messages anymore.

[edit] Other repositories

If someone provides their own git repository access, then you can use them in the following way:

# preparation
git remote add foobar git://foo.bar/baz
git fetch foobar
# list remote branches
git branch -r 
git branch --track foo-tracker foobar/foo-branch
# once you do above, do the following to pull in the HEAD:
git checkout foo-tracker
git pull

[edit] Git ebuilds for Gentoo Linux

Fuchur has made ebuilds here.

Currently (Jul 2009), git source doesn't rely on intltool, but if it's required, apply this patch too.

Fuchur also suggested a good way to try them (in svn) in Gentoo here.

[edit] svn

The subversion repository is not updated any more.