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-libs/llvm-libunwind/
Date: Tue, 28 Aug 2018 16:00:53
Message-Id: 1535472035.e326ec393060773f40da3a1a5d302772f6a252a3.mgorny@gentoo
1 commit: e326ec393060773f40da3a1a5d302772f6a252a3
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Tue Aug 28 15:40:51 2018 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Tue Aug 28 16:00:35 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e326ec39
7
8 sys-libs/llvm-libunwind: Bump to 7.0.0rc2
9
10 sys-libs/llvm-libunwind/Manifest | 3 +
11 .../llvm-libunwind/llvm-libunwind-7.0.0_rc2.ebuild | 143 +++++++++++++++++++++
12 2 files changed, 146 insertions(+)
13
14 diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest
15 index 88776cfa5da..718dbcd1c6c 100644
16 --- a/sys-libs/llvm-libunwind/Manifest
17 +++ b/sys-libs/llvm-libunwind/Manifest
18 @@ -1,5 +1,8 @@
19 DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
20 +DIST libcxx-7.0.0rc2.src.tar.xz 1654748 BLAKE2B 95664de42bfa6b77c5db32c092469c36e92b5eb9554bf381f761e04a29da1f413c1ead2ac93674a30ad9d743aa3cc9f22e5edebd043d16f903ed83901a743ae6 SHA512 c0b84400cb7694f7088b965cb0cac26853ecc485c775afbb0ad2cfdc53497eb95b76f917b16090372b77297e7f80372aef29023da564387be49e2f412efb5746
21 DIST libcxxabi-6.0.1.src.tar.xz 528356 BLAKE2B b301b750b2928864d3fc51e66cf91aab6837636ec2bce706b9a97296ec96af4bd2e80b1bf80c9b4afe449335ee12bbdd1905433c27e1770e16bc306baf206927 SHA512 bbb4c7b412e295cb735f637df48a83093eef45ed5444f7766790b4b047f75fd5fd634d8f3a8ac33a5c1407bd16fd450ba113f60a9bcc1d0a911fe0c54e9c81f2
22 +DIST libcxxabi-7.0.0rc2.src.tar.xz 535948 BLAKE2B 02505fd0101d9be53c66f14f5aca7a99c3e4309d9979be1a5792f869ed8e72562e8f7a2fba222d2a121845d4425ff98444046e4edfe2023891ba80521ebc4a00 SHA512 fcb51c4005bb4b79426467c8d7128412c37b235518455fa57521e04df2d47fc97aa0bce10ebec4fe3f3097bb3657f56014258ca8c46c978e709927fcce27fd5c
23 DIST libunwind-4.0.1.src.tar.xz 63388 BLAKE2B f49772beabaa8519a5f8dbbaef9c2d6554468a66b89a5f012946d59f772fe864809a5c95b726bcb4c059ca551a4eb023a88f4fa618756b34fef2058e272467e6 SHA512 8a0552a8ab830010d81420f4b778a3b831bff85b19bcce972958fc30e1ba5a2fa26a3deba499985a43dd7a103690775f6a20e7b3edda55f4eaff3541002d6b59
24 DIST libunwind-5.0.2.src.tar.xz 72340 BLAKE2B 8a62bd91f6decae1a9a51df19f708fcdf72a6fe6e57a5848c5dd0d36ff2dc64db8a0b3af469cdd5e787b9301f2718df0981f91857ecbc7a5f5d95a1a053652bc SHA512 137c4b269bff053d532a373e9f696ca68ad0bbf606a18dc98597e00fcfc6ce21d74bc2a0c03b96444654d688fa97d544c6f6b70822fcf7e190ed96f193ddc6ba
25 DIST libunwind-6.0.1.src.tar.xz 77036 BLAKE2B b6c293285896c8ff1f64bb56eee5a88b102b7ed9902d46436ee3cb79f204f230fd08a07d39c7fa9aeeddd093036f2bb9af38dd54268099ea9e51e12a71ff4adb SHA512 78568c28720abdd1f8471c462421df9965e05e1db048689d16ac85378716c4080ec1723af78e9f61d133b0ff82ac8c1f0dde7fd42d194485f62c1a17c02db37f
26 +DIST libunwind-7.0.0rc2.src.tar.xz 79412 BLAKE2B e6b955c8098180b0e0d712150e81a0df1e1a44a655a2029896594faf5e3af4cceb46f0e41f5970e8c2adcce8ae7a121afaea9751550983826ce0b11a9000b32c SHA512 bd82e9d68661d584e1670be4a1177ffe46c27b70e1a5942f797913a223aee171e0f0ef6b241afce1784cb8a7feff6de37373a10588ee38c743322f8048cca06b
27
28 diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-7.0.0_rc2.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-7.0.0_rc2.ebuild
29 new file mode 100644
30 index 00000000000..74e6856356b
31 --- /dev/null
32 +++ b/sys-libs/llvm-libunwind/llvm-libunwind-7.0.0_rc2.ebuild
33 @@ -0,0 +1,143 @@
34 +# Copyright 1999-2018 Gentoo Foundation
35 +# Distributed under the terms of the GNU General Public License v2
36 +
37 +EAPI=6
38 +
39 +: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
40 +# (needed due to CMAKE_BUILD_TYPE != Gentoo)
41 +CMAKE_MIN_VERSION=3.7.0-r1
42 +PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
43 +inherit cmake-multilib llvm multiprocessing python-any-r1
44 +
45 +MY_P=libunwind-${PV/_/}.src
46 +LIBCXX_P=libcxx-${PV/_/}.src
47 +LIBCXXABI_P=libcxxabi-${PV/_/}.src
48 +
49 +DESCRIPTION="C++ runtime stack unwinder from LLVM"
50 +HOMEPAGE="https://github.com/llvm-mirror/libunwind"
51 +SRC_URI="https://prereleases.llvm.org/${PV/_//}/${MY_P}.tar.xz
52 + test? (
53 + https://prereleases.llvm.org/${PV/_//}/${LIBCXX_P}.tar.xz
54 + https://prereleases.llvm.org/${PV/_//}/${LIBCXXABI_P}.tar.xz )"
55 +
56 +LICENSE="|| ( UoI-NCSA MIT )"
57 +SLOT="0"
58 +KEYWORDS=""
59 +IUSE="debug +static-libs test"
60 +RESTRICT="!test? ( test )"
61 +
62 +RDEPEND="!sys-libs/libunwind"
63 +# llvm-6 for new lit options
64 +DEPEND="
65 + >=sys-devel/llvm-6
66 + test? ( >=sys-devel/clang-3.9.0
67 + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
68 +
69 +S=${WORKDIR}/${MY_P}
70 +
71 +# least intrusive of all
72 +CMAKE_BUILD_TYPE=RelWithDebInfo
73 +
74 +python_check_deps() {
75 + has_version "dev-python/lit[${PYTHON_USEDEP}]"
76 +}
77 +
78 +pkg_setup() {
79 + use test && python-any-r1_pkg_setup
80 +}
81 +
82 +src_unpack() {
83 + default
84 +
85 + if use test; then
86 + mv "${LIBCXX_P}" libcxx || die
87 + mv "${LIBCXXABI_P}" libcxxabi || die
88 + fi
89 +}
90 +
91 +multilib_src_configure() {
92 + local libdir=$(get_libdir)
93 +
94 + local mycmakeargs=(
95 + -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
96 + -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug)
97 + -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs)
98 + -DLLVM_INCLUDE_TESTS=$(usex test)
99 +
100 + # support non-native unwinding; given it's small enough,
101 + # enable it unconditionally
102 + -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON
103 + )
104 + if use test; then
105 + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
106 + local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
107 +
108 + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
109 +
110 + mycmakeargs+=(
111 + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
112 + -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
113 + -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}"/libcxx
114 + )
115 + fi
116 +
117 + cmake-utils_src_configure
118 +}
119 +
120 +build_libcxxabi() {
121 + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)"
122 + local CMAKE_USE_DIR=${WORKDIR}/libcxxabi
123 + local BUILD_DIR=${BUILD_DIR}/libcxxabi
124 + local mycmakeargs=(
125 + -DLIBCXXABI_LIBDIR_SUFFIX=
126 + -DLIBCXXABI_ENABLE_SHARED=ON
127 + -DLIBCXXABI_ENABLE_STATIC=OFF
128 + -DLIBCXXABI_USE_LLVM_UNWINDER=ON
129 + -DLIBCXXABI_INCLUDE_TESTS=OFF
130 +
131 + -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include
132 + -DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include
133 + )
134 +
135 + cmake-utils_src_configure
136 + cmake-utils_src_compile
137 +}
138 +
139 +build_libcxx() {
140 + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/libcxxabi/lib -L${BUILD_DIR}/$(get_libdir)"
141 + local CMAKE_USE_DIR=${WORKDIR}/libcxx
142 + local BUILD_DIR=${BUILD_DIR}/libcxx
143 + local mycmakeargs=(
144 + -DLIBCXX_LIBDIR_SUFFIX=
145 + -DLIBCXX_ENABLE_SHARED=ON
146 + -DLIBCXX_ENABLE_STATIC=OFF
147 + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
148 + -DLIBCXXABI_USE_LLVM_UNWINDER=ON
149 + -DLIBCXX_CXX_ABI=libcxxabi
150 + -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/include
151 + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
152 + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
153 + -DLIBCXX_HAS_GCC_S_LIB=OFF
154 + -DLIBCXX_INCLUDE_TESTS=OFF
155 + )
156 +
157 + cmake-utils_src_configure
158 + cmake-utils_src_compile
159 +}
160 +
161 +multilib_src_test() {
162 + # build local copies of libc++ & libc++abi for testing to avoid
163 + # circular deps
164 + build_libcxxabi
165 + build_libcxx
166 + mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
167 +
168 + cmake-utils_src_make check-unwind
169 +}
170 +
171 +multilib_src_install() {
172 + cmake-utils_src_install
173 +
174 + # install headers like sys-libs/libunwind
175 + doheader "${S}"/include/*.h
176 +}