1NIX_LISP_ASDF="@asdf@"
2
3CL_SOURCE_REGISTRY="@asdf@/lib/common-lisp/asdf/:@asdf@/lib/common-lisp/asdf/uiop/"
4
5addASDFPaths () {
6 for j in "$1"/lib/common-lisp/*; do
7 if [ -d "$j" ]; then
8 CL_SOURCE_REGISTRY="$CL_SOURCE_REGISTRY:$j/"
9 fi
10 done
11}
12
13setLisp () {
14 if [ -z "$NIX_LISP_COMMAND" ]; then
15 for j in "$1"/bin/*; do
16 case "$(basename "$j")" in
17 sbcl) NIX_LISP_COMMAND="$j" ;;
18 ecl) NIX_LISP_COMMAND="$j" ;;
19 clisp) NIX_LISP_COMMAND="$j" ;;
20 esac
21 done
22 fi
23 if [ -z "$NIX_LISP" ]; then
24 NIX_LISP="${NIX_LISP_COMMAND##*/}"
25 fi
26}
27
28collectNixLispLDLP () {
29 if echo "$1/lib"/lib*.so* | grep . > /dev/null; then
30 export NIX_LISP_LD_LIBRARY_PATH="$NIX_LISP_LD_LIBRARY_PATH${NIX_LISP_LD_LIBRARY_PATH:+:}$1/lib"
31 fi
32}
33
34export NIX_LISP_COMMAND NIX_LISP CL_SOURCE_REGISTRY NIX_LISP_ASDF
35
36envHooks+=(addASDFPaths setLisp collectNixLispLDLP)
37
38mkdir -p "$HOME"/.cache/common-lisp || HOME="$TMP/.temp-$USER-home"
39mkdir -p "$HOME"/.cache/common-lisp