Obtaining And Installing Weblocks
Weblocks is a young piece of software. At the moment installing it is a little more difficult that necessary. While Weblocks is ASDF-aware, it is not currently ASDF-installable as there have been no formal releases.
Obtaining
You can obtain the latest stable snapshot of Weblocks by using the following link: http://www.bitbucket.org/skypher/weblocks-stable/get/tip.zip.
If you plan to update later, clone its Mercurial source tree instead; that way you can easily pull changes and submit patches:
hg clone http://www.bitbucket.org/skypher/weblocks-stable/
Installing
Once the source code is obtained, in your Lisp implementation startup file add Weblocks directory to ASDF central registry:
(push #p"/path/to/cl-weblocks/" asdf:*central-registry*)
Now all you have to do is install the following Weblocks dependencies via ASDFInstall: closer-mop, metatilities, hunchentoot, cl-who, cl-ppcre, cl-json, puri, rt, tinaa, md5, cl-fad, fare-matcher, cl-cont, cl-prevalence. You can install a package with ASDFInstall by running something like this in the Lisp REPL:
> (asdf-install:install :closer-mop)
Once all relevant packages are installed, you're ready to give Weblocks a whirl. Take a look at the UserManual for information on how to make your first steps with Weblocks.
NOTE: Weblocks requires a Common Lisp implementation that supports threads. If the implementation you're using doesn't support threads on your platform, Weblocks will randomly drop requests and behave significantly slower than necessary.
Development Branches And Experimental Features
If you're interested in obtaining cutting edge but unstable features, or playing with experimental features that may be dropped in the future, please see WeblocksDevelopment.
Libraries
We require pretty up-to-date libraries to use Weblocks. If you're using clbuild to install everything or something else that pulls repositories instead of tarballs, you should be fine. Otherwise, check here before reporting a major bug.
subclassp is undefined
You need Closer to MOP of 6 Nov 2008 or later.
some utility function is undefined, or I get metatilities conflicts
Metatilities split part of itself to metatilities-base; if you aren't updating to include that, you need to do so.
Clozure CL, getting a lot of "<,a,h,r,e,f" nonsense
You need CL-JSON of 26 Feb 2009 or later.
Clozure CL, something about change-class
Probably someone committed a load order that puts a defgeneric after :accessor or defmethod. Closer to MOP doesn't allow this, but it works in some more popular Lisp implementations. You can help by providing a patch that moves the defgeneric early enough, or adds an appropriate dependency to weblocks.asd, as appropriate.
