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/files/6.0.1/, sys-devel/llvm/, sys-devel/llvm/files/6.0.9999/
Date: Wed, 15 Aug 2018 20:44:31
Message-Id: 1534365165.a78e957d3f8dfe02737d0827c7cfe65e8f1d7cd9.mgorny@gentoo
1 commit: a78e957d3f8dfe02737d0827c7cfe65e8f1d7cd9
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Wed Aug 15 20:32:45 2018 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Wed Aug 15 20:32:45 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a78e957d
7
8 sys-devel/llvm: Drop 6.0.9999
9
10 ...pend-Wl-rpath-link-conditionally-to-GNULD.patch | 0
11 sys-devel/llvm/llvm-5.0.2.ebuild | 2 +-
12 sys-devel/llvm/llvm-6.0.1.ebuild | 2 +-
13 sys-devel/llvm/llvm-6.0.9999.ebuild | 255 ---------------------
14 4 files changed, 2 insertions(+), 257 deletions(-)
15
16 diff --git a/sys-devel/llvm/files/6.0.9999/0001-cmake-Append-Wl-rpath-link-conditionally-to-GNULD.patch b/sys-devel/llvm/files/6.0.1/0001-cmake-Append-Wl-rpath-link-conditionally-to-GNULD.patch
17 similarity index 100%
18 rename from sys-devel/llvm/files/6.0.9999/0001-cmake-Append-Wl-rpath-link-conditionally-to-GNULD.patch
19 rename to sys-devel/llvm/files/6.0.1/0001-cmake-Append-Wl-rpath-link-conditionally-to-GNULD.patch
20
21 diff --git a/sys-devel/llvm/llvm-5.0.2.ebuild b/sys-devel/llvm/llvm-5.0.2.ebuild
22 index 02bf7d715a4..a90d48e4c36 100644
23 --- a/sys-devel/llvm/llvm-5.0.2.ebuild
24 +++ b/sys-devel/llvm/llvm-5.0.2.ebuild
25 @@ -84,7 +84,7 @@ src_prepare() {
26 cp {"${WORKDIR}/llvm-5.0.1-patchset",.}/test/tools/llvm-symbolizer/Inputs/print_context.o || die
27
28 # Fix appending -Wl,-rpath-link on non-Linux (-> FreeBSD).
29 - eapply "${FILESDIR}"/6.0.9999/0001-cmake-Append-Wl-rpath-link-conditionally-to-GNULD.patch
30 + eapply "${FILESDIR}"/6.0.1/0001-cmake-Append-Wl-rpath-link-conditionally-to-GNULD.patch
31
32 # gcc-8 build failure
33 eapply "${FILESDIR}"/5.0.2/0001-Fix-return-type-in-ORC-readMem-client-interface.patch
34
35 diff --git a/sys-devel/llvm/llvm-6.0.1.ebuild b/sys-devel/llvm/llvm-6.0.1.ebuild
36 index 5df2671c363..a1989293ef7 100644
37 --- a/sys-devel/llvm/llvm-6.0.1.ebuild
38 +++ b/sys-devel/llvm/llvm-6.0.1.ebuild
39 @@ -81,7 +81,7 @@ src_prepare() {
40 eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
41
42 # Fix appending -Wl,-rpath-link on non-Linux (-> FreeBSD).
43 - eapply "${FILESDIR}"/6.0.9999/0001-cmake-Append-Wl-rpath-link-conditionally-to-GNULD.patch
44 + eapply "${FILESDIR}"/6.0.1/0001-cmake-Append-Wl-rpath-link-conditionally-to-GNULD.patch
45
46 # disable use of SDK on OSX, bug #568758
47 sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
48
49 diff --git a/sys-devel/llvm/llvm-6.0.9999.ebuild b/sys-devel/llvm/llvm-6.0.9999.ebuild
50 deleted file mode 100644
51 index b8768df35d5..00000000000
52 --- a/sys-devel/llvm/llvm-6.0.9999.ebuild
53 +++ /dev/null
54 @@ -1,255 +0,0 @@
55 -# Copyright 1999-2018 Gentoo Foundation
56 -# Distributed under the terms of the GNU General Public License v2
57 -
58 -EAPI=6
59 -
60 -: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
61 -# (needed due to CMAKE_BUILD_TYPE != Gentoo)
62 -CMAKE_MIN_VERSION=3.7.0-r1
63 -PYTHON_COMPAT=( python2_7 )
64 -
65 -inherit cmake-utils eapi7-ver flag-o-matic git-r3 multilib-minimal \
66 - multiprocessing pax-utils python-any-r1 toolchain-funcs
67 -
68 -DESCRIPTION="Low Level Virtual Machine"
69 -HOMEPAGE="https://llvm.org/"
70 -SRC_URI=""
71 -EGIT_REPO_URI="https://git.llvm.org/git/llvm.git
72 - https://github.com/llvm-mirror/llvm.git"
73 -EGIT_BRANCH="release_60"
74 -
75 -# Keep in sync with CMakeLists.txt
76 -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
77 - NVPTX PowerPC Sparc SystemZ X86 XCore )
78 -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
79 -
80 -# Additional licenses:
81 -# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
82 -# 2. ARM backend: LLVM Software Grant by ARM.
83 -# 3. MD5 code: public-domain.
84 -# 4. Tests (not installed):
85 -# a. gtest: BSD.
86 -# b. YAML tests: MIT.
87 -
88 -LICENSE="UoI-NCSA rc BSD public-domain
89 - llvm_targets_ARM? ( LLVM-Grant )"
90 -SLOT="$(ver_cut 1)"
91 -KEYWORDS=""
92 -IUSE="debug doc gold libedit +libffi ncurses test xar xml
93 - kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
94 -RESTRICT="!test? ( test )"
95 -
96 -RDEPEND="
97 - sys-libs/zlib:0=
98 - gold? ( >=sys-devel/binutils-2.22:*[cxx] )
99 - libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
100 - libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
101 - ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
102 - xar? ( app-arch/xar )
103 - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )"
104 -# configparser-3.2 breaks the build (3.3 or none at all are fine)
105 -DEPEND="${RDEPEND}
106 - dev-lang/perl
107 - || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5
108 - ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx )
109 - )
110 - kernel_Darwin? (
111 - <sys-libs/libcxx-$(ver_cut 1-3).9999
112 - >=sys-devel/binutils-apple-5.1
113 - )
114 - doc? ( dev-python/sphinx )
115 - gold? ( sys-libs/binutils-libs )
116 - libffi? ( virtual/pkgconfig )
117 - !!<dev-python/configparser-3.3.0.2
118 - ${PYTHON_DEPS}"
119 -# There are no file collisions between these versions but having :0
120 -# installed means llvm-config there will take precedence.
121 -RDEPEND="${RDEPEND}
122 - !sys-devel/llvm:0"
123 -PDEPEND="sys-devel/llvm-common
124 - gold? ( >=sys-devel/llvmgold-${SLOT} )"
125 -
126 -REQUIRED_USE="${PYTHON_REQUIRED_USE}
127 - || ( ${ALL_LLVM_TARGETS[*]} )"
128 -
129 -# least intrusive of all
130 -CMAKE_BUILD_TYPE=RelWithDebInfo
131 -
132 -src_prepare() {
133 - # Fix llvm-config for shared linking and sane flags
134 - # https://bugs.gentoo.org/show_bug.cgi?id=565358
135 - eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
136 -
137 - # Fix appending -Wl,-rpath-link on non-Linux (-> FreeBSD).
138 - eapply "${FILESDIR}"/6.0.9999/0001-cmake-Append-Wl-rpath-link-conditionally-to-GNULD.patch
139 -
140 - # disable use of SDK on OSX, bug #568758
141 - sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
142 -
143 - # User patches + QA
144 - cmake-utils_src_prepare
145 -}
146 -
147 -multilib_src_configure() {
148 - local ffi_cflags ffi_ldflags
149 - if use libffi; then
150 - ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
151 - ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
152 - fi
153 -
154 - local libdir=$(get_libdir)
155 - local mycmakeargs=(
156 - # disable appending VCS revision to the version to improve
157 - # direct cache hit ratio
158 - -DLLVM_APPEND_VC_REV=OFF
159 - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
160 - -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
161 -
162 - -DBUILD_SHARED_LIBS=ON
163 - -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
164 - -DLLVM_BUILD_TESTS=$(usex test)
165 -
166 - -DLLVM_ENABLE_FFI=$(usex libffi)
167 - -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
168 - -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
169 - -DLLVM_ENABLE_LIBXML2=$(usex xml)
170 - -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
171 - -DLLVM_ENABLE_EH=ON
172 - -DLLVM_ENABLE_RTTI=ON
173 -
174 - -DWITH_POLLY=OFF # TODO
175 -
176 - -DLLVM_HOST_TRIPLE="${CHOST}"
177 -
178 - -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
179 - -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
180 - # used only for llvm-objdump tool
181 - -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
182 -
183 - # disable OCaml bindings (now in dev-ml/llvm-ocaml)
184 - -DOCAMLFIND=NO
185 - )
186 -
187 -# Note: go bindings have no CMake rules at the moment
188 -# but let's kill the check in case they are introduced
189 -# if ! multilib_is_native_abi || ! use go; then
190 - mycmakeargs+=(
191 - -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
192 - )
193 -# fi
194 -
195 - use test && mycmakeargs+=(
196 - -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
197 - )
198 -
199 - if multilib_is_native_abi; then
200 - mycmakeargs+=(
201 - -DLLVM_BUILD_DOCS=$(usex doc)
202 - -DLLVM_ENABLE_OCAMLDOC=OFF
203 - -DLLVM_ENABLE_SPHINX=$(usex doc)
204 - -DLLVM_ENABLE_DOXYGEN=OFF
205 - -DLLVM_INSTALL_UTILS=ON
206 - )
207 - use doc && mycmakeargs+=(
208 - -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
209 - -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
210 - -DSPHINX_WARNINGS_AS_ERRORS=OFF
211 - )
212 - use gold && mycmakeargs+=(
213 - -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
214 - )
215 - fi
216 -
217 - if tc-is-cross-compiler; then
218 - local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
219 - [[ -x "${tblgen}" ]] \
220 - || die "${tblgen} not found or usable"
221 - mycmakeargs+=(
222 - -DCMAKE_CROSSCOMPILING=ON
223 - -DLLVM_TABLEGEN="${tblgen}"
224 - )
225 - fi
226 -
227 - # workaround BMI bug in gcc-7 (fixed in 7.4)
228 - # https://bugs.gentoo.org/649880
229 - # apply only to x86, https://bugs.gentoo.org/650506
230 - if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
231 - [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
232 - then
233 - local CFLAGS="${CFLAGS} -mno-bmi"
234 - local CXXFLAGS="${CXXFLAGS} -mno-bmi"
235 - fi
236 -
237 - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
238 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
239 - cmake-utils_src_configure
240 -}
241 -
242 -multilib_src_compile() {
243 - cmake-utils_src_compile
244 -
245 - pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
246 - pax-mark m "${BUILD_DIR}"/bin/lli
247 - pax-mark m "${BUILD_DIR}"/bin/lli-child-target
248 -
249 - if use test; then
250 - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
251 - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
252 - pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
253 - fi
254 -}
255 -
256 -multilib_src_test() {
257 - # respect TMPDIR!
258 - local -x LIT_PRESERVES_TMP=1
259 - cmake-utils_src_make check
260 -}
261 -
262 -src_install() {
263 - local MULTILIB_CHOST_TOOLS=(
264 - /usr/lib/llvm/${SLOT}/bin/llvm-config
265 - )
266 -
267 - local MULTILIB_WRAPPED_HEADERS=(
268 - /usr/include/llvm/Config/llvm-config.h
269 - )
270 -
271 - local LLVM_LDPATHS=()
272 - multilib-minimal_src_install
273 -
274 - # move wrapped headers back
275 - mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
276 -}
277 -
278 -multilib_src_install() {
279 - cmake-utils_src_install
280 -
281 - # move headers to /usr/include for wrapping
282 - rm -rf "${ED%/}"/usr/include || die
283 - mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
284 -
285 - LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
286 -}
287 -
288 -multilib_src_install_all() {
289 - local revord=$(( 9999 - ${SLOT} ))
290 - cat <<-_EOF_ > "${T}/10llvm-${revord}" || die
291 - PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
292 - # we need to duplicate it in ROOTPATH for Portage to respect...
293 - ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
294 - MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
295 - LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
296 -_EOF_
297 - doenvd "${T}/10llvm-${revord}"
298 -
299 - docompress "/usr/lib/llvm/${SLOT}/share/man"
300 -}
301 -
302 -pkg_postinst() {
303 - elog "You can find additional opt-viewer utility scripts in:"
304 - elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
305 - elog "To use these scripts, you will need Python 2.7 along with the following"
306 - elog "packages:"
307 - elog " dev-python/pygments (for opt-viewer)"
308 - elog " dev-python/pyyaml (for all of them)"
309 -}