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