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