1 |
commit: 17c04693fe7b6b13ba0a1a77fc0fdd644e1b720a |
2 |
Author: Michał Górny <mgorny <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Nov 26 11:08:14 2022 +0000 |
4 |
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Nov 26 11:08:14 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=17c04693 |
7 |
|
8 |
sys-devel/clang: Remove 15.0.4 |
9 |
|
10 |
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> |
11 |
|
12 |
sys-devel/clang/Manifest | 4 - |
13 |
sys-devel/clang/clang-15.0.4.ebuild | 460 ------------------------------------ |
14 |
2 files changed, 464 deletions(-) |
15 |
|
16 |
diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest |
17 |
index ac17e9362b97..311a7c2f47a6 100644 |
18 |
--- a/sys-devel/clang/Manifest |
19 |
+++ b/sys-devel/clang/Manifest |
20 |
@@ -1,21 +1,17 @@ |
21 |
DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572 |
22 |
DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff6312b89abeef3fbe5da5d0b93bb2add1088ddf64a0b00ec8846062d19b1ad31e53eadee7ce03c9034aab554e183d1baccf6 SHA512 f8328dc2ec1e8d941d47e583ee31fae7bdcebb3f854b5c8a4a84bd19a79bf5427ad204012c81349bc05a291e41cf48e5129b4578bbd5d4490dd01e1c0b5823bf |
23 |
DIST llvm-15.0.3-manpages.tar.bz2 229076 BLAKE2B 377809b34339af7deb80856281932d94d694dab2b7dddbac1f82f653f7bf6932c1f3827635d151479fdb6d776de3e3ee4d08aeae4e320e07baaa1b32877f64c5 SHA512 d4872f68f044e55ecf927b0e6fe4206046f60aafcf41009ae5580e0a3f6a6d6a69f4929487b2740124a41f22073eaa8a4a184b367b7f4606402735374294f4f6 |
24 |
-DIST llvm-15.0.4-manpages.tar.bz2 226324 BLAKE2B da85a572f69e4a7a0905590dd330e8a391205f9b92d18efef4125d24060b110260324f2f19f277745572e8cd563e2c0834f59511d71dfa741b2c5c6f85d714ff SHA512 be832f6882eafc329684d415330a703ac240048c2e8eb30f91a45dca29a0fb529e11b14a1c38b0ae5758bcdd042cc0a84afc8f2f414b44bb435431c74fdaeef4 |
25 |
DIST llvm-15.0.5-manpages.tar.bz2 225568 BLAKE2B d6257b7296b9be118e0729b384331af200cd00eec3228e053f5ae791ef08b632b40723cd30b0ddb229c9c7ca86c1c59f953862b87129f6cd79a9cf2df8f3be9c SHA512 e524b9c0f3c09e0d9b436ec201d0123534d03da55a97fd762ce772c58bdac796a0e70d92dba2e7462ee0a4afc7f4f7e0423f10e4cfd41c801655ec4a5f05b14b |
26 |
DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01 |
27 |
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c |
28 |
DIST llvm-gentoo-patchset-15.0.2-r100.tar.xz 15916 BLAKE2B c48afb18c706292d55e028aae2be8f1bc7035ff527ca4f0b32c47d38cbf3022730cc21ca67f921c53d8535fc04c51fdaf63a4810a2c6b519fa33c08116259f30 SHA512 1051a0b2674d2b74c4ac75b734dbaba53507577ce6bd150b0f241b39c9a60b3bd4c420a90dddeee675005633714e5d634684eef22e43fc87e28c1d8c9229e5ee |
29 |
DIST llvm-gentoo-patchset-15.0.3.tar.xz 17480 BLAKE2B d540b044ad0a0505ebf69f732c71fbce281cfc13ee599ba1289238b673a4ba9a4196e80d63fec99db82e55bf6f036fbb9ca0ba489169c2a732f0d1aa2e96ae5a SHA512 f877d5be3e38d64cccc2c8a47287562a42d07f84c7d1b466ae2161aed3f2797bebedaf1118623ae3ded2b47d6abc0ca29ba7a387c07b6097389e715a50cc3816 |
30 |
-DIST llvm-gentoo-patchset-15.0.4.tar.xz 16972 BLAKE2B 39cf8a7112d05e50bab8fd54b7559b5bbb4698d9c1adf97f9b4ef93b37d1c342a1e6fd0e85633369f049c9cbf930b50debb2e476c9a348c53943378a0f77d892 SHA512 a99a31dd6db384a3a896d101e148acb028c837bbc9c4b0239606fd6ef0f365312721eb6b209747024c264c2a9dcf81ee7f1cd1a9f372a7ac741a2456d8356e62 |
31 |
DIST llvm-gentoo-patchset-15.0.5.tar.xz 15912 BLAKE2B be6da35631073099cdce66746a318080999f7dace4b07470b0a5d0a9ce93f68e51b06d7ddc174b98a47677a0ec30fb17fd9cfcaffd4e6055d8b5f70084c2262b SHA512 708f49129a5ec48f2fa26d50573734e13888e3e10d09ed24f728b687294b31b5f30773ac1e74890e3b73539c057911611dc91791e2cb18cc0a11e8271ac4e990 |
32 |
DIST llvm-gentoo-patchset-9999-r4.tar.xz 4120 BLAKE2B 0d45763a36b711e336bf1e36c361c68df5d679837e0b1cb1f9cc26bb52bf769f3c6683f56a01a7ea2bddcbf044a883ea504360a2414ad8dab1f696b8bdd61bfa SHA512 a02b08faf2fa59302161e7ac8f129592fde2e6c6ad5b273c948fa0d68e6a76f14fecc2850cec43f9a9505d483066240eaa3787c77e6bf75bbaa2c4dcacda2d16 |
33 |
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13 |
34 |
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6 |
35 |
DIST llvm-project-15.0.3.src.tar.xz 112069972 BLAKE2B 3d29bab890467ba87fedcc4e76522f444e63e3dfbe546793f8e67821bcd403bad460ea176254c9e0b72d60ea56b8480e498a7f610477c1108732d178804c26cd SHA512 d378d417f01c56534f301cfe6cb4958d811c04ae22acaacc917e7e5f0380859d40ce19dffb265d046b70fff95dbc2e759f492e4d5af0ade52f21ebaa8da65856 |
36 |
DIST llvm-project-15.0.3.src.tar.xz.sig 438 BLAKE2B e7e0614e144eb878f694c12e97cf42ff8476e47cb55e8f259eb2ec52e303463ad753771271512e89baf0137c1382b11cfa028c85324174ebcd054a124000f537 SHA512 41229bebdb0c2df9a5e3a4d6f02d39fac7dc91f21895a659523beab4fa3ef99ff06eff5e4386221369b6e2b6f8fe974d67b7d8496d5911ce484d09ae0db8b916 |
37 |
-DIST llvm-project-15.0.4.src.tar.xz 110936424 BLAKE2B a02b76ad161e352b4d3d84baffdada9c6a0e704de7a2c4017df4d4d05a9e9d02113791cd7d91c3edfa1f5bcb7ab95e1772d60f7061514928c6828600f41a8322 SHA512 9d5b664dd77c08130601636f9d6c006b257f369470ce823aa56d06698a9f0edfec42f2c90da934b9ad52c4d7960d9a024ea46dc9640275be6d191b1ba9869459 |
38 |
-DIST llvm-project-15.0.4.src.tar.xz.sig 566 BLAKE2B f1a7be65fcce932dc125ae2b498f68a14e68dad0d7a1e031343c52c5dafb7b123e346f3efa50a7693584361abf01efe9401b1b5781dee6b92dc1045e538e9b7b SHA512 35899ffbd13fc44cade54246a423450571cb4b62b8d706864daa3eef2377c48e24ef3113218e39e29de995b7f7fa307f9187552766576c9050fd924beb517f6e |
39 |
DIST llvm-project-15.0.5.src.tar.xz 110931004 BLAKE2B d751e3627ee26e60a1a037a4a6cc574a31c4abe038331b86206348ac3ce93a243add2be3a0bbfc2ec5ec3f3562a5b5efea745cb1943c9c9153bc7b0fcf4de22e SHA512 cf2a89ebb6bc9d7e3f1fd09531c84ac9927cdbe5ee13a6fcb8ce4d08e5a9d6d480ad982f62126b9c757beafa283b34f2ba1fbc56223c641e70da2be4627f59a6 |
40 |
DIST llvm-project-15.0.5.src.tar.xz.sig 566 BLAKE2B a6e7204abc912045346a36f2b349e0829a4d5b9efcb230fb0c97caa38d5159ca17ffb47ce0485cbab276a4938ff3a5c05ef9f8b0b75f4c2028d870ee33023431 SHA512 312bc09b54408a9265f8102241089b0f674be0832dd5cb1998ff13dbccbe19324d7060ba2680457118dee96a1ff390b16282677ad825d7230008014ecebe47d5 |
41 |
DIST llvm-project-7b91798a5d3a8432b296778da4efe169012fb7b4.tar.gz 170989337 BLAKE2B 1ab79554a05f8d7a74c0b4bab319c30375475d3fd089764733744fde55c65eb38967cdb19e5b0211a1543549c2bfc3c0f3d43facb7e041f51988e8a65e4448f3 SHA512 4c4d3a748b967cbc75372d0db87ac48d32271a54047ddeeb028d565fa6b7004b2ab3abd82d8ff4621e50c9410fce28c3044550cc94aaf0f6e4f672498f47aba8 |
42 |
|
43 |
diff --git a/sys-devel/clang/clang-15.0.4.ebuild b/sys-devel/clang/clang-15.0.4.ebuild |
44 |
deleted file mode 100644 |
45 |
index 45ec3a2786f8..000000000000 |
46 |
--- a/sys-devel/clang/clang-15.0.4.ebuild |
47 |
+++ /dev/null |
48 |
@@ -1,460 +0,0 @@ |
49 |
-# Copyright 1999-2022 Gentoo Authors |
50 |
-# Distributed under the terms of the GNU General Public License v2 |
51 |
- |
52 |
-EAPI=8 |
53 |
- |
54 |
-PYTHON_COMPAT=( python3_{8..11} ) |
55 |
-inherit cmake llvm llvm.org multilib multilib-minimal \ |
56 |
- prefix python-single-r1 toolchain-funcs |
57 |
- |
58 |
-DESCRIPTION="C language family frontend for LLVM" |
59 |
-HOMEPAGE="https://llvm.org/" |
60 |
- |
61 |
-# MSVCSetupApi.h: MIT |
62 |
-# sorttable.js: MIT |
63 |
- |
64 |
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT" |
65 |
-SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" |
66 |
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x64-macos" |
67 |
-IUSE="debug doc +extra +pie +static-analyzer test xml" |
68 |
-REQUIRED_USE="${PYTHON_REQUIRED_USE}" |
69 |
-RESTRICT="!test? ( test )" |
70 |
- |
71 |
-DEPEND=" |
72 |
- ~sys-devel/llvm-${PV}:${LLVM_MAJOR}=[debug=,${MULTILIB_USEDEP}] |
73 |
- static-analyzer? ( dev-lang/perl:* ) |
74 |
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] ) |
75 |
-" |
76 |
- |
77 |
-RDEPEND=" |
78 |
- ${PYTHON_DEPS} |
79 |
- ${DEPEND} |
80 |
- >=sys-devel/clang-common-${PV} |
81 |
-" |
82 |
-BDEPEND=" |
83 |
- ${PYTHON_DEPS} |
84 |
- >=dev-util/cmake-3.16 |
85 |
- doc? ( $(python_gen_cond_dep ' |
86 |
- dev-python/recommonmark[${PYTHON_USEDEP}] |
87 |
- dev-python/sphinx[${PYTHON_USEDEP}] |
88 |
- ') ) |
89 |
- xml? ( virtual/pkgconfig ) |
90 |
-" |
91 |
-PDEPEND=" |
92 |
- sys-devel/clang-toolchain-symlinks:${LLVM_MAJOR} |
93 |
- ~sys-devel/clang-runtime-${PV} |
94 |
-" |
95 |
- |
96 |
-LLVM_COMPONENTS=( |
97 |
- clang clang-tools-extra cmake |
98 |
- llvm/lib/Transforms/Hello |
99 |
-) |
100 |
-LLVM_MANPAGES=1 |
101 |
-LLVM_TEST_COMPONENTS=( |
102 |
- llvm/lib/Testing/Support |
103 |
- llvm/utils/{lit,llvm-lit,unittest} |
104 |
- llvm/utils/{UpdateTestChecks,update_cc_test_checks.py} |
105 |
-) |
106 |
-LLVM_PATCHSET=${PV/_/-} |
107 |
-LLVM_USE_TARGETS=llvm |
108 |
-llvm.org_set_globals |
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=${LLVM_MAJOR} llvm_pkg_setup |
123 |
- python-single-r1_pkg_setup |
124 |
-} |
125 |
- |
126 |
-src_prepare() { |
127 |
- # create extra parent dir for relative CLANG_RESOURCE_DIR access |
128 |
- mkdir -p x/y || die |
129 |
- BUILD_DIR=${WORKDIR}/x/y/clang |
130 |
- |
131 |
- llvm.org_src_prepare |
132 |
- |
133 |
- # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch) |
134 |
- eprefixify \ |
135 |
- lib/Lex/InitHeaderSearch.cpp \ |
136 |
- lib/Driver/ToolChains/Darwin.cpp || die |
137 |
-} |
138 |
- |
139 |
-check_distribution_components() { |
140 |
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then |
141 |
- local all_targets=() my_targets=() l |
142 |
- cd "${BUILD_DIR}" || die |
143 |
- |
144 |
- while read -r l; do |
145 |
- if [[ ${l} == install-*-stripped:* ]]; then |
146 |
- l=${l#install-} |
147 |
- l=${l%%-stripped*} |
148 |
- |
149 |
- case ${l} in |
150 |
- # meta-targets |
151 |
- clang-libraries|distribution) |
152 |
- continue |
153 |
- ;; |
154 |
- # tools |
155 |
- clang|clangd|clang-*) |
156 |
- ;; |
157 |
- # static libraries |
158 |
- clang*|findAllSymbols) |
159 |
- continue |
160 |
- ;; |
161 |
- # conditional to USE=doc |
162 |
- docs-clang-html|docs-clang-tools-html) |
163 |
- use doc || continue |
164 |
- ;; |
165 |
- esac |
166 |
- |
167 |
- all_targets+=( "${l}" ) |
168 |
- fi |
169 |
- done < <(${NINJA} -t targets all) |
170 |
- |
171 |
- while read -r l; do |
172 |
- my_targets+=( "${l}" ) |
173 |
- done < <(get_distribution_components $"\n") |
174 |
- |
175 |
- local add=() remove=() |
176 |
- for l in "${all_targets[@]}"; do |
177 |
- if ! has "${l}" "${my_targets[@]}"; then |
178 |
- add+=( "${l}" ) |
179 |
- fi |
180 |
- done |
181 |
- for l in "${my_targets[@]}"; do |
182 |
- if ! has "${l}" "${all_targets[@]}"; then |
183 |
- remove+=( "${l}" ) |
184 |
- fi |
185 |
- done |
186 |
- |
187 |
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then |
188 |
- eqawarn "get_distribution_components() is outdated!" |
189 |
- eqawarn " Add: ${add[*]}" |
190 |
- eqawarn "Remove: ${remove[*]}" |
191 |
- fi |
192 |
- cd - >/dev/null || die |
193 |
- fi |
194 |
-} |
195 |
- |
196 |
-get_distribution_components() { |
197 |
- local sep=${1-;} |
198 |
- |
199 |
- local out=( |
200 |
- # common stuff |
201 |
- clang-cmake-exports |
202 |
- clang-headers |
203 |
- clang-resource-headers |
204 |
- libclang-headers |
205 |
- |
206 |
- aarch64-resource-headers |
207 |
- arm-common-resource-headers |
208 |
- arm-resource-headers |
209 |
- core-resource-headers |
210 |
- cuda-resource-headers |
211 |
- hexagon-resource-headers |
212 |
- hip-resource-headers |
213 |
- hlsl-resource-headers |
214 |
- mips-resource-headers |
215 |
- opencl-resource-headers |
216 |
- openmp-resource-headers |
217 |
- ppc-htm-resource-headers |
218 |
- ppc-resource-headers |
219 |
- riscv-resource-headers |
220 |
- systemz-resource-headers |
221 |
- utility-resource-headers |
222 |
- ve-resource-headers |
223 |
- webassembly-resource-headers |
224 |
- windows-resource-headers |
225 |
- x86-resource-headers |
226 |
- |
227 |
- # libs |
228 |
- clang-cpp |
229 |
- libclang |
230 |
- ) |
231 |
- |
232 |
- if multilib_is_native_abi; then |
233 |
- out+=( |
234 |
- # common stuff |
235 |
- bash-autocomplete |
236 |
- libclang-python-bindings |
237 |
- |
238 |
- # tools |
239 |
- c-index-test |
240 |
- clang |
241 |
- clang-format |
242 |
- clang-offload-bundler |
243 |
- clang-offload-packager |
244 |
- clang-offload-wrapper |
245 |
- clang-refactor |
246 |
- clang-repl |
247 |
- clang-rename |
248 |
- clang-scan-deps |
249 |
- diagtool |
250 |
- hmaptool |
251 |
- ) |
252 |
- |
253 |
- if use extra; then |
254 |
- out+=( |
255 |
- # extra tools |
256 |
- clang-apply-replacements |
257 |
- clang-change-namespace |
258 |
- clang-doc |
259 |
- clang-include-fixer |
260 |
- clang-move |
261 |
- clang-pseudo |
262 |
- clang-query |
263 |
- clang-reorder-fields |
264 |
- clang-tidy |
265 |
- clang-tidy-headers |
266 |
- clangd |
267 |
- find-all-symbols |
268 |
- modularize |
269 |
- pp-trace |
270 |
- ) |
271 |
- fi |
272 |
- |
273 |
- if llvm_are_manpages_built; then |
274 |
- out+=( docs-clang-man ) |
275 |
- use extra && out+=( docs-clang-tools-man ) |
276 |
- fi |
277 |
- |
278 |
- if use doc; then |
279 |
- out+=( docs-clang-html ) |
280 |
- use extra && out+=( docs-clang-tools-html ) |
281 |
- fi |
282 |
- |
283 |
- use static-analyzer && out+=( |
284 |
- clang-check |
285 |
- clang-extdef-mapping |
286 |
- scan-build |
287 |
- scan-build-py |
288 |
- scan-view |
289 |
- ) |
290 |
- fi |
291 |
- |
292 |
- printf "%s${sep}" "${out[@]}" |
293 |
-} |
294 |
- |
295 |
-multilib_src_configure() { |
296 |
- local mycmakeargs=( |
297 |
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" |
298 |
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man" |
299 |
- -DCLANG_CONFIG_FILE_SYSTEM_DIR="${EPREFIX}/etc/clang" |
300 |
- # relative to bindir |
301 |
- -DCLANG_RESOURCE_DIR="../../../../lib/clang/${LLVM_VERSION}" |
302 |
- |
303 |
- -DBUILD_SHARED_LIBS=OFF |
304 |
- -DCLANG_LINK_CLANG_DYLIB=ON |
305 |
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components) |
306 |
- |
307 |
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" |
308 |
- -DLLVM_BUILD_TESTS=$(usex test) |
309 |
- |
310 |
- # these are not propagated reliably, so redefine them |
311 |
- -DLLVM_ENABLE_EH=ON |
312 |
- -DLLVM_ENABLE_RTTI=ON |
313 |
- |
314 |
- -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml) |
315 |
- # libgomp support fails to find headers without explicit -I |
316 |
- # furthermore, it provides only syntax checking |
317 |
- -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp |
318 |
- |
319 |
- # disable using CUDA to autodetect GPU, just build for all |
320 |
- -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON |
321 |
- |
322 |
- -DCLANG_DEFAULT_PIE_ON_LINUX=$(usex pie) |
323 |
- |
324 |
- -DCLANG_ENABLE_ARCMT=$(usex static-analyzer) |
325 |
- -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer) |
326 |
- |
327 |
- -DPython3_EXECUTABLE="${PYTHON}" |
328 |
- ) |
329 |
- use test && mycmakeargs+=( |
330 |
- -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" |
331 |
- -DLLVM_EXTERNAL_LIT="${BUILD_DIR}/bin/llvm-lit" |
332 |
- -DLLVM_LIT_ARGS="$(get_lit_flags)" |
333 |
- ) |
334 |
- |
335 |
- if multilib_is_native_abi; then |
336 |
- local build_docs=OFF |
337 |
- if llvm_are_manpages_built; then |
338 |
- build_docs=ON |
339 |
- mycmakeargs+=( |
340 |
- -DLLVM_BUILD_DOCS=ON |
341 |
- -DLLVM_ENABLE_SPHINX=ON |
342 |
- -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" |
343 |
- -DSPHINX_WARNINGS_AS_ERRORS=OFF |
344 |
- ) |
345 |
- if use extra; then |
346 |
- mycmakeargs+=( |
347 |
- -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra" |
348 |
- ) |
349 |
- fi |
350 |
- fi |
351 |
- mycmakeargs+=( |
352 |
- -DCLANG_INCLUDE_DOCS=${build_docs} |
353 |
- ) |
354 |
- fi |
355 |
- if multilib_native_use extra; then |
356 |
- mycmakeargs+=( |
357 |
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra |
358 |
- -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs} |
359 |
- ) |
360 |
- else |
361 |
- mycmakeargs+=( |
362 |
- -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF |
363 |
- ) |
364 |
- fi |
365 |
- |
366 |
- if [[ -n ${EPREFIX} ]]; then |
367 |
- mycmakeargs+=( |
368 |
- -DGCC_INSTALL_PREFIX="${EPREFIX}/usr" |
369 |
- ) |
370 |
- fi |
371 |
- |
372 |
- if tc-is-cross-compiler; then |
373 |
- [[ -x "/usr/bin/clang-tblgen" ]] \ |
374 |
- || die "/usr/bin/clang-tblgen not found or usable" |
375 |
- mycmakeargs+=( |
376 |
- -DCMAKE_CROSSCOMPILING=ON |
377 |
- -DCLANG_TABLEGEN=/usr/bin/clang-tblgen |
378 |
- ) |
379 |
- fi |
380 |
- |
381 |
- # LLVM can have very high memory consumption while linking, |
382 |
- # exhausting the limit on 32-bit linker executable |
383 |
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory" |
384 |
- |
385 |
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 |
386 |
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" |
387 |
- cmake_src_configure |
388 |
- |
389 |
- multilib_is_native_abi && check_distribution_components |
390 |
-} |
391 |
- |
392 |
-multilib_src_compile() { |
393 |
- cmake_build distribution |
394 |
- |
395 |
- # provide a symlink for tests |
396 |
- if [[ ! -L ${WORKDIR}/lib/clang ]]; then |
397 |
- mkdir -p "${WORKDIR}"/lib || die |
398 |
- ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die |
399 |
- fi |
400 |
-} |
401 |
- |
402 |
-multilib_src_test() { |
403 |
- # respect TMPDIR! |
404 |
- local -x LIT_PRESERVES_TMP=1 |
405 |
- local test_targets=( check-clang ) |
406 |
- if multilib_native_use extra; then |
407 |
- test_targets+=( |
408 |
- check-clang-tools |
409 |
- check-clangd |
410 |
- ) |
411 |
- fi |
412 |
- cmake_build "${test_targets[@]}" |
413 |
-} |
414 |
- |
415 |
-src_install() { |
416 |
- MULTILIB_WRAPPED_HEADERS=( |
417 |
- /usr/include/clang/Config/config.h |
418 |
- ) |
419 |
- |
420 |
- multilib-minimal_src_install |
421 |
- |
422 |
- # Move runtime headers to /usr/lib/clang, where they belong |
423 |
- mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die |
424 |
- # move (remaining) wrapped headers back |
425 |
- if use extra; then |
426 |
- mv "${T}"/clang-tidy "${ED}"/usr/include/ || die |
427 |
- fi |
428 |
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die |
429 |
- |
430 |
- # Apply CHOST and version suffix to clang tools |
431 |
- local clang_tools=( clang clang++ clang-cl clang-cpp ) |
432 |
- local abi i |
433 |
- |
434 |
- # cmake gives us: |
435 |
- # - clang-X |
436 |
- # - clang -> clang-X |
437 |
- # - clang++, clang-cl, clang-cpp -> clang |
438 |
- # we want to have: |
439 |
- # - clang-X |
440 |
- # - clang++-X, clang-cl-X, clang-cpp-X -> clang-X |
441 |
- # - clang, clang++, clang-cl, clang-cpp -> clang*-X |
442 |
- # also in CHOST variant |
443 |
- for i in "${clang_tools[@]:1}"; do |
444 |
- rm "${ED}/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}" || die |
445 |
- dosym "clang-${LLVM_MAJOR}" "/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}-${LLVM_MAJOR}" |
446 |
- dosym "${i}-${LLVM_MAJOR}" "/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}" |
447 |
- done |
448 |
- |
449 |
- # now create target symlinks for all supported ABIs |
450 |
- for abi in $(get_all_abis); do |
451 |
- local abi_chost=$(get_abi_CHOST "${abi}") |
452 |
- for i in "${clang_tools[@]}"; do |
453 |
- dosym "${i}-${LLVM_MAJOR}" \ |
454 |
- "/usr/lib/llvm/${LLVM_MAJOR}/bin/${abi_chost}-${i}-${LLVM_MAJOR}" |
455 |
- dosym "${abi_chost}-${i}-${LLVM_MAJOR}" \ |
456 |
- "/usr/lib/llvm/${LLVM_MAJOR}/bin/${abi_chost}-${i}" |
457 |
- done |
458 |
- done |
459 |
-} |
460 |
- |
461 |
-multilib_src_install() { |
462 |
- DESTDIR=${D} cmake_build install-distribution |
463 |
- |
464 |
- # move headers to /usr/include for wrapping & ABI mismatch checks |
465 |
- # (also drop the version suffix from runtime headers) |
466 |
- rm -rf "${ED}"/usr/include || die |
467 |
- mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die |
468 |
- mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die |
469 |
- if multilib_native_use extra; then |
470 |
- # don't wrap clang-tidy headers, the list is too long |
471 |
- # (they're fine for non-native ABI but enabling the targets is problematic) |
472 |
- mv "${ED}"/usr/include/clang-tidy "${T}/" || die |
473 |
- fi |
474 |
-} |
475 |
- |
476 |
-multilib_src_install_all() { |
477 |
- python_fix_shebang "${ED}" |
478 |
- if use static-analyzer; then |
479 |
- python_optimize "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/share/scan-view |
480 |
- fi |
481 |
- |
482 |
- docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man" |
483 |
- llvm_install_manpages |
484 |
- # match 'html' non-compression |
485 |
- use doc && docompress -x "/usr/share/doc/${PF}/tools-extra" |
486 |
- # +x for some reason; TODO: investigate |
487 |
- use static-analyzer && fperms a-x "/usr/lib/llvm/${LLVM_MAJOR}/share/man/man1/scan-build.1" |
488 |
-} |
489 |
- |
490 |
-pkg_postinst() { |
491 |
- if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then |
492 |
- eselect compiler-shadow update all |
493 |
- fi |
494 |
- |
495 |
- elog "You can find additional utility scripts in:" |
496 |
- elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/clang" |
497 |
- if use extra; then |
498 |
- elog "Some of them are vim integration scripts (with instructions inside)." |
499 |
- elog "The run-clang-tidy.py script requires the following additional package:" |
500 |
- elog " dev-python/pyyaml" |
501 |
- fi |
502 |
-} |
503 |
- |
504 |
-pkg_postrm() { |
505 |
- if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then |
506 |
- eselect compiler-shadow clean all |
507 |
- fi |
508 |
-} |