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