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/clang/
Date: Sun, 29 Nov 2020 08:26:15
Message-Id: 1606638361.115978db3b6f4bc4531c8e5b0352ec9834f89026.mgorny@gentoo
1 commit: 115978db3b6f4bc4531c8e5b0352ec9834f89026
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Sun Nov 29 08:23:26 2020 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Sun Nov 29 08:26:01 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=115978db
7
8 sys-devel/clang: Remove 10.0.0
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 sys-devel/clang/Manifest | 2 -
13 sys-devel/clang/clang-10.0.0.ebuild | 361 ------------------------------------
14 2 files changed, 363 deletions(-)
15
16 diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest
17 index bdf2fe87713..8c576bf0d45 100644
18 --- a/sys-devel/clang/Manifest
19 +++ b/sys-devel/clang/Manifest
20 @@ -1,9 +1,7 @@
21 DIST 10.0.1-0003-clang-tools-extra-Prevent-linking-to-duplicate-.a-li.patch 23184 BLAKE2B 42bfc9401bceea6627703f7611aafe4708e4e745e47e8caa01fb8c7126524ef65e4c135cfd0541bc663bfc52fa8c47342f7f8de462abe283ec353b068d2e3532 SHA512 9561c9ab6dc62257b7626f7898afa667401522817ec57137641f8687549b0b8e531659a5afd5226dd7619126cc67f68235f628cbe639345277415343c4ca3650
22 -DIST llvm-10.0.0-manpages.tar.bz2 177084 BLAKE2B 16b38e60fce4d67ac602b317ea7089c095d46b9426ba9940041e65d7ab493f85dba2e94a4aeba7b7c52042f23825efcfcd32a57d306aaf05b4307061a5a8a368 SHA512 eac57ad218ff4c2b5a74e453a29192ee6e911152b668d8a9420b59529d5cae8aa241f2485b4a7ea304acbecc7ecb27391a77552080726432c2b7b59b95fc0bd7
23 DIST llvm-10.0.1-manpages.tar.bz2 180157 BLAKE2B ddf5951c8f5a2a8a80726fd713e6c818c852851a2261e904b484afdb67ac55f2ce10976ca2ca5d81fe2bf4806a72cc7b59f4068741306491a4f39065ca8fb56e SHA512 d3c2470dbd0f3143d64b380f7534ebcacdcf4bc4f140a6014283150007fe615ebd86247cf13b2432165a681614849e8eaab69a8d077f7a51e4e040e28ed33ebc
24 DIST llvm-11.0.0-manpages.tar.bz2 179592 BLAKE2B d03dff5e7426f4c648d6112dee0fa7a91edf41584290c94c3f738fc65fa82fc6ef47b49c245fb0e741bdf267fc64534311194c476ece4b447649ba2250e61430 SHA512 1cf598f50c99a85a35b03398e4768cd1eafec9d602f788d401120adb91b3b59965216ed7102da26b7c2af7e1bbca4bca8f1d43bb687fcd8ed418e2f7076bdce4
25 DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
26 -DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
27 DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
28 DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
29 DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
30
31 diff --git a/sys-devel/clang/clang-10.0.0.ebuild b/sys-devel/clang/clang-10.0.0.ebuild
32 deleted file mode 100644
33 index 85fddbe285c..00000000000
34 --- a/sys-devel/clang/clang-10.0.0.ebuild
35 +++ /dev/null
36 @@ -1,361 +0,0 @@
37 -# Copyright 1999-2020 Gentoo Authors
38 -# Distributed under the terms of the GNU General Public License v2
39 -
40 -EAPI=7
41 -
42 -PYTHON_COMPAT=( python3_{6,7,8} )
43 -inherit cmake-utils llvm llvm.org multilib-minimal multiprocessing \
44 - pax-utils python-single-r1 toolchain-funcs
45 -
46 -MANPAGE_P=llvm-10.0.0-manpages
47 -DESCRIPTION="C language family frontend for LLVM"
48 -HOMEPAGE="https://llvm.org/"
49 -SRC_URI="
50 - !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${MANPAGE_P}.tar.bz2 )"
51 -LLVM_COMPONENTS=( clang clang-tools-extra )
52 -LLVM_TEST_COMPONENTS=(
53 - llvm/lib/Testing/Support
54 - llvm/utils/{lit,llvm-lit,unittest}
55 -)
56 -llvm.org_set_globals
57 -# We need extra level of indirection for CLANG_RESOURCE_DIR
58 -S=${WORKDIR}/x/y/clang
59 -
60 -# Keep in sync with sys-devel/llvm
61 -ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
62 -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
63 - NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
64 - "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
65 -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
66 -LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
67 -
68 -# MSVCSetupApi.h: MIT
69 -# sorttable.js: MIT
70 -
71 -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT"
72 -SLOT="$(ver_cut 1)"
73 -KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux"
74 -IUSE="debug default-compiler-rt default-libcxx doc +static-analyzer
75 - test xml kernel_FreeBSD ${ALL_LLVM_TARGETS[*]}"
76 -REQUIRED_USE="${PYTHON_REQUIRED_USE}
77 - || ( ${ALL_LLVM_TARGETS[*]} )"
78 -RESTRICT="!test? ( test )"
79 -
80 -RDEPEND="
81 - ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${LLVM_TARGET_USEDEPS// /,},${MULTILIB_USEDEP}]
82 - static-analyzer? ( dev-lang/perl:* )
83 - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
84 - ${PYTHON_DEPS}"
85 -DEPEND="${RDEPEND}"
86 -BDEPEND="
87 - doc? ( dev-python/sphinx )
88 - xml? ( virtual/pkgconfig )
89 - ${PYTHON_DEPS}"
90 -RDEPEND="${RDEPEND}
91 - !<sys-devel/llvm-4.0.0_rc:0
92 - !sys-devel/clang:0"
93 -PDEPEND="
94 - sys-devel/clang-common
95 - ~sys-devel/clang-runtime-${PV}
96 - default-compiler-rt? ( =sys-libs/compiler-rt-${PV%_*}* )
97 - default-libcxx? ( >=sys-libs/libcxx-${PV} )"
98 -
99 -# least intrusive of all
100 -CMAKE_BUILD_TYPE=RelWithDebInfo
101 -
102 -# Multilib notes:
103 -# 1. ABI_* flags control ABIs libclang* is built for only.
104 -# 2. clang is always capable of compiling code for all ABIs for enabled
105 -# target. However, you will need appropriate crt* files (installed
106 -# e.g. by sys-devel/gcc and sys-libs/glibc).
107 -# 3. ${CHOST}-clang wrappers are always installed for all ABIs included
108 -# in the current profile (i.e. alike supported by sys-devel/gcc).
109 -#
110 -# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need
111 -# multilib clang* libraries (not runtime, not wrappers).
112 -
113 -pkg_setup() {
114 - LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup
115 - python-single-r1_pkg_setup
116 -}
117 -
118 -src_unpack() {
119 - # create extra parent dir for CLANG_RESOURCE_DIR
120 - mkdir -p x/y || die
121 - cd x/y || die
122 - llvm.org_src_unpack
123 - mv clang-tools-extra clang/tools/extra || die
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 -get_distribution_components() {
133 - local sep=${1-;}
134 -
135 - local out=(
136 - # common stuff
137 - clang-cmake-exports
138 - clang-headers
139 - clang-resource-headers
140 - libclang-headers
141 -
142 - # libs
143 - clang-cpp
144 - libclang
145 - )
146 -
147 - if multilib_is_native_abi; then
148 - out+=(
149 - # common stuff
150 - bash-autocomplete
151 - libclang-python-bindings
152 -
153 - # tools
154 - c-index-test
155 - clang
156 - clang-format
157 - clang-import-test
158 - clang-offload-bundler
159 - clang-offload-wrapper
160 - clang-refactor
161 - clang-rename
162 - clang-scan-deps
163 - diagtool
164 - hmaptool
165 -
166 - # extra tools
167 - clang-apply-replacements
168 - clang-change-namespace
169 - clang-doc
170 - clang-include-fixer
171 - clang-move
172 - clang-query
173 - clang-reorder-fields
174 - clang-tidy
175 - clangd
176 - find-all-symbols
177 - modularize
178 - pp-trace
179 - )
180 -
181 - use doc && out+=(
182 - docs-clang-html
183 - docs-clang-man
184 - docs-clang-tools-html
185 - docs-clang-tools-man
186 - )
187 -
188 - use static-analyzer && out+=(
189 - clang-check
190 - clang-extdef-mapping
191 - scan-build
192 - scan-view
193 - )
194 - fi
195 -
196 - printf "%s${sep}" "${out[@]}"
197 -}
198 -
199 -multilib_src_configure() {
200 - local llvm_version=$(llvm-config --version) || die
201 - local clang_version=$(ver_cut 1-3 "${llvm_version}")
202 -
203 - local mycmakeargs=(
204 - -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm"
205 - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
206 - -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
207 - # relative to bindir
208 - -DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}"
209 -
210 - -DBUILD_SHARED_LIBS=OFF
211 - -DCLANG_LINK_CLANG_DYLIB=ON
212 - -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
213 -
214 - -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
215 - -DLLVM_BUILD_TESTS=$(usex test)
216 -
217 - # these are not propagated reliably, so redefine them
218 - -DLLVM_ENABLE_EH=ON
219 - -DLLVM_ENABLE_RTTI=ON
220 -
221 - -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
222 - # libgomp support fails to find headers without explicit -I
223 - # furthermore, it provides only syntax checking
224 - -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
225 -
226 - # override default stdlib and rtlib
227 - -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "")
228 - -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "")
229 -
230 - -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
231 - -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
232 - )
233 - use test && mycmakeargs+=(
234 - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/x/y/llvm"
235 - -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
236 - )
237 -
238 - if multilib_is_native_abi; then
239 - mycmakeargs+=(
240 - # normally copied from LLVM_INCLUDE_DOCS but the latter
241 - # is lacking value in stand-alone builds
242 - -DCLANG_INCLUDE_DOCS=$(usex doc)
243 - -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=$(usex doc)
244 - )
245 - use doc && mycmakeargs+=(
246 - -DLLVM_BUILD_DOCS=ON
247 - -DLLVM_ENABLE_SPHINX=ON
248 - -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
249 - -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
250 - -DSPHINX_WARNINGS_AS_ERRORS=OFF
251 - )
252 - else
253 - mycmakeargs+=(
254 - -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF
255 - )
256 - fi
257 -
258 - if [[ -n ${EPREFIX} ]]; then
259 - mycmakeargs+=(
260 - -DGCC_INSTALL_PREFIX="${EPREFIX}/usr"
261 - )
262 - fi
263 -
264 - if tc-is-cross-compiler; then
265 - [[ -x "/usr/bin/clang-tblgen" ]] \
266 - || die "/usr/bin/clang-tblgen not found or usable"
267 - mycmakeargs+=(
268 - -DCMAKE_CROSSCOMPILING=ON
269 - -DCLANG_TABLEGEN=/usr/bin/clang-tblgen
270 - )
271 - fi
272 -
273 - # LLVM can have very high memory consumption while linking,
274 - # exhausting the limit on 32-bit linker executable
275 - use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
276 -
277 - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
278 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
279 - cmake-utils_src_configure
280 -}
281 -
282 -multilib_src_compile() {
283 - cmake-utils_src_compile
284 -
285 - # provide a symlink for tests
286 - if [[ ! -L ${WORKDIR}/lib/clang ]]; then
287 - mkdir -p "${WORKDIR}"/lib || die
288 - ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die
289 - fi
290 -}
291 -
292 -multilib_src_test() {
293 - # respect TMPDIR!
294 - local -x LIT_PRESERVES_TMP=1
295 - cmake-utils_src_make check-clang
296 - multilib_is_native_abi &&
297 - cmake-utils_src_make check-clang-tools check-clangd
298 -}
299 -
300 -src_install() {
301 - MULTILIB_WRAPPED_HEADERS=(
302 - /usr/include/clang/Config/config.h
303 - )
304 -
305 - multilib-minimal_src_install
306 -
307 - # Move runtime headers to /usr/lib/clang, where they belong
308 - mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die
309 - # move (remaining) wrapped headers back
310 - mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
311 -
312 - # Apply CHOST and version suffix to clang tools
313 - # note: we use two version components here (vs 3 in runtime path)
314 - local llvm_version=$(llvm-config --version) || die
315 - local clang_version=$(ver_cut 1 "${llvm_version}")
316 - local clang_full_version=$(ver_cut 1-3 "${llvm_version}")
317 - local clang_tools=( clang clang++ clang-cl clang-cpp )
318 - local abi i
319 -
320 - # cmake gives us:
321 - # - clang-X
322 - # - clang -> clang-X
323 - # - clang++, clang-cl, clang-cpp -> clang
324 - # we want to have:
325 - # - clang-X
326 - # - clang++-X, clang-cl-X, clang-cpp-X -> clang-X
327 - # - clang, clang++, clang-cl, clang-cpp -> clang*-X
328 - # also in CHOST variant
329 - for i in "${clang_tools[@]:1}"; do
330 - rm "${ED}/usr/lib/llvm/${SLOT}/bin/${i}" || die
331 - dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}"
332 - dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}"
333 - done
334 -
335 - # now create target symlinks for all supported ABIs
336 - for abi in $(get_all_abis); do
337 - local abi_chost=$(get_abi_CHOST "${abi}")
338 - for i in "${clang_tools[@]}"; do
339 - dosym "${i}-${clang_version}" \
340 - "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}"
341 - dosym "${abi_chost}-${i}-${clang_version}" \
342 - "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}"
343 - done
344 - done
345 -
346 - # Remove unnecessary headers on FreeBSD, bug #417171
347 - if use kernel_FreeBSD; then
348 - rm "${ED}"/usr/lib/clang/${clang_full_version}/include/{std,float,iso,limits,tgmath,varargs}*.h || die
349 - fi
350 -}
351 -
352 -multilib_src_install() {
353 - DESTDIR=${D} cmake-utils_src_make install-distribution
354 -
355 - # move headers to /usr/include for wrapping & ABI mismatch checks
356 - # (also drop the version suffix from runtime headers)
357 - rm -rf "${ED}"/usr/include || die
358 - mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
359 - mv "${ED}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die
360 -}
361 -
362 -multilib_src_install_all() {
363 - python_fix_shebang "${ED}"
364 - if use static-analyzer; then
365 - python_optimize "${ED}"/usr/lib/llvm/${SLOT}/share/scan-view
366 - fi
367 -
368 - # install pre-generated manpages
369 - if ! use doc; then
370 - insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
371 - doins "${WORKDIR}/x/y/${MANPAGE_P}/clang"/*.1
372 - fi
373 -
374 - docompress "/usr/lib/llvm/${SLOT}/share/man"
375 - # match 'html' non-compression
376 - use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
377 - # +x for some reason; TODO: investigate
378 - use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1"
379 -}
380 -
381 -pkg_postinst() {
382 - if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
383 - eselect compiler-shadow update all
384 - fi
385 -
386 - elog "You can find additional utility scripts in:"
387 - elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/clang"
388 - elog "Some of them are vim integration scripts (with instructions inside)."
389 - elog "The run-clang-tidy.py script requires the following additional package:"
390 - elog " dev-python/pyyaml"
391 -}
392 -
393 -pkg_postrm() {
394 - if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
395 - eselect compiler-shadow clean all
396 - fi
397 -}