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/libcxxabi/
Date: Wed, 17 Apr 2019 22:41:48
Message-Id: 1555531786.15673b6779c380c4ca155b0a96d1dc063769d18e.mgorny@gentoo
1 commit: 15673b6779c380c4ca155b0a96d1dc063769d18e
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Wed Apr 17 19:12:16 2019 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Wed Apr 17 20:09:46 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15673b67
7
8 sys-libs/libcxxabi: Bump to 7.1.0
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 sys-libs/libcxxabi/Manifest | 2 +
13 sys-libs/libcxxabi/libcxxabi-7.1.0.ebuild | 119 ++++++++++++++++++++++++++++++
14 2 files changed, 121 insertions(+)
15
16 diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest
17 index b6845ea95c5..e6483bccfa0 100644
18 --- a/sys-libs/libcxxabi/Manifest
19 +++ b/sys-libs/libcxxabi/Manifest
20 @@ -1,6 +1,8 @@
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-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5
24 DIST libcxx-8.0.0.src.tar.xz 1752308 BLAKE2B 1e8cd8c7100f5f8b943ba8f38b0b59a0fd5e5bea834953483a67502f67de3eb51eba4ed4be17cdb54406da4ad7ebc6fef33934c59db982afa55856ce9f1f46ff SHA512 2e0fcd3e78f7e15ea894e52c51351daef8e3a2aaf53b3df7497b11403d28f5269ff49a4674bacea1d565a5faa2b24502caaaeff9cd48518f0d141563d8f9cc03
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-7.1.0.src.tar.xz 535180 BLAKE2B aa5952e3ca80f7ce2a0a79f3eaf3852234e23a8445a2539374bedb188aba7d973763a6c0d7cc7700070d942555250f87c3c9efb504bb731985be033d47b79b44 SHA512 629ef641ab5aba28ea7171efbad806f1f0464eee2d04f8903014a4f82c03f2c6513defbbe5489b2c6fd624270fe8efbad97a40e56958f8f38a4f5516a16dd102
28 DIST libcxxabi-8.0.0.src.tar.xz 539040 BLAKE2B 847d848e4ed66212789c50137e9556abed601ab4f30765b8b4453f0bc2609e2d1ef516b2f504ee2331a53706940b814545423da05392aed24bf290e6757b52f6 SHA512 9ee2e6d5899529be45b2e5edc395606fa9040d25789b3da1ae0182113626e7624cbb071eae525c478293a7b371876e41614348ee5808f90f3f9c7b08837e1055
29
30 diff --git a/sys-libs/libcxxabi/libcxxabi-7.1.0.ebuild b/sys-libs/libcxxabi/libcxxabi-7.1.0.ebuild
31 new file mode 100644
32 index 00000000000..e366f2ae0e7
33 --- /dev/null
34 +++ b/sys-libs/libcxxabi/libcxxabi-7.1.0.ebuild
35 @@ -0,0 +1,119 @@
36 +# Copyright 1999-2019 Gentoo Authors
37 +# Distributed under the terms of the GNU General Public License v2
38 +
39 +EAPI=6
40 +
41 +: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
42 +# (needed due to CMAKE_BUILD_TYPE != Gentoo)
43 +CMAKE_MIN_VERSION=3.7.0-r1
44 +PYTHON_COMPAT=( python2_7 )
45 +
46 +inherit cmake-multilib llvm multiprocessing python-any-r1
47 +
48 +MY_P=${P/_/}.src
49 +LIBCXX_P=libcxx-${PV/_/}.src
50 +
51 +DESCRIPTION="Low level support for a standard C++ library"
52 +HOMEPAGE="https://libcxxabi.llvm.org/"
53 +SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz
54 + https://releases.llvm.org/${PV/_//}/${LIBCXX_P}.tar.xz"
55 +
56 +LICENSE="|| ( UoI-NCSA MIT )"
57 +SLOT="0"
58 +KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
59 +IUSE="+libunwind +static-libs test elibc_musl"
60 +RESTRICT="!test? ( test )"
61 +
62 +RDEPEND="
63 + libunwind? (
64 + || (
65 + >=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}]
66 + >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}]
67 + )
68 + )"
69 +# llvm-6 for new lit options
70 +DEPEND="${RDEPEND}
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 + llvm_pkg_setup
86 + use test && python-any-r1_pkg_setup
87 +}
88 +
89 +src_unpack() {
90 + default
91 + mv "${LIBCXX_P}" libcxx || die
92 +}
93 +
94 +multilib_src_configure() {
95 + local libdir=$(get_libdir)
96 + local mycmakeargs=(
97 + -DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib}
98 + -DLIBCXXABI_ENABLE_SHARED=ON
99 + -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs)
100 + -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind)
101 + -DLIBCXXABI_INCLUDE_TESTS=$(usex test)
102 +
103 + -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include
104 + # upstream is omitting standard search path for this
105 + # probably because gcc & clang are bundling their own unwind.h
106 + -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include
107 + )
108 + if use test; then
109 + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
110 + local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
111 +
112 + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
113 +
114 + mycmakeargs+=(
115 + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
116 + -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
117 + )
118 + fi
119 + cmake-utils_src_configure
120 +}
121 +
122 +build_libcxx() {
123 + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)"
124 + local CMAKE_USE_DIR=${WORKDIR}/libcxx
125 + local BUILD_DIR=${BUILD_DIR}/libcxx
126 + local mycmakeargs=(
127 + -DLIBCXX_LIBDIR_SUFFIX=
128 + -DLIBCXX_ENABLE_SHARED=ON
129 + -DLIBCXX_ENABLE_STATIC=OFF
130 + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
131 + -DLIBCXX_CXX_ABI=libcxxabi
132 + -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include
133 + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
134 + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
135 + -DLIBCXX_HAS_GCC_S_LIB=OFF
136 + -DLIBCXX_INCLUDE_TESTS=OFF
137 + )
138 +
139 + cmake-utils_src_configure
140 + cmake-utils_src_compile
141 +}
142 +
143 +multilib_src_test() {
144 + # build a local copy of libc++ for testing to avoid circular dep
145 + build_libcxx
146 + mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
147 +
148 + cmake-utils_src_make check-libcxxabi
149 +}
150 +
151 +multilib_src_install_all() {
152 + insinto /usr/include/libcxxabi
153 + doins -r include/.
154 +}