Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Pull request Compare This branch is 40 commits ahead, 14 commits behind mtravers:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
lib
setup
.gitignore
README.md

README.md

Heroku Buildpack for Common Lisp

A Buildpack that allows you to deploy Common Lisp applications on the Heroku infrastructure.

Original work by Mike Travers, mt@hyperphor.com

Changes

  • 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 or heroku config:add CL_IMPL=ccl

  • Web server choice heroku config:add CL_WEBSERVER=hunchentoot or heroku config:add CL_WEBSERVER=aserve

Notes

  • 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.

Status

Notes

  • 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.

Todos

  • parameterizing/forking for other Lisp implementations and web servers (see Github forks)
  • support for Heroku's database infrastructure (DONE -- see the example application).

Credits

Mike Travers, mt@hyperphor.com

You can’t perform that action at this time.