HunchenToot day

Quite an intense experience getting everything to work properly with lisp and Hunchentoot (a CM web-server), but I succeeded eventually yahoooo …. I am just giving a brief overview here, and some pointers. Among them, a blog entry by Bill Clementson was pretty useful in keeping me in a good mood :-)

First of all, it’s a good idea to install ASDF and ASDF-install, two lisp libraries that automatically manages packages and installations. There is a detailed tutorial originally done by Edi Weitz, which can guide you through that. I had some troubles at first, and had to create two hidden files to configure LispWorks properly (shouldn’t the first one be there already?):

—-> ~/.lispworks
;; lispworks load set up
#-:asdf (load “/Users/michelepasin/Documents/Lisp/asdf/asdf”)
(pushnew “/Users/michelepasin/Documents/Lisp/asdf/registry/” asdf:*central-registry* :test #’equal)
#-:asdf-install (asdf:operate ‘asdf:load-op :asdf-install)

—-> ~/.asdf-install
;; set up for the asdf library
(setq asdf-install: *proxy* “http://openuniversityunbreakableproxy:portNumber”)

Basically ASDF-install lets you retrieve properly packaged libraries very easily from the CLiki repository; so for example:

CL-USER 6 : 3 > (asdf-install:install :cl-who)
Install where?
1) System-wide install:
System in /usr/local/asdf-install/site-systems/
Files in /usr/local/asdf-install/site/
2) Personal installation:
System in /Users/michelepasin/.asdf-install-dir/systems/
Files in /Users/michelepasin/.asdf-install-dir/site/
0) Abort installation.
–> 2
;;; ASDF-INSTALL: Downloading 19057 bytes from to asdf-install-0.asdf-install-tmp …
;;; ASDF-INSTALL: Downloading 188 bytes from to asdf-install-1.asdf-install-tmp …

Quite easy now uh? So I installed all the libraries needed by Hunchentoot just by typing the names they are listed as – unfortunately not all of them worked fine with asdf (MD5 for example) – but you can find them easily on the web and install from your local machine:

CL-USER 30 : 2 > (asdf-install:install “/Users/michelepasin/Documents/Lisp/ Hunchentoot-libraries/md5-1.8.5.tar.gz”)

With a terminal command you can see exactly what’s been stored:

michelepasin:~ michelepasin$ ls ~/.asdf-install-dir/systems
cffi-examples.asd cl-base64.asd cl-who.asd md5.asd
cffi-tests.asd cl-ppcre-test.asd cl-who.system rfc2388.asd
cffi-uffi-compat.asd cl-ppcre-test.system flexi-streams.asd trivial-gray-streams.asd
cffi.asd cl-ppcre.asd hunchentoot-test.asd url-rewrite.asd
chunga.asd cl-ppcre.system hunchentoot.asd url-rewrite.system

That’s pretty much it – I just had to set up properly the apache httpd.conf file for letting it forward calls to a specific port to hunchentoot, and check out the hello-world example provided (the CL-WHO library is needed for this example). Thanks to Edi Weitz for this handy tool!


Comments are closed.