GOPHERSPACE.DE - P H O X Y
gophering on alexkarle.com
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 :)