Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

This branch is 0 commits ahead and 0 commits behind master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 lib
Octocat-spinner-32 setup
Octocat-spinner-32 .gitignore
Octocat-spinner-32 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

Something went wrong with that request. Please try again.