fix: support arm64 in install-lua-language-server
get_arch() only handled x86_64, so arm64 machines failed with "unsupported architecture: arm64". Also switch the bin symlink to a wrapper script: lua-language-server locates main.lua relative to its own unresolved argv[0], so launching it through a symlinked executable (rather than a symlinked directory) made it fail to find main.lua.
This commit is contained in:
parent
99f1a7f6e1
commit
6b55be7df2
@ -13,12 +13,23 @@ main() (
|
|||||||
|
|
||||||
extract_tarball "${URL}" "${DEST}/${VERSION}"
|
extract_tarball "${URL}" "${DEST}/${VERSION}"
|
||||||
set_current_link "${DEST}" "${VERSION}"
|
set_current_link "${DEST}" "${VERSION}"
|
||||||
set_link "${XDG_BIN_HOME}/lua-language-server" "${DEST}" bin/lua-language-server
|
|
||||||
|
# lua-language-server locates main.lua next to its own argv[0], without
|
||||||
|
# resolving symlinks, so it can't be launched through a symlinked
|
||||||
|
# executable (only a symlinked directory in the path works). Use a
|
||||||
|
# wrapper script instead of set_link.
|
||||||
|
cat >"${XDG_BIN_HOME}/lua-language-server" <<EOF
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
exec "${DEST}/current/bin/lua-language-server" "\$@"
|
||||||
|
EOF
|
||||||
|
chmod +x "${XDG_BIN_HOME}/lua-language-server"
|
||||||
)
|
)
|
||||||
|
|
||||||
get_arch() (
|
get_arch() (
|
||||||
case $(uname -m) in
|
case $(uname -m) in
|
||||||
x86_64*) echo x64 ;;
|
x86_64*) echo x64 ;;
|
||||||
|
arm64*) echo arm64 ;;
|
||||||
|
aarch64*) echo arm64 ;;
|
||||||
*)
|
*)
|
||||||
echo >&2 "unsupported architecture: $(uname -m)"
|
echo >&2 "unsupported architecture: $(uname -m)"
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user