This package contains Common Lisp bindings to GTK+ v2.x. It currently
-only works with CMUCL 19a and SBCL (0.8.21), but ports to other CL
+only works with CMUCL 19 and SBCL 0.9, but ports to other CL
implementations may be added later.
Build instructions
------------------
-1. When building for SBCL you first need to add callback support,
- since SBCL does not yet has a native callback facility. The
- following instructions are borrowed from the Common Music
- installation guide:
+1. If you are using a version of SBCL without native callback support
+ you need to upgrade or add third party callback code. The following
+ instructions of how to add third party callback support, are borrowed
+ from the Common Music installation guide:
1. Download Thomas Burdick's Alien Function package¹ and restore it
to a directory on your machine.
$ mv /tmp/sbcl.core .
- ¹ A slightly modified version which works with SBCL 0.8.21 could be
- found at http://jupiter.td.org.uit.no/lisp/sbcl-0.8.21-af.tar.gz
+ ¹ A slightly modified version which works with SBCL 0.8.21 or newer
+ could be found at
+ http://jupiter.td.org.uit.no/lisp/sbcl-0.8.21-af.tar.gz
2. Set up paths to match your system:
- Make sure ASDF finds the system definition files:
- (push
- #+sbcl(truename #p"clg:systems")
- #+cmu(concatenate 'string (unix-namestring #p"clg:systems") "/")
+ (push
+ (logical-pathname-translations "clg:systems;")
asdf:*central-registry*)
When checking out of CVS also do the following:
(asdf:oos 'asdf:load-op :gtk)
- In CMUCL this will currently fail with:
+ In CMUCL 19a this will fail with:
Error in function KERNEL::%REDEFINE-DEFSTRUCT:
Redefining class PCL::SLOT-INFO incompatibly with the current definition.
Just accept the redefinition (restart 1) to continue building or
loading. To avoid doing this every time clg is loaded, compile
and load glib/pcl.lisp in newly started CMUCL process and save a
- new core image. If you are using a recent snapshot of CMUCL were
- the broken PCL has been fixed, you should push :non-broken-pcl
- to the feature list before compiling or loading clg.
+ new core image.
If you are running SBCL with Slime you need to put the following
in ~/.swank.lisp to prevent Slime from spawning multiple