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/files/5.0.2/, sys-devel/clang/, ...
Date: Mon, 09 Sep 2019 19:02:52
Message-Id: 1568055751.284189960128d7a0cd246c81dc191cbbb11f7b49.mgorny@gentoo
1 commit: 284189960128d7a0cd246c81dc191cbbb11f7b49
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Sun Jun 2 07:28:20 2019 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Mon Sep 9 19:02:31 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28418996
7
8 sys-devel/clang: Remove 5.0.2
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 sys-devel/clang/Manifest | 4 -
13 sys-devel/clang/clang-5.0.2.ebuild | 323 ---------------------
14 ...arch-type-to-find-compiler-rt-libraries-o.patch | 136 ---------
15 ...est-Fix-clang-test-for-FreeBSD-and-NetBSD.patch | 76 -----
16 ...shared-library-path-variable-is-LD_LIBRAR.patch | 37 ---
17 5 files changed, 576 deletions(-)
18
19 diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest
20 index 589c6ebeafa..c244bdaac44 100644
21 --- a/sys-devel/clang/Manifest
22 +++ b/sys-devel/clang/Manifest
23 @@ -1,15 +1,11 @@
24 -DIST cfe-5.0.2.src.tar.xz 11459216 BLAKE2B 80d9b2ab70b00c0dfd5c5386a44e0c15d8252e6175c9da55a0519c4f9b8192e32e215110d7d3808225786e2c7f906f2dfbe11dd09bdf21574e99709ae237ed0b SHA512 9931afceb5569ad6caec85d506180c810f7fea94af8c997143b0a37cbf413fcea0d92520478610627eeee1efb65fde684066ace0dfcbbf7b61ecd709d22dd0b1
25 DIST cfe-6.0.1.src.tar.xz 11905772 BLAKE2B abb60e9f9827d1d8a24f0aaf8a1d1e32979293cc401258d230f93290e633645747fd0344af189ac7081b06be2cada503364e1e432b37110ade4b3578e40c7605 SHA512 f64ba9290059f6e36fee41c8f32bf483609d31c291fcd2f77d41fecfdf3c8233a5e23b93a1c73fed03683823bd6e72757ed993dd32527de3d5f2b7a64bb031b9
26 DIST cfe-7.1.0.src.tar.xz 12487872 BLAKE2B ca6ec9e45b94823de1dabf9e68f0c97cdd40b5d2a5e5e15d4b2393f6d7fbdee72a541b957cc22ce4cb726d8ee7190228320941d5713aeb59695673b9e9070ceb SHA512 1cd0b80f32aa4de1118c0c676ba96b1fc78b7ff929b01b6589dfe9b4669e599ac8cfb8f5a0abcd3487594193a7dec06b29530ec3fc03042c20a160f0477a79fd
27 DIST cfe-8.0.0.src.tar.xz 12868468 BLAKE2B 3cb96c95c4d9713feb7011e4f1ca24be3e7f6c9b458f6cd9e6905f99737312ca44cb701ed5871e47dd583145e5898d53a65c4cda6456af3d4ca31b670ed84409 SHA512 98e540222719716985e5d8439116e47469cb01201ea91d1da7e46cb6633da099688d9352c3b65e5c5f660cbbae353b3d79bb803fc66b3be663f2b04b1feed1c3
28 DIST cfe-8.0.1.src.tar.xz 12810056 BLAKE2B 88cee0b6daa477ca0473c76efc45beb634f6194ecd3f45aaec3791e26b203c5dbd33c649435e0d97924096a72c727d76915bffc0b7ea305f24d5e5f06389c4a0 SHA512 1227b2d32052c70b4b494659849000188fce46fc31a71f3352ba8457ac0b0b17e4bc7c8589874c8586d55aa808ee6c1fceb7df501aafa33599f8df7bfd2b791d
29 -DIST clang-tools-extra-5.0.2.src.tar.xz 646272 BLAKE2B 8a15a0c3ed9e8c31706d744017aa8be52616037790075c2314c3a613c9e1aa86b0b980c4e3bd9a775b234440f17436392196b41f1691ab25a33b432a25affb68 SHA512 241d85652e7c3ad5d77754ad9a694bddab3c14098067da4119223007c5a4a765d1cd7e7c7dba91666ccd5506f8703c82c9ee487f28249a00c2c4edbd0d1f2640
30 DIST clang-tools-extra-6.0.1.src.tar.xz 757256 BLAKE2B 1d91d7459a34e7251007af91db1803ee6d04f1ef3e0fcf134a7e0d1d3456b094a80339ee60db3f0bdd12961f3a05caee7edfc5c6b9c48d49cd55a5dc3c102c3a SHA512 cf29d117b6dabcb7a8e5f6dab5016ce5a5c8f475679001a43fd5c935f2c368f37cdef50aae2080a1e4524f647f6d83458d4a5dec5b45d03fb374f463caf7c3f5
31 DIST clang-tools-extra-7.1.0.src.tar.xz 901328 BLAKE2B 20865cf188cf08e4eae969d1083d9d69f57159c3dceb71e3e00a3f4dd96814b99e25fe633eb46801923d64cc9f884da24a417c21af71f0b3535bda0cce7d73da SHA512 8c22136324808b42601915e8163e06a90db078693f9e12369050bca6bab8cb971efaddcda82c5abf08e67ba7a5be1ac32e1bef0aff29a1b433e80eca8eba3e7b
32 DIST clang-tools-extra-8.0.0.src.tar.xz 1996156 BLAKE2B 26c839669ce4cf531a56e8527c9d507ce458861c00aaf563fa5e58cfa2fa3897d820643746802198c8e77c9e46fc8f4b833fc3746b32d8adc0d4a09dbe3ace7c SHA512 434e4cb7b76f89b0a0af25f05f32f2f2e8edb9e9f14547be845df75f5032c1d9dbf475be408bb989c476ec667c10af54a15d40e42559b05e52d24c5fd416b517
33 DIST clang-tools-extra-8.0.1.src.tar.xz 1994068 BLAKE2B 7d312c1a958d9c5b24515067cbb1db3a92b34cdf77c2345c08ef2f327d2ae4ca7f05252d72ede6569e25cda34225963a8d415cc64279e39d542449ba56eae9c9 SHA512 d39962c30ee9d8a1679d8007009b48dea2c8aaeb283bed781a9e22a1a57b8186c2cfe058da046658882ace1c84a30ddf9b4cb75bce988891189e8423b6c6a72c
34 -DIST llvm-5.0.2-manpages.tar.bz2 93977 BLAKE2B 8c5e8899e0df9d6037fb7d5c373de6492ccdc9fd2c26cc7dfbd8fb2b9e68418ca8fdf42cdc303c361e649cc6939bf5229cbad017bdccbd5d791e92752328252f SHA512 568615bce5a75d42e4b6d592557472d366d49a99f8e81be10ae679804f1fe674c7fd0bbdac09af44fc67ee5aa34c4ed2153c2767c536ac8e45dd15c811c92dcb
35 -DIST llvm-5.0.2.src.tar.xz 23451868 BLAKE2B b7082be2e4ad557b29b9f6869811f262adcf5c73d552faf91b339bede75cf5eab58afefa12fa779a38be71fe2b8f4ea297c3213ee4e8370cc01972c59249d91c SHA512 3588be5ed969c3f7f6f16f56a12a6af2814d3d3c960d4a36ffebb0446cc75f19220bccee7fc605f9b01f5d5c188a905a046193cc12dec42dd5922048b5c27fe1
36 DIST llvm-6.0.1-manpages.tar.bz2 102656 BLAKE2B 9088ca0bdda69f63354e61b7495df54505d5db2504bc61860a7260343722ec8cdd5e937d0843263a5bf5077b9cf386c337fa127039b996bab10d2ca5c2caeb59 SHA512 c468e97a2d5610aee9e72cb795e4e65375a079d733550f05380230fb44ba0ed67d407ad06e2340b66f13d19c06583b657e8d01fcdca2146ae43964cea309e0b3
37 DIST llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f14e8fc4f66ade69fa15479181f07f655f26dff3fa24bf105762b495da316c5c9352db234bd0af6b9c3fff6d4d881 SHA512 cbbb00eb99cfeb4aff623ee1a5ba075e7b5a76fc00c5f9f539ff28c108598f5708a0369d5bd92683def5a20c2fe60cab7827b42d628dbfcc79b57e0e91b84dd9
38 DIST llvm-7.1.0-manpages.tar.bz2 120786 BLAKE2B b52a7afe7c5c170894e910ef2c651a5f38f0bd41147a2c63dc5b8a92f0ec37512e913e68efce51e1643e8f20cf0f3f088d31d19c541d2ff361ecb7d89b234b6c SHA512 78a526d889a8e62accf422655acbb4d17e3c22b0f0830003db0068b3c01c367ac32ce4f4be4cbb2966274440865557c25795205af2a59a054a6f6964294d289f
39
40 diff --git a/sys-devel/clang/clang-5.0.2.ebuild b/sys-devel/clang/clang-5.0.2.ebuild
41 deleted file mode 100644
42 index 68bde97b389..00000000000
43 --- a/sys-devel/clang/clang-5.0.2.ebuild
44 +++ /dev/null
45 @@ -1,323 +0,0 @@
46 -# Copyright 1999-2018 Gentoo Foundation
47 -# Distributed under the terms of the GNU General Public License v2
48 -
49 -EAPI=6
50 -
51 -: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
52 -# (needed due to CMAKE_BUILD_TYPE != Gentoo)
53 -CMAKE_MIN_VERSION=3.7.0-r1
54 -PYTHON_COMPAT=( python2_7 )
55 -
56 -inherit cmake-utils eapi7-ver flag-o-matic llvm \
57 - multilib-minimal pax-utils prefix python-single-r1 toolchain-funcs
58 -
59 -MY_P=cfe-${PV/_/}.src
60 -EXTRA_P=clang-tools-extra-${PV/_/}.src
61 -LLVM_P=llvm-${PV/_/}.src
62 -
63 -DESCRIPTION="C language family frontend for LLVM"
64 -HOMEPAGE="https://llvm.org/"
65 -SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz
66 - https://releases.llvm.org/${PV/_//}/${EXTRA_P}.tar.xz
67 - test? ( https://releases.llvm.org/${PV/_//}/${LLVM_P}.tar.xz )
68 - !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/llvm-${PV}-manpages.tar.bz2 )"
69 -
70 -# Keep in sync with sys-devel/llvm
71 -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
72 - NVPTX PowerPC Sparc SystemZ X86 XCore )
73 -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
74 -LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
75 -
76 -LICENSE="UoI-NCSA"
77 -SLOT="$(ver_cut 1)"
78 -KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
79 -IUSE="debug default-compiler-rt default-libcxx doc +static-analyzer
80 - test xml z3 kernel_FreeBSD ${ALL_LLVM_TARGETS[*]}"
81 -
82 -RDEPEND="
83 - ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${LLVM_TARGET_USEDEPS// /,},${MULTILIB_USEDEP}]
84 - static-analyzer? (
85 - dev-lang/perl:*
86 - z3? ( <sci-mathematics/z3-4.6:0= )
87 - )
88 - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
89 - ${PYTHON_DEPS}"
90 -# configparser-3.2 breaks the build (3.3 or none at all are fine)
91 -DEPEND="${RDEPEND}
92 - doc? ( dev-python/sphinx )
93 - xml? ( virtual/pkgconfig )
94 - !!<dev-python/configparser-3.3.0.2
95 - ${PYTHON_DEPS}"
96 -RDEPEND="${RDEPEND}
97 - !<sys-devel/llvm-4.0.0_rc:0
98 - !sys-devel/clang:0"
99 -PDEPEND="
100 - ~sys-devel/clang-runtime-${PV}
101 - default-compiler-rt? ( =sys-libs/compiler-rt-${PV%_*}* )
102 - default-libcxx? ( >=sys-libs/libcxx-${PV} )"
103 -
104 -REQUIRED_USE="${PYTHON_REQUIRED_USE}
105 - || ( ${ALL_LLVM_TARGETS[*]} )"
106 -
107 -# We need extra level of indirection for CLANG_RESOURCE_DIR
108 -S=${WORKDIR}/x/y/${MY_P}
109 -
110 -# least intrusive of all
111 -CMAKE_BUILD_TYPE=RelWithDebInfo
112 -
113 -# Multilib notes:
114 -# 1. ABI_* flags control ABIs libclang* is built for only.
115 -# 2. clang is always capable of compiling code for all ABIs for enabled
116 -# target. However, you will need appropriate crt* files (installed
117 -# e.g. by sys-devel/gcc and sys-libs/glibc).
118 -# 3. ${CHOST}-clang wrappers are always installed for all ABIs included
119 -# in the current profile (i.e. alike supported by sys-devel/gcc).
120 -#
121 -# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need
122 -# multilib clang* libraries (not runtime, not wrappers).
123 -
124 -pkg_setup() {
125 - LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup
126 - python-single-r1_pkg_setup
127 -}
128 -
129 -src_unpack() {
130 - # create extra parent dir for CLANG_RESOURCE_DIR
131 - mkdir -p x/y || die
132 - cd x/y || die
133 -
134 - einfo "Unpacking ${MY_P}.tar.xz ..."
135 - tar -xf "${DISTDIR}/${MY_P}.tar.xz" || die
136 - einfo "Unpacking ${EXTRA_P}.tar.xz ..."
137 - tar -xf "${DISTDIR}/${EXTRA_P}.tar.xz" || die
138 -
139 - mv "${EXTRA_P}" "${S}"/tools/extra || die
140 - if use test; then
141 - einfo "Unpacking parts of ${LLVM_P}.tar.xz ..."
142 - tar -xf "${DISTDIR}/${LLVM_P}.tar.xz" \
143 - "${LLVM_P}"/utils/{lit,unittest} || die
144 - mv "${LLVM_P}" "${WORKDIR}"/llvm || die
145 - fi
146 -
147 - if ! use doc; then
148 - einfo "Unpacking llvm-${PV}-manpages.tar.bz2 ..."
149 - tar -xf "${DISTDIR}/llvm-${PV}-manpages.tar.bz2" || die
150 - fi
151 -}
152 -
153 -src_prepare() {
154 - # fix finding compiler-rt libs
155 - eapply "${FILESDIR}"/5.0.2/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch
156 - # fix setting LD_LIBRARY_PATH for tests on *BSD
157 - eapply "${FILESDIR}"/5.0.2/0002-test-Fix-clang-test-for-FreeBSD-and-NetBSD.patch
158 - # add Prefix include paths for Darwin
159 - eapply "${FILESDIR}"/6.0.1/darwin_prefix-include-paths.patch
160 -
161 - cd tools/extra || die
162 - # fix setting LD_LIBRARY_PATH for tests on *BSD (extra part)
163 - eapply "${FILESDIR}"/5.0.2/extra/0001-Assume-the-shared-library-path-variable-is-LD_LIBRAR.patch
164 - cd ../.. || die
165 -
166 - cmake-utils_src_prepare
167 - eprefixify lib/Frontend/InitHeaderSearch.cpp
168 -}
169 -
170 -multilib_src_configure() {
171 - local llvm_version=$(llvm-config --version) || die
172 - local clang_version=$(ver_cut 1-3 "${llvm_version}")
173 -
174 - local mycmakeargs=(
175 - # ensure that the correct llvm-config is used
176 - -DLLVM_CONFIG="$(type -P "${CHOST}-llvm-config")"
177 - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
178 - -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
179 - # relative to bindir
180 - -DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}"
181 -
182 - -DBUILD_SHARED_LIBS=ON
183 - -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
184 - -DLLVM_BUILD_TESTS=$(usex test)
185 -
186 - # these are not propagated reliably, so redefine them
187 - -DLLVM_ENABLE_EH=ON
188 - -DLLVM_ENABLE_RTTI=ON
189 -
190 - -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
191 - # libgomp support fails to find headers without explicit -I
192 - # furthermore, it provides only syntax checking
193 - -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
194 -
195 - # override default stdlib and rtlib
196 - -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "")
197 - -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "")
198 -
199 - -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
200 - -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
201 - # z3 is not multilib-friendly
202 - -DCLANG_ANALYZER_BUILD_Z3=$(multilib_native_usex z3)
203 - )
204 - use test && mycmakeargs+=(
205 - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
206 - )
207 -
208 - if multilib_is_native_abi; then
209 - mycmakeargs+=(
210 - # normally copied from LLVM_INCLUDE_DOCS but the latter
211 - # is lacking value in stand-alone builds
212 - -DCLANG_INCLUDE_DOCS=$(usex doc)
213 - -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=$(usex doc)
214 - )
215 - use doc && mycmakeargs+=(
216 - -DLLVM_BUILD_DOCS=ON
217 - -DLLVM_ENABLE_SPHINX=ON
218 - -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
219 - -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
220 - -DSPHINX_WARNINGS_AS_ERRORS=OFF
221 - )
222 - use z3 && mycmakeargs+=(
223 - -DZ3_INCLUDE_DIR="${EPREFIX}/usr/include/z3"
224 - )
225 - else
226 - mycmakeargs+=(
227 - -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF
228 - )
229 - fi
230 -
231 - if [[ -n ${EPREFIX} ]]; then
232 - mycmakeargs+=(
233 - -DGCC_INSTALL_PREFIX="${EPREFIX}/usr"
234 - )
235 - fi
236 -
237 - if tc-is-cross-compiler; then
238 - [[ -x "/usr/bin/clang-tblgen" ]] \
239 - || die "/usr/bin/clang-tblgen not found or usable"
240 - mycmakeargs+=(
241 - -DCMAKE_CROSSCOMPILING=ON
242 - -DCLANG_TABLEGEN=/usr/bin/clang-tblgen
243 - )
244 - fi
245 -
246 - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
247 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
248 - cmake-utils_src_configure
249 -}
250 -
251 -multilib_src_compile() {
252 - cmake-utils_src_compile
253 -
254 - # provide a symlink for tests
255 - if [[ ! -L ${WORKDIR}/lib/clang ]]; then
256 - mkdir -p "${WORKDIR}"/lib || die
257 - ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die
258 - fi
259 -}
260 -
261 -multilib_src_test() {
262 - # respect TMPDIR!
263 - local -x LIT_PRESERVES_TMP=1
264 - cmake-utils_src_make check-clang
265 - # clang-tidy requires [static-analyzer] and tests are not split
266 - # correctly, so they are all disabled when static-analyzer is off
267 - if multilib_is_native_abi && use static-analyzer; then
268 - cmake-utils_src_make check-clang-tools
269 - fi
270 -}
271 -
272 -src_install() {
273 - MULTILIB_WRAPPED_HEADERS=(
274 - /usr/include/clang/Config/config.h
275 - )
276 -
277 - multilib-minimal_src_install
278 -
279 - # Move runtime headers to /usr/lib/clang, where they belong
280 - mv "${ED%/}"/usr/include/clangrt "${ED%/}"/usr/lib/clang || die
281 - # move (remaining) wrapped headers back
282 - mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
283 -
284 - # Apply CHOST and version suffix to clang tools
285 - # note: we use two version components here (vs 3 in runtime path)
286 - local llvm_version=$(llvm-config --version) || die
287 - local clang_version=$(ver_cut 1-2 "${llvm_version}")
288 - local clang_full_version=$(ver_cut 1-3 "${llvm_version}")
289 - local clang_tools=( clang clang++ clang-cl clang-cpp )
290 - local abi i
291 -
292 - # cmake gives us:
293 - # - clang-X.Y
294 - # - clang -> clang-X.Y
295 - # - clang++, clang-cl, clang-cpp -> clang
296 - # we want to have:
297 - # - clang-X.Y
298 - # - clang++-X.Y, clang-cl-X.Y, clang-cpp-X.Y -> clang-X.Y
299 - # - clang, clang++, clang-cl, clang-cpp -> clang*-X.Y
300 - # also in CHOST variant
301 - for i in "${clang_tools[@]:1}"; do
302 - rm "${ED%/}/usr/lib/llvm/${SLOT}/bin/${i}" || die
303 - dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}"
304 - dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}"
305 - done
306 -
307 - # now create target symlinks for all supported ABIs
308 - for abi in $(get_all_abis); do
309 - local abi_chost=$(get_abi_CHOST "${abi}")
310 - for i in "${clang_tools[@]}"; do
311 - dosym "${i}-${clang_version}" \
312 - "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}"
313 - dosym "${abi_chost}-${i}-${clang_version}" \
314 - "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}"
315 - done
316 - done
317 -
318 - # Remove unnecessary headers on FreeBSD, bug #417171
319 - if use kernel_FreeBSD; then
320 - rm "${ED}"usr/lib/clang/${clang_full_version}/include/{std,float,iso,limits,tgmath,varargs}*.h || die
321 - fi
322 -}
323 -
324 -multilib_src_install() {
325 - cmake-utils_src_install
326 -
327 - # move headers to /usr/include for wrapping & ABI mismatch checks
328 - # (also drop the version suffix from runtime headers)
329 - rm -rf "${ED%/}"/usr/include || die
330 - mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
331 - mv "${ED%/}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED%/}"/usr/include/clangrt || die
332 -}
333 -
334 -multilib_src_install_all() {
335 - python_fix_shebang "${ED}"
336 - if use static-analyzer; then
337 - python_optimize "${ED}"usr/lib/llvm/${SLOT}/share/scan-view
338 - fi
339 -
340 - # install pre-generated manpages
341 - if ! use doc; then
342 - insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
343 - doins "${WORKDIR}/x/y/llvm-${PV}-manpages/clang"/*.1
344 - fi
345 -
346 - docompress "/usr/lib/llvm/${SLOT}/share/man"
347 - # match 'html' non-compression
348 - use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
349 - # +x for some reason; TODO: investigate
350 - use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1"
351 -}
352 -
353 -pkg_postinst() {
354 - if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
355 - eselect compiler-shadow update all
356 - fi
357 -
358 - elog "You can find additional utility scripts in:"
359 - elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/clang"
360 - elog "To use these scripts, you will need Python 2.7. Some of them are vim"
361 - elog "integration scripts (with instructions inside)."
362 -}
363 -
364 -pkg_postrm() {
365 - if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
366 - eselect compiler-shadow clean all
367 - fi
368 -}
369
370 diff --git a/sys-devel/clang/files/5.0.2/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch b/sys-devel/clang/files/5.0.2/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch
371 deleted file mode 100644
372 index 7d53cbdef3f..00000000000
373 --- a/sys-devel/clang/files/5.0.2/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch
374 +++ /dev/null
375 @@ -1,136 +0,0 @@
376 -From 19e3dc0ce4949cc7f869b4552c6a7f28cd59c3b7 Mon Sep 17 00:00:00 2001
377 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@g.o>
378 -Date: Thu, 17 Nov 2016 14:19:18 +0100
379 -Subject: [PATCH] [Driver] Use arch type to find compiler-rt libraries (on
380 - Linux)
381 -
382 -Use llvm::Triple::getArchTypeName() when looking for compiler-rt
383 -libraries, rather than the exact arch string from the triple. This is
384 -more correct as it matches the values used when building compiler-rt
385 -(builtin-config-ix.cmake) which are the subset of the values allowed
386 -in triples.
387 -
388 -For example, this fixes an issue when the compiler set for
389 -i686-pc-linux-gnu triple would not find an i386 compiler-rt library,
390 -while this is the exact arch that is detected by compiler-rt. The same
391 -applies to any other i?86 variant allowed by LLVM.
392 -
393 -This also makes the special case for MSVC unnecessary, since now i386
394 -will be used reliably for all 32-bit x86 variants.
395 ----
396 - lib/Driver/ToolChain.cpp | 5 +----
397 - .../usr/i686-unknown-linux/lib/.keep | 0
398 - .../usr/lib/gcc/i686-unknown-linux/4.6.0/crtbegin.o | 0
399 - test/Driver/linux-ld.c | 21 +++++++++++++++++++++
400 - test/Driver/nostdlib.c | 2 +-
401 - test/Driver/print-libgcc-file-name-clangrt.c | 10 ++++++++--
402 - test/Driver/windows-cross.c | 2 +-
403 - 7 files changed, 32 insertions(+), 8 deletions(-)
404 - create mode 100644 test/Driver/Inputs/basic_linux_tree/usr/i686-unknown-linux/lib/.keep
405 - create mode 100644 test/Driver/Inputs/basic_linux_tree/usr/lib/gcc/i686-unknown-linux/4.6.0/crtbegin.o
406 -
407 -diff --git a/lib/Driver/ToolChain.cpp b/lib/Driver/ToolChain.cpp
408 -index 6adc0386ee..7e4222f087 100644
409 ---- a/lib/Driver/ToolChain.cpp
410 -+++ b/lib/Driver/ToolChain.cpp
411 -@@ -283,15 +283,12 @@ static StringRef getArchNameForCompilerRTLib(const ToolChain &TC,
412 - const llvm::Triple &Triple = TC.getTriple();
413 - bool IsWindows = Triple.isOSWindows();
414 -
415 -- if (Triple.isWindowsMSVCEnvironment() && TC.getArch() == llvm::Triple::x86)
416 -- return "i386";
417 --
418 - if (TC.getArch() == llvm::Triple::arm || TC.getArch() == llvm::Triple::armeb)
419 - return (arm::getARMFloatABI(TC, Args) == arm::FloatABI::Hard && !IsWindows)
420 - ? "armhf"
421 - : "arm";
422 -
423 -- return TC.getArchName();
424 -+ return llvm::Triple::getArchTypeName(TC.getArch());
425 - }
426 -
427 - std::string ToolChain::getCompilerRT(const ArgList &Args, StringRef Component,
428 -diff --git a/test/Driver/Inputs/basic_linux_tree/usr/i686-unknown-linux/lib/.keep b/test/Driver/Inputs/basic_linux_tree/usr/i686-unknown-linux/lib/.keep
429 -new file mode 100644
430 -index 0000000000..e69de29bb2
431 -diff --git a/test/Driver/Inputs/basic_linux_tree/usr/lib/gcc/i686-unknown-linux/4.6.0/crtbegin.o b/test/Driver/Inputs/basic_linux_tree/usr/lib/gcc/i686-unknown-linux/4.6.0/crtbegin.o
432 -new file mode 100644
433 -index 0000000000..e69de29bb2
434 -diff --git a/test/Driver/linux-ld.c b/test/Driver/linux-ld.c
435 -index e5aa870866..92b199b9d4 100644
436 ---- a/test/Driver/linux-ld.c
437 -+++ b/test/Driver/linux-ld.c
438 -@@ -71,6 +71,27 @@
439 - // CHECK-LD-RT: libclang_rt.builtins-x86_64.a"
440 - //
441 - // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
442 -+// RUN: --target=i686-unknown-linux \
443 -+// RUN: --gcc-toolchain="" \
444 -+// RUN: --sysroot=%S/Inputs/basic_linux_tree \
445 -+// RUN: --rtlib=compiler-rt \
446 -+// RUN: | FileCheck --check-prefix=CHECK-LD-RT-I686 %s
447 -+// CHECK-LD-RT-I686-NOT: warning:
448 -+// CHECK-LD-RT-I686: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"
449 -+// CHECK-LD-RT-I686: "--eh-frame-hdr"
450 -+// CHECK-LD-RT-I686: "-m" "elf_i386"
451 -+// CHECK-LD-RT-I686: "-dynamic-linker"
452 -+// CHECK-LD-RT-I686: "{{.*}}/usr/lib/gcc/i686-unknown-linux/4.6.0{{/|\\\\}}crtbegin.o"
453 -+// CHECK-LD-RT-I686: "-L[[SYSROOT]]/usr/lib/gcc/i686-unknown-linux/4.6.0"
454 -+// CHECK-LD-RT-I686: "-L[[SYSROOT]]/usr/lib/gcc/i686-unknown-linux/4.6.0/../../../../i686-unknown-linux/lib"
455 -+// CHECK-LD-RT-I686: "-L[[SYSROOT]]/usr/lib/gcc/i686-unknown-linux/4.6.0/../../.."
456 -+// CHECK-LD-RT-I686: "-L[[SYSROOT]]/lib"
457 -+// CHECK-LD-RT-I686: "-L[[SYSROOT]]/usr/lib"
458 -+// CHECK-LD-RT-I686: libclang_rt.builtins-i386.a"
459 -+// CHECK-LD-RT-I686: "-lc"
460 -+// CHECK-LD-RT-I686: libclang_rt.builtins-i386.a"
461 -+//
462 -+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
463 - // RUN: --target=arm-linux-androideabi \
464 - // RUN: --gcc-toolchain="" \
465 - // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \
466 -diff --git a/test/Driver/nostdlib.c b/test/Driver/nostdlib.c
467 -index a9ef665c57..c9793d968c 100644
468 ---- a/test/Driver/nostdlib.c
469 -+++ b/test/Driver/nostdlib.c
470 -@@ -27,5 +27,5 @@
471 - //
472 - // CHECK-LINUX-NOSTDLIB: warning: argument unused during compilation: '--rtlib=compiler-rt'
473 - // CHECK-LINUX-NOSTDLIB: "{{(.*[^.0-9A-Z_a-z])?}}ld{{(.exe)?}}"
474 --// CHECK-LINUX-NOSTDLIB-NOT: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}linux{{/|\\\\}}libclang_rt.builtins-i686.a"
475 -+// CHECK-LINUX-NOSTDLIB-NOT: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}linux{{/|\\\\}}libclang_rt.builtins-i386.a"
476 - // CHECK-MSVC-NOSTDLIB: warning: argument unused during compilation: '--rtlib=compiler-rt'
477 -diff --git a/test/Driver/print-libgcc-file-name-clangrt.c b/test/Driver/print-libgcc-file-name-clangrt.c
478 -index 9f8120c31d..28c758881d 100644
479 ---- a/test/Driver/print-libgcc-file-name-clangrt.c
480 -+++ b/test/Driver/print-libgcc-file-name-clangrt.c
481 -@@ -6,6 +6,12 @@
482 - // CHECK-CLANGRT-X8664: libclang_rt.builtins-x86_64.a
483 -
484 - // RUN: %clang -rtlib=compiler-rt -print-libgcc-file-name 2>&1 \
485 -+// RUN: --target=i386-pc-linux \
486 -+// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-I386 %s
487 -+// CHECK-CLANGRT-I386: libclang_rt.builtins-i386.a
488 -+
489 -+// Check whether alternate arch values map to the correct library.
490 -+//
491 -+// RUN: %clang -rtlib=compiler-rt -print-libgcc-file-name 2>&1 \
492 - // RUN: --target=i686-pc-linux \
493 --// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-I686 %s
494 --// CHECK-CLANGRT-I686: libclang_rt.builtins-i686.a
495 -+// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-I386 %s
496 -diff --git a/test/Driver/windows-cross.c b/test/Driver/windows-cross.c
497 -index 5a2fe52b09..78b4981c9d 100644
498 ---- a/test/Driver/windows-cross.c
499 -+++ b/test/Driver/windows-cross.c
500 -@@ -59,7 +59,7 @@
501 - // RUN: | FileCheck %s --check-prefix CHECK-SANITIZE-ADDRESS-EXE-X86
502 -
503 - // CHECK-SANITIZE-ADDRESS-EXE-X86: "-fsanitize=address"
504 --// CHECK-SANITIZE-ADDRESS-EXE-X86: "{{.*}}clang_rt.asan_dynamic-i686.lib" "{{.*}}clang_rt.asan_dynamic_runtime_thunk-i686.lib" "--undefined" "___asan_seh_interceptor"
505 -+// CHECK-SANITIZE-ADDRESS-EXE-X86: "{{.*}}clang_rt.asan_dynamic-i386.lib" "{{.*}}clang_rt.asan_dynamic_runtime_thunk-i386.lib" "--undefined" "___asan_seh_interceptor"
506 -
507 - // RUN: %clang -### -target armv7-windows-itanium --sysroot %S/Inputs/Windows/ARM/8.1 -B %S/Inputs/Windows/ARM/8.1/usr/bin -fuse-ld=lld-link2 -shared -o shared.dll -fsanitize=tsan -x c++ %s 2>&1 \
508 - // RUN: | FileCheck %s --check-prefix CHECK-SANITIZE-TSAN
509 ---
510 -2.11.0
511 -
512
513 diff --git a/sys-devel/clang/files/5.0.2/0002-test-Fix-clang-test-for-FreeBSD-and-NetBSD.patch b/sys-devel/clang/files/5.0.2/0002-test-Fix-clang-test-for-FreeBSD-and-NetBSD.patch
514 deleted file mode 100644
515 index 1751a4f479f..00000000000
516 --- a/sys-devel/clang/files/5.0.2/0002-test-Fix-clang-test-for-FreeBSD-and-NetBSD.patch
517 +++ /dev/null
518 @@ -1,76 +0,0 @@
519 -From 4650c277d616e5d297baf28682eb792e2e0144b1 Mon Sep 17 00:00:00 2001
520 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@g.o>
521 -Date: Sun, 1 Apr 2018 23:20:56 +0200
522 -Subject: [PATCH] [test] Fix clang-test for FreeBSD and NetBSD
523 -
524 -Lit tries to inject the shared library paths, but no action is taken
525 -when platform.system() is not recognized, results in an environment
526 -variable with an empty name, which is illegal.
527 -
528 -The patch fixes this mechanism for FreeBSD and NetBSD, and gives an
529 -warning on other platforms, so that the latecomers don't have to spend
530 -time on debugging lit.
531 -
532 -Thanks Zhihao Yuan for the patch!
533 -
534 -Differential Revision: https://reviews.llvm.org/D39162
535 -
536 -git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@316411 91177308-0d34-0410-b5e6-96231b3b80d8
537 -
538 -(rebased for release_50 branch)
539 ----
540 - test/Unit/lit.cfg | 41 ++++++++++++++++++++---------------------
541 - 1 file changed, 20 insertions(+), 21 deletions(-)
542 -
543 -diff --git a/test/Unit/lit.cfg b/test/Unit/lit.cfg
544 -index 90eb2ac604..2cabf4bba1 100644
545 ---- a/test/Unit/lit.cfg
546 -+++ b/test/Unit/lit.cfg
547 -@@ -87,24 +87,23 @@ if config.test_exec_root is None:
548 - lit_config.load_config(config, site_cfg)
549 - raise SystemExit
550 -
551 --shlibpath_var = ''
552 --if platform.system() == 'Linux':
553 -- shlibpath_var = 'LD_LIBRARY_PATH'
554 --elif platform.system() == 'Darwin':
555 -- shlibpath_var = 'DYLD_LIBRARY_PATH'
556 --elif platform.system() == 'Windows':
557 -- shlibpath_var = 'PATH'
558 --
559 --# in stand-alone builds, shlibdir is clang's build tree
560 --# while llvm_libs_dir is installed LLVM (and possibly older clang)
561 --llvm_shlib_dir = getattr(config, 'shlibdir', None)
562 --if not llvm_shlib_dir:
563 -- lit_config.fatal('No shlibdir set!')
564 --# Point the dynamic loader at dynamic libraries in 'lib'.
565 --llvm_libs_dir = getattr(config, 'llvm_libs_dir', None)
566 --if not llvm_libs_dir:
567 -- lit_config.fatal('No LLVM libs dir set!')
568 --shlibpath = os.path.pathsep.join((llvm_shlib_dir, llvm_libs_dir,
569 -- config.environment.get(shlibpath_var,'')))
570 --
571 --config.environment[shlibpath_var] = shlibpath
572 -+def find_shlibpath_var():
573 -+ if platform.system() in ['Linux', 'FreeBSD', 'NetBSD']:
574 -+ yield 'LD_LIBRARY_PATH'
575 -+ elif platform.system() == 'Darwin':
576 -+ yield 'DYLD_LIBRARY_PATH'
577 -+ elif platform.system() == 'Windows':
578 -+ yield 'PATH'
579 -+
580 -+for shlibpath_var in find_shlibpath_var():
581 -+ # in stand-alone builds, shlibdir is clang's build tree
582 -+ # while llvm_libs_dir is installed LLVM (and possibly older clang)
583 -+ shlibpath = os.path.pathsep.join(
584 -+ (config.shlibdir,
585 -+ config.llvm_libs_dir,
586 -+ config.environment.get(shlibpath_var, '')))
587 -+ config.environment[shlibpath_var] = shlibpath
588 -+ break
589 -+else:
590 -+ lit_config.warning("unable to inject shared library path on '{}'"
591 -+ .format(platform.system()))
592 ---
593 -2.17.0.rc2
594 -
595
596 diff --git a/sys-devel/clang/files/5.0.2/extra/0001-Assume-the-shared-library-path-variable-is-LD_LIBRAR.patch b/sys-devel/clang/files/5.0.2/extra/0001-Assume-the-shared-library-path-variable-is-LD_LIBRAR.patch
597 deleted file mode 100644
598 index cbdb0b807aa..00000000000
599 --- a/sys-devel/clang/files/5.0.2/extra/0001-Assume-the-shared-library-path-variable-is-LD_LIBRAR.patch
600 +++ /dev/null
601 @@ -1,37 +0,0 @@
602 -From 5c5bb3948697f2ca184a03dedd5666eb2de547ba Mon Sep 17 00:00:00 2001
603 -From: Dimitry Andric <dimitry@××××××.com>
604 -Date: Sat, 20 Jan 2018 14:34:33 +0000
605 -Subject: [PATCH] Assume the shared library path variable is LD_LIBRARY_PATH on
606 - systems except Darwin and Windows. This prevents inserting an environment
607 - variable with an empty name (which is illegal and leads to a Python
608 - exception) on any of the BSDs.
609 -
610 -git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@323040 91177308-0d34-0410-b5e6-96231b3b80d8
611 ----
612 - test/Unit/lit.cfg | 7 +++----
613 - 1 file changed, 3 insertions(+), 4 deletions(-)
614 -
615 -diff --git a/test/Unit/lit.cfg b/test/Unit/lit.cfg
616 -index fc63afdb..b40e1cae 100644
617 ---- a/test/Unit/lit.cfg
618 -+++ b/test/Unit/lit.cfg
619 -@@ -19,13 +19,12 @@ config.test_exec_root = config.test_source_root
620 - # ;-separated list of subdirectories).
621 - config.test_format = lit.formats.GoogleTest('.', 'Tests')
622 -
623 --shlibpath_var = ''
624 --if platform.system() == 'Linux':
625 -- shlibpath_var = 'LD_LIBRARY_PATH'
626 --elif platform.system() == 'Darwin':
627 -+if platform.system() == 'Darwin':
628 - shlibpath_var = 'DYLD_LIBRARY_PATH'
629 - elif platform.system() == 'Windows':
630 - shlibpath_var = 'PATH'
631 -+else:
632 -+ shlibpath_var = 'LD_LIBRARY_PATH'
633 -
634 - # Point the dynamic loader at dynamic libraries in 'lib'.
635 - shlibpath = os.path.pathsep.join((config.shlibdir, config.llvm_libs_dir,
636 ---
637 -2.17.0.rc2
638 -