Non-Root Chicken Scheme Setup
-----------------------------
date: 2022-10-02
tags: lang
Whenever I set up chicken on a new machine, I always forget how I
set up the chicken-install tool to not need root access (i.e.
per-user installs). Hence this note.
Add the following to your shell config:
export CHICKEN_INSTALL_REPOSITORY=~/chicken/5
export CHICKEN_REPOSITORY_PATH=~/chicken/5:/usr/lib/chicken/11
I like to then install linenoise for basic history in the repl:
$ chicken-install linenoise
$ cat < ~/.csirc
(import linenoise)
(current-input-port (make-linenoise-port))
EOM
Then to install chicken-doc locally, add the following env variable:
export CHICKEN_DOC_REPOSITORY=~/chicken/chicken-doc
And install the chicken-doc tool:
$ chicken-install chicken-doc
Note here that the egg recipe seems broken and doesn't honor
CHICKEN_INSTALL_REPOSITORY, so I find it's necessary to edit it
manually and re-run it:
$ sed -i "s@/usr@$HOME@g" ~/.cache/chicken-install/chicken-doc/chicken-doc.install.sh
$ sh ~/.cache/chicken-install/chicken-doc/chicken-doc.install.sh
I should try to upstream a patch to fix that... it does rely on
$HOME/bin being a viable location though!
Lastly fetch the chicken wiki:
$ mkdir -p ~/chicken && cd ~/chicken
$ curl -O https://3e8.org/pub/chicken-doc/chicken-doc-repo-5.tgz
$ tar xzf chicken-doc-repo-5.tgz
Test it out!
$ chicken-doc scheme
And get some offline work done :)