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