aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathis Winterer <mrmagic223325@fedora.email>2023-01-02 00:06:47 +0100
committerMathis Winterer <mrmagic223325@fedora.email>2023-01-02 00:06:47 +0100
commit08285c8c5a479dce78ca70dfac51828aee4c59e9 (patch)
tree7a843401e2b310b4f6770d71ccefdc13a7d97d30
parentnet-misc/tinyssh: add 20230101 (diff)
downloadguru-08285c8c.tar.gz
guru-08285c8c.tar.bz2
guru-08285c8c.zip
dev-util/lua-language-server: Stop prestripping binaries, Remove direct calls to gcc, patch build scripts to respect CFLAGS/CXXFLAGS/LDFLAGS
Closes: https://bugs.gentoo.org/889302 Closes: https://bugs.gentoo.org/889308 Closes: https://bugs.gentoo.org/889306 Closes: https://bugs.gentoo.org/889304 Signed-off-by: Mathis Winterer <mrmagic223325@fedora.email>
-rw-r--r--dev-util/lua-language-server/files/build.ninja.patch142
-rw-r--r--dev-util/lua-language-server/files/linux.ninja.patch94
-rw-r--r--dev-util/lua-language-server/lua-language-server-3.6.4.ebuild35
3 files changed, 269 insertions, 2 deletions
diff --git a/dev-util/lua-language-server/files/build.ninja.patch b/dev-util/lua-language-server/files/build.ninja.patch
new file mode 100644
index 0000000000..49111813b5
--- /dev/null
+++ b/dev-util/lua-language-server/files/build.ninja.patch
@@ -0,0 +1,142 @@
+--- a/build/build.ninja 2023-01-01 23:53:30.813718024 +0100
++++ b/build/build.ninja 2023-01-01 23:04:59.011627739 +0100
+@@ -2,7 +2,7 @@
+ builddir = build
+ bin = bin
+ obj = $builddir/obj
+-cc = x86_64-pc-linux-gnu-gcc
++cc = REPLACE_ME
+ luamake = $
+ /var/tmp/portage/dev-util/lua-language-server-3.6.4/work/3rd/luamake/luamake
+ rule configure
+@@ -13,17 +13,17 @@
+ 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 -I3rd/bee.lua/3rd/lua-seri -I$builddir/lua54 $
+- -DNDEBUG -fPIC -o $out -c $in
++ command = $cc -MMD -MT $out -MF $out.d -std=c11 $
++ -I3rd/bee.lua/3rd/lua-seri -I$builddir/lua54 $
++ -DNDEBUG -o $out -c $in CFLAGS
+ description = Compile C $out
+ deps = gcc
+ depfile = $out.d
+ build $obj/source_bee/lua-seri.obj: c_source_bee $
+ 3rd/bee.lua/3rd/lua-seri/lua-seri.c
+ rule cxx_source_bee
+- command = $cc -MMD -MT $out -MF $out.d -std=c++17 -O2 -Wall -Werror $
+- -fvisibility=hidden -I3rd/bee.lua/bee/nonstd -DNDEBUG -fPIC -o $out -c $in
++ command = $cc -MMD -MT $out -MF $out.d -std=c++17 $
++ -I3rd/bee.lua/bee/nonstd -DNDEBUG -o $out -c $in CXXFLAGS
+ description = Compile C++ $out
+ deps = gcc
+ depfile = $out.d
+@@ -31,8 +31,8 @@
+ 3rd/bee.lua/bee/nonstd/fmt/format.cc
+ build $obj/source_bee/os.obj: cxx_source_bee 3rd/bee.lua/bee/nonstd/fmt/os.cc
+ rule cxx_source_bee_1
+- command = $cc -MMD -MT $out -MF $out.d -std=c++17 -O2 -Wall -Werror $
+- -fvisibility=hidden -I3rd/bee.lua -DNDEBUG -fPIC -o $out -c $in
++ command = $cc -MMD -MT $out -MF $out.d -std=c++17 $
++ -I3rd/bee.lua -DNDEBUG -o $out -c $in CXXFLAGS
+ description = Compile C++ $out
+ deps = gcc
+ depfile = $out.d
+@@ -56,9 +56,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 -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
++ command = $cc -MMD -MT $out -MF $out.d -std=c++17 $
++ -I3rd/bee.lua/3rd/lua-seri -I3rd/bee.lua $
++ -I$builddir/lua54 -DBEE_STATIC -DNDEBUG -o $out -c $in CXXFLAGS
+ description = Compile C++ $out
+ deps = gcc
+ depfile = $out.d
+@@ -79,26 +79,26 @@
+ build $obj/source_bee/lua_time.obj: cxx_source_bee_2 $
+ 3rd/bee.lua/binding/lua_time.cpp
+ rule c_source_lua
+- command = $cc -MMD -MT $out -MF $out.d -std=c11 -O2 -Wall -Werror $
+- -fvisibility=hidden -DNDEBUG -fPIC -o $out -c $in
++ command = $cc -MMD -MT $out -MF $out.d -std=c11 $
++ -DNDEBUG -o $out -c $in CFLAGS
+ description = Compile C $out
+ deps = gcc
+ depfile = $out.d
+ build $obj/source_lua/utf8_crt.obj: c_source_lua $
+ 3rd/bee.lua/3rd/lua/utf8_crt.c
+ rule c_source_lua_1
+- command = $cc -MMD -MT $out -MF $out.d -std=c11 -O2 -Wall -Werror $
+- -DMAKE_LIB -DLUA_USE_LINUX -DNDEBUG -fPIC -Wno-maybe-uninitialized -o $
+- $out -c $in
++ command = $cc -MMD -MT $out -MF $out.d -std=c11 $
++ -DMAKE_LIB -DLUA_USE_LINUX -DNDEBUG -o $
++ $out -c $in CFLAGS
+ description = Compile C $out
+ deps = gcc
+ depfile = $out.d
+ build $obj/source_lua/linit.obj: c_source_lua_1 3rd/bee.lua/3rd/lua/linit.c
+ build $obj/source_lua/onelua.obj: c_source_lua_1 3rd/bee.lua/3rd/lua/onelua.c
+ rule cxx_source_bootstrap
+- command = $cc -MMD -MT $out -MF $out.d -std=c++17 -O2 -Wall -Werror $
+- -fvisibility=hidden -I3rd/bee.lua/3rd/lua -I3rd/bee.lua -DLUA_USE_LINUX $
+- -DNDEBUG -fPIC -o $out -c $in
++ command = $cc -MMD -MT $out -MF $out.d -std=c++17 $
++ -I3rd/bee.lua/3rd/lua -I3rd/bee.lua -DLUA_USE_LINUX $
++ -DNDEBUG -o $out -c $in CXXFLAGS
+ description = Compile C++ $out
+ deps = gcc
+ depfile = $out.d
+@@ -108,7 +108,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
+ description = Link Exe $out
+ build /bootstrap: link_bootstrap $obj/source_bootstrap/main.obj $
+ $obj/source_bootstrap/progdir.obj $obj/source_bee/lua-seri.obj $
+@@ -146,10 +146,10 @@
+ 3rd/bee.lua/test/test_thread.lua 3rd/bee.lua/test/test_time.lua | $
+ /bootstrap copy_script
+ rule cxx_code_format
+- command = $cc -MMD -MT $out -MF $out.d -std=c++17 -O2 -Wall $
+- -fvisibility=hidden -I3rd/EmmyLuaCodeStyle/include $
++ command = $cc -MMD -MT $out -MF $out.d -std=c++17 $
++ -I3rd/EmmyLuaCodeStyle/include $
+ -I3rd/bee.lua/3rd/lua -I3rd/EmmyLuaCodeStyle/3rd/wildcards/include $
+- -DNDEBUG -march=native -O2 -pipe -o $out -c $in
++ -DNDEBUG -o $out -c $in CXXFLAGS
+ description = Compile C++ $out
+ deps = gcc
+ depfile = $out.d
+@@ -274,9 +274,9 @@
+ build $obj/code_format/Utf8.obj: cxx_code_format $
+ 3rd/EmmyLuaCodeStyle/Util/src/Utf8.cpp
+ 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
++ command = $cc -MMD -MT $out -MF $out.d -std=c11 $
++ -I3rd/bee.lua/3rd/lua -DMAXRECLEVEL=1000 -DNDEBUG $
++ -o $out -c $in CFLAGS
+ description = Compile C $out
+ deps = gcc
+ depfile = $out.d
+@@ -286,9 +286,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
+- 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
++ command = $cc -MMD -MT $out -MF $out.d -std=c++17 $
++ -I3rd/bee.lua -I3rd/bee.lua/3rd/lua -DCODE_FORMAT $
++ -DNDEBUG -o $out -c $in CXXFLAGS
+ description = Compile C++ $out
+ deps = gcc
+ depfile = $out.d
diff --git a/dev-util/lua-language-server/files/linux.ninja.patch b/dev-util/lua-language-server/files/linux.ninja.patch
new file mode 100644
index 0000000000..a9a853ed79
--- /dev/null
+++ b/dev-util/lua-language-server/files/linux.ninja.patch
@@ -0,0 +1,94 @@
+--- a/3rd/luamake/compile/ninja/linux.ninja 2022-11-29 13:53:05.000000000 +0100
++++ b/3rd/luamake/compile/ninja/linux.ninja 2023-01-01 22:40:43.690777107 +0100
+@@ -2,20 +2,20 @@
+ builddir = build/linux
+ bin = $builddir/bin
+ obj = $builddir/obj
+-cc = gcc
++cc = REPLACE_ME
+ luamake = luamake
+ rule c_source_bee
+- command = $cc -MMD -MT $out -MF $out.d -O2 -Wall -Werror $
+- -fvisibility=hidden -I3rd/bee.lua/3rd/lua-seri -Itools/lua54 -DNDEBUG $
+- -fPIC -o $out -c $in
++ command = $cc -MMD -MT $out -MF $out.d $
++ -I3rd/bee.lua/3rd/lua-seri -Itools/lua54 -DNDEBUG $
++ -o $out -c $in CFLAGS
+ description = Compile C $out
+ deps = gcc
+ depfile = $out.d
+ build $obj/source_bee/lua-seri.obj: c_source_bee $
+ 3rd/bee.lua/3rd/lua-seri/lua-seri.c
+ rule cxx_source_bee
+- command = $cc -MMD -MT $out -MF $out.d -std=c++17 -O2 -Wall -Werror $
+- -fvisibility=hidden -I3rd/bee.lua/bee/nonstd -DNDEBUG -fPIC -o $out -c $in
++ command = $cc -MMD -MT $out -MF $out.d -std=c++17 $
++ -I3rd/bee.lua/bee/nonstd -DNDEBUG -o $out -c $in CXXFLAGS
+ description = Compile C++ $out
+ deps = gcc
+ depfile = $out.d
+@@ -23,8 +23,8 @@
+ 3rd/bee.lua/bee/nonstd/fmt/format.cc
+ build $obj/source_bee/os.obj: cxx_source_bee 3rd/bee.lua/bee/nonstd/fmt/os.cc
+ rule cxx_source_bee_1
+- command = $cc -MMD -MT $out -MF $out.d -std=c++17 -O2 -Wall -Werror $
+- -fvisibility=hidden -I3rd/bee.lua -DNDEBUG -fPIC -o $out -c $in
++ command = $cc -MMD -MT $out -MF $out.d -std=c++17 $
++ -I3rd/bee.lua -DNDEBUG -o $out -c $in CXXFLAGS
+ description = Compile C++ $out
+ deps = gcc
+ depfile = $out.d
+@@ -48,9 +48,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 -O2 -Wall -Werror $
+- -fvisibility=hidden -I3rd/bee.lua/3rd/lua-seri -I3rd/bee.lua $
+- -Itools/lua54 -DBEE_STATIC -DNDEBUG -fPIC -o $out -c $in
++ command = $cc -MMD -MT $out -MF $out.d -std=c++17 $
++ -I3rd/bee.lua/3rd/lua-seri -I3rd/bee.lua $
++ -Itools/lua54 -DBEE_STATIC -DNDEBUG -o $out -c $in CXXFLAGS
+ description = Compile C++ $out
+ deps = gcc
+ depfile = $out.d
+@@ -71,24 +71,24 @@
+ build $obj/source_bee/lua_time.obj: cxx_source_bee_2 $
+ 3rd/bee.lua/binding/lua_time.cpp
+ rule c_source_lua
+- command = $cc -MMD -MT $out -MF $out.d -O2 -Wall -Werror $
+- -fvisibility=hidden -DNDEBUG -fPIC -o $out -c $in
++ command = $cc -MMD -MT $out -MF $out.d $
++ -DNDEBUG -o $out -c $in CFLAGS
+ description = Compile C $out
+ deps = gcc
+ depfile = $out.d
+ build $obj/source_lua/utf8_crt.obj: c_source_lua $
+ 3rd/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
++ command = $cc -MMD -MT $out -MF $out.d -DMAKE_LIB $
++ -DLUA_USE_LINUX -DNDEBUG -o $out -c $in CFLAGS
+ description = Compile C $out
+ deps = gcc
+ depfile = $out.d
+ build $obj/source_lua/onelua.obj: c_source_lua_1 3rd/bee.lua/3rd/lua/onelua.c
+ rule cxx_source_bootstrap
+- command = $cc -MMD -MT $out -MF $out.d -std=c++17 -O2 -Wall -Werror $
+- -fvisibility=hidden -I3rd/bee.lua/3rd/lua -I3rd/bee.lua -DLUA_USE_LINUX $
+- -DNDEBUG -fPIC -o $out -c $in
++ command = $cc -MMD -MT $out -MF $out.d -std=c++17 $
++ -I3rd/bee.lua/3rd/lua -I3rd/bee.lua -DLUA_USE_LINUX $
++ -DNDEBUG -o $out -c $in CXXFLAGS
+ description = Compile C++ $out
+ deps = gcc
+ depfile = $out.d
+@@ -98,7 +98,7 @@
+ 3rd/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
+ description = Link Exe $out
+ build $bin/luamake: link_luamake $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.4.ebuild b/dev-util/lua-language-server/lua-language-server-3.6.4.ebuild
index bd99b8d38a..f0cf3d9c38 100644
--- a/dev-util/lua-language-server/lua-language-server-3.6.4.ebuild
+++ b/dev-util/lua-language-server/lua-language-server-3.6.4.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit ninja-utils
+inherit ninja-utils toolchain-funcs
DESCRIPTION="Lua language server"
HOMEPAGE="https://github.com/sumneko/lua-language-server"
@@ -18,14 +18,45 @@ BDPEND="
${NINJA_DEPEND}
app-arch/unzip
dev-util/ninja
- sys-devel/gcc
"
RESTRICT="!test? ( test )"
+PATCHES=( "${FILESDIR}/linux.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
+ sed -i "s/flags = \"-Wall -Werror\"/flags =\"${CXXFLAGS}\"/" \
+ make/code_format.lua || die
+ # Patch
+ default
+ # Shipped file doesn't respect CFLAGS/CXXFLAGS
+ 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
+}
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
+
+ eapply "${FILESDIR}/build.ninja.patch"
+
+ sed -i "s/^cc = gcc/cc = $(tc-getCC)/" \
+ build/build.ninja || die
+
+ # Generated file doesn't respect CFLAGS/CXXFLAGS
+ sed -i -e "s/^cc = REPLACE_ME/cc = $(tc-getCC)/" \
+ -e "s/CFLAGS/${CFLAGS}/" \
+ -e "s/CXXFLAGS/${CXXFLAGS}/" \
+ -e "s/LDFLAGS/${LDFLAGS}/" \
+ build/build.ninja || die
+
# Tests are broken
eninja -f build/build.ninja all
}