lua-language-server: update patches and clean build script
lua-language-server: try lua-language-server: try
This commit is contained in:
parent
51ab7e0ca5
commit
babc96b19b
|
@ -0,0 +1,11 @@
|
|||
--- lua-language-server/3rd/bee.lua/project/common.lua 2021-10-22 15:08:44.191055637 +0530
|
||||
+++ lua-language-server-patch/3rd/bee.lua/project/common.lua 2021-10-25 22:52:35.474777452 +0530
|
||||
@@ -45,6 +45,8 @@
|
||||
}
|
||||
},
|
||||
android = {
|
||||
+ flags ="-fPIC",
|
||||
+ ldflags ="-L@TERMUX_PREFIX@/lib -landroid-spawn",
|
||||
sources = {
|
||||
"!bee/**_win.cpp",
|
||||
"!bee/**_osx.cpp",
|
|
@ -13,51 +13,42 @@ termux_step_host_build() {
|
|||
termux_setup_ninja
|
||||
|
||||
mkdir 3rd
|
||||
cp -a "${TERMUX_PKG_SRCDIR}/3rd/luamake" 3rd/
|
||||
cp -a "${TERMUX_PKG_SRCDIR}"/3rd/luamake 3rd/
|
||||
|
||||
cd 3rd/luamake
|
||||
if [ "${TERMUX_ON_DEVICE_BUILD}" = true ]; then
|
||||
sed -i "s/-lstdc++/-lc++_static -lc++abi -landroid-spawn/g" ./compile/ninja/android.ninja
|
||||
fi
|
||||
./compile/install.sh
|
||||
}
|
||||
|
||||
termux_step_make() {
|
||||
termux_setup_ninja
|
||||
|
||||
"${TERMUX_PKG_HOSTBUILD_DIR}/3rd/luamake/luamake" \
|
||||
"${TERMUX_PKG_HOSTBUILD_DIR}"/3rd/luamake/luamake \
|
||||
-cc "${CC}" \
|
||||
-flags "${CFLAGS} ${CPPFLAGS} -L${TERMUX_PREFIX}/lib -landroid-spawn -Wno-unused-command-line-argument" \
|
||||
-flags "${CFLAGS} ${CPPFLAGS}" \
|
||||
-hostos "android"
|
||||
}
|
||||
|
||||
termux_step_make_install() {
|
||||
local INSTALL_DIR="${TERMUX_PREFIX}/lib/lua-language-server"
|
||||
local INSTALL_DIR="${TERMUX_PREFIX}/lib/${TERMUX_PKG_NAME}"
|
||||
|
||||
cat >"lua-language-server" <<-EOF
|
||||
cat >"${TERMUX_PREFIX}/bin/${TERMUX_PKG_NAME}" <<-EOF
|
||||
#!${TERMUX_PREFIX}/bin/bash
|
||||
|
||||
if [ "\$1" = "--start-lsp" ]; then
|
||||
# use wrapper because lsp paths are relative
|
||||
exec ${INSTALL_DIR}/lua-language-server -E ${INSTALL_DIR}/main.lua
|
||||
elif [ "\$1" = "-h" ] || [ "\$1" = "--help" ]; then
|
||||
echo -e "\n\e[32mTo start language server use --start-lsp\e[39m\n"
|
||||
exec ${INSTALL_DIR}/lua-language-server "\$@"
|
||||
else
|
||||
exec ${INSTALL_DIR}/lua-language-server "\$@"
|
||||
fi
|
||||
TMPPATH=\$(mktemp -d "${TERMUX_PREFIX}/tmp/${TERMUX_PKG_NAME}.XXXX")
|
||||
|
||||
exec ${INSTALL_DIR}/bin/Android/${TERMUX_PKG_NAME} \\
|
||||
--logpath="\${TMPPATH}/log" \\
|
||||
--metapath="\${TMPPATH}/meta" \\
|
||||
"\${@}"
|
||||
|
||||
EOF
|
||||
|
||||
install -Dm755 ./lua-language-server "${TERMUX_PREFIX}/bin"
|
||||
chmod 744 "${TERMUX_PREFIX}/bin/${TERMUX_PKG_NAME}"
|
||||
|
||||
mkdir -p "${INSTALL_DIR}"
|
||||
install -Dm755 ./bin/Android/* "${INSTALL_DIR}"
|
||||
cp -r ./script ./meta ./tools ./platform.lua ./locale ./debugger.lua ./main.lua "${INSTALL_DIR}"
|
||||
}
|
||||
|
||||
termux_step_create_debscripts() {
|
||||
cat >prerm <<-EOF
|
||||
#!${TERMUX_PREFIX}/bin/bash
|
||||
if [ "$TERMUX_PACKAGE_FORMAT" != "pacman" ] && [ "\$1" != "remove" ]; then exit 0; fi
|
||||
|
||||
# log files created by lsp is not removed automatically
|
||||
rm -rf "${TERMUX_PREFIX}/lib/lua-language-server"
|
||||
EOF
|
||||
install -Dm744 -t "${INSTALL_DIR}"/bin/Android ./bin/Android/"${TERMUX_PKG_NAME}"
|
||||
install -Dm644 -t "${INSTALL_DIR}" ./{main,debugger}.lua
|
||||
install -Dm644 -t "${INSTALL_DIR}"/bin/Android ./bin/Android/main.lua
|
||||
|
||||
cp -r ./script ./meta ./locale "${INSTALL_DIR}"
|
||||
}
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
--- lua-language-server/3rd/luamake/scripts/compiler/gcc.lua 2021-08-10 10:20:07.635907389 +0530
|
||||
+++ lua-language-server-patch/3rd/luamake/scripts/compiler/gcc.lua 2021-08-10 14:26:20.565901753 +0530
|
||||
@@ -64,7 +64,8 @@
|
||||
function gcc.update_ldflags(ldflags, attribute)
|
||||
if globals.os == "android" then
|
||||
--TODO android不支持static crt
|
||||
- ldflags[#ldflags+1] = "-lstdc++"
|
||||
+ ldflags[#ldflags+1] = "-lc++_static"
|
||||
+ ldflags[#ldflags+1] = "-lc++abi"
|
||||
elseif attribute.crt == "dynamic" then
|
||||
ldflags[#ldflags+1] = "-lstdc++"
|
||||
else
|
Loading…
Reference in New Issue