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: Sat, 20 Jul 2019 12:50:27
Message-Id: 1563627001.7d492fa0923936a1500054d254f2e33250a0d20e.mgorny@gentoo
1 commit: 7d492fa0923936a1500054d254f2e33250a0d20e
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Sat Jul 20 08:52:50 2019 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Sat Jul 20 12:50:01 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d492fa0
7
8 sys-libs/libcxxabi: Bump to 8.0.1
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 sys-libs/libcxxabi/Manifest | 2 +
13 sys-libs/libcxxabi/libcxxabi-8.0.1.ebuild | 119 ++++++++++++++++++++++++++++++
14 2 files changed, 121 insertions(+)
15
16 diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest
17 index becdbc585f7..5b4b63295e2 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.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
30 diff --git a/sys-libs/libcxxabi/libcxxabi-8.0.1.ebuild b/sys-libs/libcxxabi/libcxxabi-8.0.1.ebuild
31 new file mode 100644
32 index 00000000000..9a5bef364e6
33 --- /dev/null
34 +++ b/sys-libs/libcxxabi/libcxxabi-8.0.1.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://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${MY_P}.tar.xz
54 + https://github.com/llvm/llvm-project/releases/download/llvmorg-${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 +}