commit:     11bed1c1e2b093704025a945d1c0a3514368e1c8
Author:     Brahmajit Das <listout <AT> listout <DOT> xyz>
AuthorDate: Sat Dec  6 00:35:04 2025 +0000
Commit:     Brahmajit Das <listout <AT> listout <DOT> xyz>
CommitDate: Sat Dec  6 00:35:38 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=11bed1c1

dev-util/lua-language-server: add 3.16.0

Signed-off-by: Brahmajit Das <listout <AT> listout.xyz>

 dev-util/lua-language-server/Manifest              |   1 +
 .../files/3.16.0-build.ninja.patch                 | 102 +++++++++++++++++++++
 .../files/3.16.0-linux.ninja.patch                 |  65 +++++++++++++
 .../lua-language-server-3.16.0-ucontext_t.patch    |  30 ++++++
 .../lua-language-server-3.16.0.ebuild              |  85 +++++++++++++++++
 5 files changed, 283 insertions(+)

diff --git a/dev-util/lua-language-server/Manifest 
b/dev-util/lua-language-server/Manifest
index fe64813c44..1b6b05f2e0 100644
--- a/dev-util/lua-language-server/Manifest
+++ b/dev-util/lua-language-server/Manifest
@@ -1,3 +1,4 @@
 DIST lua-language-server-3.13.9.zip 31473676 BLAKE2B 
79b338a52142c81cf2e6c3ebeecfd4b92a694d350cb0decc1ede12562324888802a402f1e2ef36de8008296c5f7d1cbd3a3ce0823f9a00897e036df3b566abff
 SHA512 
ca4261257526306fab5075014974c9004370c4a42cc95dbe068a16e6c51cb39d035ac2080c2a6e40961a14f8453db2050ca8f10db1d94995ef9e1ef6749e498e
 DIST lua-language-server-3.14.0.zip 31506465 BLAKE2B 
f3f6b76714884fef880fc0eb1ee07fd46108441811713b1c9bbd7fea47ab6c3eaec98301fccbde76db4060466727a64ac7863f0744a3ba3a8553fb3c62a9396a
 SHA512 
20a41352ae3071d6be1b643d6a7424ac54b0430df778f1ead00a22fecacd2c636dbd5b39b4fa8d81742ce19e602fca6a6eed33c77eb95e3d7dd1d32dc957be21
 DIST lua-language-server-3.15.0.zip 31509845 BLAKE2B 
1ee07166d37e30f9832aba43b45bfc40eb5bfe26e12a3e29be7b307191f72b786ce82e7b245c640c8f1ff7c2debcf8bcd32eecb8613bfef9337f947747300022
 SHA512 
b7b270b4439dc7154b4cd47d0ecf95d4d9251225abc527bb3f6a99157ff0784902088f3436dc455b083b7c090d97267221ed407720c85b2ac163c3666dabe72c
+DIST lua-language-server-3.16.0.zip 31962898 BLAKE2B 
ab6a8dfe59f4856c1c0a1d56f953296515e4ca7242cce89c7a7c9898bdfaf5af9b5a214f054e6c3f85c653f6d7ca02bf0356ea5a9893b161fc25903bfe610afd
 SHA512 
fa9c9020c8453c5ddd9a46388dd55ae5cd4e7787b0c1aa58c493b6135f7f2f1bc152976e0b260d44da12f7b95838cfb84026ad422a55319ef84fba258dcc414b

diff --git a/dev-util/lua-language-server/files/3.16.0-build.ninja.patch 
b/dev-util/lua-language-server/files/3.16.0-build.ninja.patch
new file mode 100644
index 0000000000..be6bc49d3c
--- /dev/null
+++ b/dev-util/lua-language-server/files/3.16.0-build.ninja.patch
@@ -0,0 +1,102 @@
+--- a/build/build.ninja
++++ b/build/build.ninja
+@@ -12,14 +12,14 @@ rule configure
+ rule c_source_lua
+   command = $cc -MMD -MT $out -MF $out.d -std=c11 -O2 -Wall $
+     -I3rd/bee.lua/3rd/lua54 -DMAKE_LIB -DLUA_USE_LINUX -DNDEBUG -fPIC -o $
+-    $out -c $in
++    $out -c $in CFLAGS
+   description = Compile C   $out
+   deps = gcc
+   depfile = $out.d
+ build $obj/source_lua/onelua.obj: c_source_lua 3rd/bee.lua/3rd/lua54/onelua.c
+ rule cxx_source_bee
+   command = $cc -MMD -MT $out -MF $out.d -std=c++17 -fno-rtti -O2 -Wall $
+-    -fvisibility=hidden -I3rd/bee.lua/3rd/lua54 -DNDEBUG -fPIC -o $out -c $in
++    -fvisibility=hidden -I3rd/bee.lua/3rd/lua54 -DNDEBUG -fPIC -o $out -c $in 
CXXFLAGS
+   description = Compile C++ $out
+   deps = gcc
+   depfile = $out.d
+@@ -27,7 +27,7 @@ build $obj/source_bee/lua-seri.obj: cxx_source_bee $
+     3rd/bee.lua/3rd/lua-seri/lua-seri.cpp
+ rule cxx_source_bee_1
+   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
+@@ -36,7 +36,7 @@ build $obj/source_bee/format.obj: cxx_source_bee_1 $
+ 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 -I3rd/bee.lua/3rd/lua54 -DNDEBUG $
+-    -fPIC -o $out -c $in
++    -fPIC -o $out -c $in CXXFLAGS
+   description = Compile C++ $out
+   deps = gcc
+   depfile = $out.d
+@@ -90,7 +90,7 @@ build $obj/source_bee/version.obj: cxx_source_bee_2 $
+ rule c_source_bee
+   command = $cc -MMD -MT $out -MF $out.d -std=c11 -O2 -Wall $
+     -fvisibility=hidden -I3rd/bee.lua -I3rd/bee.lua/3rd/lua54 -DBEE_STATIC $
+-    -DNDEBUG -fPIC -o $out -c $in
++    -DNDEBUG -fPIC -o $out -c $in CFLAGS
+   description = Compile C   $out
+   deps = gcc
+   depfile = $out.d
+@@ -134,7 +134,7 @@ build $obj/source_bee/lua_time.obj: cxx_source_bee_3 $
+ rule cxx_source_bootstrap
+   command = $cc -MMD -MT $out -MF $out.d -std=c++17 -fno-rtti -O2 -Wall $
+     -fvisibility=hidden -I3rd/bee.lua -I3rd/bee.lua/3rd/lua54 $
+-    -DLUA_USE_LINUX -DNDEBUG -fPIC -o $out -c $in
++    -DLUA_USE_LINUX -DNDEBUG -fPIC -o $out -c $in CXXFLAGS
+   description = Compile C++ $out
+   deps = gcc
+   depfile = $out.d
+@@ -144,7 +144,7 @@ build $obj/source_bootstrap/main.obj: cxx_source_bootstrap 
$
+     3rd/bee.lua/bootstrap/main.cpp
+ rule link_bootstrap
+   command = $cc $in -o $out -Wl,-E -static-libgcc -lstdc++fs -lunwind -lbfd $
+-    -pthread -lm -ldl -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic -s
++    -pthread -lm -ldl -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic -s LDFLAGS
+   description = Link    Exe $out
+ rule copy
+   command = cp -fv $in$input $out 1>/dev/null
+@@ -159,8 +159,8 @@ rule cxx_code_format
+     -fvisibility=hidden -I3rd/EmmyLuaCodeStyle/Util/include $
+     -I3rd/EmmyLuaCodeStyle/CodeFormatCore/include $
+     -I3rd/EmmyLuaCodeStyle/LuaParser/include -I3rd/bee.lua/3rd/lua54 $
+-    -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
+@@ -265,7 +265,7 @@ build $obj/code_format/Utf8.obj: cxx_code_format $
+ rule c_lpeglabel
+   command = $cc -MMD -MT $out -MF $out.d -std=c11 -O2 -Wall $
+     -fvisibility=hidden -I3rd/bee.lua/3rd/lua54 -DMAXRECLEVEL=1000 -DNDEBUG $
+-    -o $out -c $in
++    -o $out -c $in CFLAGS
+   description = Compile C   $out
+   deps = gcc
+   depfile = $out.d
+@@ -277,7 +277,7 @@ build $obj/lpeglabel/lplvm.obj: c_lpeglabel 
3rd/lpeglabel/lplvm.c
+ 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/lua54 -DCODE_FORMAT $
+-    -DNDEBUG -o $out -c $in
++    -DNDEBUG -o $out -c $in CXXFLAGS
+   description = Compile C++ $out
+   deps = gcc
+   depfile = $out.d
+@@ -285,7 +285,7 @@ build $obj/lua-language-server/modules.obj: 
cxx_lua_language_server $
+     make/modules.cpp
+ rule link_lua_language_server
+   command = $cc $in -o $out -rdynamic -lstdc++fs -lunwind -lbfd -pthread $
+-    -lm -ldl -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic -s
++    -lm -ldl -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic LDFLAGS
+   description = Link    Exe $out
+ rule run_bee_test
+   command = $bin/lua-language-server $in

diff --git a/dev-util/lua-language-server/files/3.16.0-linux.ninja.patch 
b/dev-util/lua-language-server/files/3.16.0-linux.ninja.patch
new file mode 100644
index 0000000000..6aaaf8372e
--- /dev/null
+++ b/dev-util/lua-language-server/files/3.16.0-linux.ninja.patch
@@ -0,0 +1,65 @@
+--- a/3rd/luamake/compile/ninja/linux.ninja
++++ b/3rd/luamake/compile/ninja/linux.ninja
+@@ -2,20 +2,20 @@ 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_lua
+   command = $cc -MMD -MT $out -MF $out.d -std=c11 -O2 -Wall $
+     -Ibee.lua/3rd/lua54 -DMAKE_LIB -DLUA_USE_LINUX -DNDEBUG -fPIC -o $out $
+     -c $in
+-  description = Compile C   $out
++  description = Compile C   $out CFLAGS
+   deps = gcc
+   depfile = $out.d
+ build $obj/source_lua/onelua.obj: c_source_lua bee.lua/3rd/lua54/onelua.c
+ rule cxx_source_bee
+   command = $cc -MMD -MT $out -MF $out.d -std=c++17 -fno-rtti -O2 -Wall $
+-    -fvisibility=hidden -Ibee.lua/3rd/lua54 -DNDEBUG -fPIC -o $out -c $in
++    -fvisibility=hidden -Ibee.lua/3rd/lua54 -DNDEBUG -fPIC -o $out -c $in 
CXXFLAGS
+   description = Compile C++ $out
+   deps = gcc
+   depfile = $out.d
+@@ -23,7 +23,7 @@ build $obj/source_bee/lua-seri.obj: cxx_source_bee $
+     bee.lua/3rd/lua-seri/lua-seri.cpp
+ rule cxx_source_bee_1
+   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
+@@ -31,7 +31,7 @@ build $obj/source_bee/format.obj: cxx_source_bee_1 
bee.lua/3rd/fmt/format.cc
+ rule cxx_source_bee_2
+   command = $cc -MMD -MT $out -MF $out.d -std=c++17 -fno-rtti -O2 -Wall $
+     -fvisibility=hidden -Ibee.lua -Ibee.lua/3rd/lua54 -DNDEBUG -fPIC -o $
+-    $out -c $in
++    $out -c $in CXXFLAGS
+   description = Compile C++ $out
+   deps = gcc
+   depfile = $out.d
+@@ -125,7 +125,7 @@ rule cxx_source_bootstrap
+   command = $cc -MMD -MT $out -MF $out.d -std=c++17 -fno-rtti -O2 -Wall $
+     -fvisibility=hidden -Ibee.lua -Ibee.lua/3rd/lua54 -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/bootstrap_init.obj: cxx_source_bootstrap $
+@@ -133,8 +133,8 @@ build $obj/source_bootstrap/bootstrap_init.obj: 
cxx_source_bootstrap $
+ 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 -lstdc++fs -lunwind -lbfd $
+-    -pthread -lm -ldl -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic -s
++  command = $cc $in -o $out -Wl,-E -static-libgcc -lunwind -lbfd $
++    -pthread -lm -ldl -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/files/lua-language-server-3.16.0-ucontext_t.patch
 
b/dev-util/lua-language-server/files/lua-language-server-3.16.0-ucontext_t.patch
new file mode 100644
index 0000000000..60a0eb51e7
--- /dev/null
+++ 
b/dev-util/lua-language-server/files/lua-language-server-3.16.0-ucontext_t.patch
@@ -0,0 +1,30 @@
+--- a/3rd/bee.lua/bee/crash/unwind_linux.cpp
++++ b/3rd/bee.lua/bee/crash/unwind_linux.cpp
+@@ -6,12 +6,8 @@
+ namespace bee::crash {
+     void unwind(ucontext_t *ctx, uint16_t skip, unwind_callback func, void 
*ud) noexcept {
+         unw_cursor_t cursor;
+-#if defined(__aarch64__)
+         unw_context_t *unw_ctx = (unw_context_t *)ctx;
+         unw_init_local(&cursor, unw_ctx);
+-#else
+-        unw_init_local(&cursor, ctx);
+-#endif
+         while (unw_step(&cursor) > 0) {
+             unw_word_t pc;
+             unw_get_reg(&cursor, UNW_REG_IP, &pc);
+--- a/3rd/luamake/bee.lua/bee/crash/unwind_linux.cpp
++++ b/3rd/luamake/bee.lua/bee/crash/unwind_linux.cpp
+@@ -6,12 +6,8 @@
+ namespace bee::crash {
+     void unwind(ucontext_t *ctx, uint16_t skip, unwind_callback func, void 
*ud) noexcept {
+         unw_cursor_t cursor;
+-#if defined(__aarch64__)
+         unw_context_t *unw_ctx = (unw_context_t *)ctx;
+         unw_init_local(&cursor, unw_ctx);
+-#else
+-        unw_init_local(&cursor, ctx);
+-#endif
+         while (unw_step(&cursor) > 0) {
+             unw_word_t pc;
+             unw_get_reg(&cursor, UNW_REG_IP, &pc);

diff --git a/dev-util/lua-language-server/lua-language-server-3.16.0.ebuild 
b/dev-util/lua-language-server/lua-language-server-3.16.0.ebuild
new file mode 100644
index 0000000000..c1940db5e3
--- /dev/null
+++ b/dev-util/lua-language-server/lua-language-server-3.16.0.ebuild
@@ -0,0 +1,85 @@
+# Copyright 2022-2025 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 )"
+
+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}/${PV}-linux.ninja.patch"
+       eapply "${FILESDIR}/${PN}-${PV}-ucontext_t.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}/${PV}-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
+}

Reply via email to