Setting up StumpWM on FreeBSD

Update: On 2017-08-18, the FreeBSD StumpWM port, x11-wm/stumpwm, was revived. This means you should ignore everything after the next line.
% sudo pkg install stumpwm
Ideally this would all be done with a pkg install stumpwm, but for the time being I've found this is the best way to get up and running with the latest StumpWM on FreeBSD.
  1. The FreeBSD SBCL port, lang/sbcl, lags behind upstream so I recommend installing SBCL directly from source. However, you'll temporarily need to install the FreeBSD package to bootstrap the latest version.
    % sudo pkg install sbcl
    % export SBCL_HOME=/usr/local/lib/sbcl # or equivalent for your shell
    
  2. Download and extract the latest version of SBCL. In the top directory of the source run the commands below to install it.
    % sh make.sh
    % export SBCL_HOME=~/local/lib/sbcl
    % INSTALL_ROOT=~/local sh install.sh
    
    Set SBCL_HOME to ~/local/lib/sbcl in the appropriate startup location for your shell (e.g. ~/.zshrc).
  3. You can get rid of the old SBCL FreeBSD package.
    % sudo pkg delete sbcl
    
  4. Here's a condensed version of the instructions on the StumpWM wiki to get going with quicklisp and install StumpWM's prerequisites.
    % fetch http://beta.quicklisp.org/quicklisp.lisp
    % sbcl --load quicklisp.lisp
    * (quicklisp-quickstart:install :path ".quicklisp/")
    * (ql:add-to-init-file)
    * (ql:quickload "alexandria")
    * (ql:quickload "clx")
    * (ql:quickload "cl-ppcre")
    * (ql:quickload "quicklisp-slime-helper") ;; optional to hack StumpWM while it's running
    * (quit)
    
  5. Clone or pull the latest StumpWM code from git.
    % git clone https://github.com/stumpwm/stumpwm.git ~/scm/stumpwm.git
    
  6. Enter ~/scm/stumpwm.git/ and compile the stumpwm binary.
    % autoconf
    % ./configure
    % gmake
    % cp stumpwm ~/local/bin
    
  7. If you installed the optional slime-helper above, you need to add some configuration to your emacs initialization file,
    (load (expand-file-name "~/.quicklisp/slime-helper.el"))
    (setq inferior-lisp-program "~/local/bin/sbcl")
    
    and a few lines to ~/.stumpwmrc.
    (require 'swank)
    (swank:create-server :dont-close t)
    
  8. If you want a customized mode-line, there are some modules that work with FreeBSD.

Posted 2015-01-27 16:49 | Comments

Recent posts

Monthly Archives

Yearly Archives


RSS