A Buildpack that allows you to deploy Common Lisp applications on the Heroku infrastructure.
Original work by Mike Travers, mt@hyperphor.com
- Updated SBCL and Clozure CL binary distributions (1.5.1 and 1.11.5, respectively)
Admittedly, I know nothing about getting machines to download from SourceForge, but as long as the JAIST mirror is around, this should work fine.
- Support for SBCL and Hunchentoot.
Example app at https://github.com/jsmpereira/heroku-cl-example
- Implementation choice via env variables.
You need this first: http://devcenter.heroku.com/articles/labs-user-env-compile. It will allow the config vars to be present at build time.
Then you can do
heroku config:add CL_IMPL=sbcl
orheroku config:add CL_IMPL=ccl
- Web server choice
heroku config:add CL_WEBSERVER=hunchentoot
orheroku config:add CL_WEBSERVER=aserve
-
To avoid trouble with SBCL source encoding use:
heroku config:add LANG=en_US.UTF-8
-
Hunchentoot working with SBCL and CCL. AllegroServe working with CCL. There's however an issue with AllegroServe in SBCL. acl-compat bundled in https://github.com/mtravers/portableaserve seems to be using some SBCL deprecated sb-thread functions.
José Santos, jsmpereira@gmail.com
######I've kept the original readme for reference.
- Working to first approximation.
- For a minimal example of use, see the example application.
- For a more complex example, see the WuWei demo site and source.
- The scripts bin/test-compile and bin/test-run simulate as far as possible the Heroku build and run environments on your local machine.
- Heroku does not have a persistent file system. Applications should use S3 for storage; ZS3 is a useful CL library for doing that.
- parameterizing/forking for other Lisp implementations and web servers (see Github forks)
- support for Heroku's database infrastructure (DONE -- see the example application).
- Heroku and their new Buildpack-capable stack
- QuickLisp library manager
- OpenMCL aka Clozure CL
- Portable AllegroServe
Mike Travers, mt@hyperphor.com