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/llvm/
Date: Tue, 09 Feb 2021 15:28:33
Message-Id: 1612884493.ec7036486cf763f87625bf6abb3726d53dba2e0b.mgorny@gentoo
1 commit: ec7036486cf763f87625bf6abb3726d53dba2e0b
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Tue Feb 9 15:26:06 2021 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Tue Feb 9 15:28:13 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec703648
7
8 sys-devel/llvm: Bump to 11.1.0-rc3
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 sys-devel/llvm/Manifest | 1 +
13 sys-devel/llvm/llvm-11.1.0_rc3.ebuild | 516 ++++++++++++++++++++++++++++++++++
14 2 files changed, 517 insertions(+)
15
16 diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
17 index 4d759b1c784..1b0796f9067 100644
18 --- a/sys-devel/llvm/Manifest
19 +++ b/sys-devel/llvm/Manifest
20 @@ -7,5 +7,6 @@ DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc
21 DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
22 DIST llvmorg-11.1.0-rc1.tar.gz 122793491 BLAKE2B f4777455f5903cffea284eaffd872be6c287c6c1ebbd0c4b5b5473f146d7f5476f3551998a58d3e976ab90cde7b0d05db2b3be97f4e8e2c3474755ff38739268 SHA512 44e281486c44fa1611042ab658b9833a75f9613b7f896863613cfb99de66d13607fb1e9064f42ea3d89ca7951113465a90fd96ca4544262f165f78bd5261f5a8
23 DIST llvmorg-11.1.0-rc2.tar.gz 122794772 BLAKE2B ab533f078d9d6c37e27c578866a07896344a0b4cf4ebf6402f4fa490213e017310d1c882bf63e552e99a5b4f6d1d8c01413420713b200bfa6732eff64f3c47a9 SHA512 88d8f1d938f0ba7ec39478d03a35c09a30bea51735276205494265b1061621b3ebcda8ee4211e896783b1b99a377c9fa68046118b0d6cb7fcb7bea1e960f95b7
24 +DIST llvmorg-11.1.0-rc3.tar.gz 122785838 BLAKE2B d0998219471476be1a1249b3a2444750585a352047d4dc14de6fec87eb3407d0f4b848757340200d3423cb4090554ae033fb4ec3797446e46556fbb566bb77a3 SHA512 b67874cb127f3f929a3796558cdfbf509b384c4247f4936ba08cecf88ca880a167cf67c23d78104b5bab4a98efd9435d1b923deb7ae7367875414e6c896957d1
25 DIST llvmorg-12.0.0-rc1.tar.gz 134164708 BLAKE2B d4261ff7d9586b47f4cfda3d2cda4b76534f9e17fbd5cdb8861895b8eb466021962f4608bfcdeb52f8fce78850a994fd5eda0560f7211e5c8d1ac9330a738a36 SHA512 3d07d013d0705bb99f56898cc55d054d0d95aeb53b3c756cfab80b4c9097cc4935bcea89b9efde2e503a899b9fccf0dacc0073c9991c8ea352755c5ec68a757a
26 DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
27
28 diff --git a/sys-devel/llvm/llvm-11.1.0_rc3.ebuild b/sys-devel/llvm/llvm-11.1.0_rc3.ebuild
29 new file mode 100644
30 index 00000000000..6b479a5280e
31 --- /dev/null
32 +++ b/sys-devel/llvm/llvm-11.1.0_rc3.ebuild
33 @@ -0,0 +1,516 @@
34 +# Copyright 1999-2021 Gentoo Authors
35 +# Distributed under the terms of the GNU General Public License v2
36 +
37 +EAPI=7
38 +
39 +PYTHON_COMPAT=( python3_{7..9} )
40 +inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
41 + toolchain-funcs
42 +
43 +DESCRIPTION="Low Level Virtual Machine"
44 +HOMEPAGE="https://llvm.org/"
45 +
46 +# Those are in lib/Targets, without explicit CMakeLists.txt mention
47 +ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
48 +# Keep in sync with CMakeLists.txt
49 +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
50 + NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
51 + "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
52 +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
53 +
54 +# Additional licenses:
55 +# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
56 +# 2. xxhash: BSD.
57 +# 3. MD5 code: public-domain.
58 +# 4. ConvertUTF.h: TODO.
59 +
60 +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
61 +SLOT="$(ver_cut 1)"
62 +KEYWORDS=""
63 +IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
64 + kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
65 +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
66 +RESTRICT="!test? ( test )"
67 +
68 +RDEPEND="
69 + sys-libs/zlib:0=[${MULTILIB_USEDEP}]
70 + exegesis? ( dev-libs/libpfm:= )
71 + gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
72 + libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
73 + libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
74 + ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
75 + xar? ( app-arch/xar )
76 + xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
77 + z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
78 +DEPEND="${RDEPEND}
79 + gold? ( sys-libs/binutils-libs )"
80 +BDEPEND="
81 + dev-lang/perl
82 + >=dev-util/cmake-3.16
83 + sys-devel/gnuconfig
84 + kernel_Darwin? (
85 + <sys-libs/libcxx-$(ver_cut 1-3).9999
86 + >=sys-devel/binutils-apple-5.1
87 + )
88 + doc? ( $(python_gen_any_dep '
89 + dev-python/recommonmark[${PYTHON_USEDEP}]
90 + dev-python/sphinx[${PYTHON_USEDEP}]
91 + ') )
92 + libffi? ( virtual/pkgconfig )
93 + ${PYTHON_DEPS}"
94 +# There are no file collisions between these versions but having :0
95 +# installed means llvm-config there will take precedence.
96 +RDEPEND="${RDEPEND}
97 + !sys-devel/llvm:0"
98 +PDEPEND="sys-devel/llvm-common
99 + gold? ( >=sys-devel/llvmgold-${SLOT} )"
100 +
101 +LLVM_COMPONENTS=( llvm )
102 +LLVM_MANPAGES=build
103 +llvm.org_set_globals
104 +
105 +python_check_deps() {
106 + use doc || return 0
107 +
108 + has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
109 + has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
110 +}
111 +
112 +check_live_ebuild() {
113 + local prod_targets=(
114 + $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
115 + | tail -n +2 | head -n -1)
116 + )
117 + local all_targets=(
118 + lib/Target/*/
119 + )
120 + all_targets=( "${all_targets[@]#lib/Target/}" )
121 + all_targets=( "${all_targets[@]%/}" )
122 +
123 + local exp_targets=() i
124 + for i in "${all_targets[@]}"; do
125 + has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
126 + done
127 + # reorder
128 + all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
129 +
130 + if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
131 + eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
132 + eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
133 + eqawarn "Expected: ${exp_targets[*]}"
134 + eqawarn
135 + fi
136 +
137 + if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
138 + eqawarn "ALL_LLVM_TARGETS is outdated!"
139 + eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
140 + eqawarn "Expected: ${all_targets[*]}"
141 + fi
142 +}
143 +
144 +check_distribution_components() {
145 + if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
146 + local all_targets=() my_targets=() l
147 + cd "${BUILD_DIR}" || die
148 +
149 + while read -r l; do
150 + if [[ ${l} == install-*-stripped:* ]]; then
151 + l=${l#install-}
152 + l=${l%%-stripped*}
153 +
154 + case ${l} in
155 + # shared libs
156 + LLVM|LLVMgold)
157 + ;;
158 + # TableGen lib + deps
159 + LLVMDemangle|LLVMSupport|LLVMTableGen)
160 + ;;
161 + # static libs
162 + LLVM*)
163 + continue
164 + ;;
165 + # meta-targets
166 + distribution|llvm-libraries)
167 + continue
168 + ;;
169 + # used only w/ USE=doc
170 + docs-llvm-html)
171 + use doc || continue
172 + ;;
173 + esac
174 +
175 + all_targets+=( "${l}" )
176 + fi
177 + done < <(ninja -t targets all)
178 +
179 + while read -r l; do
180 + my_targets+=( "${l}" )
181 + done < <(get_distribution_components $"\n")
182 +
183 + local add=() remove=()
184 + for l in "${all_targets[@]}"; do
185 + if ! has "${l}" "${my_targets[@]}"; then
186 + add+=( "${l}" )
187 + fi
188 + done
189 + for l in "${my_targets[@]}"; do
190 + if ! has "${l}" "${all_targets[@]}"; then
191 + remove+=( "${l}" )
192 + fi
193 + done
194 +
195 + if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
196 + eqawarn "get_distribution_components() is outdated!"
197 + eqawarn " Add: ${add[*]}"
198 + eqawarn "Remove: ${remove[*]}"
199 + fi
200 + cd - >/dev/null || die
201 + fi
202 +}
203 +
204 +src_prepare() {
205 + # Fix llvm-config for shared linking and sane flags
206 + # https://bugs.gentoo.org/show_bug.cgi?id=565358
207 + eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
208 +
209 + # disable use of SDK on OSX, bug #568758
210 + sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
211 +
212 + # Update config.guess to support more systems
213 + cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
214 +
215 + # Verify that the live ebuild is up-to-date
216 + check_live_ebuild
217 +
218 + llvm.org_src_prepare
219 +}
220 +
221 +# Is LLVM being linked against libc++?
222 +is_libcxx_linked() {
223 + local code='#include <ciso646>
224 +#if defined(_LIBCPP_VERSION)
225 + HAVE_LIBCXX
226 +#endif
227 +'
228 + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
229 +
230 + [[ ${out} == *HAVE_LIBCXX* ]]
231 +}
232 +
233 +get_distribution_components() {
234 + local sep=${1-;}
235 +
236 + local out=(
237 + # shared libs
238 + LLVM
239 + LTO
240 + Remarks
241 +
242 + # tools
243 + llvm-config
244 +
245 + # common stuff
246 + cmake-exports
247 + llvm-headers
248 +
249 + # libraries needed for clang-tblgen
250 + LLVMDemangle
251 + LLVMSupport
252 + LLVMTableGen
253 + )
254 +
255 + if multilib_is_native_abi; then
256 + out+=(
257 + # utilities
258 + llvm-tblgen
259 + FileCheck
260 + llvm-PerfectShuffle
261 + count
262 + not
263 + yaml-bench
264 +
265 + # tools
266 + bugpoint
267 + dsymutil
268 + llc
269 + lli
270 + lli-child-target
271 + llvm-addr2line
272 + llvm-ar
273 + llvm-as
274 + llvm-bcanalyzer
275 + llvm-c-test
276 + llvm-cat
277 + llvm-cfi-verify
278 + llvm-config
279 + llvm-cov
280 + llvm-cvtres
281 + llvm-cxxdump
282 + llvm-cxxfilt
283 + llvm-cxxmap
284 + llvm-diff
285 + llvm-dis
286 + llvm-dlltool
287 + llvm-dwarfdump
288 + llvm-dwp
289 + llvm-elfabi
290 + llvm-exegesis
291 + llvm-extract
292 + llvm-gsymutil
293 + llvm-ifs
294 + llvm-install-name-tool
295 + llvm-jitlink
296 + llvm-lib
297 + llvm-link
298 + llvm-lipo
299 + llvm-lto
300 + llvm-lto2
301 + llvm-mc
302 + llvm-mca
303 + llvm-ml
304 + llvm-modextract
305 + llvm-mt
306 + llvm-nm
307 + llvm-objcopy
308 + llvm-objdump
309 + llvm-opt-report
310 + llvm-pdbutil
311 + llvm-profdata
312 + llvm-ranlib
313 + llvm-rc
314 + llvm-readelf
315 + llvm-readobj
316 + llvm-reduce
317 + llvm-rtdyld
318 + llvm-size
319 + llvm-split
320 + llvm-stress
321 + llvm-strings
322 + llvm-strip
323 + llvm-symbolizer
324 + llvm-undname
325 + llvm-xray
326 + obj2yaml
327 + opt
328 + sancov
329 + sanstats
330 + verify-uselistorder
331 + yaml2obj
332 +
333 + # python modules
334 + opt-viewer
335 + )
336 +
337 + if llvm_are_manpages_built; then
338 + out+=(
339 + # manpages
340 + docs-dsymutil-man
341 + docs-llvm-dwarfdump-man
342 + docs-llvm-man
343 + )
344 + fi
345 + use doc && out+=(
346 + docs-llvm-html
347 + )
348 +
349 + use gold && out+=(
350 + LLVMgold
351 + )
352 + fi
353 +
354 + printf "%s${sep}" "${out[@]}"
355 +}
356 +
357 +multilib_src_configure() {
358 + local ffi_cflags ffi_ldflags
359 + if use libffi; then
360 + ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
361 + ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
362 + fi
363 +
364 + local libdir=$(get_libdir)
365 + local mycmakeargs=(
366 + # disable appending VCS revision to the version to improve
367 + # direct cache hit ratio
368 + -DLLVM_APPEND_VC_REV=OFF
369 + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
370 + -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
371 +
372 + -DBUILD_SHARED_LIBS=OFF
373 + -DLLVM_BUILD_LLVM_DYLIB=ON
374 + -DLLVM_LINK_LLVM_DYLIB=ON
375 + -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
376 +
377 + # cheap hack: LLVM combines both anyway, and the only difference
378 + # is that the former list is explicitly verified at cmake time
379 + -DLLVM_TARGETS_TO_BUILD=""
380 + -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
381 + -DLLVM_BUILD_TESTS=$(usex test)
382 +
383 + -DLLVM_ENABLE_FFI=$(usex libffi)
384 + -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
385 + -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
386 + -DLLVM_ENABLE_LIBXML2=$(usex xml)
387 + -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
388 + -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
389 + -DLLVM_ENABLE_EH=ON
390 + -DLLVM_ENABLE_RTTI=ON
391 + -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
392 +
393 + -DLLVM_HOST_TRIPLE="${CHOST}"
394 +
395 + -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
396 + -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
397 + # used only for llvm-objdump tool
398 + -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
399 +
400 + -DPython3_EXECUTABLE="${PYTHON}"
401 +
402 + # disable OCaml bindings (now in dev-ml/llvm-ocaml)
403 + -DOCAMLFIND=NO
404 + )
405 +
406 + if is_libcxx_linked; then
407 + # Smart hack: alter version suffix -> SOVERSION when linking
408 + # against libc++. This way we won't end up mixing LLVM libc++
409 + # libraries with libstdc++ clang, and the other way around.
410 + mycmakeargs+=(
411 + -DLLVM_VERSION_SUFFIX="libcxx"
412 + -DLLVM_ENABLE_LIBCXX=ON
413 + )
414 + fi
415 +
416 +# Note: go bindings have no CMake rules at the moment
417 +# but let's kill the check in case they are introduced
418 +# if ! multilib_is_native_abi || ! use go; then
419 + mycmakeargs+=(
420 + -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
421 + )
422 +# fi
423 +
424 + use test && mycmakeargs+=(
425 + -DLLVM_LIT_ARGS="$(get_lit_flags)"
426 + )
427 +
428 + if multilib_is_native_abi; then
429 + local build_docs=OFF
430 + if llvm_are_manpages_built; then
431 + build_docs=ON
432 + mycmakeargs+=(
433 + -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
434 + -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
435 + -DSPHINX_WARNINGS_AS_ERRORS=OFF
436 + )
437 + fi
438 +
439 + mycmakeargs+=(
440 + -DLLVM_BUILD_DOCS=${build_docs}
441 + -DLLVM_ENABLE_OCAMLDOC=OFF
442 + -DLLVM_ENABLE_SPHINX=${build_docs}
443 + -DLLVM_ENABLE_DOXYGEN=OFF
444 + -DLLVM_INSTALL_UTILS=ON
445 + )
446 + use gold && mycmakeargs+=(
447 + -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
448 + )
449 + fi
450 +
451 + if tc-is-cross-compiler; then
452 + local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
453 + [[ -x "${tblgen}" ]] \
454 + || die "${tblgen} not found or usable"
455 + mycmakeargs+=(
456 + -DCMAKE_CROSSCOMPILING=ON
457 + -DLLVM_TABLEGEN="${tblgen}"
458 + )
459 + fi
460 +
461 + # workaround BMI bug in gcc-7 (fixed in 7.4)
462 + # https://bugs.gentoo.org/649880
463 + # apply only to x86, https://bugs.gentoo.org/650506
464 + if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
465 + [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
466 + then
467 + local CFLAGS="${CFLAGS} -mno-bmi"
468 + local CXXFLAGS="${CXXFLAGS} -mno-bmi"
469 + fi
470 +
471 + # LLVM can have very high memory consumption while linking,
472 + # exhausting the limit on 32-bit linker executable
473 + use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
474 +
475 + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
476 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
477 + cmake_src_configure
478 +
479 + multilib_is_native_abi && check_distribution_components
480 +}
481 +
482 +multilib_src_compile() {
483 + cmake_build distribution
484 +
485 + pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
486 + pax-mark m "${BUILD_DIR}"/bin/lli
487 + pax-mark m "${BUILD_DIR}"/bin/lli-child-target
488 +
489 + if use test; then
490 + pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
491 + pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
492 + pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
493 + fi
494 +}
495 +
496 +multilib_src_test() {
497 + # respect TMPDIR!
498 + local -x LIT_PRESERVES_TMP=1
499 + cmake_build check
500 +}
501 +
502 +src_install() {
503 + local MULTILIB_CHOST_TOOLS=(
504 + /usr/lib/llvm/${SLOT}/bin/llvm-config
505 + )
506 +
507 + local MULTILIB_WRAPPED_HEADERS=(
508 + /usr/include/llvm/Config/llvm-config.h
509 + )
510 +
511 + local LLVM_LDPATHS=()
512 + multilib-minimal_src_install
513 +
514 + # move wrapped headers back
515 + mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
516 +}
517 +
518 +multilib_src_install() {
519 + DESTDIR=${D} cmake_build install-distribution
520 +
521 + # move headers to /usr/include for wrapping
522 + rm -rf "${ED}"/usr/include || die
523 + mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
524 +
525 + LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
526 +}
527 +
528 +multilib_src_install_all() {
529 + local revord=$(( 9999 - ${SLOT} ))
530 + newenvd - "60llvm-${revord}" <<-_EOF_
531 + PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
532 + # we need to duplicate it in ROOTPATH for Portage to respect...
533 + ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
534 + MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
535 + LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
536 + _EOF_
537 +
538 + docompress "/usr/lib/llvm/${SLOT}/share/man"
539 + llvm_install_manpages
540 +}
541 +
542 +pkg_postinst() {
543 + elog "You can find additional opt-viewer utility scripts in:"
544 + elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
545 + elog "To use these scripts, you will need Python along with the following"
546 + elog "packages:"
547 + elog " dev-python/pygments (for opt-viewer)"
548 + elog " dev-python/pyyaml (for all of them)"
549 +}