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