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, 30 Dec 2018 11:40:03
Message-Id: 1546169987.1699d6987cfc99b4bb2f2709ae5787ce3694b84f.mgorny@gentoo
1 commit: 1699d6987cfc99b4bb2f2709ae5787ce3694b84f
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Sun Dec 30 11:31:51 2018 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Sun Dec 30 11:39:47 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1699d698
7
8 sys-devel/llvm: Remove 7.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-7.0.0-r1.ebuild | 264 ------------------------------------
14 sys-devel/llvm/llvm-7.0.0.ebuild | 260 -----------------------------------
15 3 files changed, 526 deletions(-)
16
17 diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
18 index 271f320f421..b2e77ae0930 100644
19 --- a/sys-devel/llvm/Manifest
20 +++ b/sys-devel/llvm/Manifest
21 @@ -34,8 +34,6 @@ DIST llvm-5.0.2-manpages.tar.bz2 93977 BLAKE2B 8c5e8899e0df9d6037fb7d5c373de6492
22 DIST llvm-5.0.2.src.tar.xz 23451868 BLAKE2B b7082be2e4ad557b29b9f6869811f262adcf5c73d552faf91b339bede75cf5eab58afefa12fa779a38be71fe2b8f4ea297c3213ee4e8370cc01972c59249d91c SHA512 3588be5ed969c3f7f6f16f56a12a6af2814d3d3c960d4a36ffebb0446cc75f19220bccee7fc605f9b01f5d5c188a905a046193cc12dec42dd5922048b5c27fe1
23 DIST llvm-6.0.1-manpages.tar.bz2 102656 BLAKE2B 9088ca0bdda69f63354e61b7495df54505d5db2504bc61860a7260343722ec8cdd5e937d0843263a5bf5077b9cf386c337fa127039b996bab10d2ca5c2caeb59 SHA512 c468e97a2d5610aee9e72cb795e4e65375a079d733550f05380230fb44ba0ed67d407ad06e2340b66f13d19c06583b657e8d01fcdca2146ae43964cea309e0b3
24 DIST llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f14e8fc4f66ade69fa15479181f07f655f26dff3fa24bf105762b495da316c5c9352db234bd0af6b9c3fff6d4d881 SHA512 cbbb00eb99cfeb4aff623ee1a5ba075e7b5a76fc00c5f9f539ff28c108598f5708a0369d5bd92683def5a20c2fe60cab7827b42d628dbfcc79b57e0e91b84dd9
25 -DIST llvm-7.0.0-manpages.tar.bz2 121089 BLAKE2B b60f18ce65e8b5bc9122378f82f0edb85d3ddef06e03e39bab8f52afe3c1c74ae8adb39335fa437fb243df8b15c7a8563eb23bc28fd9f3070a33e4c93081b095 SHA512 42731538157edc92e281baf0f4f56ce2943f1ed47b5fcd0269f98d19a8fa1602d093a02d22847ea1b00b49bf60a5e273e91aec216d084c68c772672d1a702c43
26 -DIST llvm-7.0.0.src.tar.xz 28324368 BLAKE2B 10168ff9be8f68536db3b2263c85c1c98213ef03dc542b83628ff176542452582bc496bab236fdf40d4a6463a33f04b27f1458c072ad8b66b641f8df8d494046 SHA512 bdc9b851c158b17e1bbeb7ac5ae49821bfb1251a3826fe8a3932cd1a43f9fb0d620c3de67150c1d9297bf0b86fa917e75978da29c3f751b277866dc90395abec
27 DIST llvm-7.0.1-manpages.tar.bz2 121157 BLAKE2B d209e292dde0b528bca6e6438eac83d3a762e83fb333fa075f973806ec802a19e24ec6f0212fffe4757257f2840a5f00960d121024db2d8ab8b99d95bb42b1da SHA512 56dce233d17c4c3c1e4860f31d30e227364c99f04527e8e8372f308e30d09a297ca21a37b4eb2eddab69bee88ef5867446affd1ccd5d7cb1c12d9c9002a1101c
28 DIST llvm-7.0.1.src.tar.xz 28311056 BLAKE2B 737aa6144a415e41a4ff2c8bd5a727d6f14d7b1810c62cbefa5a25fe642c98cddf8a28e35c7e9783373aa3b96f5c0943229e229ad1b43e56e9ed6db0f27ab128 SHA512 ac43a3cb71a53deb55e3693653847cf20bf6f5d9056f224e6956c96d63bc59ebee9404f088eec9cabe65337b4607a905ef931354b373cf64e0004c6905a6b5df
29 DIST llvm-manpages-4.0.1.tar.bz2 87981 BLAKE2B 79ffd254ee5c6e09159c954913ef820f74107d4fcea5e3ed82592dc36af8fdfbf1e850547ba8bfc20aa9a5ecdd26c50329e6a6d558ae3aa5475a930789ce3e01 SHA512 d5b3213567c25db58ef364d272314a79c311a80fc21d98c09a5540af45a8190a38f489228663fe9a9b63bf0f2b952c460c4196a8fc8d6f221619f6e7ed2fc415
30
31 diff --git a/sys-devel/llvm/llvm-7.0.0-r1.ebuild b/sys-devel/llvm/llvm-7.0.0-r1.ebuild
32 deleted file mode 100644
33 index 2ffa59aa5f5..00000000000
34 --- a/sys-devel/llvm/llvm-7.0.0-r1.ebuild
35 +++ /dev/null
36 @@ -1,264 +0,0 @@
37 -# Copyright 1999-2018 Gentoo Foundation
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 multilib-minimal \
48 - multiprocessing pax-utils python-any-r1 toolchain-funcs
49 -
50 -DESCRIPTION="Low Level Virtual Machine"
51 -HOMEPAGE="https://llvm.org/"
52 -SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
53 - !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
54 -
55 -# Keep in sync with CMakeLists.txt
56 -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
57 - NVPTX PowerPC Sparc SystemZ X86 XCore )
58 -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
59 -
60 -# Additional licenses:
61 -# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
62 -# 2. ARM backend: LLVM Software Grant by ARM.
63 -# 3. MD5 code: public-domain.
64 -# 4. Tests (not installed):
65 -# a. gtest: BSD.
66 -# b. YAML tests: MIT.
67 -
68 -LICENSE="UoI-NCSA rc BSD public-domain
69 - llvm_targets_ARM? ( LLVM-Grant )"
70 -SLOT="$(ver_cut 1)"
71 -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
72 -IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
73 - kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
74 -RESTRICT="!test? ( test )"
75 -
76 -RDEPEND="
77 - sys-libs/zlib:0=
78 - exegesis? ( dev-libs/libpfm:= )
79 - gold? ( >=sys-devel/binutils-2.22:*[cxx] )
80 - libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
81 - libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
82 - ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
83 - xar? ( app-arch/xar )
84 - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
85 -# configparser-3.2 breaks the build (3.3 or none at all are fine)
86 -DEPEND="${RDEPEND}
87 - dev-lang/perl
88 - || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
89 - ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
90 - )
91 - kernel_Darwin? (
92 - <sys-libs/libcxx-$(ver_cut 1-3).9999
93 - >=sys-devel/binutils-apple-5.1
94 - )
95 - doc? ( dev-python/sphinx )
96 - gold? ( sys-libs/binutils-libs )
97 - libffi? ( virtual/pkgconfig )
98 - !!<dev-python/configparser-3.3.0.2
99 - ${PYTHON_DEPS}"
100 -# There are no file collisions between these versions but having :0
101 -# installed means llvm-config there will take precedence.
102 -RDEPEND="${RDEPEND}
103 - !sys-devel/llvm:0"
104 -PDEPEND="sys-devel/llvm-common
105 - gold? ( >=sys-devel/llvmgold-${SLOT} )"
106 -
107 -REQUIRED_USE="${PYTHON_REQUIRED_USE}
108 - || ( ${ALL_LLVM_TARGETS[*]} )"
109 -
110 -S=${WORKDIR}/${P/_/}.src
111 -
112 -# least intrusive of all
113 -CMAKE_BUILD_TYPE=RelWithDebInfo
114 -
115 -src_prepare() {
116 - # Fix llvm-config for shared linking and sane flags
117 - # https://bugs.gentoo.org/show_bug.cgi?id=565358
118 - eapply "${FILESDIR}"/7.0.9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
119 -
120 - # Fix x86 codegen bug triggered by Chromium
121 - # https://bugs.gentoo.org/664868
122 - eapply "${FILESDIR}"/7.0.0/0001-X86-Stop-X86DomainReassignment-from-creating-copies-.patch
123 -
124 - # disable use of SDK on OSX, bug #568758
125 - sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
126 -
127 - # User patches + QA
128 - cmake-utils_src_prepare
129 -}
130 -
131 -multilib_src_configure() {
132 - local ffi_cflags ffi_ldflags
133 - if use libffi; then
134 - ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
135 - ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
136 - fi
137 -
138 - local libdir=$(get_libdir)
139 - local mycmakeargs=(
140 - # disable appending VCS revision to the version to improve
141 - # direct cache hit ratio
142 - -DLLVM_APPEND_VC_REV=OFF
143 - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
144 - -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
145 -
146 - -DBUILD_SHARED_LIBS=ON
147 - -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
148 - -DLLVM_BUILD_TESTS=$(usex test)
149 -
150 - -DLLVM_ENABLE_FFI=$(usex libffi)
151 - -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
152 - -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
153 - -DLLVM_ENABLE_LIBXML2=$(usex xml)
154 - -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
155 - -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
156 - -DLLVM_ENABLE_EH=ON
157 - -DLLVM_ENABLE_RTTI=ON
158 -
159 - -DWITH_POLLY=OFF # TODO
160 -
161 - -DLLVM_HOST_TRIPLE="${CHOST}"
162 -
163 - -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
164 - -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
165 - # used only for llvm-objdump tool
166 - -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
167 -
168 - # disable OCaml bindings (now in dev-ml/llvm-ocaml)
169 - -DOCAMLFIND=NO
170 - )
171 -
172 -# Note: go bindings have no CMake rules at the moment
173 -# but let's kill the check in case they are introduced
174 -# if ! multilib_is_native_abi || ! use go; then
175 - mycmakeargs+=(
176 - -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
177 - )
178 -# fi
179 -
180 - use test && mycmakeargs+=(
181 - -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
182 - )
183 -
184 - if multilib_is_native_abi; then
185 - mycmakeargs+=(
186 - -DLLVM_BUILD_DOCS=$(usex doc)
187 - -DLLVM_ENABLE_OCAMLDOC=OFF
188 - -DLLVM_ENABLE_SPHINX=$(usex doc)
189 - -DLLVM_ENABLE_DOXYGEN=OFF
190 - -DLLVM_INSTALL_UTILS=ON
191 - )
192 - use doc && mycmakeargs+=(
193 - -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
194 - -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
195 - -DSPHINX_WARNINGS_AS_ERRORS=OFF
196 - )
197 - use gold && mycmakeargs+=(
198 - -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
199 - )
200 - fi
201 -
202 - if tc-is-cross-compiler; then
203 - local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
204 - [[ -x "${tblgen}" ]] \
205 - || die "${tblgen} not found or usable"
206 - mycmakeargs+=(
207 - -DCMAKE_CROSSCOMPILING=ON
208 - -DLLVM_TABLEGEN="${tblgen}"
209 - )
210 - fi
211 -
212 - # workaround BMI bug in gcc-7 (fixed in 7.4)
213 - # https://bugs.gentoo.org/649880
214 - # apply only to x86, https://bugs.gentoo.org/650506
215 - if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
216 - [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
217 - then
218 - local CFLAGS="${CFLAGS} -mno-bmi"
219 - local CXXFLAGS="${CXXFLAGS} -mno-bmi"
220 - fi
221 -
222 - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
223 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
224 - cmake-utils_src_configure
225 -}
226 -
227 -multilib_src_compile() {
228 - cmake-utils_src_compile
229 -
230 - pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
231 - pax-mark m "${BUILD_DIR}"/bin/lli
232 - pax-mark m "${BUILD_DIR}"/bin/lli-child-target
233 -
234 - if use test; then
235 - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
236 - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
237 - pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
238 - fi
239 -}
240 -
241 -multilib_src_test() {
242 - # respect TMPDIR!
243 - local -x LIT_PRESERVES_TMP=1
244 - cmake-utils_src_make check
245 -}
246 -
247 -src_install() {
248 - local MULTILIB_CHOST_TOOLS=(
249 - /usr/lib/llvm/${SLOT}/bin/llvm-config
250 - )
251 -
252 - local MULTILIB_WRAPPED_HEADERS=(
253 - /usr/include/llvm/Config/llvm-config.h
254 - )
255 -
256 - local LLVM_LDPATHS=()
257 - multilib-minimal_src_install
258 -
259 - # move wrapped headers back
260 - mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
261 -}
262 -
263 -multilib_src_install() {
264 - cmake-utils_src_install
265 -
266 - # move headers to /usr/include for wrapping
267 - rm -rf "${ED%/}"/usr/include || die
268 - mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
269 -
270 - LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
271 -}
272 -
273 -multilib_src_install_all() {
274 - local revord=$(( 9999 - ${SLOT} ))
275 - newenvd - "10llvm-${revord}" <<-_EOF_
276 - PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
277 - # we need to duplicate it in ROOTPATH for Portage to respect...
278 - ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
279 - MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
280 - LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
281 - _EOF_
282 -
283 - # install pre-generated manpages
284 - if ! use doc; then
285 - # (doman does not support custom paths)
286 - insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
287 - doins "${WORKDIR}/${P}-manpages/llvm"/*.1
288 - fi
289 -
290 - docompress "/usr/lib/llvm/${SLOT}/share/man"
291 -}
292 -
293 -pkg_postinst() {
294 - elog "You can find additional opt-viewer utility scripts in:"
295 - elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
296 - elog "To use these scripts, you will need Python 2.7 along with the following"
297 - elog "packages:"
298 - elog " dev-python/pygments (for opt-viewer)"
299 - elog " dev-python/pyyaml (for all of them)"
300 -}
301
302 diff --git a/sys-devel/llvm/llvm-7.0.0.ebuild b/sys-devel/llvm/llvm-7.0.0.ebuild
303 deleted file mode 100644
304 index fc86b1c7ea9..00000000000
305 --- a/sys-devel/llvm/llvm-7.0.0.ebuild
306 +++ /dev/null
307 @@ -1,260 +0,0 @@
308 -# Copyright 1999-2018 Gentoo Foundation
309 -# Distributed under the terms of the GNU General Public License v2
310 -
311 -EAPI=6
312 -
313 -: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
314 -# (needed due to CMAKE_BUILD_TYPE != Gentoo)
315 -CMAKE_MIN_VERSION=3.7.0-r1
316 -PYTHON_COMPAT=( python2_7 )
317 -
318 -inherit cmake-utils eapi7-ver flag-o-matic multilib-minimal \
319 - multiprocessing pax-utils python-any-r1 toolchain-funcs
320 -
321 -DESCRIPTION="Low Level Virtual Machine"
322 -HOMEPAGE="https://llvm.org/"
323 -SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz
324 - !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${P}-manpages.tar.bz2 )"
325 -
326 -# Keep in sync with CMakeLists.txt
327 -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
328 - NVPTX PowerPC Sparc SystemZ X86 XCore )
329 -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
330 -
331 -# Additional licenses:
332 -# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
333 -# 2. ARM backend: LLVM Software Grant by ARM.
334 -# 3. MD5 code: public-domain.
335 -# 4. Tests (not installed):
336 -# a. gtest: BSD.
337 -# b. YAML tests: MIT.
338 -
339 -LICENSE="UoI-NCSA rc BSD public-domain
340 - llvm_targets_ARM? ( LLVM-Grant )"
341 -SLOT="$(ver_cut 1)"
342 -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
343 -IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml
344 - kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
345 -RESTRICT="!test? ( test )"
346 -
347 -RDEPEND="
348 - sys-libs/zlib:0=
349 - exegesis? ( dev-libs/libpfm:= )
350 - gold? ( >=sys-devel/binutils-2.22:*[cxx] )
351 - libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
352 - libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
353 - ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
354 - xar? ( app-arch/xar )
355 - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
356 -# configparser-3.2 breaks the build (3.3 or none at all are fine)
357 -DEPEND="${RDEPEND}
358 - dev-lang/perl
359 - || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
360 - ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
361 - )
362 - kernel_Darwin? (
363 - <sys-libs/libcxx-$(ver_cut 1-3).9999
364 - >=sys-devel/binutils-apple-5.1
365 - )
366 - doc? ( dev-python/sphinx )
367 - gold? ( sys-libs/binutils-libs )
368 - libffi? ( virtual/pkgconfig )
369 - !!<dev-python/configparser-3.3.0.2
370 - ${PYTHON_DEPS}"
371 -# There are no file collisions between these versions but having :0
372 -# installed means llvm-config there will take precedence.
373 -RDEPEND="${RDEPEND}
374 - !sys-devel/llvm:0"
375 -PDEPEND="sys-devel/llvm-common
376 - gold? ( >=sys-devel/llvmgold-${SLOT} )"
377 -
378 -REQUIRED_USE="${PYTHON_REQUIRED_USE}
379 - || ( ${ALL_LLVM_TARGETS[*]} )"
380 -
381 -S=${WORKDIR}/${P/_/}.src
382 -
383 -# least intrusive of all
384 -CMAKE_BUILD_TYPE=RelWithDebInfo
385 -
386 -src_prepare() {
387 - # Fix llvm-config for shared linking and sane flags
388 - # https://bugs.gentoo.org/show_bug.cgi?id=565358
389 - eapply "${FILESDIR}"/7.0.9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
390 -
391 - # disable use of SDK on OSX, bug #568758
392 - sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
393 -
394 - # User patches + QA
395 - cmake-utils_src_prepare
396 -}
397 -
398 -multilib_src_configure() {
399 - local ffi_cflags ffi_ldflags
400 - if use libffi; then
401 - ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
402 - ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
403 - fi
404 -
405 - local libdir=$(get_libdir)
406 - local mycmakeargs=(
407 - # disable appending VCS revision to the version to improve
408 - # direct cache hit ratio
409 - -DLLVM_APPEND_VC_REV=OFF
410 - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
411 - -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
412 -
413 - -DBUILD_SHARED_LIBS=ON
414 - -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
415 - -DLLVM_BUILD_TESTS=$(usex test)
416 -
417 - -DLLVM_ENABLE_FFI=$(usex libffi)
418 - -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
419 - -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
420 - -DLLVM_ENABLE_LIBXML2=$(usex xml)
421 - -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
422 - -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
423 - -DLLVM_ENABLE_EH=ON
424 - -DLLVM_ENABLE_RTTI=ON
425 -
426 - -DWITH_POLLY=OFF # TODO
427 -
428 - -DLLVM_HOST_TRIPLE="${CHOST}"
429 -
430 - -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
431 - -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
432 - # used only for llvm-objdump tool
433 - -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
434 -
435 - # disable OCaml bindings (now in dev-ml/llvm-ocaml)
436 - -DOCAMLFIND=NO
437 - )
438 -
439 -# Note: go bindings have no CMake rules at the moment
440 -# but let's kill the check in case they are introduced
441 -# if ! multilib_is_native_abi || ! use go; then
442 - mycmakeargs+=(
443 - -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
444 - )
445 -# fi
446 -
447 - use test && mycmakeargs+=(
448 - -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
449 - )
450 -
451 - if multilib_is_native_abi; then
452 - mycmakeargs+=(
453 - -DLLVM_BUILD_DOCS=$(usex doc)
454 - -DLLVM_ENABLE_OCAMLDOC=OFF
455 - -DLLVM_ENABLE_SPHINX=$(usex doc)
456 - -DLLVM_ENABLE_DOXYGEN=OFF
457 - -DLLVM_INSTALL_UTILS=ON
458 - )
459 - use doc && mycmakeargs+=(
460 - -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
461 - -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
462 - -DSPHINX_WARNINGS_AS_ERRORS=OFF
463 - )
464 - use gold && mycmakeargs+=(
465 - -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
466 - )
467 - fi
468 -
469 - if tc-is-cross-compiler; then
470 - local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
471 - [[ -x "${tblgen}" ]] \
472 - || die "${tblgen} not found or usable"
473 - mycmakeargs+=(
474 - -DCMAKE_CROSSCOMPILING=ON
475 - -DLLVM_TABLEGEN="${tblgen}"
476 - )
477 - fi
478 -
479 - # workaround BMI bug in gcc-7 (fixed in 7.4)
480 - # https://bugs.gentoo.org/649880
481 - # apply only to x86, https://bugs.gentoo.org/650506
482 - if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
483 - [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
484 - then
485 - local CFLAGS="${CFLAGS} -mno-bmi"
486 - local CXXFLAGS="${CXXFLAGS} -mno-bmi"
487 - fi
488 -
489 - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
490 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
491 - cmake-utils_src_configure
492 -}
493 -
494 -multilib_src_compile() {
495 - cmake-utils_src_compile
496 -
497 - pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
498 - pax-mark m "${BUILD_DIR}"/bin/lli
499 - pax-mark m "${BUILD_DIR}"/bin/lli-child-target
500 -
501 - if use test; then
502 - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
503 - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
504 - pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
505 - fi
506 -}
507 -
508 -multilib_src_test() {
509 - # respect TMPDIR!
510 - local -x LIT_PRESERVES_TMP=1
511 - cmake-utils_src_make check
512 -}
513 -
514 -src_install() {
515 - local MULTILIB_CHOST_TOOLS=(
516 - /usr/lib/llvm/${SLOT}/bin/llvm-config
517 - )
518 -
519 - local MULTILIB_WRAPPED_HEADERS=(
520 - /usr/include/llvm/Config/llvm-config.h
521 - )
522 -
523 - local LLVM_LDPATHS=()
524 - multilib-minimal_src_install
525 -
526 - # move wrapped headers back
527 - mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
528 -}
529 -
530 -multilib_src_install() {
531 - cmake-utils_src_install
532 -
533 - # move headers to /usr/include for wrapping
534 - rm -rf "${ED%/}"/usr/include || die
535 - mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
536 -
537 - LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
538 -}
539 -
540 -multilib_src_install_all() {
541 - local revord=$(( 9999 - ${SLOT} ))
542 - newenvd - "10llvm-${revord}" <<-_EOF_
543 - PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
544 - # we need to duplicate it in ROOTPATH for Portage to respect...
545 - ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
546 - MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
547 - LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
548 - _EOF_
549 -
550 - # install pre-generated manpages
551 - if ! use doc; then
552 - # (doman does not support custom paths)
553 - insinto "/usr/lib/llvm/${SLOT}/share/man/man1"
554 - doins "${WORKDIR}/${P}-manpages/llvm"/*.1
555 - fi
556 -
557 - docompress "/usr/lib/llvm/${SLOT}/share/man"
558 -}
559 -
560 -pkg_postinst() {
561 - elog "You can find additional opt-viewer utility scripts in:"
562 - elog " ${EROOT%/}/usr/lib/llvm/${SLOT}/share/opt-viewer"
563 - elog "To use these scripts, you will need Python 2.7 along with the following"
564 - elog "packages:"
565 - elog " dev-python/pygments (for opt-viewer)"
566 - elog " dev-python/pyyaml (for all of them)"
567 -}