{"id":13961604,"url":"https://github.com/smashedtoatoms/asdf-sbcl","last_synced_at":"2025-12-24T08:28:27.996Z","repository":{"id":37890841,"uuid":"214271460","full_name":"smashedtoatoms/asdf-sbcl","owner":"smashedtoatoms","description":"asdf plugin for Steel Bank Common Lisp","archived":false,"fork":false,"pushed_at":"2024-10-25T15:07:48.000Z","size":89,"stargazers_count":25,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-20T03:17:17.233Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smashedtoatoms.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-10T19:44:46.000Z","updated_at":"2025-06-16T16:59:12.000Z","dependencies_parsed_at":"2024-05-02T11:07:34.273Z","dependency_job_id":"aa053c95-98b5-481f-bd11-9291fba6b7f3","html_url":"https://github.com/smashedtoatoms/asdf-sbcl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/smashedtoatoms/asdf-sbcl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smashedtoatoms%2Fasdf-sbcl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smashedtoatoms%2Fasdf-sbcl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smashedtoatoms%2Fasdf-sbcl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smashedtoatoms%2Fasdf-sbcl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smashedtoatoms","download_url":"https://codeload.github.com/smashedtoatoms/asdf-sbcl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smashedtoatoms%2Fasdf-sbcl/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266253516,"owners_count":23900051,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-08T17:01:17.744Z","updated_at":"2025-12-24T08:28:27.990Z","avatar_url":"https://github.com/smashedtoatoms.png","language":"Shell","funding_links":[],"categories":["Shell","Interfaces to other package managers"],"sub_categories":[],"readme":"# asdf-sbcl ![Build](https://github.com/smashedtoatoms/asdf-sbcl/workflows/Build/badge.svg?branch=main)\n\nSteel Bank Common Lisp plugin for [asdf-vm](https://github.com/asdf-vm/asdf)\nversion manager.\n\nYou're honestly probably better served loading it from your local\npackage manager.  Unless you need the linkable runtime or cryptography,\njust use your package manager.\n\nThis plugin installs SBCL from source. Depending on the speed of your\nsystem, this can take some time. In return, it will give you the\nflexibility to run and manage different versions of SBCL with\nconfigurable build options. This will liberate you from the tyranny of\noutdated official packages or missing compile-time flags that you might\nneed.\n\nSBCL is compiled using itself, or any other Common Lisp.  I would love\nto use a publicly available older SBCL version to bootstrap the new one\nlike I have done for years, and as I still do for Linux, but on MacOS\nVentura the old builds don't run anymore due to mmap errors.  To deal\nwith that, I now use ecl for mac builds which is an embeddable common\nlisp that is widely available via package managers, though quite slow.\n\nI have chosen a few useful options by default to make it easier to\ngenerate compressed images of multithreaded apps that make use of\nexternal libraries and crypto (mostly so you can generate small binaries\nthat use openssl out of the box):\n\n- `--with-sb-core-compression` for creating compressable images\n- `--with-sb-thread` for threading\n- `--with-sb-linkable-runtime` for linking outside libs like openssl\n- `--with-sb-rotate-byte` for cryptography and hashing\n\nAll versions from 2.1.2 to 2.1.11 have a patch applied to allow the\nlinking of external libs on M1 macs. To the best of my knowledge,\nversions \u003e= 2.2.0 on no longer require the patch.\n\n`--with-sb-core-compression` relies on zstd for compression in the\nlatest versions of SBCL. You will need to make sure you have zstd\ninstalled via your favorite package manager and make sure your CPATH and\nLIBRARY_PATH point to them. If you're on a mac, you also need to have\nyour command line tools in your path in your ~/.zshrc. For example, if\nyou're using brew on an M1 or M2 mac, install zstd with `brew install zstd` \nand then install sbcl with `LIBRARY_PATH=$(brew --prefix)/lib CPATH=$(brew \n--prefix)/include asdf install sbcl 2.4.9`. Be sure to thank Apple for this \nhellscape. If you're using asdf, install zstd with `sudo apt-get install \nlibzstd-dev` and let it rip. Other distros will need to install it in \nwhatever way they usually install.\n\n### Requirements\n\n- [jq](https://stedolan.github.io/jq/)\n- [curl](https://curl.haxx.se/)\n- [libzstd-dev](https://github.com/facebook/zstd)\n- [zlib] on macs\n- [ecl](https://ecl.common-lisp.dev) on macs\n\n### Install Plugin\n\n```\nasdf plugin-add sbcl https://github.com/smashedtoatoms/asdf-sbcl.git\n```\n\n### Asdf-vm Usage\n\nList candidate SBCLs:\n\n```\nasdf list-all sbcl\n```\n\nInstall a candidate listed from the previous command like this:\n\n```\nasdf install sbcl 2.4.9\n```\n\nOn Macs, the installer can screw up because it can't find zlib, despite it being installed.  You will get an error that says something like `fatal error: 'zstd.h' file not found`.  If that happens, and you have libz installed via brew, try installing like this:\n\n```\nLIBRARY_PATH=$(brew --prefix)/lib CPATH=$(brew --prefix)/include asdf install sbcl 2.4.9\n```\n\nSelect an installed candidate for use like this:\n\n```\nasdf global sbcl 2.4.9\n```\n\n### Custom compile flags\n\nThe default install will use `--with-sb-core-compression --with-sb-thread --with-sb-linkable-runtime --with-sb-rotate-byte`. If\nyou want different compile-time flags, you can set them by using the\nfollowing syntax on install:\n\n```\nSBCL_CONFIGURE_OPTIONS=\"--with-sb-core-compression --with-sb-thread\" \\\nasdf install sbcl 2.3.9\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmashedtoatoms%2Fasdf-sbcl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmashedtoatoms%2Fasdf-sbcl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmashedtoatoms%2Fasdf-sbcl/lists"}