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