diff --git a/dev-util/lua-language-server/Manifest b/dev-util/lua-language-server/Manifest index 67bad89d53..6ed035c2a9 100644 --- a/dev-util/lua-language-server/Manifest +++ b/dev-util/lua-language-server/Manifest @@ -1,3 +1,4 @@ DIST lua-language-server-3.17.1.zip 32018139 BLAKE2B 967835203328326e5556ec81512016af302cc7a5b26a9cc13df41946862eca771a29ddc8036f9bdeadc0a076a6c3d173dcc836737295a4a18c8c2fd6b40fade9 SHA512 e21771f4c9f2c693344b10014a8d40f48bf668ff170ffac6c0e1b1a53989c1e1036b19ea8f203add3423f8d701506f4331382c3391de657469f9333769f9e6b4 DIST lua-language-server-3.18.0.zip 32025014 BLAKE2B 8ab5cb66e9dc1860150ec23ba7ee38a97560206d1fea3d0fa92378db48724d2841f977af8c47218de5b139cc3c65f929ae2963eb9accbc382c4d08b13d5e6e02 SHA512 89dbfc56ba3b23ad6e431c41ca9fc1f15c91f0ef348182754ef4854f709282369b0b0922d26242d315074a81a930e65c2b3459e12ad574ab57f029b783b4fd6c DIST lua-language-server-3.18.1.zip 32025060 BLAKE2B 34a7e5ace59525953b9d9e81fd356748920ff30bcefe8fe52d97fe4ddeb88f39c7ec7367ec14f083ca7fd0b152ed0519d5272bb6e2686b46cfa36bb1bd0432f6 SHA512 646772d16a439597cc7142eb5806a3b90ab06b76a0e7047ce59407a8db4a374f571e3cddc27384ab87d7329705f10936e0fcfb56827d67182858441f92e8af1f +DIST lua-language-server-3.18.2.zip 32023745 BLAKE2B 891015e2ab9b9948a1f35eebcba15cd5676a1f3d3b90f713e700d0c420d810502508d7501023f9a16db2692461222d184a7ba1e32769429c7a86ea80c09aac00 SHA512 91054584cb2172abde83c88dcdf699026921d38c109e87893192c4bfea31eb788ca8911792eb52433d86a142baaf1577ed7a70c99b9ee150d9399ccbff513aeb diff --git a/dev-util/lua-language-server/lua-language-server-3.18.2.ebuild b/dev-util/lua-language-server/lua-language-server-3.18.2.ebuild new file mode 100644 index 0000000000..f0bb35993f --- /dev/null +++ b/dev-util/lua-language-server/lua-language-server-3.18.2.ebuild @@ -0,0 +1,95 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua{5-{1,3,4},jit} ) + +inherit ninja-utils toolchain-funcs lua-single prefix + +DESCRIPTION="Lua language server" +HOMEPAGE="https://github.com/LuaLS/lua-language-server" +SRC_URI="https://github.com/LuaLS/lua-language-server/releases/download/${PV}/${P}-submodules.zip -> ${P}.zip" +S="${WORKDIR}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="llvm-libunwind test" +REQUIRE_USE="${LUA_REQUIRED_USE}" + +DEPEND=" + ${LUA_DEPS} + sys-libs/binutils-libs +" +RDEPEND="${DEPEND}" +BDEPEND=" + app-alternatives/ninja + app-arch/unzip + !llvm-libunwind? ( sys-libs/libunwind ) + llvm-libunwind? ( llvm-runtimes/libunwind ) +" +RESTRICT="!test? ( test )" + +src_prepare() { + # Remove hardcoded gcc references + sed -i "/lm.cxx/a lm.cc = '$(tc-getCC)'" \ + make.lua || die + sed -i "s/CC = gcc/ CC = ${tc-getCC}/" \ + 3rd/lpeglabel/makefile || die + # Shipped file doesn't respect CFLAGS/CXXFLAGS/LDFLAGS + eapply "${FILESDIR}/3.16.4-linux.ninja.patch" + eapply_user + sed -i -e "s/^cc = REPLACE_ME/cc = $(tc-getCC)/" \ + -e "s/^ar = REPLACE_AR/ar = $(tc-getAR)/" \ + -e "s/CFLAGS/${CFLAGS}/" \ + -e "s/CXXFLAGS/${CXXFLAGS}/" \ + -e "s/LDFLAGS/${LDFLAGS}/" \ + 3rd/luamake/compile/ninja/linux.ninja || die + if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then + sed -i "s/-lstdc++fs//" 3rd/luamake/compile/ninja/linux.ninja || die + fi + + prefixify_ro "${FILESDIR}/wrapper.sh" +} + +src_compile() { + eninja -C 3rd/luamake -f compile/ninja/linux.ninja "$(usex test "test" "luamake")" + use test && eninja -C 3rd/luamake -f compile/ninja/linux.ninja luamake + ./3rd/luamake/luamake init || die + + # Generated file doesn't respect CFLAGS/CXXFLAGS/LDFLAGS + sed -i -e "s/^cc =.*./cc = REPLACE_ME/" \ + -e "s/^ar =.*./ar = REPLACE_AR/" \ + build/build.ninja || die + + eapply "${FILESDIR}/3.16.4-build.ninja.patch" + sed -i -e "s/REPLACE_ME/$(tc-getCC)/" \ + -e "s/REPLACE_AR/$(tc-getAR)/" \ + -e "s|LUAMAKE_PATH|${S}/3rd/luamake/luamake|" \ + -e "s/CFLAGS/${CFLAGS}/" \ + -e "s/CXXFLAGS/${CXXFLAGS}/" \ + -e "s/LDFLAGS/${LDFLAGS}/" \ + build/build.ninja || die + if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then + sed -i "s/-lstdc++fs//" build/build.ninja || die + fi + + use test && eninja -f build/build.ninja || eninja -f build/build.ninja all + rm -rf meta/198256b1 +} + +src_install() { + newbin "${T}/wrapper.sh" ${PN} + + into /opt/${PN} + dobin bin/${PN} + + insinto /opt/${PN}/bin + doins bin/main.lua + + insinto /opt/${PN} + doins -r debugger.lua main.lua locale meta script + + einstalldocs +}