summaryrefslogtreecommitdiff
path: root/dev-util/lua-language-server/lua-language-server-3.9.3.ebuild
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-06-25 17:37:42 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-06-25 17:37:42 +0000
commit0ac140ef7d74bd144e665e7406dff7d5f384925b (patch)
tree6416bc16f6ecbed75d976d319407ae53e2970841 /dev-util/lua-language-server/lua-language-server-3.9.3.ebuild
parent9b46ac23c50b3b5524c0b2225d7389142e47ed0d (diff)
downloadsrcux-0ac140ef7d74bd144e665e7406dff7d5f384925b.tar.gz
srcux-0ac140ef7d74bd144e665e7406dff7d5f384925b.tar.xz
srcux-0ac140ef7d74bd144e665e7406dff7d5f384925b.zip
Adding metadata
Diffstat (limited to 'dev-util/lua-language-server/lua-language-server-3.9.3.ebuild')
-rw-r--r--dev-util/lua-language-server/lua-language-server-3.9.3.ebuild88
1 files changed, 88 insertions, 0 deletions
diff --git a/dev-util/lua-language-server/lua-language-server-3.9.3.ebuild b/dev-util/lua-language-server/lua-language-server-3.9.3.ebuild
new file mode 100644
index 000000000000..bcd62d48de0f
--- /dev/null
+++ b/dev-util/lua-language-server/lua-language-server-3.9.3.ebuild
@@ -0,0 +1,88 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+
+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="test"
+REQUIRE_USE="${LUA_REQUIRED_USE}"
+
+DEPEND="${LUA_DEPS}"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ app-alternatives/ninja
+ app-arch/unzip
+"
+RESTRICT="!test? ( test )"
+PATCHES=(
+ "${FILESDIR}/linux.ninja.patch"
+ "${FILESDIR}/build.ninja.patch"
+)
+
+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}/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
+
+ 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}/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
+
+ 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
+}