Gentoo Archives: gentoo-commits

From: Mathis Winterer <mrmagic223325@××××××.email>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:dev commit in: dev-util/lua-language-server/files/, dev-util/lua-language-server/
Date: Sun, 01 Jan 2023 23:08:35
Message-Id: 1672614407.08285c8c5a479dce78ca70dfac51828aee4c59e9.mrmagic223325@gentoo
1 commit: 08285c8c5a479dce78ca70dfac51828aee4c59e9
2 Author: Mathis Winterer <mrmagic223325 <AT> fedora <DOT> email>
3 AuthorDate: Sun Jan 1 23:06:47 2023 +0000
4 Commit: Mathis Winterer <mrmagic223325 <AT> fedora <DOT> email>
5 CommitDate: Sun Jan 1 23:06:47 2023 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=08285c8c
7
8 dev-util/lua-language-server: Stop prestripping binaries, Remove direct calls to gcc, patch build scripts to respect CFLAGS/CXXFLAGS/LDFLAGS
9
10 Closes: https://bugs.gentoo.org/889302
11 Closes: https://bugs.gentoo.org/889308
12 Closes: https://bugs.gentoo.org/889306
13 Closes: https://bugs.gentoo.org/889304
14 Signed-off-by: Mathis Winterer <mrmagic223325 <AT> fedora.email>
15
16 .../lua-language-server/files/build.ninja.patch | 142 +++++++++++++++++++++
17 .../lua-language-server/files/linux.ninja.patch | 94 ++++++++++++++
18 .../lua-language-server-3.6.4.ebuild | 35 ++++-
19 3 files changed, 269 insertions(+), 2 deletions(-)
20
21 diff --git a/dev-util/lua-language-server/files/build.ninja.patch b/dev-util/lua-language-server/files/build.ninja.patch
22 new file mode 100644
23 index 000000000..49111813b
24 --- /dev/null
25 +++ b/dev-util/lua-language-server/files/build.ninja.patch
26 @@ -0,0 +1,142 @@
27 +--- a/build/build.ninja 2023-01-01 23:53:30.813718024 +0100
28 ++++ b/build/build.ninja 2023-01-01 23:04:59.011627739 +0100
29 +@@ -2,7 +2,7 @@
30 + builddir = build
31 + bin = bin
32 + obj = $builddir/obj
33 +-cc = x86_64-pc-linux-gnu-gcc
34 ++cc = REPLACE_ME
35 + luamake = $
36 + /var/tmp/portage/dev-util/lua-language-server-3.6.4/work/3rd/luamake/luamake
37 + rule configure
38 +@@ -13,17 +13,17 @@
39 + 3rd/bee.lua/compile/config.lua 3rd/bee.lua/compile/common.lua $
40 + make/code_format.lua
41 + rule c_source_bee
42 +- command = $cc -MMD -MT $out -MF $out.d -std=c11 -O2 -Wall -Werror $
43 +- -fvisibility=hidden -I3rd/bee.lua/3rd/lua-seri -I$builddir/lua54 $
44 +- -DNDEBUG -fPIC -o $out -c $in
45 ++ command = $cc -MMD -MT $out -MF $out.d -std=c11 $
46 ++ -I3rd/bee.lua/3rd/lua-seri -I$builddir/lua54 $
47 ++ -DNDEBUG -o $out -c $in CFLAGS
48 + description = Compile C $out
49 + deps = gcc
50 + depfile = $out.d
51 + build $obj/source_bee/lua-seri.obj: c_source_bee $
52 + 3rd/bee.lua/3rd/lua-seri/lua-seri.c
53 + rule cxx_source_bee
54 +- command = $cc -MMD -MT $out -MF $out.d -std=c++17 -O2 -Wall -Werror $
55 +- -fvisibility=hidden -I3rd/bee.lua/bee/nonstd -DNDEBUG -fPIC -o $out -c $in
56 ++ command = $cc -MMD -MT $out -MF $out.d -std=c++17 $
57 ++ -I3rd/bee.lua/bee/nonstd -DNDEBUG -o $out -c $in CXXFLAGS
58 + description = Compile C++ $out
59 + deps = gcc
60 + depfile = $out.d
61 +@@ -31,8 +31,8 @@
62 + 3rd/bee.lua/bee/nonstd/fmt/format.cc
63 + build $obj/source_bee/os.obj: cxx_source_bee 3rd/bee.lua/bee/nonstd/fmt/os.cc
64 + rule cxx_source_bee_1
65 +- command = $cc -MMD -MT $out -MF $out.d -std=c++17 -O2 -Wall -Werror $
66 +- -fvisibility=hidden -I3rd/bee.lua -DNDEBUG -fPIC -o $out -c $in
67 ++ command = $cc -MMD -MT $out -MF $out.d -std=c++17 $
68 ++ -I3rd/bee.lua -DNDEBUG -o $out -c $in CXXFLAGS
69 + description = Compile C++ $out
70 + deps = gcc
71 + depfile = $out.d
72 +@@ -56,9 +56,9 @@
73 + build $obj/source_bee/path_helper.obj: cxx_source_bee_1 $
74 + 3rd/bee.lua/bee/utility/path_helper.cpp
75 + rule cxx_source_bee_2
76 +- command = $cc -MMD -MT $out -MF $out.d -std=c++17 -O2 -Wall -Werror $
77 +- -fvisibility=hidden -I3rd/bee.lua/3rd/lua-seri -I3rd/bee.lua $
78 +- -I$builddir/lua54 -DBEE_STATIC -DNDEBUG -fPIC -o $out -c $in
79 ++ command = $cc -MMD -MT $out -MF $out.d -std=c++17 $
80 ++ -I3rd/bee.lua/3rd/lua-seri -I3rd/bee.lua $
81 ++ -I$builddir/lua54 -DBEE_STATIC -DNDEBUG -o $out -c $in CXXFLAGS
82 + description = Compile C++ $out
83 + deps = gcc
84 + depfile = $out.d
85 +@@ -79,26 +79,26 @@
86 + build $obj/source_bee/lua_time.obj: cxx_source_bee_2 $
87 + 3rd/bee.lua/binding/lua_time.cpp
88 + rule c_source_lua
89 +- command = $cc -MMD -MT $out -MF $out.d -std=c11 -O2 -Wall -Werror $
90 +- -fvisibility=hidden -DNDEBUG -fPIC -o $out -c $in
91 ++ command = $cc -MMD -MT $out -MF $out.d -std=c11 $
92 ++ -DNDEBUG -o $out -c $in CFLAGS
93 + description = Compile C $out
94 + deps = gcc
95 + depfile = $out.d
96 + build $obj/source_lua/utf8_crt.obj: c_source_lua $
97 + 3rd/bee.lua/3rd/lua/utf8_crt.c
98 + rule c_source_lua_1
99 +- command = $cc -MMD -MT $out -MF $out.d -std=c11 -O2 -Wall -Werror $
100 +- -DMAKE_LIB -DLUA_USE_LINUX -DNDEBUG -fPIC -Wno-maybe-uninitialized -o $
101 +- $out -c $in
102 ++ command = $cc -MMD -MT $out -MF $out.d -std=c11 $
103 ++ -DMAKE_LIB -DLUA_USE_LINUX -DNDEBUG -o $
104 ++ $out -c $in CFLAGS
105 + description = Compile C $out
106 + deps = gcc
107 + depfile = $out.d
108 + build $obj/source_lua/linit.obj: c_source_lua_1 3rd/bee.lua/3rd/lua/linit.c
109 + build $obj/source_lua/onelua.obj: c_source_lua_1 3rd/bee.lua/3rd/lua/onelua.c
110 + rule cxx_source_bootstrap
111 +- command = $cc -MMD -MT $out -MF $out.d -std=c++17 -O2 -Wall -Werror $
112 +- -fvisibility=hidden -I3rd/bee.lua/3rd/lua -I3rd/bee.lua -DLUA_USE_LINUX $
113 +- -DNDEBUG -fPIC -o $out -c $in
114 ++ command = $cc -MMD -MT $out -MF $out.d -std=c++17 $
115 ++ -I3rd/bee.lua/3rd/lua -I3rd/bee.lua -DLUA_USE_LINUX $
116 ++ -DNDEBUG -o $out -c $in CXXFLAGS
117 + description = Compile C++ $out
118 + deps = gcc
119 + depfile = $out.d
120 +@@ -108,7 +108,7 @@
121 + 3rd/bee.lua/bootstrap/progdir.cpp
122 + rule link_bootstrap
123 + command = $cc $in -o $out -lm -ldl -Wl,-E -lstdc++fs -pthread $
124 +- -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic -static-libgcc -s
125 ++ -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic -static-libgcc LDFLAGS
126 + description = Link Exe $out
127 + build /bootstrap: link_bootstrap $obj/source_bootstrap/main.obj $
128 + $obj/source_bootstrap/progdir.obj $obj/source_bee/lua-seri.obj $
129 +@@ -146,10 +146,10 @@
130 + 3rd/bee.lua/test/test_thread.lua 3rd/bee.lua/test/test_time.lua | $
131 + /bootstrap copy_script
132 + rule cxx_code_format
133 +- command = $cc -MMD -MT $out -MF $out.d -std=c++17 -O2 -Wall $
134 +- -fvisibility=hidden -I3rd/EmmyLuaCodeStyle/include $
135 ++ command = $cc -MMD -MT $out -MF $out.d -std=c++17 $
136 ++ -I3rd/EmmyLuaCodeStyle/include $
137 + -I3rd/bee.lua/3rd/lua -I3rd/EmmyLuaCodeStyle/3rd/wildcards/include $
138 +- -DNDEBUG -march=native -O2 -pipe -o $out -c $in
139 ++ -DNDEBUG -o $out -c $in CXXFLAGS
140 + description = Compile C++ $out
141 + deps = gcc
142 + depfile = $out.d
143 +@@ -274,9 +274,9 @@
144 + build $obj/code_format/Utf8.obj: cxx_code_format $
145 + 3rd/EmmyLuaCodeStyle/Util/src/Utf8.cpp
146 + rule c_lpeglabel
147 +- command = $cc -MMD -MT $out -MF $out.d -std=c11 -O2 -Wall $
148 +- -fvisibility=hidden -I3rd/bee.lua/3rd/lua -DMAXRECLEVEL=1000 -DNDEBUG $
149 +- -o $out -c $in
150 ++ command = $cc -MMD -MT $out -MF $out.d -std=c11 $
151 ++ -I3rd/bee.lua/3rd/lua -DMAXRECLEVEL=1000 -DNDEBUG $
152 ++ -o $out -c $in CFLAGS
153 + description = Compile C $out
154 + deps = gcc
155 + depfile = $out.d
156 +@@ -286,9 +286,9 @@
157 + build $obj/lpeglabel/lpltree.obj: c_lpeglabel 3rd/lpeglabel/lpltree.c
158 + build $obj/lpeglabel/lplvm.obj: c_lpeglabel 3rd/lpeglabel/lplvm.c
159 + rule cxx_lua_language_server
160 +- command = $cc -MMD -MT $out -MF $out.d -std=c++17 -O2 -Wall $
161 +- -fvisibility=hidden -I3rd/bee.lua -I3rd/bee.lua/3rd/lua -DCODE_FORMAT $
162 +- -DNDEBUG -o $out -c $in
163 ++ command = $cc -MMD -MT $out -MF $out.d -std=c++17 $
164 ++ -I3rd/bee.lua -I3rd/bee.lua/3rd/lua -DCODE_FORMAT $
165 ++ -DNDEBUG -o $out -c $in CXXFLAGS
166 + description = Compile C++ $out
167 + deps = gcc
168 + depfile = $out.d
169
170 diff --git a/dev-util/lua-language-server/files/linux.ninja.patch b/dev-util/lua-language-server/files/linux.ninja.patch
171 new file mode 100644
172 index 000000000..a9a853ed7
173 --- /dev/null
174 +++ b/dev-util/lua-language-server/files/linux.ninja.patch
175 @@ -0,0 +1,94 @@
176 +--- a/3rd/luamake/compile/ninja/linux.ninja 2022-11-29 13:53:05.000000000 +0100
177 ++++ b/3rd/luamake/compile/ninja/linux.ninja 2023-01-01 22:40:43.690777107 +0100
178 +@@ -2,20 +2,20 @@
179 + builddir = build/linux
180 + bin = $builddir/bin
181 + obj = $builddir/obj
182 +-cc = gcc
183 ++cc = REPLACE_ME
184 + luamake = luamake
185 + rule c_source_bee
186 +- command = $cc -MMD -MT $out -MF $out.d -O2 -Wall -Werror $
187 +- -fvisibility=hidden -I3rd/bee.lua/3rd/lua-seri -Itools/lua54 -DNDEBUG $
188 +- -fPIC -o $out -c $in
189 ++ command = $cc -MMD -MT $out -MF $out.d $
190 ++ -I3rd/bee.lua/3rd/lua-seri -Itools/lua54 -DNDEBUG $
191 ++ -o $out -c $in CFLAGS
192 + description = Compile C $out
193 + deps = gcc
194 + depfile = $out.d
195 + build $obj/source_bee/lua-seri.obj: c_source_bee $
196 + 3rd/bee.lua/3rd/lua-seri/lua-seri.c
197 + rule cxx_source_bee
198 +- command = $cc -MMD -MT $out -MF $out.d -std=c++17 -O2 -Wall -Werror $
199 +- -fvisibility=hidden -I3rd/bee.lua/bee/nonstd -DNDEBUG -fPIC -o $out -c $in
200 ++ command = $cc -MMD -MT $out -MF $out.d -std=c++17 $
201 ++ -I3rd/bee.lua/bee/nonstd -DNDEBUG -o $out -c $in CXXFLAGS
202 + description = Compile C++ $out
203 + deps = gcc
204 + depfile = $out.d
205 +@@ -23,8 +23,8 @@
206 + 3rd/bee.lua/bee/nonstd/fmt/format.cc
207 + build $obj/source_bee/os.obj: cxx_source_bee 3rd/bee.lua/bee/nonstd/fmt/os.cc
208 + rule cxx_source_bee_1
209 +- command = $cc -MMD -MT $out -MF $out.d -std=c++17 -O2 -Wall -Werror $
210 +- -fvisibility=hidden -I3rd/bee.lua -DNDEBUG -fPIC -o $out -c $in
211 ++ command = $cc -MMD -MT $out -MF $out.d -std=c++17 $
212 ++ -I3rd/bee.lua -DNDEBUG -o $out -c $in CXXFLAGS
213 + description = Compile C++ $out
214 + deps = gcc
215 + depfile = $out.d
216 +@@ -48,9 +48,9 @@
217 + build $obj/source_bee/path_helper.obj: cxx_source_bee_1 $
218 + 3rd/bee.lua/bee/utility/path_helper.cpp
219 + rule cxx_source_bee_2
220 +- command = $cc -MMD -MT $out -MF $out.d -std=c++17 -O2 -Wall -Werror $
221 +- -fvisibility=hidden -I3rd/bee.lua/3rd/lua-seri -I3rd/bee.lua $
222 +- -Itools/lua54 -DBEE_STATIC -DNDEBUG -fPIC -o $out -c $in
223 ++ command = $cc -MMD -MT $out -MF $out.d -std=c++17 $
224 ++ -I3rd/bee.lua/3rd/lua-seri -I3rd/bee.lua $
225 ++ -Itools/lua54 -DBEE_STATIC -DNDEBUG -o $out -c $in CXXFLAGS
226 + description = Compile C++ $out
227 + deps = gcc
228 + depfile = $out.d
229 +@@ -71,24 +71,24 @@
230 + build $obj/source_bee/lua_time.obj: cxx_source_bee_2 $
231 + 3rd/bee.lua/binding/lua_time.cpp
232 + rule c_source_lua
233 +- command = $cc -MMD -MT $out -MF $out.d -O2 -Wall -Werror $
234 +- -fvisibility=hidden -DNDEBUG -fPIC -o $out -c $in
235 ++ command = $cc -MMD -MT $out -MF $out.d $
236 ++ -DNDEBUG -o $out -c $in CFLAGS
237 + description = Compile C $out
238 + deps = gcc
239 + depfile = $out.d
240 + build $obj/source_lua/utf8_crt.obj: c_source_lua $
241 + 3rd/bee.lua/3rd/lua/utf8_crt.c
242 + rule c_source_lua_1
243 +- command = $cc -MMD -MT $out -MF $out.d -O2 -Wall -Werror -DMAKE_LIB $
244 +- -DLUA_USE_LINUX -DNDEBUG -fPIC -Wno-maybe-uninitialized -o $out -c $in
245 ++ command = $cc -MMD -MT $out -MF $out.d -DMAKE_LIB $
246 ++ -DLUA_USE_LINUX -DNDEBUG -o $out -c $in CFLAGS
247 + description = Compile C $out
248 + deps = gcc
249 + depfile = $out.d
250 + build $obj/source_lua/onelua.obj: c_source_lua_1 3rd/bee.lua/3rd/lua/onelua.c
251 + rule cxx_source_bootstrap
252 +- command = $cc -MMD -MT $out -MF $out.d -std=c++17 -O2 -Wall -Werror $
253 +- -fvisibility=hidden -I3rd/bee.lua/3rd/lua -I3rd/bee.lua -DLUA_USE_LINUX $
254 +- -DNDEBUG -fPIC -o $out -c $in
255 ++ command = $cc -MMD -MT $out -MF $out.d -std=c++17 $
256 ++ -I3rd/bee.lua/3rd/lua -I3rd/bee.lua -DLUA_USE_LINUX $
257 ++ -DNDEBUG -o $out -c $in CXXFLAGS
258 + description = Compile C++ $out
259 + deps = gcc
260 + depfile = $out.d
261 +@@ -98,7 +98,7 @@
262 + 3rd/bee.lua/bootstrap/progdir.cpp
263 + rule link_luamake
264 + command = $cc $in -o $out -lm -ldl -Wl,-E -lstdc++fs -pthread $
265 +- -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic -static-libgcc -s
266 ++ -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic -static-libgcc LDFLAGS
267 + description = Link Exe $out
268 + build $bin/luamake: link_luamake $obj/source_bootstrap/main.obj $
269 + $obj/source_bootstrap/progdir.obj $obj/source_bee/lua-seri.obj $
270
271 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
272 index bd99b8d38..f0cf3d9c3 100644
273 --- a/dev-util/lua-language-server/lua-language-server-3.6.4.ebuild
274 +++ b/dev-util/lua-language-server/lua-language-server-3.6.4.ebuild
275 @@ -3,7 +3,7 @@
276
277 EAPI=8
278
279 -inherit ninja-utils
280 +inherit ninja-utils toolchain-funcs
281
282 DESCRIPTION="Lua language server"
283 HOMEPAGE="https://github.com/sumneko/lua-language-server"
284 @@ -18,14 +18,45 @@ BDPEND="
285 ${NINJA_DEPEND}
286 app-arch/unzip
287 dev-util/ninja
288 - sys-devel/gcc
289 "
290 RESTRICT="!test? ( test )"
291 +PATCHES=( "${FILESDIR}/linux.ninja.patch" )
292 +
293 +src_prepare() {
294 + # Remove hardcoded gcc references
295 + sed -i "/lm.cxx/a lm.cc = '$(tc-getCC)'" \
296 + make.lua || die
297 + sed -i "s/CC = gcc/ CC = ${tc-getCC}/" \
298 + 3rd/lpeglabel/makefile || die
299 + sed -i "s/flags = \"-Wall -Werror\"/flags =\"${CXXFLAGS}\"/" \
300 + make/code_format.lua || die
301 + # Patch
302 + default
303 + # Shipped file doesn't respect CFLAGS/CXXFLAGS
304 + sed -i -e "s/^cc = REPLACE_ME/cc = $(tc-getCC)/" \
305 + -e "s/CFLAGS/${CFLAGS}/" \
306 + -e "s/CXXFLAGS/${CXXFLAGS}/" \
307 + -e "s/LDFLAGS/${LDFLAGS}/" \
308 + 3rd/luamake/compile/ninja/linux.ninja || die
309 +}
310
311 src_compile() {
312 eninja -C 3rd/luamake -f compile/ninja/linux.ninja "$(usex test "test" "luamake")"
313 use test && eninja -C 3rd/luamake -f compile/ninja/linux.ninja luamake
314 ./3rd/luamake/luamake init || die
315 +
316 + eapply "${FILESDIR}/build.ninja.patch"
317 +
318 + sed -i "s/^cc = gcc/cc = $(tc-getCC)/" \
319 + build/build.ninja || die
320 +
321 + # Generated file doesn't respect CFLAGS/CXXFLAGS
322 + sed -i -e "s/^cc = REPLACE_ME/cc = $(tc-getCC)/" \
323 + -e "s/CFLAGS/${CFLAGS}/" \
324 + -e "s/CXXFLAGS/${CXXFLAGS}/" \
325 + -e "s/LDFLAGS/${LDFLAGS}/" \
326 + build/build.ninja || die
327 +
328 # Tests are broken
329 eninja -f build/build.ninja all
330 }