commit: dd4f7b2169cddd5db6729c0379107c2f27d272fa Author: Brahmajit Das <brahmajit.xyz <AT> gmail <DOT> com> AuthorDate: Mon May 27 16:31:19 2024 +0000 Commit: Brahmajit Das <brahmajit.xyz <AT> gmail <DOT> com> CommitDate: Mon May 27 16:33:42 2024 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=dd4f7b21
dev-util/lua-language-server: add 3.9.1 Signed-off-by: Brahmajit Das <brahmajit.xyz <AT> gmail.com> dev-util/lua-language-server/Manifest | 1 + .../lua-language-server/files/build.ninja_v2.patch | 102 +++++++++++++++++++++ .../lua-language-server/files/linux.ninja_v2.patch | 71 ++++++++++++++ .../lua-language-server-3.9.1.ebuild | 88 ++++++++++++++++++ 4 files changed, 262 insertions(+) diff --git a/dev-util/lua-language-server/Manifest b/dev-util/lua-language-server/Manifest index 9044b8e6e..7c1f24262 100644 --- a/dev-util/lua-language-server/Manifest +++ b/dev-util/lua-language-server/Manifest @@ -1 +1,2 @@ DIST lua-language-server-3.7.3.zip 31522954 BLAKE2B 979f6de423d56b8781bfd3315d2d64cfe3082e3eecdf1203d7159d93f7bffa01f7330fe41c73949ece01fede8b987726cba54b884a07088d6ce6111802bede0a SHA512 db59d2987b09bb90fcdc362294d7b28b1652613414970856b54343c2a6ec791744dd524e505cb1495c0014c37288a8f5f5a849c64391a3e1a716bbe6788adcf2 +DIST lua-language-server-3.9.1.zip 32595453 BLAKE2B 53e13639a6b60805c074b617c53503360388da3c6ee1c887845bff472dfea7048b5b8793968df068c747c925648feb3f851a2eca42c6a21e33b0f6242b1b80e7 SHA512 305b036d804d3864a0baecabf4cc9bf46f0bd9ffcf3cb5ced9f57b0b29b8d9231b7283970ef38bd1669be05da795f08627a56a5eb83a70d71e2768254cf497bc diff --git a/dev-util/lua-language-server/files/build.ninja_v2.patch b/dev-util/lua-language-server/files/build.ninja_v2.patch new file mode 100644 index 000000000..5485c3186 --- /dev/null +++ b/dev-util/lua-language-server/files/build.ninja_v2.patch @@ -0,0 +1,102 @@ +--- b/build/build.ninja ++++ b/build/build.ninja +@@ -14,7 +14,7 @@ + make/code_format.lua + rule c_source_bee + command = $cc -MMD -MT $out -MF $out.d -std=c11 -O2 -Wall $ +- -fvisibility=hidden -I$builddir/lua54 -DNDEBUG -fPIC -o $out -c $in ++ -fvisibility=hidden -I$builddir/lua54 -DNDEBUG -fPIC -o $out -c $in CFLAGS + description = Compile C $out + deps = gcc + depfile = $out.d +@@ -22,14 +22,14 @@ + 3rd/bee.lua/3rd/lua-seri/lua-seri.c + rule cxx_source_bee + command = $cc -MMD -MT $out -MF $out.d -std=c++17 -fno-rtti -O2 -Wall $ +- -fvisibility=hidden -DNDEBUG -fPIC -o $out -c $in ++ -fvisibility=hidden -DNDEBUG -fPIC -o $out -c $in CXXFLAGS + description = Compile C++ $out + deps = gcc + depfile = $out.d + build $obj/source_bee/format.obj: cxx_source_bee 3rd/bee.lua/3rd/fmt/format.cc + rule cxx_source_bee_1 + command = $cc -MMD -MT $out -MF $out.d -std=c++17 -fno-rtti -O2 -Wall $ +- -fvisibility=hidden -I3rd/bee.lua -DNDEBUG -fPIC -o $out -c $in ++ -fvisibility=hidden -I3rd/bee.lua -DNDEBUG -fPIC -o $out -c $in CXXFLAGS + description = Compile C++ $out + deps = gcc + depfile = $out.d +@@ -65,7 +65,7 @@ + rule cxx_source_bee_2 + command = $cc -MMD -MT $out -MF $out.d -std=c++17 -fno-rtti -O2 -Wall $ + -fvisibility=hidden -I3rd/bee.lua -I$builddir/lua54 -DBEE_STATIC $ +- -DNDEBUG -fPIC -o $out -c $in ++ -DNDEBUG -fPIC -o $out -c $in CXXFLAGS + description = Compile C++ $out + deps = gcc + depfile = $out.d +@@ -94,7 +94,7 @@ + 3rd/bee.lua/binding/luaref.cpp + rule c_source_lua + command = $cc -MMD -MT $out -MF $out.d -std=c11 -O2 -Wall -DMAKE_LIB $ +- -DLUA_USE_LINUX -DNDEBUG -fPIC -Wno-maybe-uninitialized -o $out -c $in ++ -DLUA_USE_LINUX -DNDEBUG -fPIC -Wno-maybe-uninitialized -o $out -c $in CFLAGS + description = Compile C $out + deps = gcc + depfile = $out.d +@@ -104,7 +104,7 @@ + rule cxx_source_bootstrap + command = $cc -MMD -MT $out -MF $out.d -std=c++17 -fno-rtti -O2 -Wall $ + -fvisibility=hidden -I3rd/bee.lua/3rd/lua -I3rd/bee.lua -DLUA_USE_LINUX $ +- -DNDEBUG -fPIC -o $out -c $in ++ -DNDEBUG -fPIC -o $out -c $in CXXFLAGS + description = Compile C++ $out + deps = gcc + depfile = $out.d +@@ -112,7 +112,7 @@ + 3rd/bee.lua/bootstrap/main.cpp + rule link_bootstrap + command = $cc $in -o $out -Wl,-E -static-libgcc -lm -ldl -lstdc++fs $ +- -pthread -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic -s ++ -pthread -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic LDFLAGS + description = Link Exe $out + build $bin/bootstrap: link_bootstrap $obj/source_bootstrap/main.obj $ + $obj/source_bee/lua-seri.obj $obj/source_bee/format.obj $ +@@ -155,8 +155,8 @@ + -fvisibility=hidden -I3rd/EmmyLuaCodeStyle/Util/include $ + -I3rd/EmmyLuaCodeStyle/CodeFormatCore/include $ + -I3rd/EmmyLuaCodeStyle/LuaParser/include -I3rd/bee.lua/3rd/lua $ +- -I3rd/EmmyLuaCodeStyle/3rd/wildcards/include -DNDEBUG -Wall -Werror -o $ +- $out -c $in ++ -I3rd/EmmyLuaCodeStyle/3rd/wildcards/include -DNDEBUG -Wall -o $ ++ $out -c $in CXXFLAGS + description = Compile C++ $out + deps = gcc + depfile = $out.d +@@ -259,7 +259,7 @@ + rule c_lpeglabel + command = $cc -MMD -MT $out -MF $out.d -std=c11 -O2 -Wall $ + -fvisibility=hidden -I3rd/bee.lua/3rd/lua -DMAXRECLEVEL=1000 -DNDEBUG $ +- -o $out -c $in ++ -o $out -c $in CFLAGS + description = Compile C $out + deps = gcc + depfile = $out.d +@@ -271,7 +271,7 @@ + rule cxx_lua_language_server + command = $cc -MMD -MT $out -MF $out.d -std=c++17 -O2 -Wall $ + -fvisibility=hidden -I3rd/bee.lua -I3rd/bee.lua/3rd/lua -DCODE_FORMAT $ +- -DNDEBUG -o $out -c $in ++ -DNDEBUG -o $out -c $in CXXFLAGS + description = Compile C++ $out + deps = gcc + depfile = $out.d +@@ -279,7 +279,7 @@ + make/modules.cpp + rule link_lua_language_server + command = $cc $in -o $out -lm -ldl -lstdc++fs -pthread -Wl,-Bstatic $ +- -lstdc++ -Wl,-Bdynamic -s ++ -lstdc++ -Wl,-Bdynamic LDFLAGS + description = Link Exe $out + build $bin/lua-language-server: link_lua_language_server $ + $obj/lua-language-server/modules.obj $obj/lpeglabel/lplcap.obj $ diff --git a/dev-util/lua-language-server/files/linux.ninja_v2.patch b/dev-util/lua-language-server/files/linux.ninja_v2.patch new file mode 100644 index 000000000..b4eba4b75 --- /dev/null +++ b/dev-util/lua-language-server/files/linux.ninja_v2.patch @@ -0,0 +1,71 @@ +--- a/3rd/luamake/compile/ninja/linux.ninja ++++ b/3rd/luamake/compile/ninja/linux.ninja +@@ -2,12 +2,12 @@ ninja_required_version = 1.7 + builddir = build/linux + bin = $builddir/bin + obj = $builddir/obj +-cc = gcc +-ar = ar ++cc = REPLACE_ME ++ar = REPLACE_AR + luamake = luamake + rule c_source_bee + command = $cc -MMD -MT $out -MF $out.d -std=c11 -O2 -Wall $ +- -fvisibility=hidden -Itools/lua54 -DNDEBUG -fPIC -o $out -c $in ++ -fvisibility=hidden -Itools/lua54 -DNDEBUG -fPIC -o $out -c $in CFLAGS + description = Compile C $out + deps = gcc + depfile = $out.d +@@ -15,14 +15,14 @@ build $obj/source_bee/lua-seri.obj: c_source_bee $ + bee.lua/3rd/lua-seri/lua-seri.c + rule cxx_source_bee + command = $cc -MMD -MT $out -MF $out.d -std=c++17 -fno-rtti -O2 -Wall $ +- -fvisibility=hidden -DNDEBUG -fPIC -o $out -c $in ++ -fvisibility=hidden -DNDEBUG -fPIC -o $out -c $in CXXFLAGS + description = Compile C++ $out + deps = gcc + depfile = $out.d + build $obj/source_bee/format.obj: cxx_source_bee bee.lua/3rd/fmt/format.cc + rule cxx_source_bee_1 + command = $cc -MMD -MT $out -MF $out.d -std=c++17 -fno-rtti -O2 -Wall $ +- -fvisibility=hidden -Ibee.lua -DNDEBUG -fPIC -o $out -c $in ++ -fvisibility=hidden -Ibee.lua -DNDEBUG -fPIC -o $out -c $in CXXFLAGS + description = Compile C++ $out + deps = gcc + depfile = $out.d +@@ -58,7 +58,7 @@ build $obj/source_bee/version.obj: cxx_source_bee_1 bee.lua/bee/version.cpp + rule cxx_source_bee_2 + command = $cc -MMD -MT $out -MF $out.d -std=c++17 -fno-rtti -O2 -Wall $ + -fvisibility=hidden -Ibee.lua -Itools/lua54 -DBEE_STATIC -DNDEBUG -fPIC $ +- -o $out -c $in ++ -o $out -c $in CXXFLAGS + description = Compile C++ $out + deps = gcc + depfile = $out.d +@@ -88,7 +88,7 @@ build $obj/source_bee/luaref.obj: cxx_source_bee_2 bee.lua/binding/luaref.cpp + rule c_source_lua + command = $cc -MMD -MT $out -MF $out.d -std=c11 -O2 -Wall -DMAKE_LIB $ + -DLUA_USE_LINUX -DNDEBUG -fPIC -Wno-maybe-uninitialized -o $out -c $in +- description = Compile C $out ++ description = Compile C $out CFLAGS + deps = gcc + depfile = $out.d + build $obj/source_lua/linit.obj: c_source_lua bee.lua/3rd/lua/linit.c +@@ -97,14 +97,14 @@ rule cxx_source_bootstrap + command = $cc -MMD -MT $out -MF $out.d -std=c++17 -fno-rtti -O2 -Wall $ + -fvisibility=hidden -Ibee.lua/3rd/lua -Ibee.lua -DLUA_USE_LINUX $ + -DNDEBUG -fPIC -o $out -c $in +- description = Compile C++ $out ++ description = Compile C++ $out CXXFLAGS + deps = gcc + depfile = $out.d + build $obj/source_bootstrap/main.obj: cxx_source_bootstrap $ + bee.lua/bootstrap/main.cpp + rule link_bootstrap +- command = $cc $in -o $out -Wl,-E -static-libgcc -lm -ldl -lstdc++fs $ +- -pthread -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic -s ++ command = $cc $in -o $out -Wl,-E -static-libgcc -lm -ldl $ ++ -pthread -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic LDFLAGS + description = Link Exe $out + rule copy + command = cp -fv $in$input $out 1>/dev/null diff --git a/dev-util/lua-language-server/lua-language-server-3.9.1.ebuild b/dev-util/lua-language-server/lua-language-server-3.9.1.ebuild new file mode 100644 index 000000000..a70ce930c --- /dev/null +++ b/dev-util/lua-language-server/lua-language-server-3.9.1.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=( 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="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_v2.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_v2.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 +}