about summary refs log tree commit diff
path: root/pkgs/development/lisp-modules
diff options
context:
space:
mode:
authorBrad Jensen <brad@bradjensen.net>2019-07-24 09:21:04 -0700
committerBrad Jensen <brad@bradjensen.net>2019-07-24 09:35:27 -0700
commitfa7bd53d0d002646870a18e202ac98b3ac0f598c (patch)
treebec949d017841ee179caea27d94afd7c9ce1d7e8 /pkgs/development/lisp-modules
parent6b7c72105e3ce0bfbca0b57769f678a1b5c88ad1 (diff)
downloadnixlib-fa7bd53d0d002646870a18e202ac98b3ac0f598c.tar
nixlib-fa7bd53d0d002646870a18e202ac98b3ac0f598c.tar.gz
nixlib-fa7bd53d0d002646870a18e202ac98b3ac0f598c.tar.bz2
nixlib-fa7bd53d0d002646870a18e202ac98b3ac0f598c.tar.lz
nixlib-fa7bd53d0d002646870a18e202ac98b3ac0f598c.tar.xz
nixlib-fa7bd53d0d002646870a18e202ac98b3ac0f598c.tar.zst
nixlib-fa7bd53d0d002646870a18e202ac98b3ac0f598c.zip
Resolve symlinks before trying to recognize a lisp implementation
The CCL package installs a symlink named "ccl" that points at the
actual implementation executable: lx86cl64 (or lx86cl for 32 bit).
When clwrapper is used with CCL as the backing implementation, this
script fails to recognize the implementation.  By resolving the
symlink, we are able to recognize which implementation we're actually
working with.
Diffstat (limited to 'pkgs/development/lisp-modules')
-rwxr-xr-xpkgs/development/lisp-modules/clwrapper/cl-wrapper.sh7
1 files changed, 6 insertions, 1 deletions
diff --git a/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh b/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh
index 65fb6e615f5f..3b35d7ba5a95 100755
--- a/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh
+++ b/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh
@@ -8,7 +8,12 @@ eval "$NIX_LISP_PREHOOK"
 NIX_LISP_COMMAND="$1"
 shift
 
-[ -z "$NIX_LISP" ] && NIX_LISP="${NIX_LISP_COMMAND##*/}"
+if [ -z "$NIX_LISP" ]; then
+    while [ -h "${NIX_LISP_COMMAND}" ]; do
+        NIX_LISP_COMMAND="$(readlink -n "${NIX_LISP_COMMAND}")"
+    done
+    NIX_LISP="${NIX_LISP_COMMAND##*/}"
+fi
 
 export NIX_LISP NIX_LISP_LOAD_FILE NIX_LISP_EXEC_CODE NIX_LISP_COMMAND NIX_LISP_FINAL_PARAMETERS