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: Mon, 26 Sep 2022 15:58:22
Message-Id: 1664207852.43d7e0c5ab75e562606e487293409bd523a4cf48.mgorny@gentoo
1 commit: 43d7e0c5ab75e562606e487293409bd523a4cf48
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Mon Sep 26 15:57:32 2022 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Mon Sep 26 15:57:32 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43d7e0c5
7
8 sys-devel/clang: Remove 16.0.0_pre20220926, it is too broken
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 sys-devel/clang/Manifest | 1 -
13 sys-devel/clang/clang-16.0.0_pre20220926.ebuild | 463 ------------------------
14 2 files changed, 464 deletions(-)
15
16 diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest
17 index 642d143e46a8..0aaec3968314 100644
18 --- a/sys-devel/clang/Manifest
19 +++ b/sys-devel/clang/Manifest
20 @@ -11,5 +11,4 @@ DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf
21 DIST llvm-project-15.0.1.src.tar.xz 112068688 BLAKE2B 8fd6690445f7cbc8b47a7c1dd1f2c4fbc39f9a97f9d4a0015d466726454b090b0d1ff9b0d926eba7065e84782901687f74e6540a36dc6656a93f3c92c7bc7e06 SHA512 cef84bc173118a30db3ece5e5c6f874bf689c77afc40a4792fdcb7556555ac14a8e6de1dc811755405e5d162d63bc69abaecba30d220a42765160d69f0073fda
22 DIST llvm-project-15.0.1.src.tar.xz.sig 438 BLAKE2B d8f634adab531bb19178fb27bc83b3a90c856e9402dd5af700f9af43813f68d20c21b9112dd95e9f6f10609ee51ed5aaf77edb96ca16fb93136b8aea432affd3 SHA512 cbf2570840d8dc12f6436c495a23cf9d439ee195755c01a6d1d5bcc20133599dc956dc43a0f5016698e3c9a960826f5f3c2840a73f993467e275856a67999fda
23 DIST llvm-project-303526ef3aa211c1930be2885deae15eeeda3b18.tar.gz 167503164 BLAKE2B 143c72c58517b3e40ee74c1a0df47bfd0d0f9e71926bc8c39a007e674a08df95d0ffe05f523f97e4409b248349e13719cabbc7ac6938feebe702959e84a07243 SHA512 9aa5c86de6c6be1d26c085eb29ea283429e41330e937e5fdbd545bb3f5b996ac82cd6268701fcbbd202e89ee35f2b67e595fc595bb7383778e9ad5fd52ca10a0
24 -DIST llvm-project-4f188ef89ce5a3bee21fd0b4e8fcdf7f030f64b2.tar.gz 168720595 BLAKE2B 10bd3ac4eea674fc171f17414f6892a681529b020a5d513e075920f7792fb31d6d4a3584679ebea24bc839c2a233459b935d368c7ea57c94ad27c7c81da05cff SHA512 77ae7eb57c8c50affb516581dabe3b31e342f7ed899440521b6738aeec3b6e795c50c078bbe0f483a070961c9b5b73a7bbe28e2f109e2ce69d238ddbda8e134f
25 DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
26
27 diff --git a/sys-devel/clang/clang-16.0.0_pre20220926.ebuild b/sys-devel/clang/clang-16.0.0_pre20220926.ebuild
28 deleted file mode 100644
29 index 5baa52268eff..000000000000
30 --- a/sys-devel/clang/clang-16.0.0_pre20220926.ebuild
31 +++ /dev/null
32 @@ -1,463 +0,0 @@
33 -# Copyright 1999-2022 Gentoo Authors
34 -# Distributed under the terms of the GNU General Public License v2
35 -
36 -EAPI=8
37 -
38 -PYTHON_COMPAT=( python3_{8..11} )
39 -inherit cmake llvm llvm.org multilib multilib-minimal \
40 - prefix python-single-r1 toolchain-funcs
41 -
42 -DESCRIPTION="C language family frontend for LLVM"
43 -HOMEPAGE="https://llvm.org/"
44 -
45 -# MSVCSetupApi.h: MIT
46 -# sorttable.js: MIT
47 -
48 -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT"
49 -SLOT="$(ver_cut 1)"
50 -KEYWORDS=""
51 -IUSE="
52 - debug default-compiler-rt default-libcxx default-lld doc
53 - llvm-libunwind +pie +static-analyzer test xml
54 -"
55 -REQUIRED_USE="${PYTHON_REQUIRED_USE}"
56 -RESTRICT="!test? ( test )"
57 -
58 -DEPEND="
59 - ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${MULTILIB_USEDEP}]
60 - static-analyzer? ( dev-lang/perl:* )
61 - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
62 -"
63 -
64 -RDEPEND="
65 - ${PYTHON_DEPS}
66 - ${DEPEND}
67 -"
68 -BDEPEND="
69 - ${PYTHON_DEPS}
70 - >=dev-util/cmake-3.16
71 - doc? ( $(python_gen_cond_dep '
72 - dev-python/recommonmark[${PYTHON_USEDEP}]
73 - dev-python/sphinx[${PYTHON_USEDEP}]
74 - ') )
75 - xml? ( virtual/pkgconfig )
76 -"
77 -PDEPEND="
78 - sys-devel/clang-common
79 - sys-devel/clang-toolchain-symlinks:${SLOT}
80 - ~sys-devel/clang-runtime-${PV}
81 - default-compiler-rt? (
82 - =sys-libs/compiler-rt-${PV%_*}*
83 - llvm-libunwind? ( sys-libs/llvm-libunwind )
84 - !llvm-libunwind? ( sys-libs/libunwind )
85 - )
86 - default-libcxx? ( >=sys-libs/libcxx-${PV} )
87 - default-lld? ( sys-devel/lld )
88 -"
89 -
90 -LLVM_COMPONENTS=(
91 - clang clang-tools-extra cmake
92 - llvm/lib/Transforms/Hello
93 -)
94 -LLVM_MANPAGES=1
95 -LLVM_TEST_COMPONENTS=(
96 - llvm/lib/Testing/Support
97 - llvm/utils/{lit,llvm-lit,unittest}
98 - llvm/utils/{UpdateTestChecks,update_cc_test_checks.py}
99 -)
100 -LLVM_PATCHSET=9999-r4
101 -LLVM_USE_TARGETS=llvm
102 -llvm.org_set_globals
103 -
104 -# Multilib notes:
105 -# 1. ABI_* flags control ABIs libclang* is built for only.
106 -# 2. clang is always capable of compiling code for all ABIs for enabled
107 -# target. However, you will need appropriate crt* files (installed
108 -# e.g. by sys-devel/gcc and sys-libs/glibc).
109 -# 3. ${CHOST}-clang wrappers are always installed for all ABIs included
110 -# in the current profile (i.e. alike supported by sys-devel/gcc).
111 -#
112 -# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need
113 -# multilib clang* libraries (not runtime, not wrappers).
114 -
115 -pkg_setup() {
116 - LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup
117 - python-single-r1_pkg_setup
118 -}
119 -
120 -src_prepare() {
121 - # create extra parent dir for relative CLANG_RESOURCE_DIR access
122 - mkdir -p x/y || die
123 - BUILD_DIR=${WORKDIR}/x/y/clang
124 -
125 - llvm.org_src_prepare
126 -
127 - # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch)
128 - eprefixify \
129 - lib/Lex/InitHeaderSearch.cpp \
130 - lib/Driver/ToolChains/Darwin.cpp || die
131 -}
132 -
133 -check_distribution_components() {
134 - if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
135 - local all_targets=() my_targets=() l
136 - cd "${BUILD_DIR}" || die
137 -
138 - while read -r l; do
139 - if [[ ${l} == install-*-stripped:* ]]; then
140 - l=${l#install-}
141 - l=${l%%-stripped*}
142 -
143 - case ${l} in
144 - # meta-targets
145 - clang-libraries|distribution)
146 - continue
147 - ;;
148 - # tools
149 - clang|clangd|clang-*)
150 - ;;
151 - # static libraries
152 - clang*|findAllSymbols)
153 - continue
154 - ;;
155 - # conditional to USE=doc
156 - docs-clang-html|docs-clang-tools-html)
157 - use doc || continue
158 - ;;
159 - esac
160 -
161 - all_targets+=( "${l}" )
162 - fi
163 - done < <(${NINJA} -t targets all)
164 -
165 - while read -r l; do
166 - my_targets+=( "${l}" )
167 - done < <(get_distribution_components $"\n")
168 -
169 - local add=() remove=()
170 - for l in "${all_targets[@]}"; do
171 - if ! has "${l}" "${my_targets[@]}"; then
172 - add+=( "${l}" )
173 - fi
174 - done
175 - for l in "${my_targets[@]}"; do
176 - if ! has "${l}" "${all_targets[@]}"; then
177 - remove+=( "${l}" )
178 - fi
179 - done
180 -
181 - if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
182 - eqawarn "get_distribution_components() is outdated!"
183 - eqawarn " Add: ${add[*]}"
184 - eqawarn "Remove: ${remove[*]}"
185 - fi
186 - cd - >/dev/null || die
187 - fi
188 -}
189 -
190 -get_distribution_components() {
191 - local sep=${1-;}
192 -
193 - local out=(
194 - # common stuff
195 - clang-cmake-exports
196 - clang-headers
197 - clang-resource-headers
198 - libclang-headers
199 -
200 - aarch64-resource-headers
201 - arm-common-resource-headers
202 - arm-resource-headers
203 - core-resource-headers
204 - cuda-resource-headers
205 - hexagon-resource-headers
206 - hip-resource-headers
207 - hlsl-resource-headers
208 - mips-resource-headers
209 - opencl-resource-headers
210 - openmp-resource-headers
211 - ppc-htm-resource-headers
212 - ppc-resource-headers
213 - riscv-resource-headers
214 - systemz-resource-headers
215 - utility-resource-headers
216 - ve-resource-headers
217 - webassembly-resource-headers
218 - windows-resource-headers
219 - x86-resource-headers
220 -
221 - # libs
222 - clang-cpp
223 - libclang
224 - )
225 -
226 - if multilib_is_native_abi; then
227 - out+=(
228 - # common stuff
229 - bash-autocomplete
230 - libclang-python-bindings
231 -
232 - # tools
233 - c-index-test
234 - clang
235 - clang-format
236 - clang-offload-bundler
237 - clang-offload-packager
238 - clang-pseudo
239 - clang-refactor
240 - clang-repl
241 - clang-rename
242 - clang-scan-deps
243 - diagtool
244 - hmaptool
245 -
246 - # extra tools
247 - clang-apply-replacements
248 - clang-change-namespace
249 - clang-doc
250 - clang-include-fixer
251 - clang-move
252 - clang-query
253 - clang-reorder-fields
254 - clang-tidy
255 - clang-tidy-headers
256 - clangd
257 - find-all-symbols
258 - modularize
259 - pp-trace
260 - )
261 -
262 - if llvm_are_manpages_built; then
263 - out+=(
264 - # manpages
265 - docs-clang-man
266 - docs-clang-tools-man
267 - )
268 - fi
269 -
270 - use doc && out+=(
271 - docs-clang-html
272 - docs-clang-tools-html
273 - )
274 -
275 - use static-analyzer && out+=(
276 - clang-check
277 - clang-extdef-mapping
278 - scan-build
279 - scan-build-py
280 - scan-view
281 - )
282 - fi
283 -
284 - printf "%s${sep}" "${out[@]}"
285 -}
286 -
287 -multilib_src_configure() {
288 - local llvm_version=$(llvm-config --version) || die
289 - local clang_version=$(ver_cut 1-3 "${llvm_version}")
290 -
291 - local mycmakeargs=(
292 - -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm"
293 - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
294 - -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
295 - # relative to bindir
296 - -DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}"
297 -
298 - -DBUILD_SHARED_LIBS=OFF
299 - -DCLANG_LINK_CLANG_DYLIB=ON
300 - -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
301 -
302 - -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
303 - -DLLVM_BUILD_TESTS=$(usex test)
304 -
305 - # these are not propagated reliably, so redefine them
306 - -DLLVM_ENABLE_EH=ON
307 - -DLLVM_ENABLE_RTTI=ON
308 -
309 - -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
310 - # libgomp support fails to find headers without explicit -I
311 - # furthermore, it provides only syntax checking
312 - -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
313 -
314 - # disable using CUDA to autodetect GPU, just build for all
315 - -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON
316 -
317 - # override default stdlib and rtlib
318 - -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "")
319 - -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "")
320 - -DCLANG_DEFAULT_LINKER=$(usex default-lld lld "")
321 - -DCLANG_DEFAULT_PIE_ON_LINUX=$(usex pie)
322 - -DCLANG_DEFAULT_UNWINDLIB=$(usex default-compiler-rt libunwind "")
323 -
324 - -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
325 - -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
326 -
327 - -DPython3_EXECUTABLE="${PYTHON}"
328 - )
329 - use test && mycmakeargs+=(
330 - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
331 - -DLLVM_EXTERNAL_LIT="${BUILD_DIR}/bin/llvm-lit"
332 - -DLLVM_LIT_ARGS="$(get_lit_flags)"
333 - )
334 -
335 - if multilib_is_native_abi; then
336 - local build_docs=OFF
337 - if llvm_are_manpages_built; then
338 - build_docs=ON
339 - mycmakeargs+=(
340 - -DLLVM_BUILD_DOCS=ON
341 - -DLLVM_ENABLE_SPHINX=ON
342 - -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
343 - -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
344 - -DSPHINX_WARNINGS_AS_ERRORS=OFF
345 - )
346 - fi
347 - mycmakeargs+=(
348 - -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra
349 - -DCLANG_INCLUDE_DOCS=${build_docs}
350 - -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs}
351 - )
352 - else
353 - mycmakeargs+=(
354 - -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF
355 - )
356 - fi
357 -
358 - if [[ -n ${EPREFIX} ]]; then
359 - mycmakeargs+=(
360 - -DGCC_INSTALL_PREFIX="${EPREFIX}/usr"
361 - )
362 - fi
363 -
364 - if tc-is-cross-compiler; then
365 - [[ -x "/usr/bin/clang-tblgen" ]] \
366 - || die "/usr/bin/clang-tblgen not found or usable"
367 - mycmakeargs+=(
368 - -DCMAKE_CROSSCOMPILING=ON
369 - -DCLANG_TABLEGEN=/usr/bin/clang-tblgen
370 - )
371 - fi
372 -
373 - # LLVM can have very high memory consumption while linking,
374 - # exhausting the limit on 32-bit linker executable
375 - use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
376 -
377 - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
378 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
379 - cmake_src_configure
380 -
381 - multilib_is_native_abi && check_distribution_components
382 -}
383 -
384 -multilib_src_compile() {
385 - cmake_build distribution
386 -
387 - # provide a symlink for tests
388 - if [[ ! -L ${WORKDIR}/lib/clang ]]; then
389 - mkdir -p "${WORKDIR}"/lib || die
390 - ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die
391 - fi
392 -}
393 -
394 -multilib_src_test() {
395 - # respect TMPDIR!
396 - local -x LIT_PRESERVES_TMP=1
397 - cmake_build check-clang
398 - multilib_is_native_abi &&
399 - cmake_build check-clang-tools check-clangd
400 -}
401 -
402 -src_install() {
403 - MULTILIB_WRAPPED_HEADERS=(
404 - /usr/include/clang/Config/config.h
405 - )
406 -
407 - multilib-minimal_src_install
408 -
409 - # Move runtime headers to /usr/lib/clang, where they belong
410 - mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die
411 - # move (remaining) wrapped headers back
412 - mv "${T}"/clang-tidy "${ED}"/usr/include/ || die
413 - mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
414 -
415 - # Apply CHOST and version suffix to clang tools
416 - # note: we use two version components here (vs 3 in runtime path)
417 - local llvm_version=$(llvm-config --version) || die
418 - local clang_version=$(ver_cut 1 "${llvm_version}")
419 - local clang_full_version=$(ver_cut 1-3 "${llvm_version}")
420 - local clang_tools=( clang clang++ clang-cl clang-cpp )
421 - local abi i
422 -
423 - # cmake gives us:
424 - # - clang-X
425 - # - clang -> clang-X
426 - # - clang++, clang-cl, clang-cpp -> clang
427 - # we want to have:
428 - # - clang-X
429 - # - clang++-X, clang-cl-X, clang-cpp-X -> clang-X
430 - # - clang, clang++, clang-cl, clang-cpp -> clang*-X
431 - # also in CHOST variant
432 - for i in "${clang_tools[@]:1}"; do
433 - rm "${ED}/usr/lib/llvm/${SLOT}/bin/${i}" || die
434 - dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}"
435 - dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}"
436 - done
437 -
438 - # now create target symlinks for all supported ABIs
439 - for abi in $(get_all_abis); do
440 - local abi_chost=$(get_abi_CHOST "${abi}")
441 - for i in "${clang_tools[@]}"; do
442 - dosym "${i}-${clang_version}" \
443 - "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}"
444 - dosym "${abi_chost}-${i}-${clang_version}" \
445 - "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}"
446 - done
447 - done
448 -}
449 -
450 -multilib_src_install() {
451 - DESTDIR=${D} cmake_build install-distribution
452 -
453 - # move headers to /usr/include for wrapping & ABI mismatch checks
454 - # (also drop the version suffix from runtime headers)
455 - rm -rf "${ED}"/usr/include || die
456 - mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
457 - mv "${ED}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die
458 - if multilib_is_native_abi; then
459 - # don't wrap clang-tidy headers, the list is too long
460 - # (they're fine for non-native ABI but enabling the targets is problematic)
461 - mv "${ED}"/usr/include/clang-tidy "${T}/" || die
462 - fi
463 -}
464 -
465 -multilib_src_install_all() {
466 - python_fix_shebang "${ED}"
467 - if use static-analyzer; then
468 - python_optimize "${ED}"/usr/lib/llvm/${SLOT}/share/scan-view
469 - fi
470 -
471 - docompress "/usr/lib/llvm/${SLOT}/share/man"
472 - llvm_install_manpages
473 - # match 'html' non-compression
474 - use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
475 - # +x for some reason; TODO: investigate
476 - use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1"
477 -}
478 -
479 -pkg_postinst() {
480 - if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
481 - eselect compiler-shadow update all
482 - fi
483 -
484 - elog "You can find additional utility scripts in:"
485 - elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/clang"
486 - elog "Some of them are vim integration scripts (with instructions inside)."
487 - elog "The run-clang-tidy.py script requires the following additional package:"
488 - elog " dev-python/pyyaml"
489 -}
490 -
491 -pkg_postrm() {
492 - if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
493 - eselect compiler-shadow clean all
494 - fi
495 -}