nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1#!@stdenv_shell@
2# Part of NixPkgs package collection
3# This script can be used at your option under the same license as NixPkgs or
4# under MIT/X11 license
5
6eval "$NIX_LISP_PREHOOK"
7
8NIX_LISP_COMMAND="$1"
9shift
10
11[ -z "$NIX_LISP" ] && NIX_LISP="${NIX_LISP_COMMAND##*/}"
12
13export NIX_LISP NIX_LISP_LOAD_FILE NIX_LISP_EXEC_CODE NIX_LISP_COMMAND NIX_LISP_FINAL_PARAMETERS
14
15test -n "$NIX_LISP_LD_LIBRARY_PATH" &&
16 export LD_LIBRARY_PATH="$LD_LIBRARY_PATH${LD_LIBRARY_PATH+:}$NIX_LISP_LD_LIBRARY_PATH"
17
18declare -a NIX_LISP_FINAL_PARAMETERS;
19
20case "$NIX_LISP" in
21 sbcl)
22 NIX_LISP_LOAD_FILE="--load"
23 NIX_LISP_EXEC_CODE="--eval"
24 NIX_LISP_QUIT="(quit)"
25 NIX_LISP_NODEBUG='--non-interactive'
26 NIX_LISP_FINAL_PARAMETERS=
27 NIX_LISP_FASL_TYPE="fasl"
28 ;;
29 ecl)
30 NIX_LISP_LOAD_FILE="-load"
31 NIX_LISP_EXEC_CODE="-eval"
32 NIX_LISP_QUIT="(quit)"
33 NIX_LISP_NODEBUG='--nodebug'
34 NIX_LISP_FINAL_PARAMETERS=
35 NIX_LISP_FASL_TYPE="fas"
36 ;;
37 clisp)
38 NIX_LISP_LOAD_FILE="-c -l"
39 NIX_LISP_EXEC_CODE="-x"
40 NIX_LISP_QUIT="(quit)"
41 NIX_LISP_NODEBUG='-on-error exit'
42 NIX_LISP_FINAL_PARAMETERS="-repl"
43 NIX_LISP_FASL_TYPE="fas"
44 ;;
45 lx86cl64)
46 NIX_LISP_LOAD_FILE="-l"
47 NIX_LISP_EXEC_CODE="-e"
48 NIX_LISP_QUIT="(quit)"
49 NIX_LISP_NODEBUG='-b'
50 NIX_LISP_FINAL_PARAMETERS=
51 NIX_LISP_FASL_TYPE="lx64fsl"
52 ;;
53 lx86cl)
54 NIX_LISP_LOAD_FILE="-l"
55 NIX_LISP_EXEC_CODE="-e"
56 NIX_LISP_QUIT="(quit)"
57 NIX_LISP_NODEBUG='-b'
58 NIX_LISP_FINAL_PARAMETERS=
59 NIX_LISP_FASL_TYPE="lx32fsl"
60 ;;
61 abcl)
62 NIX_LISP_LOAD_FILE="--load"
63 NIX_LISP_EXEC_CODE="--eval"
64 NIX_LISP_QUIT="(quit)"
65 NIX_LISP_NODEBUG=''
66 NIX_LISP_FINAL_PARAMETERS=
67 NIX_LISP_FASL_TYPE="abcl"
68 ;;
69esac
70
71NIX_LISP_ASDF_REGISTRY_CODE="
72 (progn
73 #+asdf3 (setf asdf:*default-source-registries*
74 '(asdf/source-registry:environment-source-registry))
75 (asdf:initialize-source-registry)
76 )
77"
78
79NIX_LISP_ASDF="${NIX_LISP_ASDF:-@out@}"
80
81nix_lisp_run_single_form(){
82 NIX_LISP_FINAL_PARAMETERS=("$NIX_LISP_EXEC_CODE" "$1"
83 "$NIX_LISP_EXEC_CODE" "$NIX_LISP_QUIT" $NIX_LISP_NODEBUG)
84}
85
86eval "$NIX_LISP_PRELAUNCH_HOOK"
87
88[ -z "$NIX_LISP_SKIP_CODE" ] && "$NIX_LISP_COMMAND" $NIX_LISP_EARLY_OPTIONS \
89 $NIX_LISP_EXEC_CODE "${NIX_LISP_ASDF_LOAD:-"(load \"$NIX_LISP_ASDF/lib/common-lisp/asdf/build/asdf.$NIX_LISP_FASL_TYPE\")"}" \
90 $NIX_LISP_EXEC_CODE "$NIX_LISP_ASDF_REGISTRY_CODE" \
91 ${NIX_LISP_FINAL_PARAMETERS[*]:+"${NIX_LISP_FINAL_PARAMETERS[@]}"} \
92 "$@"