lispPackages: load precompiled asdf; support more implementations
This commit is contained in:
parent
b64163a90d
commit
58d6b50232
@ -24,6 +24,7 @@ case "$NIX_LISP" in
|
|||||||
NIX_LISP_QUIT="(quit)"
|
NIX_LISP_QUIT="(quit)"
|
||||||
NIX_LISP_NODEBUG='--non-interactive'
|
NIX_LISP_NODEBUG='--non-interactive'
|
||||||
NIX_LISP_FINAL_PARAMETERS=
|
NIX_LISP_FINAL_PARAMETERS=
|
||||||
|
NIX_LISP_FASL_TYPE="fasl"
|
||||||
;;
|
;;
|
||||||
ecl)
|
ecl)
|
||||||
NIX_LISP_LOAD_FILE="-load"
|
NIX_LISP_LOAD_FILE="-load"
|
||||||
@ -31,6 +32,7 @@ case "$NIX_LISP" in
|
|||||||
NIX_LISP_QUIT="(quit)"
|
NIX_LISP_QUIT="(quit)"
|
||||||
NIX_LISP_NODEBUG='--nodebug'
|
NIX_LISP_NODEBUG='--nodebug'
|
||||||
NIX_LISP_FINAL_PARAMETERS=
|
NIX_LISP_FINAL_PARAMETERS=
|
||||||
|
NIX_LISP_FASL_TYPE="fas"
|
||||||
;;
|
;;
|
||||||
clisp)
|
clisp)
|
||||||
NIX_LISP_LOAD_FILE="-c -l"
|
NIX_LISP_LOAD_FILE="-c -l"
|
||||||
@ -38,6 +40,31 @@ case "$NIX_LISP" in
|
|||||||
NIX_LISP_QUIT="(quit)"
|
NIX_LISP_QUIT="(quit)"
|
||||||
NIX_LISP_NODEBUG='-on-error exit'
|
NIX_LISP_NODEBUG='-on-error exit'
|
||||||
NIX_LISP_FINAL_PARAMETERS="-repl"
|
NIX_LISP_FINAL_PARAMETERS="-repl"
|
||||||
|
NIX_LISP_FASL_TYPE="fas"
|
||||||
|
;;
|
||||||
|
lx86cl64)
|
||||||
|
NIX_LISP_LOAD_FILE="-l"
|
||||||
|
NIX_LISP_EXEC_CODE="-e"
|
||||||
|
NIX_LISP_QUIT="(quit)"
|
||||||
|
NIX_LISP_NODEBUG='-b'
|
||||||
|
NIX_LISP_FINAL_PARAMETERS=
|
||||||
|
NIX_LISP_FASL_TYPE="lx64fsl"
|
||||||
|
;;
|
||||||
|
lx86cl)
|
||||||
|
NIX_LISP_LOAD_FILE="-l"
|
||||||
|
NIX_LISP_EXEC_CODE="-e"
|
||||||
|
NIX_LISP_QUIT="(quit)"
|
||||||
|
NIX_LISP_NODEBUG='-b'
|
||||||
|
NIX_LISP_FINAL_PARAMETERS=
|
||||||
|
NIX_LISP_FASL_TYPE="lx32fsl"
|
||||||
|
;;
|
||||||
|
abcl)
|
||||||
|
NIX_LISP_LOAD_FILE="--load"
|
||||||
|
NIX_LISP_EXEC_CODE="--eval"
|
||||||
|
NIX_LISP_QUIT="(quit)"
|
||||||
|
NIX_LISP_NODEBUG=''
|
||||||
|
NIX_LISP_FINAL_PARAMETERS=
|
||||||
|
NIX_LISP_FASL_TYPE="abcl"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
@ -59,7 +86,7 @@ nix_lisp_run_single_form(){
|
|||||||
eval "$NIX_LISP_PRELAUNCH_HOOK"
|
eval "$NIX_LISP_PRELAUNCH_HOOK"
|
||||||
|
|
||||||
[ -z "$NIX_LISP_SKIP_CODE" ] && "$NIX_LISP_COMMAND" $NIX_LISP_EARLY_OPTIONS \
|
[ -z "$NIX_LISP_SKIP_CODE" ] && "$NIX_LISP_COMMAND" $NIX_LISP_EARLY_OPTIONS \
|
||||||
$NIX_LISP_EXEC_CODE "${NIX_LISP_ASDF_LOAD:-"(load \"$NIX_LISP_ASDF/lib/common-lisp/asdf/build/asdf.lisp\")"}" \
|
$NIX_LISP_EXEC_CODE "${NIX_LISP_ASDF_LOAD:-"(load \"$NIX_LISP_ASDF/lib/common-lisp/asdf/build/asdf.$NIX_LISP_FASL_TYPE\")"}" \
|
||||||
$NIX_LISP_EXEC_CODE "$NIX_LISP_ASDF_REGISTRY_CODE" \
|
$NIX_LISP_EXEC_CODE "$NIX_LISP_ASDF_REGISTRY_CODE" \
|
||||||
${NIX_LISP_FINAL_PARAMETERS[*]:+"${NIX_LISP_FINAL_PARAMETERS[@]}"} \
|
${NIX_LISP_FINAL_PARAMETERS[*]:+"${NIX_LISP_FINAL_PARAMETERS[@]}"} \
|
||||||
"$@"
|
"$@"
|
||||||
|
@ -22,7 +22,9 @@ stdenv.mkDerivation {
|
|||||||
cp -r "${asdf}/lib/common-lisp"/* "$out/lib/common-lisp/"
|
cp -r "${asdf}/lib/common-lisp"/* "$out/lib/common-lisp/"
|
||||||
chmod u+rw -R "$out/lib/common-lisp/"
|
chmod u+rw -R "$out/lib/common-lisp/"
|
||||||
|
|
||||||
NIX_LISP_PRELAUNCH_HOOK='nix_lisp_run_single_form "(progn
|
NIX_LISP_PRELAUNCH_HOOK='
|
||||||
|
NIX_LISP_FASL_TYPE=lisp
|
||||||
|
nix_lisp_run_single_form "(progn
|
||||||
(uiop/lisp-build:compile-file* \"'"$out"'/lib/common-lisp/asdf/build/asdf.lisp\")
|
(uiop/lisp-build:compile-file* \"'"$out"'/lib/common-lisp/asdf/build/asdf.lisp\")
|
||||||
(asdf:load-system :uiop :force :all)
|
(asdf:load-system :uiop :force :all)
|
||||||
(asdf:load-system :asdf :force :all)
|
(asdf:load-system :asdf :force :all)
|
||||||
|
@ -66,7 +66,7 @@ basePackage = {
|
|||||||
(asdf:operate (quote asdf::compile-bundle-op) :${testSystem})
|
(asdf:operate (quote asdf::compile-bundle-op) :${testSystem})
|
||||||
(ignore-errors (asdf:operate (quote asdf::deploy-asd-op) :${testSystem}))
|
(ignore-errors (asdf:operate (quote asdf::deploy-asd-op) :${testSystem}))
|
||||||
)"' \
|
)"' \
|
||||||
"$out/bin/${args.baseName}-lisp-launcher.sh" ""
|
"$out/bin/${args.baseName}-lisp-launcher.sh"
|
||||||
'') testSystems}
|
'') testSystems}
|
||||||
|
|
||||||
eval "$postInstall"
|
eval "$postInstall"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user