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