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: Wed, 03 Aug 2022 07:02:36
Message-Id: 1659509734.2ba31d4a9bf3e7cd874426301a61c1f89c36345a.mgorny@gentoo
1 commit: 2ba31d4a9bf3e7cd874426301a61c1f89c36345a
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Wed Aug 3 06:54:50 2022 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Wed Aug 3 06:55:34 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2ba31d4a
7
8 sys-devel/llvm: Remove old
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 sys-devel/llvm/Manifest | 5 -
13 sys-devel/llvm/llvm-14.0.4.ebuild | 530 -----------------------------------
14 sys-devel/llvm/llvm-14.0.6-r1.ebuild | 530 -----------------------------------
15 sys-devel/llvm/llvm-14.0.6.ebuild | 530 -----------------------------------
16 4 files changed, 1595 deletions(-)
17
18 diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
19 index 57a9e8399d02..b3b1a78759aa 100644
20 --- a/sys-devel/llvm/Manifest
21 +++ b/sys-devel/llvm/Manifest
22 @@ -1,13 +1,8 @@
23 DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572
24 -DIST llvm-14.0.4-manpages.tar.bz2 214161 BLAKE2B 9e8a0a78cce26b0e5235750a2af99542a496d34726046fbfa3274a22a55a75b3210c4af49e768130515c636ae3d6350f909ccb601888c276ce8cbd6b029b7172 SHA512 793dcbac320d26d26c637f2d38de0a55f5a91d13c93fa1aa2753103a07720248ffc16e8f1914ce81e8c291f02797360c052c23b027d773ac05a5563744313828
25 DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff6312b89abeef3fbe5da5d0b93bb2add1088ddf64a0b00ec8846062d19b1ad31e53eadee7ce03c9034aab554e183d1baccf6 SHA512 f8328dc2ec1e8d941d47e583ee31fae7bdcebb3f854b5c8a4a84bd19a79bf5427ad204012c81349bc05a291e41cf48e5129b4578bbd5d4490dd01e1c0b5823bf
26 DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
27 -DIST llvm-gentoo-patchset-14.0.4.tar.xz 4072 BLAKE2B cbd8804e33069ca2709503931545a57cfd33c06f28696d876d499285e9add9487a069495b756bbb94d29a162c39ece651defddd302e3ac523c5484c09fb3d2ea SHA512 db00268d01e7ec99b907321384c02468a53020386ee4fc819fabfc1cd0784323044931dac42437968d5fd37190da1b9f8f847af553a65a0595c33cecfd82c293
28 -DIST llvm-gentoo-patchset-14.0.6-r1.tar.xz 5960 BLAKE2B eadca4c09c216674fa27301670e2609a054d5d6df938502c37bb0e0c011cb7d9284eeb5eb223d3aba386ea2d6255d6a34d85913b976268c4d252764361669d81 SHA512 f4cb73c4a07206cae170cda5c2f2244431c0ce1f7f3c8b79a7253957b998cb4f3225737ec2a049d26eebabe9482378c7e9a5e6e069a6f96890ef8f85c599f07c
29 DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
30 -DIST llvm-gentoo-patchset-14.0.6.tar.xz 4544 BLAKE2B b613582fa048837303168a2d62835688128621236022ca6c232293cb2e4549174ef256e7dcd8303bfef6d5456d0459ddb2cbda4a4d323b82901da4c16f15dcc4 SHA512 fb89a3186c5bffdc6245ed103d79fe6802a86986bd43891b7e128955bd546dffcb5b4083ac9e7966f67ce8dd82322756a11428ab4c62d21f012d614062adab35
31 DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
32 DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
33 DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
34 DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
35 -DIST llvmorg-14.0.4.tar.gz 158088617 BLAKE2B 7fb894548dce72593a8639b4d0220d2499577f80d38b97600749c91a498c69dfbbe818cee35e4a76370795e55da7037543ea341ad7567a6f548893c67dce9e64 SHA512 e14e6c3a1915a96e9ddc609f16ca3a398ca6f7fd0a691dadaa24490078a661340e845cb2d18f3679de4f47300bb822c33ae69548af6a0370d55737831a28b959
36
37 diff --git a/sys-devel/llvm/llvm-14.0.4.ebuild b/sys-devel/llvm/llvm-14.0.4.ebuild
38 deleted file mode 100644
39 index a003f620a1fa..000000000000
40 --- a/sys-devel/llvm/llvm-14.0.4.ebuild
41 +++ /dev/null
42 @@ -1,530 +0,0 @@
43 -# Copyright 1999-2022 Gentoo Authors
44 -# Distributed under the terms of the GNU General Public License v2
45 -
46 -EAPI=8
47 -
48 -PYTHON_COMPAT=( python3_{8..10} )
49 -inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
50 - toolchain-funcs
51 -
52 -DESCRIPTION="Low Level Virtual Machine"
53 -HOMEPAGE="https://llvm.org/"
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="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
64 -IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
65 -RESTRICT="!test? ( test )"
66 -
67 -RDEPEND="
68 - sys-libs/zlib:0=[${MULTILIB_USEDEP}]
69 - binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
70 - exegesis? ( dev-libs/libpfm:= )
71 - libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
72 - libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
73 - ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
74 - xar? ( app-arch/xar )
75 - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
76 - z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
77 -"
78 -DEPEND="
79 - ${RDEPEND}
80 - binutils-plugin? ( sys-libs/binutils-libs )
81 -"
82 -BDEPEND="
83 - ${PYTHON_DEPS}
84 - dev-lang/perl
85 - >=dev-util/cmake-3.16
86 - sys-devel/gnuconfig
87 - kernel_Darwin? (
88 - <sys-libs/libcxx-$(ver_cut 1-3).9999
89 - >=sys-devel/binutils-apple-5.1
90 - )
91 - doc? ( $(python_gen_any_dep '
92 - dev-python/recommonmark[${PYTHON_USEDEP}]
93 - dev-python/sphinx[${PYTHON_USEDEP}]
94 - ') )
95 - libffi? ( virtual/pkgconfig )
96 - test? (
97 - sys-apps/which
98 - )
99 -"
100 -# There are no file collisions between these versions but having :0
101 -# installed means llvm-config there will take precedence.
102 -RDEPEND="
103 - ${RDEPEND}
104 - !sys-devel/llvm:0
105 -"
106 -PDEPEND="
107 - sys-devel/llvm-common
108 - binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
109 -"
110 -
111 -LLVM_COMPONENTS=( llvm cmake third-party )
112 -LLVM_MANPAGES=1
113 -LLVM_PATCHSET=${PV}
114 -LLVM_USE_TARGETS=provide
115 -llvm.org_set_globals
116 -
117 -python_check_deps() {
118 - use doc || return 0
119 -
120 - has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
121 - has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
122 -}
123 -
124 -check_uptodate() {
125 - local prod_targets=(
126 - $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
127 - | tail -n +2 | head -n -1)
128 - )
129 - local all_targets=(
130 - lib/Target/*/
131 - )
132 - all_targets=( "${all_targets[@]#lib/Target/}" )
133 - all_targets=( "${all_targets[@]%/}" )
134 -
135 - local exp_targets=() i
136 - for i in "${all_targets[@]}"; do
137 - has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
138 - done
139 -
140 - if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
141 - eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
142 - eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
143 - eqawarn "Expected: ${exp_targets[*]}"
144 - eqawarn
145 - fi
146 -
147 - if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
148 - eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
149 - eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
150 - eqawarn "Expected: ${prod_targets[*]}"
151 - fi
152 -}
153 -
154 -check_distribution_components() {
155 - if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
156 - local all_targets=() my_targets=() l
157 - cd "${BUILD_DIR}" || die
158 -
159 - while read -r l; do
160 - if [[ ${l} == install-*-stripped:* ]]; then
161 - l=${l#install-}
162 - l=${l%%-stripped*}
163 -
164 - case ${l} in
165 - # shared libs
166 - LLVM|LLVMgold)
167 - ;;
168 - # TableGen lib + deps
169 - LLVMDemangle|LLVMSupport|LLVMTableGen)
170 - ;;
171 - # static libs
172 - LLVM*)
173 - continue
174 - ;;
175 - # meta-targets
176 - distribution|llvm-libraries)
177 - continue
178 - ;;
179 - # used only w/ USE=doc
180 - docs-llvm-html)
181 - use doc || continue
182 - ;;
183 - esac
184 -
185 - all_targets+=( "${l}" )
186 - fi
187 - done < <(${NINJA} -t targets all)
188 -
189 - while read -r l; do
190 - my_targets+=( "${l}" )
191 - done < <(get_distribution_components $"\n")
192 -
193 - local add=() remove=()
194 - for l in "${all_targets[@]}"; do
195 - if ! has "${l}" "${my_targets[@]}"; then
196 - add+=( "${l}" )
197 - fi
198 - done
199 - for l in "${my_targets[@]}"; do
200 - if ! has "${l}" "${all_targets[@]}"; then
201 - remove+=( "${l}" )
202 - fi
203 - done
204 -
205 - if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
206 - eqawarn "get_distribution_components() is outdated!"
207 - eqawarn " Add: ${add[*]}"
208 - eqawarn "Remove: ${remove[*]}"
209 - fi
210 - cd - >/dev/null || die
211 - fi
212 -}
213 -
214 -src_prepare() {
215 - # disable use of SDK on OSX, bug #568758
216 - sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
217 -
218 - # Update config.guess to support more systems
219 - cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
220 -
221 - # Verify that the ebuild is up-to-date
222 - check_uptodate
223 -
224 - llvm.org_src_prepare
225 -
226 - # remove regressing test
227 - # https://github.com/llvm/llvm-project/issues/55761
228 - rm test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll || die
229 -}
230 -
231 -# Is LLVM being linked against libc++?
232 -is_libcxx_linked() {
233 - local code='#include <ciso646>
234 -#if defined(_LIBCPP_VERSION)
235 - HAVE_LIBCXX
236 -#endif
237 -'
238 - local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
239 -
240 - [[ ${out} == *HAVE_LIBCXX* ]]
241 -}
242 -
243 -get_distribution_components() {
244 - local sep=${1-;}
245 -
246 - local out=(
247 - # shared libs
248 - LLVM
249 - LTO
250 - Remarks
251 -
252 - # tools
253 - llvm-config
254 -
255 - # common stuff
256 - cmake-exports
257 - llvm-headers
258 -
259 - # libraries needed for clang-tblgen
260 - LLVMDemangle
261 - LLVMSupport
262 - LLVMTableGen
263 - )
264 -
265 - if multilib_is_native_abi; then
266 - out+=(
267 - # utilities
268 - llvm-tblgen
269 - FileCheck
270 - llvm-PerfectShuffle
271 - count
272 - not
273 - yaml-bench
274 -
275 - # tools
276 - bugpoint
277 - dsymutil
278 - llc
279 - lli
280 - lli-child-target
281 - llvm-addr2line
282 - llvm-ar
283 - llvm-as
284 - llvm-bcanalyzer
285 - llvm-bitcode-strip
286 - llvm-c-test
287 - llvm-cat
288 - llvm-cfi-verify
289 - llvm-config
290 - llvm-cov
291 - llvm-cvtres
292 - llvm-cxxdump
293 - llvm-cxxfilt
294 - llvm-cxxmap
295 - llvm-debuginfod-find
296 - llvm-diff
297 - llvm-dis
298 - llvm-dlltool
299 - llvm-dwarfdump
300 - llvm-dwp
301 - llvm-exegesis
302 - llvm-extract
303 - llvm-gsymutil
304 - llvm-ifs
305 - llvm-install-name-tool
306 - llvm-jitlink
307 - llvm-jitlink-executor
308 - llvm-lib
309 - llvm-libtool-darwin
310 - llvm-link
311 - llvm-lipo
312 - llvm-lto
313 - llvm-lto2
314 - llvm-mc
315 - llvm-mca
316 - llvm-ml
317 - llvm-modextract
318 - llvm-mt
319 - llvm-nm
320 - llvm-objcopy
321 - llvm-objdump
322 - llvm-opt-report
323 - llvm-otool
324 - llvm-pdbutil
325 - llvm-profdata
326 - llvm-profgen
327 - llvm-ranlib
328 - llvm-rc
329 - llvm-readelf
330 - llvm-readobj
331 - llvm-reduce
332 - llvm-rtdyld
333 - llvm-sim
334 - llvm-size
335 - llvm-split
336 - llvm-stress
337 - llvm-strings
338 - llvm-strip
339 - llvm-symbolizer
340 - llvm-tapi-diff
341 - llvm-tli-checker
342 - llvm-undname
343 - llvm-windres
344 - llvm-xray
345 - obj2yaml
346 - opt
347 - sancov
348 - sanstats
349 - split-file
350 - verify-uselistorder
351 - yaml2obj
352 -
353 - # python modules
354 - opt-viewer
355 - )
356 -
357 - if llvm_are_manpages_built; then
358 - out+=(
359 - # manpages
360 - docs-dsymutil-man
361 - docs-llvm-dwarfdump-man
362 - docs-llvm-man
363 - )
364 - fi
365 - use doc && out+=(
366 - docs-llvm-html
367 - )
368 -
369 - use binutils-plugin && out+=(
370 - LLVMgold
371 - )
372 - fi
373 -
374 - printf "%s${sep}" "${out[@]}"
375 -}
376 -
377 -multilib_src_configure() {
378 - local ffi_cflags ffi_ldflags
379 - if use libffi; then
380 - ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
381 - ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
382 - fi
383 -
384 - local libdir=$(get_libdir)
385 - local mycmakeargs=(
386 - # disable appending VCS revision to the version to improve
387 - # direct cache hit ratio
388 - -DLLVM_APPEND_VC_REV=OFF
389 - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
390 - -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
391 -
392 - -DBUILD_SHARED_LIBS=OFF
393 - -DLLVM_BUILD_LLVM_DYLIB=ON
394 - -DLLVM_LINK_LLVM_DYLIB=ON
395 - -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
396 -
397 - # cheap hack: LLVM combines both anyway, and the only difference
398 - # is that the former list is explicitly verified at cmake time
399 - -DLLVM_TARGETS_TO_BUILD=""
400 - -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
401 - -DLLVM_BUILD_TESTS=$(usex test)
402 -
403 - -DLLVM_ENABLE_FFI=$(usex libffi)
404 - -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
405 - -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
406 - -DLLVM_ENABLE_LIBXML2=$(usex xml)
407 - -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
408 - -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
409 - -DLLVM_ENABLE_EH=ON
410 - -DLLVM_ENABLE_RTTI=ON
411 - -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
412 -
413 - -DLLVM_HOST_TRIPLE="${CHOST}"
414 -
415 - -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
416 - -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
417 - # used only for llvm-objdump tool
418 - -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
419 -
420 - -DPython3_EXECUTABLE="${PYTHON}"
421 -
422 - # disable OCaml bindings (now in dev-ml/llvm-ocaml)
423 - -DOCAMLFIND=NO
424 - )
425 -
426 - if is_libcxx_linked; then
427 - # Smart hack: alter version suffix -> SOVERSION when linking
428 - # against libc++. This way we won't end up mixing LLVM libc++
429 - # libraries with libstdc++ clang, and the other way around.
430 - mycmakeargs+=(
431 - -DLLVM_VERSION_SUFFIX="libcxx"
432 - -DLLVM_ENABLE_LIBCXX=ON
433 - )
434 - fi
435 -
436 -# Note: go bindings have no CMake rules at the moment
437 -# but let's kill the check in case they are introduced
438 -# if ! multilib_is_native_abi || ! use go; then
439 - mycmakeargs+=(
440 - -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
441 - )
442 -# fi
443 -
444 - use test && mycmakeargs+=(
445 - -DLLVM_LIT_ARGS="$(get_lit_flags)"
446 - )
447 -
448 - if multilib_is_native_abi; then
449 - local build_docs=OFF
450 - if llvm_are_manpages_built; then
451 - build_docs=ON
452 - mycmakeargs+=(
453 - -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
454 - -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
455 - -DSPHINX_WARNINGS_AS_ERRORS=OFF
456 - )
457 - fi
458 -
459 - mycmakeargs+=(
460 - -DLLVM_BUILD_DOCS=${build_docs}
461 - -DLLVM_ENABLE_OCAMLDOC=OFF
462 - -DLLVM_ENABLE_SPHINX=${build_docs}
463 - -DLLVM_ENABLE_DOXYGEN=OFF
464 - -DLLVM_INSTALL_UTILS=ON
465 - )
466 - use binutils-plugin && mycmakeargs+=(
467 - -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
468 - )
469 - fi
470 -
471 - if tc-is-cross-compiler; then
472 - local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
473 - [[ -x "${tblgen}" ]] \
474 - || die "${tblgen} not found or usable"
475 - mycmakeargs+=(
476 - -DCMAKE_CROSSCOMPILING=ON
477 - -DLLVM_TABLEGEN="${tblgen}"
478 - )
479 - fi
480 -
481 - # workaround BMI bug in gcc-7 (fixed in 7.4)
482 - # https://bugs.gentoo.org/649880
483 - # apply only to x86, https://bugs.gentoo.org/650506
484 - if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
485 - [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
486 - then
487 - local CFLAGS="${CFLAGS} -mno-bmi"
488 - local CXXFLAGS="${CXXFLAGS} -mno-bmi"
489 - fi
490 -
491 - # LLVM can have very high memory consumption while linking,
492 - # exhausting the limit on 32-bit linker executable
493 - use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
494 -
495 - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
496 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
497 - cmake_src_configure
498 -
499 - grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
500 - CMakeCache.txt ||
501 - die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
502 - multilib_is_native_abi && check_distribution_components
503 -}
504 -
505 -multilib_src_compile() {
506 - cmake_build distribution
507 -
508 - pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
509 - pax-mark m "${BUILD_DIR}"/bin/lli
510 - pax-mark m "${BUILD_DIR}"/bin/lli-child-target
511 -
512 - if use test; then
513 - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
514 - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
515 - pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
516 - fi
517 -}
518 -
519 -multilib_src_test() {
520 - # respect TMPDIR!
521 - local -x LIT_PRESERVES_TMP=1
522 - cmake_build check
523 -}
524 -
525 -src_install() {
526 - local MULTILIB_CHOST_TOOLS=(
527 - /usr/lib/llvm/${SLOT}/bin/llvm-config
528 - )
529 -
530 - local MULTILIB_WRAPPED_HEADERS=(
531 - /usr/include/llvm/Config/llvm-config.h
532 - )
533 -
534 - local LLVM_LDPATHS=()
535 - multilib-minimal_src_install
536 -
537 - # move wrapped headers back
538 - mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
539 -}
540 -
541 -multilib_src_install() {
542 - DESTDIR=${D} cmake_build install-distribution
543 -
544 - # move headers to /usr/include for wrapping
545 - rm -rf "${ED}"/usr/include || die
546 - mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
547 -
548 - LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
549 -}
550 -
551 -multilib_src_install_all() {
552 - local revord=$(( 9999 - ${SLOT} ))
553 - newenvd - "60llvm-${revord}" <<-_EOF_
554 - PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
555 - # we need to duplicate it in ROOTPATH for Portage to respect...
556 - ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
557 - MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
558 - LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
559 - _EOF_
560 -
561 - docompress "/usr/lib/llvm/${SLOT}/share/man"
562 - llvm_install_manpages
563 -}
564 -
565 -pkg_postinst() {
566 - elog "You can find additional opt-viewer utility scripts in:"
567 - elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
568 - elog "To use these scripts, you will need Python along with the following"
569 - elog "packages:"
570 - elog " dev-python/pygments (for opt-viewer)"
571 - elog " dev-python/pyyaml (for all of them)"
572 -}
573
574 diff --git a/sys-devel/llvm/llvm-14.0.6-r1.ebuild b/sys-devel/llvm/llvm-14.0.6-r1.ebuild
575 deleted file mode 100644
576 index f21b43b8bd2c..000000000000
577 --- a/sys-devel/llvm/llvm-14.0.6-r1.ebuild
578 +++ /dev/null
579 @@ -1,530 +0,0 @@
580 -# Copyright 1999-2022 Gentoo Authors
581 -# Distributed under the terms of the GNU General Public License v2
582 -
583 -EAPI=8
584 -
585 -PYTHON_COMPAT=( python3_{8..10} )
586 -inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
587 - toolchain-funcs
588 -
589 -DESCRIPTION="Low Level Virtual Machine"
590 -HOMEPAGE="https://llvm.org/"
591 -
592 -# Additional licenses:
593 -# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
594 -# 2. xxhash: BSD.
595 -# 3. MD5 code: public-domain.
596 -# 4. ConvertUTF.h: TODO.
597 -
598 -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
599 -SLOT="$(ver_cut 1)"
600 -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
601 -IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
602 -RESTRICT="!test? ( test )"
603 -
604 -RDEPEND="
605 - sys-libs/zlib:0=[${MULTILIB_USEDEP}]
606 - binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
607 - exegesis? ( dev-libs/libpfm:= )
608 - libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
609 - libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
610 - ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
611 - xar? ( app-arch/xar )
612 - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
613 - z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
614 -"
615 -DEPEND="
616 - ${RDEPEND}
617 - binutils-plugin? ( sys-libs/binutils-libs )
618 -"
619 -BDEPEND="
620 - ${PYTHON_DEPS}
621 - dev-lang/perl
622 - >=dev-util/cmake-3.16
623 - sys-devel/gnuconfig
624 - kernel_Darwin? (
625 - <sys-libs/libcxx-$(ver_cut 1-3).9999
626 - >=sys-devel/binutils-apple-5.1
627 - )
628 - doc? ( $(python_gen_any_dep '
629 - dev-python/recommonmark[${PYTHON_USEDEP}]
630 - dev-python/sphinx[${PYTHON_USEDEP}]
631 - ') )
632 - libffi? ( virtual/pkgconfig )
633 - test? (
634 - sys-apps/which
635 - )
636 -"
637 -# There are no file collisions between these versions but having :0
638 -# installed means llvm-config there will take precedence.
639 -RDEPEND="
640 - ${RDEPEND}
641 - !sys-devel/llvm:0
642 -"
643 -PDEPEND="
644 - sys-devel/llvm-common
645 - binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
646 -"
647 -
648 -LLVM_COMPONENTS=( llvm cmake third-party )
649 -LLVM_MANPAGES=1
650 -LLVM_PATCHSET=${PV}-r1
651 -LLVM_USE_TARGETS=provide
652 -llvm.org_set_globals
653 -
654 -python_check_deps() {
655 - use doc || return 0
656 -
657 - python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
658 - python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
659 -}
660 -
661 -check_uptodate() {
662 - local prod_targets=(
663 - $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
664 - | tail -n +2 | head -n -1)
665 - )
666 - local all_targets=(
667 - lib/Target/*/
668 - )
669 - all_targets=( "${all_targets[@]#lib/Target/}" )
670 - all_targets=( "${all_targets[@]%/}" )
671 -
672 - local exp_targets=() i
673 - for i in "${all_targets[@]}"; do
674 - has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
675 - done
676 -
677 - if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
678 - eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
679 - eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
680 - eqawarn "Expected: ${exp_targets[*]}"
681 - eqawarn
682 - fi
683 -
684 - if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
685 - eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
686 - eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
687 - eqawarn "Expected: ${prod_targets[*]}"
688 - fi
689 -}
690 -
691 -check_distribution_components() {
692 - if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
693 - local all_targets=() my_targets=() l
694 - cd "${BUILD_DIR}" || die
695 -
696 - while read -r l; do
697 - if [[ ${l} == install-*-stripped:* ]]; then
698 - l=${l#install-}
699 - l=${l%%-stripped*}
700 -
701 - case ${l} in
702 - # shared libs
703 - LLVM|LLVMgold)
704 - ;;
705 - # TableGen lib + deps
706 - LLVMDemangle|LLVMSupport|LLVMTableGen)
707 - ;;
708 - # static libs
709 - LLVM*)
710 - continue
711 - ;;
712 - # meta-targets
713 - distribution|llvm-libraries)
714 - continue
715 - ;;
716 - # used only w/ USE=doc
717 - docs-llvm-html)
718 - use doc || continue
719 - ;;
720 - esac
721 -
722 - all_targets+=( "${l}" )
723 - fi
724 - done < <(${NINJA} -t targets all)
725 -
726 - while read -r l; do
727 - my_targets+=( "${l}" )
728 - done < <(get_distribution_components $"\n")
729 -
730 - local add=() remove=()
731 - for l in "${all_targets[@]}"; do
732 - if ! has "${l}" "${my_targets[@]}"; then
733 - add+=( "${l}" )
734 - fi
735 - done
736 - for l in "${my_targets[@]}"; do
737 - if ! has "${l}" "${all_targets[@]}"; then
738 - remove+=( "${l}" )
739 - fi
740 - done
741 -
742 - if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
743 - eqawarn "get_distribution_components() is outdated!"
744 - eqawarn " Add: ${add[*]}"
745 - eqawarn "Remove: ${remove[*]}"
746 - fi
747 - cd - >/dev/null || die
748 - fi
749 -}
750 -
751 -src_prepare() {
752 - # disable use of SDK on OSX, bug #568758
753 - sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
754 -
755 - # Update config.guess to support more systems
756 - cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
757 -
758 - # Verify that the ebuild is up-to-date
759 - check_uptodate
760 -
761 - llvm.org_src_prepare
762 -
763 - # remove regressing test
764 - # https://github.com/llvm/llvm-project/issues/55761
765 - rm test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll || die
766 -}
767 -
768 -# Is LLVM being linked against libc++?
769 -is_libcxx_linked() {
770 - local code='#include <ciso646>
771 -#if defined(_LIBCPP_VERSION)
772 - HAVE_LIBCXX
773 -#endif
774 -'
775 - local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
776 -
777 - [[ ${out} == *HAVE_LIBCXX* ]]
778 -}
779 -
780 -get_distribution_components() {
781 - local sep=${1-;}
782 -
783 - local out=(
784 - # shared libs
785 - LLVM
786 - LTO
787 - Remarks
788 -
789 - # tools
790 - llvm-config
791 -
792 - # common stuff
793 - cmake-exports
794 - llvm-headers
795 -
796 - # libraries needed for clang-tblgen
797 - LLVMDemangle
798 - LLVMSupport
799 - LLVMTableGen
800 - )
801 -
802 - if multilib_is_native_abi; then
803 - out+=(
804 - # utilities
805 - llvm-tblgen
806 - FileCheck
807 - llvm-PerfectShuffle
808 - count
809 - not
810 - yaml-bench
811 -
812 - # tools
813 - bugpoint
814 - dsymutil
815 - llc
816 - lli
817 - lli-child-target
818 - llvm-addr2line
819 - llvm-ar
820 - llvm-as
821 - llvm-bcanalyzer
822 - llvm-bitcode-strip
823 - llvm-c-test
824 - llvm-cat
825 - llvm-cfi-verify
826 - llvm-config
827 - llvm-cov
828 - llvm-cvtres
829 - llvm-cxxdump
830 - llvm-cxxfilt
831 - llvm-cxxmap
832 - llvm-debuginfod-find
833 - llvm-diff
834 - llvm-dis
835 - llvm-dlltool
836 - llvm-dwarfdump
837 - llvm-dwp
838 - llvm-exegesis
839 - llvm-extract
840 - llvm-gsymutil
841 - llvm-ifs
842 - llvm-install-name-tool
843 - llvm-jitlink
844 - llvm-jitlink-executor
845 - llvm-lib
846 - llvm-libtool-darwin
847 - llvm-link
848 - llvm-lipo
849 - llvm-lto
850 - llvm-lto2
851 - llvm-mc
852 - llvm-mca
853 - llvm-ml
854 - llvm-modextract
855 - llvm-mt
856 - llvm-nm
857 - llvm-objcopy
858 - llvm-objdump
859 - llvm-opt-report
860 - llvm-otool
861 - llvm-pdbutil
862 - llvm-profdata
863 - llvm-profgen
864 - llvm-ranlib
865 - llvm-rc
866 - llvm-readelf
867 - llvm-readobj
868 - llvm-reduce
869 - llvm-rtdyld
870 - llvm-sim
871 - llvm-size
872 - llvm-split
873 - llvm-stress
874 - llvm-strings
875 - llvm-strip
876 - llvm-symbolizer
877 - llvm-tapi-diff
878 - llvm-tli-checker
879 - llvm-undname
880 - llvm-windres
881 - llvm-xray
882 - obj2yaml
883 - opt
884 - sancov
885 - sanstats
886 - split-file
887 - verify-uselistorder
888 - yaml2obj
889 -
890 - # python modules
891 - opt-viewer
892 - )
893 -
894 - if llvm_are_manpages_built; then
895 - out+=(
896 - # manpages
897 - docs-dsymutil-man
898 - docs-llvm-dwarfdump-man
899 - docs-llvm-man
900 - )
901 - fi
902 - use doc && out+=(
903 - docs-llvm-html
904 - )
905 -
906 - use binutils-plugin && out+=(
907 - LLVMgold
908 - )
909 - fi
910 -
911 - printf "%s${sep}" "${out[@]}"
912 -}
913 -
914 -multilib_src_configure() {
915 - local ffi_cflags ffi_ldflags
916 - if use libffi; then
917 - ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
918 - ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
919 - fi
920 -
921 - local libdir=$(get_libdir)
922 - local mycmakeargs=(
923 - # disable appending VCS revision to the version to improve
924 - # direct cache hit ratio
925 - -DLLVM_APPEND_VC_REV=OFF
926 - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
927 - -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
928 -
929 - -DBUILD_SHARED_LIBS=OFF
930 - -DLLVM_BUILD_LLVM_DYLIB=ON
931 - -DLLVM_LINK_LLVM_DYLIB=ON
932 - -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
933 -
934 - # cheap hack: LLVM combines both anyway, and the only difference
935 - # is that the former list is explicitly verified at cmake time
936 - -DLLVM_TARGETS_TO_BUILD=""
937 - -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
938 - -DLLVM_BUILD_TESTS=$(usex test)
939 -
940 - -DLLVM_ENABLE_FFI=$(usex libffi)
941 - -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
942 - -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
943 - -DLLVM_ENABLE_LIBXML2=$(usex xml)
944 - -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
945 - -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
946 - -DLLVM_ENABLE_EH=ON
947 - -DLLVM_ENABLE_RTTI=ON
948 - -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
949 -
950 - -DLLVM_HOST_TRIPLE="${CHOST}"
951 -
952 - -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
953 - -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
954 - # used only for llvm-objdump tool
955 - -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
956 -
957 - -DPython3_EXECUTABLE="${PYTHON}"
958 -
959 - # disable OCaml bindings (now in dev-ml/llvm-ocaml)
960 - -DOCAMLFIND=NO
961 - )
962 -
963 - if is_libcxx_linked; then
964 - # Smart hack: alter version suffix -> SOVERSION when linking
965 - # against libc++. This way we won't end up mixing LLVM libc++
966 - # libraries with libstdc++ clang, and the other way around.
967 - mycmakeargs+=(
968 - -DLLVM_VERSION_SUFFIX="libcxx"
969 - -DLLVM_ENABLE_LIBCXX=ON
970 - )
971 - fi
972 -
973 -# Note: go bindings have no CMake rules at the moment
974 -# but let's kill the check in case they are introduced
975 -# if ! multilib_is_native_abi || ! use go; then
976 - mycmakeargs+=(
977 - -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
978 - )
979 -# fi
980 -
981 - use test && mycmakeargs+=(
982 - -DLLVM_LIT_ARGS="$(get_lit_flags)"
983 - )
984 -
985 - if multilib_is_native_abi; then
986 - local build_docs=OFF
987 - if llvm_are_manpages_built; then
988 - build_docs=ON
989 - mycmakeargs+=(
990 - -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
991 - -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
992 - -DSPHINX_WARNINGS_AS_ERRORS=OFF
993 - )
994 - fi
995 -
996 - mycmakeargs+=(
997 - -DLLVM_BUILD_DOCS=${build_docs}
998 - -DLLVM_ENABLE_OCAMLDOC=OFF
999 - -DLLVM_ENABLE_SPHINX=${build_docs}
1000 - -DLLVM_ENABLE_DOXYGEN=OFF
1001 - -DLLVM_INSTALL_UTILS=ON
1002 - )
1003 - use binutils-plugin && mycmakeargs+=(
1004 - -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
1005 - )
1006 - fi
1007 -
1008 - if tc-is-cross-compiler; then
1009 - local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
1010 - [[ -x "${tblgen}" ]] \
1011 - || die "${tblgen} not found or usable"
1012 - mycmakeargs+=(
1013 - -DCMAKE_CROSSCOMPILING=ON
1014 - -DLLVM_TABLEGEN="${tblgen}"
1015 - )
1016 - fi
1017 -
1018 - # workaround BMI bug in gcc-7 (fixed in 7.4)
1019 - # https://bugs.gentoo.org/649880
1020 - # apply only to x86, https://bugs.gentoo.org/650506
1021 - if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
1022 - [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
1023 - then
1024 - local CFLAGS="${CFLAGS} -mno-bmi"
1025 - local CXXFLAGS="${CXXFLAGS} -mno-bmi"
1026 - fi
1027 -
1028 - # LLVM can have very high memory consumption while linking,
1029 - # exhausting the limit on 32-bit linker executable
1030 - use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
1031 -
1032 - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
1033 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
1034 - cmake_src_configure
1035 -
1036 - grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
1037 - CMakeCache.txt ||
1038 - die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
1039 - multilib_is_native_abi && check_distribution_components
1040 -}
1041 -
1042 -multilib_src_compile() {
1043 - cmake_build distribution
1044 -
1045 - pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
1046 - pax-mark m "${BUILD_DIR}"/bin/lli
1047 - pax-mark m "${BUILD_DIR}"/bin/lli-child-target
1048 -
1049 - if use test; then
1050 - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
1051 - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
1052 - pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
1053 - fi
1054 -}
1055 -
1056 -multilib_src_test() {
1057 - # respect TMPDIR!
1058 - local -x LIT_PRESERVES_TMP=1
1059 - cmake_build check
1060 -}
1061 -
1062 -src_install() {
1063 - local MULTILIB_CHOST_TOOLS=(
1064 - /usr/lib/llvm/${SLOT}/bin/llvm-config
1065 - )
1066 -
1067 - local MULTILIB_WRAPPED_HEADERS=(
1068 - /usr/include/llvm/Config/llvm-config.h
1069 - )
1070 -
1071 - local LLVM_LDPATHS=()
1072 - multilib-minimal_src_install
1073 -
1074 - # move wrapped headers back
1075 - mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
1076 -}
1077 -
1078 -multilib_src_install() {
1079 - DESTDIR=${D} cmake_build install-distribution
1080 -
1081 - # move headers to /usr/include for wrapping
1082 - rm -rf "${ED}"/usr/include || die
1083 - mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
1084 -
1085 - LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
1086 -}
1087 -
1088 -multilib_src_install_all() {
1089 - local revord=$(( 9999 - ${SLOT} ))
1090 - newenvd - "60llvm-${revord}" <<-_EOF_
1091 - PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
1092 - # we need to duplicate it in ROOTPATH for Portage to respect...
1093 - ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
1094 - MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
1095 - LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
1096 - _EOF_
1097 -
1098 - docompress "/usr/lib/llvm/${SLOT}/share/man"
1099 - llvm_install_manpages
1100 -}
1101 -
1102 -pkg_postinst() {
1103 - elog "You can find additional opt-viewer utility scripts in:"
1104 - elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
1105 - elog "To use these scripts, you will need Python along with the following"
1106 - elog "packages:"
1107 - elog " dev-python/pygments (for opt-viewer)"
1108 - elog " dev-python/pyyaml (for all of them)"
1109 -}
1110
1111 diff --git a/sys-devel/llvm/llvm-14.0.6.ebuild b/sys-devel/llvm/llvm-14.0.6.ebuild
1112 deleted file mode 100644
1113 index f379e7940354..000000000000
1114 --- a/sys-devel/llvm/llvm-14.0.6.ebuild
1115 +++ /dev/null
1116 @@ -1,530 +0,0 @@
1117 -# Copyright 1999-2022 Gentoo Authors
1118 -# Distributed under the terms of the GNU General Public License v2
1119 -
1120 -EAPI=8
1121 -
1122 -PYTHON_COMPAT=( python3_{8..10} )
1123 -inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
1124 - toolchain-funcs
1125 -
1126 -DESCRIPTION="Low Level Virtual Machine"
1127 -HOMEPAGE="https://llvm.org/"
1128 -
1129 -# Additional licenses:
1130 -# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
1131 -# 2. xxhash: BSD.
1132 -# 3. MD5 code: public-domain.
1133 -# 4. ConvertUTF.h: TODO.
1134 -
1135 -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
1136 -SLOT="$(ver_cut 1)"
1137 -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
1138 -IUSE="+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar xml z3"
1139 -RESTRICT="!test? ( test )"
1140 -
1141 -RDEPEND="
1142 - sys-libs/zlib:0=[${MULTILIB_USEDEP}]
1143 - binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
1144 - exegesis? ( dev-libs/libpfm:= )
1145 - libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
1146 - libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
1147 - ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
1148 - xar? ( app-arch/xar )
1149 - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
1150 - z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
1151 -"
1152 -DEPEND="
1153 - ${RDEPEND}
1154 - binutils-plugin? ( sys-libs/binutils-libs )
1155 -"
1156 -BDEPEND="
1157 - ${PYTHON_DEPS}
1158 - dev-lang/perl
1159 - >=dev-util/cmake-3.16
1160 - sys-devel/gnuconfig
1161 - kernel_Darwin? (
1162 - <sys-libs/libcxx-$(ver_cut 1-3).9999
1163 - >=sys-devel/binutils-apple-5.1
1164 - )
1165 - doc? ( $(python_gen_any_dep '
1166 - dev-python/recommonmark[${PYTHON_USEDEP}]
1167 - dev-python/sphinx[${PYTHON_USEDEP}]
1168 - ') )
1169 - libffi? ( virtual/pkgconfig )
1170 - test? (
1171 - sys-apps/which
1172 - )
1173 -"
1174 -# There are no file collisions between these versions but having :0
1175 -# installed means llvm-config there will take precedence.
1176 -RDEPEND="
1177 - ${RDEPEND}
1178 - !sys-devel/llvm:0
1179 -"
1180 -PDEPEND="
1181 - sys-devel/llvm-common
1182 - binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
1183 -"
1184 -
1185 -LLVM_COMPONENTS=( llvm cmake third-party )
1186 -LLVM_MANPAGES=1
1187 -LLVM_PATCHSET=${PV}
1188 -LLVM_USE_TARGETS=provide
1189 -llvm.org_set_globals
1190 -
1191 -python_check_deps() {
1192 - use doc || return 0
1193 -
1194 - has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
1195 - has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
1196 -}
1197 -
1198 -check_uptodate() {
1199 - local prod_targets=(
1200 - $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
1201 - | tail -n +2 | head -n -1)
1202 - )
1203 - local all_targets=(
1204 - lib/Target/*/
1205 - )
1206 - all_targets=( "${all_targets[@]#lib/Target/}" )
1207 - all_targets=( "${all_targets[@]%/}" )
1208 -
1209 - local exp_targets=() i
1210 - for i in "${all_targets[@]}"; do
1211 - has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
1212 - done
1213 -
1214 - if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
1215 - eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
1216 - eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
1217 - eqawarn "Expected: ${exp_targets[*]}"
1218 - eqawarn
1219 - fi
1220 -
1221 - if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
1222 - eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
1223 - eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
1224 - eqawarn "Expected: ${prod_targets[*]}"
1225 - fi
1226 -}
1227 -
1228 -check_distribution_components() {
1229 - if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
1230 - local all_targets=() my_targets=() l
1231 - cd "${BUILD_DIR}" || die
1232 -
1233 - while read -r l; do
1234 - if [[ ${l} == install-*-stripped:* ]]; then
1235 - l=${l#install-}
1236 - l=${l%%-stripped*}
1237 -
1238 - case ${l} in
1239 - # shared libs
1240 - LLVM|LLVMgold)
1241 - ;;
1242 - # TableGen lib + deps
1243 - LLVMDemangle|LLVMSupport|LLVMTableGen)
1244 - ;;
1245 - # static libs
1246 - LLVM*)
1247 - continue
1248 - ;;
1249 - # meta-targets
1250 - distribution|llvm-libraries)
1251 - continue
1252 - ;;
1253 - # used only w/ USE=doc
1254 - docs-llvm-html)
1255 - use doc || continue
1256 - ;;
1257 - esac
1258 -
1259 - all_targets+=( "${l}" )
1260 - fi
1261 - done < <(${NINJA} -t targets all)
1262 -
1263 - while read -r l; do
1264 - my_targets+=( "${l}" )
1265 - done < <(get_distribution_components $"\n")
1266 -
1267 - local add=() remove=()
1268 - for l in "${all_targets[@]}"; do
1269 - if ! has "${l}" "${my_targets[@]}"; then
1270 - add+=( "${l}" )
1271 - fi
1272 - done
1273 - for l in "${my_targets[@]}"; do
1274 - if ! has "${l}" "${all_targets[@]}"; then
1275 - remove+=( "${l}" )
1276 - fi
1277 - done
1278 -
1279 - if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
1280 - eqawarn "get_distribution_components() is outdated!"
1281 - eqawarn " Add: ${add[*]}"
1282 - eqawarn "Remove: ${remove[*]}"
1283 - fi
1284 - cd - >/dev/null || die
1285 - fi
1286 -}
1287 -
1288 -src_prepare() {
1289 - # disable use of SDK on OSX, bug #568758
1290 - sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
1291 -
1292 - # Update config.guess to support more systems
1293 - cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
1294 -
1295 - # Verify that the ebuild is up-to-date
1296 - check_uptodate
1297 -
1298 - llvm.org_src_prepare
1299 -
1300 - # remove regressing test
1301 - # https://github.com/llvm/llvm-project/issues/55761
1302 - rm test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll || die
1303 -}
1304 -
1305 -# Is LLVM being linked against libc++?
1306 -is_libcxx_linked() {
1307 - local code='#include <ciso646>
1308 -#if defined(_LIBCPP_VERSION)
1309 - HAVE_LIBCXX
1310 -#endif
1311 -'
1312 - local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
1313 -
1314 - [[ ${out} == *HAVE_LIBCXX* ]]
1315 -}
1316 -
1317 -get_distribution_components() {
1318 - local sep=${1-;}
1319 -
1320 - local out=(
1321 - # shared libs
1322 - LLVM
1323 - LTO
1324 - Remarks
1325 -
1326 - # tools
1327 - llvm-config
1328 -
1329 - # common stuff
1330 - cmake-exports
1331 - llvm-headers
1332 -
1333 - # libraries needed for clang-tblgen
1334 - LLVMDemangle
1335 - LLVMSupport
1336 - LLVMTableGen
1337 - )
1338 -
1339 - if multilib_is_native_abi; then
1340 - out+=(
1341 - # utilities
1342 - llvm-tblgen
1343 - FileCheck
1344 - llvm-PerfectShuffle
1345 - count
1346 - not
1347 - yaml-bench
1348 -
1349 - # tools
1350 - bugpoint
1351 - dsymutil
1352 - llc
1353 - lli
1354 - lli-child-target
1355 - llvm-addr2line
1356 - llvm-ar
1357 - llvm-as
1358 - llvm-bcanalyzer
1359 - llvm-bitcode-strip
1360 - llvm-c-test
1361 - llvm-cat
1362 - llvm-cfi-verify
1363 - llvm-config
1364 - llvm-cov
1365 - llvm-cvtres
1366 - llvm-cxxdump
1367 - llvm-cxxfilt
1368 - llvm-cxxmap
1369 - llvm-debuginfod-find
1370 - llvm-diff
1371 - llvm-dis
1372 - llvm-dlltool
1373 - llvm-dwarfdump
1374 - llvm-dwp
1375 - llvm-exegesis
1376 - llvm-extract
1377 - llvm-gsymutil
1378 - llvm-ifs
1379 - llvm-install-name-tool
1380 - llvm-jitlink
1381 - llvm-jitlink-executor
1382 - llvm-lib
1383 - llvm-libtool-darwin
1384 - llvm-link
1385 - llvm-lipo
1386 - llvm-lto
1387 - llvm-lto2
1388 - llvm-mc
1389 - llvm-mca
1390 - llvm-ml
1391 - llvm-modextract
1392 - llvm-mt
1393 - llvm-nm
1394 - llvm-objcopy
1395 - llvm-objdump
1396 - llvm-opt-report
1397 - llvm-otool
1398 - llvm-pdbutil
1399 - llvm-profdata
1400 - llvm-profgen
1401 - llvm-ranlib
1402 - llvm-rc
1403 - llvm-readelf
1404 - llvm-readobj
1405 - llvm-reduce
1406 - llvm-rtdyld
1407 - llvm-sim
1408 - llvm-size
1409 - llvm-split
1410 - llvm-stress
1411 - llvm-strings
1412 - llvm-strip
1413 - llvm-symbolizer
1414 - llvm-tapi-diff
1415 - llvm-tli-checker
1416 - llvm-undname
1417 - llvm-windres
1418 - llvm-xray
1419 - obj2yaml
1420 - opt
1421 - sancov
1422 - sanstats
1423 - split-file
1424 - verify-uselistorder
1425 - yaml2obj
1426 -
1427 - # python modules
1428 - opt-viewer
1429 - )
1430 -
1431 - if llvm_are_manpages_built; then
1432 - out+=(
1433 - # manpages
1434 - docs-dsymutil-man
1435 - docs-llvm-dwarfdump-man
1436 - docs-llvm-man
1437 - )
1438 - fi
1439 - use doc && out+=(
1440 - docs-llvm-html
1441 - )
1442 -
1443 - use binutils-plugin && out+=(
1444 - LLVMgold
1445 - )
1446 - fi
1447 -
1448 - printf "%s${sep}" "${out[@]}"
1449 -}
1450 -
1451 -multilib_src_configure() {
1452 - local ffi_cflags ffi_ldflags
1453 - if use libffi; then
1454 - ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
1455 - ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
1456 - fi
1457 -
1458 - local libdir=$(get_libdir)
1459 - local mycmakeargs=(
1460 - # disable appending VCS revision to the version to improve
1461 - # direct cache hit ratio
1462 - -DLLVM_APPEND_VC_REV=OFF
1463 - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
1464 - -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
1465 -
1466 - -DBUILD_SHARED_LIBS=OFF
1467 - -DLLVM_BUILD_LLVM_DYLIB=ON
1468 - -DLLVM_LINK_LLVM_DYLIB=ON
1469 - -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
1470 -
1471 - # cheap hack: LLVM combines both anyway, and the only difference
1472 - # is that the former list is explicitly verified at cmake time
1473 - -DLLVM_TARGETS_TO_BUILD=""
1474 - -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
1475 - -DLLVM_BUILD_TESTS=$(usex test)
1476 -
1477 - -DLLVM_ENABLE_FFI=$(usex libffi)
1478 - -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
1479 - -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
1480 - -DLLVM_ENABLE_LIBXML2=$(usex xml)
1481 - -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
1482 - -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
1483 - -DLLVM_ENABLE_EH=ON
1484 - -DLLVM_ENABLE_RTTI=ON
1485 - -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
1486 -
1487 - -DLLVM_HOST_TRIPLE="${CHOST}"
1488 -
1489 - -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
1490 - -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
1491 - # used only for llvm-objdump tool
1492 - -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
1493 -
1494 - -DPython3_EXECUTABLE="${PYTHON}"
1495 -
1496 - # disable OCaml bindings (now in dev-ml/llvm-ocaml)
1497 - -DOCAMLFIND=NO
1498 - )
1499 -
1500 - if is_libcxx_linked; then
1501 - # Smart hack: alter version suffix -> SOVERSION when linking
1502 - # against libc++. This way we won't end up mixing LLVM libc++
1503 - # libraries with libstdc++ clang, and the other way around.
1504 - mycmakeargs+=(
1505 - -DLLVM_VERSION_SUFFIX="libcxx"
1506 - -DLLVM_ENABLE_LIBCXX=ON
1507 - )
1508 - fi
1509 -
1510 -# Note: go bindings have no CMake rules at the moment
1511 -# but let's kill the check in case they are introduced
1512 -# if ! multilib_is_native_abi || ! use go; then
1513 - mycmakeargs+=(
1514 - -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
1515 - )
1516 -# fi
1517 -
1518 - use test && mycmakeargs+=(
1519 - -DLLVM_LIT_ARGS="$(get_lit_flags)"
1520 - )
1521 -
1522 - if multilib_is_native_abi; then
1523 - local build_docs=OFF
1524 - if llvm_are_manpages_built; then
1525 - build_docs=ON
1526 - mycmakeargs+=(
1527 - -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
1528 - -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
1529 - -DSPHINX_WARNINGS_AS_ERRORS=OFF
1530 - )
1531 - fi
1532 -
1533 - mycmakeargs+=(
1534 - -DLLVM_BUILD_DOCS=${build_docs}
1535 - -DLLVM_ENABLE_OCAMLDOC=OFF
1536 - -DLLVM_ENABLE_SPHINX=${build_docs}
1537 - -DLLVM_ENABLE_DOXYGEN=OFF
1538 - -DLLVM_INSTALL_UTILS=ON
1539 - )
1540 - use binutils-plugin && mycmakeargs+=(
1541 - -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
1542 - )
1543 - fi
1544 -
1545 - if tc-is-cross-compiler; then
1546 - local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
1547 - [[ -x "${tblgen}" ]] \
1548 - || die "${tblgen} not found or usable"
1549 - mycmakeargs+=(
1550 - -DCMAKE_CROSSCOMPILING=ON
1551 - -DLLVM_TABLEGEN="${tblgen}"
1552 - )
1553 - fi
1554 -
1555 - # workaround BMI bug in gcc-7 (fixed in 7.4)
1556 - # https://bugs.gentoo.org/649880
1557 - # apply only to x86, https://bugs.gentoo.org/650506
1558 - if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
1559 - [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
1560 - then
1561 - local CFLAGS="${CFLAGS} -mno-bmi"
1562 - local CXXFLAGS="${CXXFLAGS} -mno-bmi"
1563 - fi
1564 -
1565 - # LLVM can have very high memory consumption while linking,
1566 - # exhausting the limit on 32-bit linker executable
1567 - use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
1568 -
1569 - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
1570 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
1571 - cmake_src_configure
1572 -
1573 - grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
1574 - CMakeCache.txt ||
1575 - die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
1576 - multilib_is_native_abi && check_distribution_components
1577 -}
1578 -
1579 -multilib_src_compile() {
1580 - cmake_build distribution
1581 -
1582 - pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
1583 - pax-mark m "${BUILD_DIR}"/bin/lli
1584 - pax-mark m "${BUILD_DIR}"/bin/lli-child-target
1585 -
1586 - if use test; then
1587 - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
1588 - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
1589 - pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
1590 - fi
1591 -}
1592 -
1593 -multilib_src_test() {
1594 - # respect TMPDIR!
1595 - local -x LIT_PRESERVES_TMP=1
1596 - cmake_build check
1597 -}
1598 -
1599 -src_install() {
1600 - local MULTILIB_CHOST_TOOLS=(
1601 - /usr/lib/llvm/${SLOT}/bin/llvm-config
1602 - )
1603 -
1604 - local MULTILIB_WRAPPED_HEADERS=(
1605 - /usr/include/llvm/Config/llvm-config.h
1606 - )
1607 -
1608 - local LLVM_LDPATHS=()
1609 - multilib-minimal_src_install
1610 -
1611 - # move wrapped headers back
1612 - mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
1613 -}
1614 -
1615 -multilib_src_install() {
1616 - DESTDIR=${D} cmake_build install-distribution
1617 -
1618 - # move headers to /usr/include for wrapping
1619 - rm -rf "${ED}"/usr/include || die
1620 - mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
1621 -
1622 - LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
1623 -}
1624 -
1625 -multilib_src_install_all() {
1626 - local revord=$(( 9999 - ${SLOT} ))
1627 - newenvd - "60llvm-${revord}" <<-_EOF_
1628 - PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
1629 - # we need to duplicate it in ROOTPATH for Portage to respect...
1630 - ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
1631 - MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
1632 - LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
1633 - _EOF_
1634 -
1635 - docompress "/usr/lib/llvm/${SLOT}/share/man"
1636 - llvm_install_manpages
1637 -}
1638 -
1639 -pkg_postinst() {
1640 - elog "You can find additional opt-viewer utility scripts in:"
1641 - elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
1642 - elog "To use these scripts, you will need Python along with the following"
1643 - elog "packages:"
1644 - elog " dev-python/pygments (for opt-viewer)"
1645 - elog " dev-python/pyyaml (for all of them)"
1646 -}