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