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