From 902721305fa52d46884e660a80053b372d14743e Mon Sep 17 00:00:00 2001 From: Mathis Winterer Date: Thu, 27 Apr 2023 19:15:13 +0200 Subject: [PATCH] dev-util/lua-language-server: new package, add 3.6.19 Signed-off-by: Mathis Winterer --- dev-util/lua-language-server/Manifest | 2 +- .../files/build.ninja.patch | 47 ++++++----- .../files/linux.ninja.patch | 56 +++++++------ .../lua-language-server-3.6.19.ebuild | 83 +++++++++++++++++++ 4 files changed, 143 insertions(+), 45 deletions(-) create mode 100644 dev-util/lua-language-server/lua-language-server-3.6.19.ebuild diff --git a/dev-util/lua-language-server/Manifest b/dev-util/lua-language-server/Manifest index 5176e1a311..0ff38cf522 100644 --- a/dev-util/lua-language-server/Manifest +++ b/dev-util/lua-language-server/Manifest @@ -1 +1 @@ -DIST lua-language-server-3.6.18.zip 30708893 BLAKE2B 69bc01187fd85582766bf0d8f217bea163234d05698490b860d0ff446fcc0515f3b842600ff2ea980ff8c30acfb7b394df9a98b81a5b537df445cc18a70b744e SHA512 b2bc488734df7eb0ad00993d352917d9d328b73603319fa8f1b0da8e93586cfdb85e715d6c3bd2ad6a9189551cc1e86a2fe35d3df4951f5feb80745c498424d2 +DIST lua-language-server-3.6.19.zip 31131706 BLAKE2B 6a01d97f42354440597709a7f2e66282fadffa309f6ab40714f46a545c03acf9c29b4e9f06ee68af6d7e48bd03b43cde46078182c7aa810ea2823a60be176628 SHA512 7fd6020140cbcd0ae4e9f1d894736499b8ce8c25c536e85d71033ea7205f7be07799eb08fe4fc884362067a3a88de683154ddf79bed03588f89c8185705e10f4 diff --git a/dev-util/lua-language-server/files/build.ninja.patch b/dev-util/lua-language-server/files/build.ninja.patch index 3e03c7d5d1..3d3e8cc796 100644 --- a/dev-util/lua-language-server/files/build.ninja.patch +++ b/dev-util/lua-language-server/files/build.ninja.patch @@ -1,14 +1,13 @@ --- a/build/build.ninja +++ b/build/build.ninja -@@ -12,25 +12,25 @@ +@@ -12,23 +12,23 @@ 3rd/bee.lua/compile/config.lua 3rd/bee.lua/compile/common.lua $ make/code_format.lua rule c_source_bee - command = $cc -MMD -MT $out -MF $out.d -std=c11 -O2 -Wall -Werror $ +- -fvisibility=hidden -I$builddir/lua54 -DNDEBUG -fPIC -o $out -c $in + command = $cc -MMD -MT $out -MF $out.d -std=c11 -Wall $ - -fvisibility=hidden -I3rd/bee.lua/3rd/lua-seri -I$builddir/lua54 $ -- -DNDEBUG -fPIC -o $out -c $in -+ -DNDEBUG -fPIC -o $out -c $in CFLAGS ++ -fvisibility=hidden -I$builddir/lua54 -DNDEBUG -fPIC -o $out -c $in CFLAGS description = Compile C $out deps = gcc depfile = $out.d @@ -22,8 +21,7 @@ description = Compile C++ $out deps = gcc depfile = $out.d - build $obj/source_bee/format.obj: cxx_source_bee $ - 3rd/bee.lua/bee/nonstd/3rd/format.cc + 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 $ - -Werror -fvisibility=hidden -I3rd/bee.lua -DNDEBUG -fPIC -o $out -c $in @@ -32,20 +30,20 @@ description = Compile C++ $out deps = gcc depfile = $out.d -@@ -56,9 +56,9 @@ +@@ -54,9 +54,9 @@ build $obj/source_bee/path_helper.obj: cxx_source_bee_1 $ 3rd/bee.lua/bee/utility/path_helper.cpp rule cxx_source_bee_2 - command = $cc -MMD -MT $out -MF $out.d -std=c++17 -fno-rtti -O2 -Wall $ -- -Werror -fvisibility=hidden -I3rd/bee.lua/3rd/lua-seri -I3rd/bee.lua $ -- -I$builddir/lua54 -DBEE_STATIC -DNDEBUG -fPIC -o $out -c $in +- -Werror -fvisibility=hidden -I3rd/bee.lua -I$builddir/lua54 $ +- -DBEE_STATIC -DNDEBUG -fPIC -o $out -c $in + command = $cc -MMD -MT $out -MF $out.d -std=c++17 -fno-rtti -Wall $ -+ -fvisibility=hidden -I3rd/bee.lua/3rd/lua-seri -I3rd/bee.lua $ -+ -I$builddir/lua54 -DBEE_STATIC -DNDEBUG -fPIC -o $out -c $in CXXFLAGS ++ -fvisibility=hidden -I3rd/bee.lua -I$builddir/lua54 $ ++ -DBEE_STATIC -DNDEBUG -fPIC -o $out -c $in CXXFLAGS description = Compile C++ $out deps = gcc depfile = $out.d -@@ -79,26 +79,26 @@ +@@ -77,26 +77,26 @@ build $obj/source_bee/lua_time.obj: cxx_source_bee_2 $ 3rd/bee.lua/binding/lua_time.cpp rule c_source_lua @@ -61,7 +59,7 @@ rule c_source_lua_1 - command = $cc -MMD -MT $out -MF $out.d -std=c11 -O2 -Wall -Werror $ + command = $cc -MMD -MT $out -MF $out.d -std=c11 -Wall $ - -DMAKE_LIB -DLUA_USE_LINUX -DNDEBUG -fPIC -Wno-maybe-uninitialized -o $ + -DMAKE_LIB -DLUA_USE_LINUX -DNDEBUG -Wno-maybe-uninitialized -fPIC -o $ - $out -c $in + $out -c $in CFLAGS description = Compile C $out @@ -79,16 +77,16 @@ description = Compile C++ $out deps = gcc depfile = $out.d -@@ -108,7 +108,7 @@ +@@ -106,7 +106,7 @@ 3rd/bee.lua/bootstrap/progdir.cpp rule link_bootstrap - command = $cc $in -o $out -lm -ldl -Wl,-E -lstdc++fs -pthread $ -- -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic -static-libgcc -s -+ -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic -static-libgcc LDFLAGS + 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_bootstrap/progdir.obj $obj/source_bee/lua-seri.obj $ -@@ -147,10 +147,10 @@ +@@ -144,10 +144,10 @@ 3rd/bee.lua/test/test_thread.lua 3rd/bee.lua/test/test_time.lua | $ $bin/bootstrap copy_script rule cxx_code_format @@ -101,7 +99,7 @@ description = Compile C++ $out deps = gcc depfile = $out.d -@@ -247,9 +247,9 @@ +@@ -244,9 +244,9 @@ build $obj/code_format/Utf8.obj: cxx_code_format $ 3rd/EmmyLuaCodeStyle/Util/src/Utf8.cpp rule c_lpeglabel @@ -113,7 +111,7 @@ description = Compile C $out deps = gcc depfile = $out.d -@@ -259,9 +259,9 @@ +@@ -256,9 +256,9 @@ build $obj/lpeglabel/lpltree.obj: c_lpeglabel 3rd/lpeglabel/lpltree.c build $obj/lpeglabel/lplvm.obj: c_lpeglabel 3rd/lpeglabel/lplvm.c rule cxx_lua_language_server @@ -125,3 +123,12 @@ description = Compile C++ $out deps = gcc depfile = $out.d +@@ -266,7 +266,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.patch b/dev-util/lua-language-server/files/linux.ninja.patch index baf0d53504..fe2d89f610 100644 --- a/dev-util/lua-language-server/files/linux.ninja.patch +++ b/dev-util/lua-language-server/files/linux.ninja.patch @@ -1,6 +1,6 @@ --- a/3rd/luamake/compile/ninja/linux.ninja +++ b/3rd/luamake/compile/ninja/linux.ninja -@@ -2,29 +2,29 @@ +@@ -2,26 +2,26 @@ builddir = build/linux bin = $builddir/bin obj = $builddir/obj @@ -9,10 +9,9 @@ luamake = luamake rule c_source_bee - command = $cc -MMD -MT $out -MF $out.d -O2 -Wall -Werror $ +- -fvisibility=hidden -Itools/lua54 -DNDEBUG -fPIC -o $out -c $in + command = $cc -MMD -MT $out -MF $out.d -Wall $ - -fvisibility=hidden -Ibee.lua/3rd/lua-seri -Itools/lua54 -DNDEBUG -fPIC $ -- -o $out -c $in -+ -o $out -c $in CFLAGS ++ -fvisibility=hidden -Itools/lua54 -DNDEBUG -fPIC -o $out -c $in CFLAGS description = Compile C $out deps = gcc depfile = $out.d @@ -20,16 +19,13 @@ 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 $ -- -Werror -fvisibility=hidden -Ibee.lua/bee/nonstd/3rd -DNDEBUG -fPIC -o $ -- $out -c $in +- -Werror -fvisibility=hidden -DNDEBUG -fPIC -o $out -c $in + command = $cc -MMD -MT $out -MF $out.d -std=c++17 -fno-rtti -Wall $ -+ -fvisibility=hidden -Ibee.lua/bee/nonstd/3rd -DNDEBUG -fPIC -o $ -+ $out -c $in CXXFLAGS ++ -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/bee/nonstd/3rd/fmt/format.cc + 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 $ - -Werror -fvisibility=hidden -Ibee.lua -DNDEBUG -fPIC -o $out -c $in @@ -38,20 +34,20 @@ description = Compile C++ $out deps = gcc depfile = $out.d -@@ -49,9 +49,9 @@ +@@ -46,9 +46,9 @@ build $obj/source_bee/path_helper.obj: cxx_source_bee_1 $ bee.lua/bee/utility/path_helper.cpp rule cxx_source_bee_2 - command = $cc -MMD -MT $out -MF $out.d -std=c++17 -fno-rtti -O2 -Wall $ -- -Werror -fvisibility=hidden -Ibee.lua/3rd/lua-seri -Ibee.lua $ -- -Itools/lua54 -DBEE_STATIC -DNDEBUG -fPIC -o $out -c $in +- -Werror -fvisibility=hidden -Ibee.lua -Itools/lua54 -DBEE_STATIC $ +- -DNDEBUG -fPIC -o $out -c $in + command = $cc -MMD -MT $out -MF $out.d -std=c++17 -fno-rtti -Wall $ -+ -fvisibility=hidden -Ibee.lua/3rd/lua-seri -Ibee.lua $ -+ -Itools/lua54 -DBEE_STATIC -DNDEBUG -fPIC -o $out -c $in CXXFLAGS ++ -fvisibility=hidden -Ibee.lua -Itools/lua54 -DBEE_STATIC $ ++ -DNDEBUG -fPIC -o $out -c $in CXXFLAGS description = Compile C++ $out deps = gcc depfile = $out.d -@@ -72,15 +72,15 @@ +@@ -69,24 +69,24 @@ build $obj/source_bee/lua_time.obj: cxx_source_bee_2 $ bee.lua/binding/lua_time.cpp rule c_source_lua @@ -65,18 +61,30 @@ build $obj/source_lua/utf8_crt.obj: c_source_lua bee.lua/3rd/lua/utf8_crt.c rule c_source_lua_1 - command = $cc -MMD -MT $out -MF $out.d -O2 -Wall -Werror -DMAKE_LIB $ -- -DLUA_USE_LINUX -DNDEBUG -fPIC -Wno-maybe-uninitialized -o $out -c $in +- -DLUA_USE_LINUX -DNDEBUG -Wno-maybe-uninitialized -fPIC -o $out -c $in + command = $cc -MMD -MT $out -MF $out.d -Wall -DMAKE_LIB $ -+ -DLUA_USE_LINUX -DNDEBUG -fPIC -Wno-maybe-uninitialized -o $out -c $in CFLAGS ++ -DLUA_USE_LINUX -DNDEBUG -Wno-maybe-uninitialized -fPIC -o $out -c $in CFLAGS description = Compile C $out deps = gcc depfile = $out.d -@@ -99,7 +99,7 @@ + build $obj/source_lua/linit.obj: c_source_lua_1 bee.lua/3rd/lua/linit.c + build $obj/source_lua/onelua.obj: c_source_lua_1 bee.lua/3rd/lua/onelua.c + rule cxx_source_bootstrap +- command = $cc -MMD -MT $out -MF $out.d -std=c++17 -fno-rtti -O2 -Wall $ +- -Werror -fvisibility=hidden -Ibee.lua/3rd/lua -Ibee.lua -DLUA_USE_LINUX $ +- -DNDEBUG -fPIC -o $out -c $in ++ command = $cc -MMD -MT $out -MF $out.d -std=c++17 -fno-rtti -Wall $ ++ -fvisibility=hidden -Ibee.lua/3rd/lua -Ibee.lua -DLUA_USE_LINUX $ ++ -DNDEBUG -fPIC -o $out -c $in CXXFLAGS + description = Compile C++ $out + deps = gcc + depfile = $out.d +@@ -96,7 +96,7 @@ bee.lua/bootstrap/progdir.cpp - rule link_luamake - command = $cc $in -o $out -lm -ldl -Wl,-E -lstdc++fs -pthread $ -- -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic -static-libgcc -s -+ -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic -static-libgcc LDFLAGS + 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/luamake: link_luamake $obj/source_bootstrap/main.obj $ + build $bin/bootstrap: link_bootstrap $obj/source_bootstrap/main.obj $ $obj/source_bootstrap/progdir.obj $obj/source_bee/lua-seri.obj $ diff --git a/dev-util/lua-language-server/lua-language-server-3.6.19.ebuild b/dev-util/lua-language-server/lua-language-server-3.6.19.ebuild new file mode 100644 index 0000000000..ac2bf19c04 --- /dev/null +++ b/dev-util/lua-language-server/lua-language-server-3.6.19.ebuild @@ -0,0 +1,83 @@ +# Copyright 2022-2023 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}" +BDPEND=" + app-arch/unzip + dev-util/ninja +" +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/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/^luamake =.*./luamake = LUAMAKE_PATH/" \ + build/build.ninja || die + + eapply "${FILESDIR}/build.ninja.patch" + sed -i -e "s/REPLACE_ME/$(tc-getCC)/" \ + -e "s|LUAMAKE_PATH|${S}/3rd/luamake/luamake|" \ + -e "s/CFLAGS/${CFLAGS}/" \ + -e "s/CXXFLAGS/${CXXFLAGS}/" \ + -e "s/LDFLAGS/${LDFLAGS}/" \ + -e "7d" \ + build/build.ninja || die + + use test && eninja -f build/build.ninja || eninja -f build/build.ninja all +} + +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 +}