It hasn't shown up in MacPorts yet, so I pulled down the tarball and did:
% make PLATFORM=macosx PREFIX=/usr/local/chicken5
…
% sudo make PLATFORM=macosx PREFIX=/usr/local/chicken5 install
Then added to .profile, before the MacPorts parts of my paths:
export CHICKEN5_HOME="/usr/local/chicken5"
export MANPATH="$MANPATH:$CHICKEN5_HOME/share/man"
export PATH="$PATH:$CHICKEN5_HOME/bin"
When I want to switch back to Chicken 4, or when MacPorts gets Chicken 5, I can just comment those lines out and start a new shell.
I run csi, and it errors out because readline isn't installed. And doesn't exist as an egg anymore. Instead, I did
% chicken-install -sudo breadline
And changed my ~/.csirc based on example
(cond-expand
(chicken-4 (begin
(import miscmacros)
(use readline)
(install-history-file #f "/.csi_history")
(current-input-port (make-readline-port))
(printf "Chicken 4 READY~%")
))
(chicken-5 (begin
(import (chicken format))
(import (chicken process-context))
(import miscmacros)
(import (prefix breadline "rl-"))
(import (prefix breadline-scheme-completion "rl-"))
(rl-history-file (format "~A/.csi_history" (get-environment-variable "HOME")))
(rl-completer-word-break-characters-set! "\t\n\"\'`;|()[]{}")
(rl-completer-set! rl-scheme-completer)
(rl-basic-quote-characters-set! "\"|")
(rl-variable-bind! "blink-matching-paren" "on")
(rl-paren-blink-timeout-set! 200000)
(current-input-port (rl-make-readline-port))
(printf "Chicken 5 READY~%")
))
)
UGH, semi-random API changes, but it does a little more than raw arrow-key editing now.
sdl2 isn't ported yet, so I can't really progress with that, but I can do other things, and most of my code only needs a cond-expand changing use
to import
and renaming a bunch of eggs.