Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-devel/clang/
Date: Tue, 06 Sep 2022 08:01:14
Message-Id: 1662451221.605f36171eb817a0d01ffc62854bb9602b0438cb.mgorny@gentoo
1 commit: 605f36171eb817a0d01ffc62854bb9602b0438cb
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Tue Sep 6 08:00:21 2022 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Tue Sep 6 08:00:21 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=605f3617
7
8 sys-devel/clang: Remove 15.0.0 RCs
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 sys-devel/clang/Manifest | 6 -
13 sys-devel/clang/clang-15.0.0_rc2.ebuild | 463 --------------------------------
14 sys-devel/clang/clang-15.0.0_rc3.ebuild | 463 --------------------------------
15 3 files changed, 932 deletions(-)
16
17 diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest
18 index dd563ecbbcb0..be48b181502a 100644
19 --- a/sys-devel/clang/Manifest
20 +++ b/sys-devel/clang/Manifest
21 @@ -2,16 +2,10 @@ DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305
22 DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff6312b89abeef3fbe5da5d0b93bb2add1088ddf64a0b00ec8846062d19b1ad31e53eadee7ce03c9034aab554e183d1baccf6 SHA512 f8328dc2ec1e8d941d47e583ee31fae7bdcebb3f854b5c8a4a84bd19a79bf5427ad204012c81349bc05a291e41cf48e5129b4578bbd5d4490dd01e1c0b5823bf
23 DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
24 DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
25 -DIST llvm-gentoo-patchset-15.0.0-rc2.tar.xz 5768 BLAKE2B 03822c4dfbe3157d9131a3524beeda22fbc6adc937af052fd0fbcc23fb6ea86e1a5e015c316b53019820de5b81b1b065bfcbc31608598307f03af39f215fb12e SHA512 b9d7adb9b738a565c2142360c5ff7a7aa8405ce78af8767867203dd003e5bdb2b8a7f14179fdb7dc0c5cdc696cfff55c4886cfcd0894672284b453943e4e7269
26 -DIST llvm-gentoo-patchset-15.0.0-rc3.tar.xz 4036 BLAKE2B 0f8172f1d9ac674b7c888781138dcb1f55c7f73a98ee78d04e4e26442ac91ae2a6c6d6aaa45982a344e174e1d080247ab9c62bbb9adaa7fd20c5a481e0e8bfed SHA512 ebdf8d1d4f52150c99015e6dea4f3fd67f0a54284d52e946d104ff6c0f60efc716a1b39d3cdecf7b353cf139d8306793d37c10fe9269376d9846896fcf6415ad
27 DIST llvm-gentoo-patchset-15.0.0.tar.xz 4032 BLAKE2B 99c959eff6c8164147952aa5dc0621d1804b1e460c71bbfcf0c2a971f82e8405bc0c4dac327c27b6b459c4f45381466e883e502df14c84d8ba98495a437bfd47 SHA512 ce516b3401bd45696cf9ed0003de2f536695b8554fa3c2c35f14f1f1e2f0f115c20ef2b1d5319369cc536db4cb95cb508d34e7a6f8ef60f242547179e9d338a6
28 DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
29 DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
30 DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
31 DIST llvm-project-15.0.0.src.tar.xz 112062796 BLAKE2B 947917b6c75cbd8882133dc01f57013523274962371ac5ae4a22b010f8a7d5d31288c1d9847bf19ba919fa3110fe34a8ff937107fe19bd064ed87bf4d08d8a51 SHA512 e5aacbe7574dcec62017cc03c9fa2ee4cf075125a3d6c3975c38f06e91adcebb1ff92bcf40c6dd67db087813c60b15a04f1424c713d751199518b58025ce87fc
32 DIST llvm-project-15.0.0.src.tar.xz.sig 438 BLAKE2B 8eb12c259f94d8f867a31dbe05128adc1f9cc7ec8bcbdbe1738d2fad461f5d214e674f080f7f29b639a7a75f9c5b56c0f959f538697d647b94b97dc56b036e5f SHA512 4096464a46e07575b7cff448ff8bbc38fe972505f366b744419a06339cf32b93266b0fae5390879859041ce6710e4b675ed3ea7561d6a817623d7ece0e969661
33 -DIST llvm-project-15.0.0rc2.src.tar.xz 112110968 BLAKE2B 98c3769f17f1958fbec771409eef781f5ca845363656c70fe5cd20bca1b8471e7a8773a7d4e395700c297a5f3f208fe1303cf18e2a73b45388b782fb7484106b SHA512 eee1bee1f83cc468fb4bb6839acbd5c1618dc35f35e51cd078288b91bad95d52edaadd05c88f2d72d51c1c338ba08b3346c070a28693b1224639eb7a1ef4a4d9
34 -DIST llvm-project-15.0.0rc2.src.tar.xz.sig 438 BLAKE2B 09f260b30724b41b27ef621929c086fd6c13bde51c4adb880897b549b2d336682f617faf3dd636ceb795e329b664972cf50745ab49f84e7540658d53074510da SHA512 9f695a309fbb15026dc133eb17d33abd26831eb036fad79dd8df37d4f4d9eeae1ca463acd037d2a1882bc2cff763e4bda507d1d827d845613bfd62d0f9fbd4ca
35 -DIST llvm-project-15.0.0rc3.src.tar.xz 112081940 BLAKE2B 659359f8366ad09051fa2256c1aae8cea2049ab6428ce6b15a6845f7ee01a27bc2be2ab612adf8364cb2d699f19d09a7ea01eda74b266f14cc844662bcc833e0 SHA512 e4ac310c19fd6b710d372b9a53dffaf6736d4b5c23190fa98536be40f7c4e45670957dcbfb337e9d1dd44398df43d1ae736063eff2b2fd3d6fc752fae286d3bb
36 -DIST llvm-project-15.0.0rc3.src.tar.xz.sig 438 BLAKE2B 455181d3845ff1766f463d0e02caf72df8106dad16b8d54234f7f2fa0fcb5636abb06b2d35b5fdb8a3ed5c92a41a47d413d1bb76013cb914ce79913479a786e2 SHA512 80a67cf48186d2fbde997707e5d3d7a2dc3097f07e32ff45277e5185eb358d6b292821d8eaf8570fcc45560340663d62adb0380c675909c4c9c713e52704c800
37 DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
38
39 diff --git a/sys-devel/clang/clang-15.0.0_rc2.ebuild b/sys-devel/clang/clang-15.0.0_rc2.ebuild
40 deleted file mode 100644
41 index dd82d65a5ac9..000000000000
42 --- a/sys-devel/clang/clang-15.0.0_rc2.ebuild
43 +++ /dev/null
44 @@ -1,463 +0,0 @@
45 -# Copyright 1999-2022 Gentoo Authors
46 -# Distributed under the terms of the GNU General Public License v2
47 -
48 -EAPI=8
49 -
50 -PYTHON_COMPAT=( python3_{8..11} )
51 -inherit cmake llvm llvm.org multilib multilib-minimal \
52 - prefix python-single-r1 toolchain-funcs
53 -
54 -DESCRIPTION="C language family frontend for LLVM"
55 -HOMEPAGE="https://llvm.org/"
56 -
57 -# MSVCSetupApi.h: MIT
58 -# sorttable.js: MIT
59 -
60 -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT"
61 -SLOT="$(ver_cut 1)"
62 -KEYWORDS=""
63 -IUSE="
64 - debug default-compiler-rt default-libcxx default-lld doc
65 - llvm-libunwind +pie +static-analyzer test xml
66 -"
67 -REQUIRED_USE="${PYTHON_REQUIRED_USE}"
68 -RESTRICT="!test? ( test )"
69 -
70 -DEPEND="
71 - ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${MULTILIB_USEDEP}]
72 - static-analyzer? ( dev-lang/perl:* )
73 - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
74 -"
75 -
76 -RDEPEND="
77 - ${PYTHON_DEPS}
78 - ${DEPEND}
79 -"
80 -BDEPEND="
81 - ${PYTHON_DEPS}
82 - >=dev-util/cmake-3.16
83 - doc? ( $(python_gen_cond_dep '
84 - dev-python/recommonmark[${PYTHON_USEDEP}]
85 - dev-python/sphinx[${PYTHON_USEDEP}]
86 - ') )
87 - xml? ( virtual/pkgconfig )
88 -"
89 -PDEPEND="
90 - sys-devel/clang-common
91 - ~sys-devel/clang-runtime-${PV}
92 - default-compiler-rt? (
93 - =sys-libs/compiler-rt-${PV%_*}*
94 - llvm-libunwind? ( sys-libs/llvm-libunwind )
95 - !llvm-libunwind? ( sys-libs/libunwind )
96 - )
97 - default-libcxx? ( >=sys-libs/libcxx-${PV} )
98 - default-lld? ( sys-devel/lld )
99 -"
100 -
101 -LLVM_COMPONENTS=(
102 - clang clang-tools-extra cmake
103 - llvm/lib/Transforms/Hello
104 -)
105 -LLVM_MANPAGES=1
106 -LLVM_TEST_COMPONENTS=(
107 - llvm/lib/Testing/Support
108 - llvm/utils/{lit,llvm-lit,unittest}
109 - llvm/utils/{UpdateTestChecks,update_cc_test_checks.py}
110 -)
111 -LLVM_PATCHSET=${PV/_/-}
112 -LLVM_USE_TARGETS=llvm
113 -llvm.org_set_globals
114 -
115 -# Multilib notes:
116 -# 1. ABI_* flags control ABIs libclang* is built for only.
117 -# 2. clang is always capable of compiling code for all ABIs for enabled
118 -# target. However, you will need appropriate crt* files (installed
119 -# e.g. by sys-devel/gcc and sys-libs/glibc).
120 -# 3. ${CHOST}-clang wrappers are always installed for all ABIs included
121 -# in the current profile (i.e. alike supported by sys-devel/gcc).
122 -#
123 -# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need
124 -# multilib clang* libraries (not runtime, not wrappers).
125 -
126 -pkg_setup() {
127 - LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup
128 - python-single-r1_pkg_setup
129 -}
130 -
131 -src_prepare() {
132 - # create extra parent dir for relative CLANG_RESOURCE_DIR access
133 - mkdir -p x/y || die
134 - BUILD_DIR=${WORKDIR}/x/y/clang
135 -
136 - llvm.org_src_prepare
137 -
138 - # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch)
139 - eprefixify \
140 - lib/Lex/InitHeaderSearch.cpp \
141 - lib/Driver/ToolChains/Darwin.cpp || die
142 -}
143 -
144 -check_distribution_components() {
145 - if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
146 - local all_targets=() my_targets=() l
147 - cd "${BUILD_DIR}" || die
148 -
149 - while read -r l; do
150 - if [[ ${l} == install-*-stripped:* ]]; then
151 - l=${l#install-}
152 - l=${l%%-stripped*}
153 -
154 - case ${l} in
155 - # meta-targets
156 - clang-libraries|distribution)
157 - continue
158 - ;;
159 - # tools
160 - clang|clangd|clang-*)
161 - ;;
162 - # static libraries
163 - clang*|findAllSymbols)
164 - continue
165 - ;;
166 - # conditional to USE=doc
167 - docs-clang-html|docs-clang-tools-html)
168 - use doc || continue
169 - ;;
170 - esac
171 -
172 - all_targets+=( "${l}" )
173 - fi
174 - done < <(${NINJA} -t targets all)
175 -
176 - while read -r l; do
177 - my_targets+=( "${l}" )
178 - done < <(get_distribution_components $"\n")
179 -
180 - local add=() remove=()
181 - for l in "${all_targets[@]}"; do
182 - if ! has "${l}" "${my_targets[@]}"; then
183 - add+=( "${l}" )
184 - fi
185 - done
186 - for l in "${my_targets[@]}"; do
187 - if ! has "${l}" "${all_targets[@]}"; then
188 - remove+=( "${l}" )
189 - fi
190 - done
191 -
192 - if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
193 - eqawarn "get_distribution_components() is outdated!"
194 - eqawarn " Add: ${add[*]}"
195 - eqawarn "Remove: ${remove[*]}"
196 - fi
197 - cd - >/dev/null || die
198 - fi
199 -}
200 -
201 -get_distribution_components() {
202 - local sep=${1-;}
203 -
204 - local out=(
205 - # common stuff
206 - clang-cmake-exports
207 - clang-headers
208 - clang-resource-headers
209 - libclang-headers
210 -
211 - aarch64-resource-headers
212 - arm-common-resource-headers
213 - arm-resource-headers
214 - core-resource-headers
215 - cuda-resource-headers
216 - hexagon-resource-headers
217 - hip-resource-headers
218 - hlsl-resource-headers
219 - mips-resource-headers
220 - opencl-resource-headers
221 - openmp-resource-headers
222 - ppc-htm-resource-headers
223 - ppc-resource-headers
224 - riscv-resource-headers
225 - systemz-resource-headers
226 - utility-resource-headers
227 - ve-resource-headers
228 - webassembly-resource-headers
229 - windows-resource-headers
230 - x86-resource-headers
231 -
232 - # libs
233 - clang-cpp
234 - libclang
235 - )
236 -
237 - if multilib_is_native_abi; then
238 - out+=(
239 - # common stuff
240 - bash-autocomplete
241 - libclang-python-bindings
242 -
243 - # tools
244 - c-index-test
245 - clang
246 - clang-format
247 - clang-offload-bundler
248 - clang-offload-packager
249 - clang-offload-wrapper
250 - clang-pseudo
251 - clang-refactor
252 - clang-repl
253 - clang-rename
254 - clang-scan-deps
255 - diagtool
256 - hmaptool
257 -
258 - # extra tools
259 - clang-apply-replacements
260 - clang-change-namespace
261 - clang-doc
262 - clang-include-fixer
263 - clang-move
264 - clang-query
265 - clang-reorder-fields
266 - clang-tidy
267 - clang-tidy-headers
268 - clangd
269 - find-all-symbols
270 - modularize
271 - pp-trace
272 - )
273 -
274 - if llvm_are_manpages_built; then
275 - out+=(
276 - # manpages
277 - docs-clang-man
278 - docs-clang-tools-man
279 - )
280 - fi
281 -
282 - use doc && out+=(
283 - docs-clang-html
284 - docs-clang-tools-html
285 - )
286 -
287 - use static-analyzer && out+=(
288 - clang-check
289 - clang-extdef-mapping
290 - scan-build
291 - scan-build-py
292 - scan-view
293 - )
294 - fi
295 -
296 - printf "%s${sep}" "${out[@]}"
297 -}
298 -
299 -multilib_src_configure() {
300 - local llvm_version=$(llvm-config --version) || die
301 - local clang_version=$(ver_cut 1-3 "${llvm_version}")
302 -
303 - local mycmakeargs=(
304 - -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm"
305 - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
306 - -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
307 - # relative to bindir
308 - -DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}"
309 -
310 - -DBUILD_SHARED_LIBS=OFF
311 - -DCLANG_LINK_CLANG_DYLIB=ON
312 - -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
313 -
314 - -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
315 - -DLLVM_BUILD_TESTS=$(usex test)
316 -
317 - # these are not propagated reliably, so redefine them
318 - -DLLVM_ENABLE_EH=ON
319 - -DLLVM_ENABLE_RTTI=ON
320 -
321 - -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
322 - # libgomp support fails to find headers without explicit -I
323 - # furthermore, it provides only syntax checking
324 - -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
325 -
326 - # disable using CUDA to autodetect GPU, just build for all
327 - -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON
328 -
329 - # override default stdlib and rtlib
330 - -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "")
331 - -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "")
332 - -DCLANG_DEFAULT_LINKER=$(usex default-lld lld "")
333 - -DCLANG_DEFAULT_PIE_ON_LINUX=$(usex pie)
334 - -DCLANG_DEFAULT_UNWINDLIB=$(usex default-compiler-rt libunwind "")
335 -
336 - -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
337 - -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
338 -
339 - -DPython3_EXECUTABLE="${PYTHON}"
340 - )
341 - use test && mycmakeargs+=(
342 - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
343 - -DLLVM_EXTERNAL_LIT="${BUILD_DIR}/bin/llvm-lit"
344 - -DLLVM_LIT_ARGS="$(get_lit_flags)"
345 - )
346 -
347 - if multilib_is_native_abi; then
348 - local build_docs=OFF
349 - if llvm_are_manpages_built; then
350 - build_docs=ON
351 - mycmakeargs+=(
352 - -DLLVM_BUILD_DOCS=ON
353 - -DLLVM_ENABLE_SPHINX=ON
354 - -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
355 - -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
356 - -DSPHINX_WARNINGS_AS_ERRORS=OFF
357 - )
358 - fi
359 - mycmakeargs+=(
360 - -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra
361 - -DCLANG_INCLUDE_DOCS=${build_docs}
362 - -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs}
363 - )
364 - else
365 - mycmakeargs+=(
366 - -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF
367 - )
368 - fi
369 -
370 - if [[ -n ${EPREFIX} ]]; then
371 - mycmakeargs+=(
372 - -DGCC_INSTALL_PREFIX="${EPREFIX}/usr"
373 - )
374 - fi
375 -
376 - if tc-is-cross-compiler; then
377 - [[ -x "/usr/bin/clang-tblgen" ]] \
378 - || die "/usr/bin/clang-tblgen not found or usable"
379 - mycmakeargs+=(
380 - -DCMAKE_CROSSCOMPILING=ON
381 - -DCLANG_TABLEGEN=/usr/bin/clang-tblgen
382 - )
383 - fi
384 -
385 - # LLVM can have very high memory consumption while linking,
386 - # exhausting the limit on 32-bit linker executable
387 - use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
388 -
389 - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
390 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
391 - cmake_src_configure
392 -
393 - multilib_is_native_abi && check_distribution_components
394 -}
395 -
396 -multilib_src_compile() {
397 - cmake_build distribution
398 -
399 - # provide a symlink for tests
400 - if [[ ! -L ${WORKDIR}/lib/clang ]]; then
401 - mkdir -p "${WORKDIR}"/lib || die
402 - ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die
403 - fi
404 -}
405 -
406 -multilib_src_test() {
407 - # respect TMPDIR!
408 - local -x LIT_PRESERVES_TMP=1
409 - cmake_build check-clang
410 - multilib_is_native_abi &&
411 - cmake_build check-clang-tools check-clangd
412 -}
413 -
414 -src_install() {
415 - MULTILIB_WRAPPED_HEADERS=(
416 - /usr/include/clang/Config/config.h
417 - )
418 -
419 - multilib-minimal_src_install
420 -
421 - # Move runtime headers to /usr/lib/clang, where they belong
422 - mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die
423 - # move (remaining) wrapped headers back
424 - mv "${T}"/clang-tidy "${ED}"/usr/include/ || die
425 - mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
426 -
427 - # Apply CHOST and version suffix to clang tools
428 - # note: we use two version components here (vs 3 in runtime path)
429 - local llvm_version=$(llvm-config --version) || die
430 - local clang_version=$(ver_cut 1 "${llvm_version}")
431 - local clang_full_version=$(ver_cut 1-3 "${llvm_version}")
432 - local clang_tools=( clang clang++ clang-cl clang-cpp )
433 - local abi i
434 -
435 - # cmake gives us:
436 - # - clang-X
437 - # - clang -> clang-X
438 - # - clang++, clang-cl, clang-cpp -> clang
439 - # we want to have:
440 - # - clang-X
441 - # - clang++-X, clang-cl-X, clang-cpp-X -> clang-X
442 - # - clang, clang++, clang-cl, clang-cpp -> clang*-X
443 - # also in CHOST variant
444 - for i in "${clang_tools[@]:1}"; do
445 - rm "${ED}/usr/lib/llvm/${SLOT}/bin/${i}" || die
446 - dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}"
447 - dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}"
448 - done
449 -
450 - # now create target symlinks for all supported ABIs
451 - for abi in $(get_all_abis); do
452 - local abi_chost=$(get_abi_CHOST "${abi}")
453 - for i in "${clang_tools[@]}"; do
454 - dosym "${i}-${clang_version}" \
455 - "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}"
456 - dosym "${abi_chost}-${i}-${clang_version}" \
457 - "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}"
458 - done
459 - done
460 -}
461 -
462 -multilib_src_install() {
463 - DESTDIR=${D} cmake_build install-distribution
464 -
465 - # move headers to /usr/include for wrapping & ABI mismatch checks
466 - # (also drop the version suffix from runtime headers)
467 - rm -rf "${ED}"/usr/include || die
468 - mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
469 - mv "${ED}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die
470 - if multilib_is_native_abi; then
471 - # don't wrap clang-tidy headers, the list is too long
472 - # (they're fine for non-native ABI but enabling the targets is problematic)
473 - mv "${ED}"/usr/include/clang-tidy "${T}/" || die
474 - fi
475 -}
476 -
477 -multilib_src_install_all() {
478 - python_fix_shebang "${ED}"
479 - if use static-analyzer; then
480 - python_optimize "${ED}"/usr/lib/llvm/${SLOT}/share/scan-view
481 - fi
482 -
483 - docompress "/usr/lib/llvm/${SLOT}/share/man"
484 - llvm_install_manpages
485 - # match 'html' non-compression
486 - use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
487 - # +x for some reason; TODO: investigate
488 - use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1"
489 -}
490 -
491 -pkg_postinst() {
492 - if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
493 - eselect compiler-shadow update all
494 - fi
495 -
496 - elog "You can find additional utility scripts in:"
497 - elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/clang"
498 - elog "Some of them are vim integration scripts (with instructions inside)."
499 - elog "The run-clang-tidy.py script requires the following additional package:"
500 - elog " dev-python/pyyaml"
501 -}
502 -
503 -pkg_postrm() {
504 - if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
505 - eselect compiler-shadow clean all
506 - fi
507 -}
508
509 diff --git a/sys-devel/clang/clang-15.0.0_rc3.ebuild b/sys-devel/clang/clang-15.0.0_rc3.ebuild
510 deleted file mode 100644
511 index dd82d65a5ac9..000000000000
512 --- a/sys-devel/clang/clang-15.0.0_rc3.ebuild
513 +++ /dev/null
514 @@ -1,463 +0,0 @@
515 -# Copyright 1999-2022 Gentoo Authors
516 -# Distributed under the terms of the GNU General Public License v2
517 -
518 -EAPI=8
519 -
520 -PYTHON_COMPAT=( python3_{8..11} )
521 -inherit cmake llvm llvm.org multilib multilib-minimal \
522 - prefix python-single-r1 toolchain-funcs
523 -
524 -DESCRIPTION="C language family frontend for LLVM"
525 -HOMEPAGE="https://llvm.org/"
526 -
527 -# MSVCSetupApi.h: MIT
528 -# sorttable.js: MIT
529 -
530 -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT"
531 -SLOT="$(ver_cut 1)"
532 -KEYWORDS=""
533 -IUSE="
534 - debug default-compiler-rt default-libcxx default-lld doc
535 - llvm-libunwind +pie +static-analyzer test xml
536 -"
537 -REQUIRED_USE="${PYTHON_REQUIRED_USE}"
538 -RESTRICT="!test? ( test )"
539 -
540 -DEPEND="
541 - ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${MULTILIB_USEDEP}]
542 - static-analyzer? ( dev-lang/perl:* )
543 - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
544 -"
545 -
546 -RDEPEND="
547 - ${PYTHON_DEPS}
548 - ${DEPEND}
549 -"
550 -BDEPEND="
551 - ${PYTHON_DEPS}
552 - >=dev-util/cmake-3.16
553 - doc? ( $(python_gen_cond_dep '
554 - dev-python/recommonmark[${PYTHON_USEDEP}]
555 - dev-python/sphinx[${PYTHON_USEDEP}]
556 - ') )
557 - xml? ( virtual/pkgconfig )
558 -"
559 -PDEPEND="
560 - sys-devel/clang-common
561 - ~sys-devel/clang-runtime-${PV}
562 - default-compiler-rt? (
563 - =sys-libs/compiler-rt-${PV%_*}*
564 - llvm-libunwind? ( sys-libs/llvm-libunwind )
565 - !llvm-libunwind? ( sys-libs/libunwind )
566 - )
567 - default-libcxx? ( >=sys-libs/libcxx-${PV} )
568 - default-lld? ( sys-devel/lld )
569 -"
570 -
571 -LLVM_COMPONENTS=(
572 - clang clang-tools-extra cmake
573 - llvm/lib/Transforms/Hello
574 -)
575 -LLVM_MANPAGES=1
576 -LLVM_TEST_COMPONENTS=(
577 - llvm/lib/Testing/Support
578 - llvm/utils/{lit,llvm-lit,unittest}
579 - llvm/utils/{UpdateTestChecks,update_cc_test_checks.py}
580 -)
581 -LLVM_PATCHSET=${PV/_/-}
582 -LLVM_USE_TARGETS=llvm
583 -llvm.org_set_globals
584 -
585 -# Multilib notes:
586 -# 1. ABI_* flags control ABIs libclang* is built for only.
587 -# 2. clang is always capable of compiling code for all ABIs for enabled
588 -# target. However, you will need appropriate crt* files (installed
589 -# e.g. by sys-devel/gcc and sys-libs/glibc).
590 -# 3. ${CHOST}-clang wrappers are always installed for all ABIs included
591 -# in the current profile (i.e. alike supported by sys-devel/gcc).
592 -#
593 -# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need
594 -# multilib clang* libraries (not runtime, not wrappers).
595 -
596 -pkg_setup() {
597 - LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup
598 - python-single-r1_pkg_setup
599 -}
600 -
601 -src_prepare() {
602 - # create extra parent dir for relative CLANG_RESOURCE_DIR access
603 - mkdir -p x/y || die
604 - BUILD_DIR=${WORKDIR}/x/y/clang
605 -
606 - llvm.org_src_prepare
607 -
608 - # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch)
609 - eprefixify \
610 - lib/Lex/InitHeaderSearch.cpp \
611 - lib/Driver/ToolChains/Darwin.cpp || die
612 -}
613 -
614 -check_distribution_components() {
615 - if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
616 - local all_targets=() my_targets=() l
617 - cd "${BUILD_DIR}" || die
618 -
619 - while read -r l; do
620 - if [[ ${l} == install-*-stripped:* ]]; then
621 - l=${l#install-}
622 - l=${l%%-stripped*}
623 -
624 - case ${l} in
625 - # meta-targets
626 - clang-libraries|distribution)
627 - continue
628 - ;;
629 - # tools
630 - clang|clangd|clang-*)
631 - ;;
632 - # static libraries
633 - clang*|findAllSymbols)
634 - continue
635 - ;;
636 - # conditional to USE=doc
637 - docs-clang-html|docs-clang-tools-html)
638 - use doc || continue
639 - ;;
640 - esac
641 -
642 - all_targets+=( "${l}" )
643 - fi
644 - done < <(${NINJA} -t targets all)
645 -
646 - while read -r l; do
647 - my_targets+=( "${l}" )
648 - done < <(get_distribution_components $"\n")
649 -
650 - local add=() remove=()
651 - for l in "${all_targets[@]}"; do
652 - if ! has "${l}" "${my_targets[@]}"; then
653 - add+=( "${l}" )
654 - fi
655 - done
656 - for l in "${my_targets[@]}"; do
657 - if ! has "${l}" "${all_targets[@]}"; then
658 - remove+=( "${l}" )
659 - fi
660 - done
661 -
662 - if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
663 - eqawarn "get_distribution_components() is outdated!"
664 - eqawarn " Add: ${add[*]}"
665 - eqawarn "Remove: ${remove[*]}"
666 - fi
667 - cd - >/dev/null || die
668 - fi
669 -}
670 -
671 -get_distribution_components() {
672 - local sep=${1-;}
673 -
674 - local out=(
675 - # common stuff
676 - clang-cmake-exports
677 - clang-headers
678 - clang-resource-headers
679 - libclang-headers
680 -
681 - aarch64-resource-headers
682 - arm-common-resource-headers
683 - arm-resource-headers
684 - core-resource-headers
685 - cuda-resource-headers
686 - hexagon-resource-headers
687 - hip-resource-headers
688 - hlsl-resource-headers
689 - mips-resource-headers
690 - opencl-resource-headers
691 - openmp-resource-headers
692 - ppc-htm-resource-headers
693 - ppc-resource-headers
694 - riscv-resource-headers
695 - systemz-resource-headers
696 - utility-resource-headers
697 - ve-resource-headers
698 - webassembly-resource-headers
699 - windows-resource-headers
700 - x86-resource-headers
701 -
702 - # libs
703 - clang-cpp
704 - libclang
705 - )
706 -
707 - if multilib_is_native_abi; then
708 - out+=(
709 - # common stuff
710 - bash-autocomplete
711 - libclang-python-bindings
712 -
713 - # tools
714 - c-index-test
715 - clang
716 - clang-format
717 - clang-offload-bundler
718 - clang-offload-packager
719 - clang-offload-wrapper
720 - clang-pseudo
721 - clang-refactor
722 - clang-repl
723 - clang-rename
724 - clang-scan-deps
725 - diagtool
726 - hmaptool
727 -
728 - # extra tools
729 - clang-apply-replacements
730 - clang-change-namespace
731 - clang-doc
732 - clang-include-fixer
733 - clang-move
734 - clang-query
735 - clang-reorder-fields
736 - clang-tidy
737 - clang-tidy-headers
738 - clangd
739 - find-all-symbols
740 - modularize
741 - pp-trace
742 - )
743 -
744 - if llvm_are_manpages_built; then
745 - out+=(
746 - # manpages
747 - docs-clang-man
748 - docs-clang-tools-man
749 - )
750 - fi
751 -
752 - use doc && out+=(
753 - docs-clang-html
754 - docs-clang-tools-html
755 - )
756 -
757 - use static-analyzer && out+=(
758 - clang-check
759 - clang-extdef-mapping
760 - scan-build
761 - scan-build-py
762 - scan-view
763 - )
764 - fi
765 -
766 - printf "%s${sep}" "${out[@]}"
767 -}
768 -
769 -multilib_src_configure() {
770 - local llvm_version=$(llvm-config --version) || die
771 - local clang_version=$(ver_cut 1-3 "${llvm_version}")
772 -
773 - local mycmakeargs=(
774 - -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm"
775 - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
776 - -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
777 - # relative to bindir
778 - -DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}"
779 -
780 - -DBUILD_SHARED_LIBS=OFF
781 - -DCLANG_LINK_CLANG_DYLIB=ON
782 - -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
783 -
784 - -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
785 - -DLLVM_BUILD_TESTS=$(usex test)
786 -
787 - # these are not propagated reliably, so redefine them
788 - -DLLVM_ENABLE_EH=ON
789 - -DLLVM_ENABLE_RTTI=ON
790 -
791 - -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
792 - # libgomp support fails to find headers without explicit -I
793 - # furthermore, it provides only syntax checking
794 - -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
795 -
796 - # disable using CUDA to autodetect GPU, just build for all
797 - -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON
798 -
799 - # override default stdlib and rtlib
800 - -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "")
801 - -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "")
802 - -DCLANG_DEFAULT_LINKER=$(usex default-lld lld "")
803 - -DCLANG_DEFAULT_PIE_ON_LINUX=$(usex pie)
804 - -DCLANG_DEFAULT_UNWINDLIB=$(usex default-compiler-rt libunwind "")
805 -
806 - -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
807 - -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
808 -
809 - -DPython3_EXECUTABLE="${PYTHON}"
810 - )
811 - use test && mycmakeargs+=(
812 - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
813 - -DLLVM_EXTERNAL_LIT="${BUILD_DIR}/bin/llvm-lit"
814 - -DLLVM_LIT_ARGS="$(get_lit_flags)"
815 - )
816 -
817 - if multilib_is_native_abi; then
818 - local build_docs=OFF
819 - if llvm_are_manpages_built; then
820 - build_docs=ON
821 - mycmakeargs+=(
822 - -DLLVM_BUILD_DOCS=ON
823 - -DLLVM_ENABLE_SPHINX=ON
824 - -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
825 - -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
826 - -DSPHINX_WARNINGS_AS_ERRORS=OFF
827 - )
828 - fi
829 - mycmakeargs+=(
830 - -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra
831 - -DCLANG_INCLUDE_DOCS=${build_docs}
832 - -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs}
833 - )
834 - else
835 - mycmakeargs+=(
836 - -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF
837 - )
838 - fi
839 -
840 - if [[ -n ${EPREFIX} ]]; then
841 - mycmakeargs+=(
842 - -DGCC_INSTALL_PREFIX="${EPREFIX}/usr"
843 - )
844 - fi
845 -
846 - if tc-is-cross-compiler; then
847 - [[ -x "/usr/bin/clang-tblgen" ]] \
848 - || die "/usr/bin/clang-tblgen not found or usable"
849 - mycmakeargs+=(
850 - -DCMAKE_CROSSCOMPILING=ON
851 - -DCLANG_TABLEGEN=/usr/bin/clang-tblgen
852 - )
853 - fi
854 -
855 - # LLVM can have very high memory consumption while linking,
856 - # exhausting the limit on 32-bit linker executable
857 - use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
858 -
859 - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
860 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
861 - cmake_src_configure
862 -
863 - multilib_is_native_abi && check_distribution_components
864 -}
865 -
866 -multilib_src_compile() {
867 - cmake_build distribution
868 -
869 - # provide a symlink for tests
870 - if [[ ! -L ${WORKDIR}/lib/clang ]]; then
871 - mkdir -p "${WORKDIR}"/lib || die
872 - ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die
873 - fi
874 -}
875 -
876 -multilib_src_test() {
877 - # respect TMPDIR!
878 - local -x LIT_PRESERVES_TMP=1
879 - cmake_build check-clang
880 - multilib_is_native_abi &&
881 - cmake_build check-clang-tools check-clangd
882 -}
883 -
884 -src_install() {
885 - MULTILIB_WRAPPED_HEADERS=(
886 - /usr/include/clang/Config/config.h
887 - )
888 -
889 - multilib-minimal_src_install
890 -
891 - # Move runtime headers to /usr/lib/clang, where they belong
892 - mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die
893 - # move (remaining) wrapped headers back
894 - mv "${T}"/clang-tidy "${ED}"/usr/include/ || die
895 - mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
896 -
897 - # Apply CHOST and version suffix to clang tools
898 - # note: we use two version components here (vs 3 in runtime path)
899 - local llvm_version=$(llvm-config --version) || die
900 - local clang_version=$(ver_cut 1 "${llvm_version}")
901 - local clang_full_version=$(ver_cut 1-3 "${llvm_version}")
902 - local clang_tools=( clang clang++ clang-cl clang-cpp )
903 - local abi i
904 -
905 - # cmake gives us:
906 - # - clang-X
907 - # - clang -> clang-X
908 - # - clang++, clang-cl, clang-cpp -> clang
909 - # we want to have:
910 - # - clang-X
911 - # - clang++-X, clang-cl-X, clang-cpp-X -> clang-X
912 - # - clang, clang++, clang-cl, clang-cpp -> clang*-X
913 - # also in CHOST variant
914 - for i in "${clang_tools[@]:1}"; do
915 - rm "${ED}/usr/lib/llvm/${SLOT}/bin/${i}" || die
916 - dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}"
917 - dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}"
918 - done
919 -
920 - # now create target symlinks for all supported ABIs
921 - for abi in $(get_all_abis); do
922 - local abi_chost=$(get_abi_CHOST "${abi}")
923 - for i in "${clang_tools[@]}"; do
924 - dosym "${i}-${clang_version}" \
925 - "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}"
926 - dosym "${abi_chost}-${i}-${clang_version}" \
927 - "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}"
928 - done
929 - done
930 -}
931 -
932 -multilib_src_install() {
933 - DESTDIR=${D} cmake_build install-distribution
934 -
935 - # move headers to /usr/include for wrapping & ABI mismatch checks
936 - # (also drop the version suffix from runtime headers)
937 - rm -rf "${ED}"/usr/include || die
938 - mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
939 - mv "${ED}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die
940 - if multilib_is_native_abi; then
941 - # don't wrap clang-tidy headers, the list is too long
942 - # (they're fine for non-native ABI but enabling the targets is problematic)
943 - mv "${ED}"/usr/include/clang-tidy "${T}/" || die
944 - fi
945 -}
946 -
947 -multilib_src_install_all() {
948 - python_fix_shebang "${ED}"
949 - if use static-analyzer; then
950 - python_optimize "${ED}"/usr/lib/llvm/${SLOT}/share/scan-view
951 - fi
952 -
953 - docompress "/usr/lib/llvm/${SLOT}/share/man"
954 - llvm_install_manpages
955 - # match 'html' non-compression
956 - use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
957 - # +x for some reason; TODO: investigate
958 - use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1"
959 -}
960 -
961 -pkg_postinst() {
962 - if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
963 - eselect compiler-shadow update all
964 - fi
965 -
966 - elog "You can find additional utility scripts in:"
967 - elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/clang"
968 - elog "Some of them are vim integration scripts (with instructions inside)."
969 - elog "The run-clang-tidy.py script requires the following additional package:"
970 - elog " dev-python/pyyaml"
971 -}
972 -
973 -pkg_postrm() {
974 - if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
975 - eselect compiler-shadow clean all
976 - fi
977 -}