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
+}

Reply via email to