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: Thu, 30 Jul 2020 22:11:41
Message-Id: 1596147002.ca1d61cced676fd4f87d44e0b19ef784a1bbeca4.mgorny@gentoo
1 commit: ca1d61cced676fd4f87d44e0b19ef784a1bbeca4
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Wed Jul 29 11:48:41 2020 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Thu Jul 30 22:10:02 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ca1d61cc
7
8 sys-devel/clang: Remove 8*
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 sys-devel/clang/Manifest | 4 -
13 sys-devel/clang/clang-8.0.1.ebuild | 317 -------------------------------------
14 sys-devel/clang/metadata.xml | 1 -
15 3 files changed, 322 deletions(-)
16
17 diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest
18 index ffb3158664b..d100aed5034 100644
19 --- a/sys-devel/clang/Manifest
20 +++ b/sys-devel/clang/Manifest
21 @@ -1,8 +1,4 @@
22 -DIST cfe-8.0.1.src.tar.xz 12810056 BLAKE2B 88cee0b6daa477ca0473c76efc45beb634f6194ecd3f45aaec3791e26b203c5dbd33c649435e0d97924096a72c727d76915bffc0b7ea305f24d5e5f06389c4a0 SHA512 1227b2d32052c70b4b494659849000188fce46fc31a71f3352ba8457ac0b0b17e4bc7c8589874c8586d55aa808ee6c1fceb7df501aafa33599f8df7bfd2b791d
23 -DIST clang-tools-extra-8.0.1.src.tar.xz 1994068 BLAKE2B 7d312c1a958d9c5b24515067cbb1db3a92b34cdf77c2345c08ef2f327d2ae4ca7f05252d72ede6569e25cda34225963a8d415cc64279e39d542449ba56eae9c9 SHA512 d39962c30ee9d8a1679d8007009b48dea2c8aaeb283bed781a9e22a1a57b8186c2cfe058da046658882ace1c84a30ddf9b4cb75bce988891189e8423b6c6a72c
24 DIST llvm-10.0.0-manpages.tar.bz2 177084 BLAKE2B 16b38e60fce4d67ac602b317ea7089c095d46b9426ba9940041e65d7ab493f85dba2e94a4aeba7b7c52042f23825efcfcd32a57d306aaf05b4307061a5a8a368 SHA512 eac57ad218ff4c2b5a74e453a29192ee6e911152b668d8a9420b59529d5cae8aa241f2485b4a7ea304acbecc7ecb27391a77552080726432c2b7b59b95fc0bd7
25 -DIST llvm-8.0.1-manpages.tar.bz2 140915 BLAKE2B 13ac9e172728d643dac1d12ac06909b6db3dd9a1a380a92a07867e3cb835f94b265da5d75c4712b5409405a65795d2cb6b32da4098e38cbb95d7023b56bcbbc1 SHA512 23994a2374659fbbf8d9b5160f4d77e9be7c4c9fc14963e8186bbede78b0ee9257f6b6a9c484bc75d72443d65bb24e598841e64af500336283de0f454d6a2073
26 -DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c89463bcc7816df1aefe1e3ff989860bbaa92504718f8e15416cfd9f3491c13777cd5cb661877b237b342b0e515b93f5 SHA512 82e120be5cabdfd5111aebbea68a663fe229c8861d73802d6ab09a3bf48f60de333e07e61f8fb61beaa14ac2bea24fcd74fa6f761acaf62469f536b79fcb1e16
27 DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
28 DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
29 DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
30
31 diff --git a/sys-devel/clang/clang-8.0.1.ebuild b/sys-devel/clang/clang-8.0.1.ebuild
32 deleted file mode 100644
33 index b2bedcb8816..00000000000
34 --- a/sys-devel/clang/clang-8.0.1.ebuild
35 +++ /dev/null
36 @@ -1,317 +0,0 @@
37 -# Copyright 1999-2019 Gentoo Authors
38 -# Distributed under the terms of the GNU General Public License v2
39 -
40 -EAPI=6
41 -
42 -: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
43 -# (needed due to CMAKE_BUILD_TYPE != Gentoo)
44 -CMAKE_MIN_VERSION=3.7.0-r1
45 -PYTHON_COMPAT=( python2_7 )
46 -
47 -inherit cmake-utils eapi7-ver flag-o-matic llvm \
48 - multilib-minimal multiprocessing pax-utils prefix python-single-r1 \
49 - toolchain-funcs
50 -
51 -MY_P=cfe-${PV/_/}.src
52 -EXTRA_P=clang-tools-extra-${PV/_/}.src
53 -LLVM_P=llvm-${PV/_/}.src
54 -
55 -DESCRIPTION="C language family frontend for LLVM"
56 -HOMEPAGE="https://llvm.org/"
57 -SRC_URI="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${MY_P}.tar.xz
58 - https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${EXTRA_P}.tar.xz
59 - test? ( https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${LLVM_P}.tar.xz )
60 - !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/llvm-${PV}-manpages.tar.bz2 )"
61 -
62 -# Keep in sync with sys-devel/llvm
63 -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
64 - NVPTX PowerPC Sparc SystemZ WebAssembly X86 XCore )
65 -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
66 -LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
67 -
68 -LICENSE="UoI-NCSA"
69 -SLOT="$(ver_cut 1)"
70 -KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
71 -IUSE="debug default-compiler-rt default-libcxx doc +static-analyzer
72 - test xml z3 kernel_FreeBSD ${ALL_LLVM_TARGETS[*]}"
73 -RESTRICT="!test? ( test )"
74 -
75 -RDEPEND="
76 - ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${LLVM_TARGET_USEDEPS// /,},${MULTILIB_USEDEP}]
77 - static-analyzer? (
78 - dev-lang/perl:*
79 - z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
80 - )
81 - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
82 - ${PYTHON_DEPS}"
83 -DEPEND="${RDEPEND}
84 - doc? ( dev-python/sphinx )
85 - xml? ( virtual/pkgconfig )
86 - ${PYTHON_DEPS}"
87 -RDEPEND="${RDEPEND}
88 - !<sys-devel/llvm-4.0.0_rc:0
89 - !sys-devel/clang:0"
90 -PDEPEND="
91 - sys-devel/clang-common
92 - ~sys-devel/clang-runtime-${PV}
93 - default-compiler-rt? ( =sys-libs/compiler-rt-${PV%_*}* )
94 - default-libcxx? ( >=sys-libs/libcxx-${PV} )"
95 -
96 -REQUIRED_USE="${PYTHON_REQUIRED_USE}
97 - || ( ${ALL_LLVM_TARGETS[*]} )"
98 -
99 -# We need extra level of indirection for CLANG_RESOURCE_DIR
100 -S=${WORKDIR}/x/y/${MY_P}
101 -
102 -# least intrusive of all
103 -CMAKE_BUILD_TYPE=RelWithDebInfo
104 -
105 -PATCHES=(
106 - # add Prefix include paths for Darwin
107 - "${FILESDIR}"/8.0.1/darwin_prefix-include-paths.patch
108 -)
109 -
110 -# Multilib notes:
111 -# 1. ABI_* flags control ABIs libclang* is built for only.
112 -# 2. clang is always capable of compiling code for all ABIs for enabled
113 -# target. However, you will need appropriate crt* files (installed
114 -# e.g. by sys-devel/gcc and sys-libs/glibc).
115 -# 3. ${CHOST}-clang wrappers are always installed for all ABIs included
116 -# in the current profile (i.e. alike supported by sys-devel/gcc).
117 -#
118 -# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need
119 -# multilib clang* libraries (not runtime, not wrappers).
120 -
121 -pkg_setup() {
122 - LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup
123 - python-single-r1_pkg_setup
124 -}
125 -
126 -src_unpack() {
127 - # create extra parent dir for CLANG_RESOURCE_DIR
128 - mkdir -p x/y || die
129 - cd x/y || die
130 -
131 - einfo "Unpacking ${MY_P}.tar.xz ..."
132 - tar -xf "${DISTDIR}/${MY_P}.tar.xz" || die
133 - einfo "Unpacking ${EXTRA_P}.tar.xz ..."
134 - tar -xf "${DISTDIR}/${EXTRA_P}.tar.xz" || die
135 -
136 - mv "${EXTRA_P}" "${S}"/tools/extra || die
137 - if use test; then
138 - einfo "Unpacking parts of ${LLVM_P}.tar.xz ..."
139 - tar -xf "${DISTDIR}/${LLVM_P}.tar.xz" \
140 - "${LLVM_P}"/lib/Testing/Support \
141 - "${LLVM_P}"/utils/{lit,llvm-lit,unittest} || die
142 - mv "${LLVM_P}" "${WORKDIR}"/llvm || die
143 - fi
144 -
145 - if ! use doc; then
146 - einfo "Unpacking llvm-${PV}-manpages.tar.bz2 ..."
147 - tar -xf "${DISTDIR}/llvm-${PV}-manpages.tar.bz2" || die
148 - fi
149 -}
150 -
151 -src_prepare() {
152 - cmake-utils_src_prepare
153 - eprefixify lib/Frontend/InitHeaderSearch.cpp
154 -}
155 -
156 -multilib_src_configure() {
157 - local llvm_version=$(llvm-config --version) || die
158 - local clang_version=$(ver_cut 1-3 "${llvm_version}")
159 -
160 - local mycmakeargs=(
161 - # ensure that the correct llvm-config is used
162 - -DLLVM_CONFIG="$(type -P "${CHOST}-llvm-config")"
163 - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
164 - -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
165 - # relative to bindir
166 - -DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}"
167 -
168 - -DBUILD_SHARED_LIBS=ON
169 - -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
170 - -DLLVM_BUILD_TESTS=$(usex test)
171 -
172 - # these are not propagated reliably, so redefine them
173 - -DLLVM_ENABLE_EH=ON
174 - -DLLVM_ENABLE_RTTI=ON
175 -
176 - -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
177 - # libgomp support fails to find headers without explicit -I
178 - # furthermore, it provides only syntax checking
179 - -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
180 -
181 - # override default stdlib and rtlib
182 - -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "")
183 - -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "")
184 -
185 - -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
186 - -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
187 - # z3 is not multilib-friendly
188 - -DCLANG_ANALYZER_ENABLE_Z3_SOLVER=$(usex z3)
189 - )
190 - use test && mycmakeargs+=(
191 - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
192 - -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
193 - )
194 -
195 - if multilib_is_native_abi; then
196 - mycmakeargs+=(
197 - # normally copied from LLVM_INCLUDE_DOCS but the latter
198 - # is lacking value in stand-alone builds
199 - -DCLANG_INCLUDE_DOCS=$(usex doc)
200 - -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=$(usex doc)
201 - )
202 - use doc && mycmakeargs+=(
203 - -DLLVM_BUILD_DOCS=ON
204 - -DLLVM_ENABLE_SPHINX=ON
205 - -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
206 - -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
207 - -DSPHINX_WARNINGS_AS_ERRORS=OFF
208 - )
209 - use z3 && mycmakeargs+=(
210 - -DZ3_INCLUDE_DIR="${EPREFIX}/usr/include/z3"
211 - )
212 - else
213 - mycmakeargs+=(
214 - -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF
215 - )
216 - fi
217 -
218 - if [[ -n ${EPREFIX} ]]; then
219 - mycmakeargs+=(
220 - -DGCC_INSTALL_PREFIX="${EPREFIX}/usr"
221 - )
222 - fi
223 -
224 - if tc-is-cross-compiler; then
225 - [[ -x "/usr/bin/clang-tblgen" ]] \
226 - || die "/usr/bin/clang-tblgen not found or usable"
227 - mycmakeargs+=(
228 - -DCMAKE_CROSSCOMPILING=ON
229 - -DCLANG_TABLEGEN=/usr/bin/clang-tblgen
230 - )
231 - fi
232 -
233 - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
234 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
235 - cmake-utils_src_configure
236 -}
237 -
238 -multilib_src_compile() {
239 - cmake-utils_src_compile
240 -
241 - # provide a symlink for tests
242 - if [[ ! -L ${WORKDIR}/lib/clang ]]; then
243 - mkdir -p "${WORKDIR}"/lib || die
244 - ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die
245 - fi
246 -}
247 -
248 -multilib_src_test() {
249 - # respect TMPDIR!
250 - local -x LIT_PRESERVES_TMP=1
251 - cmake-utils_src_make check-clang
252 - multilib_is_native_abi && cmake-utils_src_make check-clang-tools
253 -}
254 -
255 -src_install() {
256 - MULTILIB_WRAPPED_HEADERS=(
257 - /usr/include/clang/Config/config.h
258 - )
259 -
260 - multilib-minimal_src_install
261 -
262 - # Move runtime headers to /usr/lib/clang, where they belong
263 - mv "${ED%/}"/usr/include/clangrt "${ED%/}"/usr/lib/clang || die
264 - # move (remaining) wrapped headers back
265 - mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
266 -
267 - # Apply CHOST and version suffix to clang tools
268 - # note: we use two version components here (vs 3 in runtime path)
269 - local llvm_version=$(llvm-config --version) || die
270 - local clang_version=$(ver_cut 1 "${llvm_version}")
271 - local clang_full_version=$(ver_cut 1-3 "${llvm_version}")
272 - local clang_tools=( clang clang++ clang-cl clang-cpp )
273 - local abi i
274 -
275 - # cmake gives us:
276 - # - clang-X
277 - # - clang -> clang-X
278 - # - clang++, clang-cl, clang-cpp -> clang
279 - # we want to have:
280 - # - clang-X
281 - # - clang++-X, clang-cl-X, clang-cpp-X -> clang-X
282 - # - clang, clang++, clang-cl, clang-cpp -> clang*-X
283 - # also in CHOST variant
284 - for i in "${clang_tools[@]:1}"; do
285 - rm "${ED%/}/usr/lib/llvm/${SLOT}/bin/${i}" || die
286 - dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}"
287 - dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}"
288 - done
289 -
290 - # now create target symlinks for all supported ABIs
291 - for abi in $(get_all_abis); do
292 - local abi_chost=$(get_abi_CHOST "${abi}")
293 - for i in "${clang_tools[@]}"; do
294 - dosym "${i}-${clang_version}" \
295 - "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}"
296 - dosym "${abi_chost}-${i}-${clang_version}" \
297 - "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}"
298 - done
299 - done
300 -
301 - # Remove unnecessary headers on FreeBSD, bug #417171
302 - if use kernel_FreeBSD; then
303 - rm "${ED}"usr/lib/clang/${clang_full_version}/include/{std,float,iso,limits,tgmath,varargs}*.h || die
304 - fi
305 -}
306 -
307 -multilib_src_install() {
308 - cmake-utils_src_install
309 -
310 - # move headers to /usr/include for wrapping & ABI mismatch checks
311 - # (also drop the version suffix from runtime headers)
312 - rm -rf "${ED%/}"/usr/include || die
313 - mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
314 - mv "${ED%/}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED%/}"/usr/include/clangrt || die
315 -}
316 -
317 -multilib_src_install_all() {
318 - python_fix_shebang "${ED}"
319 - if use static-analyzer; then
320 - python_optimize "${ED}"usr/lib/llvm/${SLOT}/share/scan-view
321 - fi
322 -
323 - # install pre-generated manpages
324 - if ! use doc; then
325 - insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
326 - doins "${WORKDIR}/x/y/llvm-${PV}-manpages/clang"/*.1
327 - fi
328 -
329 - docompress "/usr/lib/llvm/${SLOT}/share/man"
330 - # match 'html' non-compression
331 - use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
332 - # +x for some reason; TODO: investigate
333 - use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1"
334 -}
335 -
336 -pkg_postinst() {
337 - if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
338 - eselect compiler-shadow update all
339 - fi
340 -
341 - elog "You can find additional utility scripts in:"
342 - elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/clang"
343 - elog "To use these scripts, you will need Python 2.7. Some of them are vim"
344 - elog "integration scripts (with instructions inside). The run-clang-tidy.py"
345 - elog "scripts requires the following additional package:"
346 - elog " dev-python/pyyaml"
347 -}
348 -
349 -pkg_postrm() {
350 - if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
351 - eselect compiler-shadow clean all
352 - fi
353 -}
354
355 diff --git a/sys-devel/clang/metadata.xml b/sys-devel/clang/metadata.xml
356 index 04b324c4b05..b5c629ffdb4 100644
357 --- a/sys-devel/clang/metadata.xml
358 +++ b/sys-devel/clang/metadata.xml
359 @@ -30,6 +30,5 @@ Conformance with C/C++/ObjC and their variants</longdescription>
360 <flag name="default-compiler-rt">Use compiler-rt instead of libgcc as the default rtlib for clang</flag>
361 <flag name="default-libcxx">Use libc++ instead of libstdc++ as the default stdlib for clang</flag>
362 <flag name="static-analyzer">Install the Clang static analyzer</flag>
363 - <flag name="z3">Enable the static analyzer constraint manager backend using <pkg>sci-mathematics/z3</pkg></flag>
364 </use>
365 </pkgmetadata>