diff --git a/dev-util/lua-language-server/Manifest b/dev-util/lua-language-server/Manifest index c397fc1..462a73f 100644 --- a/dev-util/lua-language-server/Manifest +++ b/dev-util/lua-language-server/Manifest @@ -1,2 +1,3 @@ DIST lua-language-server-3.6.10.zip 31998049 BLAKE2B 8c15c583c947cea7647d40fc82114c2f4ec4d1025377ce796b002f3761137e6499feccb934b5b5f0466d2f612b4801dc2ba7e6984027527b5c2174d6895d15ce SHA512 a49c28990e00115eaac83e615079192adfd39655436babc86dafe3660912c10346ab99c418272ac4a9c2113a98921b9b07c0c20bdf62fe633872417127247509 DIST lua-language-server-3.6.11.zip 32022639 BLAKE2B 9e5a33b12e40f8b9f7b3eb5a8b049e09e8a7f0b5a5569ee15d5aa2a2035a13a6e75036321aac439a97c56c401914908f878e2f02a136c1de9413f2a9879a56c1 SHA512 6474ad8c84af034002e124a802a28afccb7f7ea439b00b508639a4a20471b5eed995dacf12fe0c8cb2313530fba787fa1127712093402e4e67c7d72e5118ce59 +DIST lua-language-server-3.6.13.zip 30691495 BLAKE2B 376b5f792d1002a0b1e0942e4d91aed4bbdccc5cf033cad56e9fafc6df3a5ef28247fc611c2563c6b3c499e491699bf6f21edc9ac6106440a7dc4662803f8aee SHA512 ce595dfe2e16bb468e90c2e73d5569eeac2cf093a0caaa0006e23ec876edcf491be92dad88e35369f9c250949c887850e8c1805736e8b8f20b0c643a56d6faed diff --git a/dev-util/lua-language-server/files/wrapper-r1.sh b/dev-util/lua-language-server/files/wrapper-r1.sh new file mode 100644 index 0000000..bdc839e --- /dev/null +++ b/dev-util/lua-language-server/files/wrapper-r1.sh @@ -0,0 +1,11 @@ +#!/bin/sh +# some paths must be writable, so we put them into user-owned directories + +DATAPATH="${XDG_DATA_HOME:-${HOME}/.local/share}/lua-language-server" +STATEPATH="${XDG_STATE_HOME:-${HOME}/.local/state}/lua-language-server" +mkdir --parents ${DATAPATH} ${STATEPATH} + +exec @GENTOO_PORTAGE_EPREFIX@/opt/lua-language-server/bin/lua-language-server \ + --logpath="${STATEPATH}/log" \ + --metapath="${DATAPATH}/meta" \ + "$@" diff --git a/dev-util/lua-language-server/lua-language-server-3.6.13.ebuild b/dev-util/lua-language-server/lua-language-server-3.6.13.ebuild new file mode 100644 index 0000000..4416364 --- /dev/null +++ b/dev-util/lua-language-server/lua-language-server-3.6.13.ebuild @@ -0,0 +1,66 @@ +# Copyright 2020-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# TODO: unbundle deps, set flags correctly, verbose luamake, less sed hacks + +EAPI=8 + +LUA_COMPAT=( lua{5-{1,3,4},jit} ) + +inherit lua-single ninja-utils prefix toolchain-funcs + +DESCRIPTION="A language server that offers Lua language support" +HOMEPAGE="https://github.com/sumneko/lua-language-server" +SRC_URI="https://github.com/sumneko/${PN}/releases/download/${PV}/${P}-submodules.zip -> ${P}.zip" +S="${WORKDIR}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" +REQUIRED_USE="${LUA_REQUIRED_USE}" + +RESTRICT="!test? ( test )" + +DEPEND="${LUA_DEPS}" +RDEPEND="${DEPEND}" +BDEPEND=" + app-arch/unzip + dev-util/ninja +" + +QA_PREBUILT="/opt/lua-language-server/bin/lua-language-server" + +src_prepare() { + # replace sed commands with patches + sed -i "s/^cc = gcc$/cc = $(tc-getCC)/" \ + 3rd/luamake/compile/ninja/linux.ninja || die + sed -i "/require \"make.detect_platform\"/a lm.cc = '$(tc-getCC)'" \ + make.lua || die + sed -i "s/flags = \"-Wall -Werror\"/flags = \"-Wall ${CXXFLAGS}\"/" \ + make/code_format.lua || die + + prefixify_ro "${FILESDIR}"/wrapper-r1.sh + + default +} + +src_compile() { + eninja -C 3rd/luamake -f compile/ninja/linux.ninja $(usex test '' 'luamake') + ./3rd/luamake/luamake $(usex test '' 'all') || die +} + +src_install() { + newbin "${T}"/wrapper-r1.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 +}