diff options
author | Michael Raskin <7c6f434c@mail.ru> | 2017-03-30 13:00:43 +0200 |
---|---|---|
committer | Michael Raskin <7c6f434c@mail.ru> | 2017-03-30 13:00:43 +0200 |
commit | 953fc6c0a057797c225f8cda787c4348f2b6c2cd (patch) | |
tree | 7f8b783001c798d26f0a4cd4a6de54ec4503adbe /pkgs/development/lisp-modules | |
parent | c1f922b0b5641433f1aba67ab7c9a319391b0975 (diff) | |
download | nixlib-953fc6c0a057797c225f8cda787c4348f2b6c2cd.tar nixlib-953fc6c0a057797c225f8cda787c4348f2b6c2cd.tar.gz nixlib-953fc6c0a057797c225f8cda787c4348f2b6c2cd.tar.bz2 nixlib-953fc6c0a057797c225f8cda787c4348f2b6c2cd.tar.lz nixlib-953fc6c0a057797c225f8cda787c4348f2b6c2cd.tar.xz nixlib-953fc6c0a057797c225f8cda787c4348f2b6c2cd.tar.zst nixlib-953fc6c0a057797c225f8cda787c4348f2b6c2cd.zip |
clwrapper: better support for ensuring noninteractive execution
Diffstat (limited to 'pkgs/development/lisp-modules')
-rwxr-xr-x | pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh | 19 | ||||
-rw-r--r-- | pkgs/development/lisp-modules/clwrapper/default.nix | 1 |
2 files changed, 17 insertions, 3 deletions
diff --git a/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh b/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh index 90fa48814a2e..d7485936941c 100755 --- a/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh +++ b/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh @@ -1,4 +1,4 @@ -#! /bin/sh +#!@stdenv_shell@ # Part of NixPkgs package collection # This script can be used at your option under the same license as NixPkgs or # 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" && 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 sbcl) NIX_LISP_LOAD_FILE="--load" NIX_LISP_EXEC_CODE="--eval" NIX_LISP_QUIT="(quit)" + NIX_LISP_NODEBUG='--non-interactive' NIX_LISP_FINAL_PARAMETERS= ;; ecl) NIX_LISP_LOAD_FILE="-load" NIX_LISP_EXEC_CODE="-eval" NIX_LISP_QUIT="(quit)" + NIX_LISP_NODEBUG='--nodebug' NIX_LISP_FINAL_PARAMETERS= ;; clisp) NIX_LISP_LOAD_FILE="-c -l" NIX_LISP_EXEC_CODE="-x" NIX_LISP_QUIT="(quit)" + NIX_LISP_NODEBUG='-on-error exit' NIX_LISP_FINAL_PARAMETERS="-repl" ;; esac NIX_LISP_ASDF_REGISTRY_CODE=" (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) ) " 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 \ $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_FINAL_PARAMETERS \ + "${NIX_LISP_FINAL_PARAMETERS[@]}" \ "$@" diff --git a/pkgs/development/lisp-modules/clwrapper/default.nix b/pkgs/development/lisp-modules/clwrapper/default.nix index 172af31f834e..978e16fd9988 100644 --- a/pkgs/development/lisp-modules/clwrapper/default.nix +++ b/pkgs/development/lisp-modules/clwrapper/default.nix @@ -13,6 +13,7 @@ stdenv.mkDerivation { ''; inherit asdf lisp; + stdenv_shell = stdenv.shell; setupHook = ./setup-hook.sh; |