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