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