clwrapper: better support for ensuring noninteractive execution
This commit is contained in:
parent
c1f922b0b5
commit
953fc6c0a0
@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#!@stdenv_shell@
|
||||||
# Part of NixPkgs package collection
|
# Part of NixPkgs package collection
|
||||||
# This script can be used at your option under the same license as NixPkgs or
|
# This script can be used at your option under the same license as NixPkgs or
|
||||||
# under MIT/X11 license
|
# under MIT/X11 license
|
||||||
@ -15,38 +15,51 @@ export NIX_LISP NIX_LISP_LOAD_FILE NIX_LISP_EXEC_CODE NIX_LISP_COMMAND NIX_LISP_
|
|||||||
test -n "$NIX_LISP_LD_LIBRARY_PATH" &&
|
test -n "$NIX_LISP_LD_LIBRARY_PATH" &&
|
||||||
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH${LD_LIBRARY_PATH+:}$NIX_LISP_LD_LIBRARY_PATH"
|
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH${LD_LIBRARY_PATH+:}$NIX_LISP_LD_LIBRARY_PATH"
|
||||||
|
|
||||||
|
declare -a NIX_LISP_FINAL_PARAMETERS;
|
||||||
|
|
||||||
case "$NIX_LISP" in
|
case "$NIX_LISP" in
|
||||||
sbcl)
|
sbcl)
|
||||||
NIX_LISP_LOAD_FILE="--load"
|
NIX_LISP_LOAD_FILE="--load"
|
||||||
NIX_LISP_EXEC_CODE="--eval"
|
NIX_LISP_EXEC_CODE="--eval"
|
||||||
NIX_LISP_QUIT="(quit)"
|
NIX_LISP_QUIT="(quit)"
|
||||||
|
NIX_LISP_NODEBUG='--non-interactive'
|
||||||
NIX_LISP_FINAL_PARAMETERS=
|
NIX_LISP_FINAL_PARAMETERS=
|
||||||
;;
|
;;
|
||||||
ecl)
|
ecl)
|
||||||
NIX_LISP_LOAD_FILE="-load"
|
NIX_LISP_LOAD_FILE="-load"
|
||||||
NIX_LISP_EXEC_CODE="-eval"
|
NIX_LISP_EXEC_CODE="-eval"
|
||||||
NIX_LISP_QUIT="(quit)"
|
NIX_LISP_QUIT="(quit)"
|
||||||
|
NIX_LISP_NODEBUG='--nodebug'
|
||||||
NIX_LISP_FINAL_PARAMETERS=
|
NIX_LISP_FINAL_PARAMETERS=
|
||||||
;;
|
;;
|
||||||
clisp)
|
clisp)
|
||||||
NIX_LISP_LOAD_FILE="-c -l"
|
NIX_LISP_LOAD_FILE="-c -l"
|
||||||
NIX_LISP_EXEC_CODE="-x"
|
NIX_LISP_EXEC_CODE="-x"
|
||||||
NIX_LISP_QUIT="(quit)"
|
NIX_LISP_QUIT="(quit)"
|
||||||
|
NIX_LISP_NODEBUG='-on-error exit'
|
||||||
NIX_LISP_FINAL_PARAMETERS="-repl"
|
NIX_LISP_FINAL_PARAMETERS="-repl"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
NIX_LISP_ASDF_REGISTRY_CODE="
|
NIX_LISP_ASDF_REGISTRY_CODE="
|
||||||
(progn
|
(progn
|
||||||
(setf asdf:*default-source-registries* '(asdf/source-registry:environment-source-registry))
|
#+asdf3 (setf asdf:*default-source-registries*
|
||||||
|
'(asdf/source-registry:environment-source-registry))
|
||||||
(asdf:initialize-source-registry)
|
(asdf:initialize-source-registry)
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
|
|
||||||
NIX_LISP_ASDF="${NIX_LISP_ASDF:-@asdf@}"
|
NIX_LISP_ASDF="${NIX_LISP_ASDF:-@asdf@}"
|
||||||
|
|
||||||
|
nix_lisp_run_single_form(){
|
||||||
|
NIX_LISP_FINAL_PARAMETERS=("$NIX_LISP_EXEC_CODE" "$1"
|
||||||
|
"$NIX_LISP_EXEC_CODE" "$NIX_LISP_QUIT" $NIX_LISP_NODEBUG)
|
||||||
|
}
|
||||||
|
|
||||||
|
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.lisp\")"}" \
|
||||||
$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[@]}" \
|
||||||
"$@"
|
"$@"
|
||||||
|
@ -13,6 +13,7 @@ stdenv.mkDerivation {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
inherit asdf lisp;
|
inherit asdf lisp;
|
||||||
|
stdenv_shell = stdenv.shell;
|
||||||
|
|
||||||
setupHook = ./setup-hook.sh;
|
setupHook = ./setup-hook.sh;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user