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: Thu, 28 Feb 2019 17:41:54
Message-Id: 1551375696.b7173c636084ac5c6d7a7b0078431ba27ae4f1a6.mgorny@gentoo
1 commit: b7173c636084ac5c6d7a7b0078431ba27ae4f1a6
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Thu Feb 28 17:11:51 2019 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Thu Feb 28 17:41:36 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b7173c63
7
8 sys-libs/libcxxabi: Bump to 8.0.0rc3
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.0_rc3.ebuild | 119 ++++++++++++++++++++++++++
14 2 files changed, 121 insertions(+)
15
16 diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest
17 index bea37469b59..d3b28ca7cb7 100644
18 --- a/sys-libs/libcxxabi/Manifest
19 +++ b/sys-libs/libcxxabi/Manifest
20 @@ -4,9 +4,11 @@ DIST libcxx-5.0.2.src.tar.xz 1530908 BLAKE2B e0c47d6803668267a71c75df873a136a2c3
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-3.9.1.src.tar.xz 510964 BLAKE2B a6abda1b92473781ea3029169c43547f15c1aa6e0ec6f9692ae633d109e050a6ff82ce8bceb0455375991b85c99784a4f06a568b8c77a4cf2865b9b2861e9595 SHA512 4f5603f1476b759c86d4784728fbdd212c59b30dc56d787c1834bf68a9cd83071fa22658d24e5a58beb94c0c656b0e4457d7da6e3048715dd36bd68380fc336e
26 DIST libcxxabi-4.0.1.src.tar.xz 515820 BLAKE2B 7d9e0dee4f6cb3eaa22647d959f8bf3d86779f8c51c0738143ba3daca83881daacc0663a1d2463507c8c4b8a1b9e1d5c111b829e5af2cb5b6f86bae8f06a0d47 SHA512 e94315ba8a507d8481d70c33e7ab2d724d51726edb8412c70a1b5f59e3f15d5825f1502dc2db138b20e5293fb90a184050be94d5ac270fd7ce78b502efb9f86a
27 DIST libcxxabi-5.0.2.src.tar.xz 521448 BLAKE2B e7e42908845f692cdb8709955eb46cbc18ee1f4ac9f0224b6e2a6bc2af998415eca5cda03ffcac27ef6a93cde928951bc38503bae9144b634abd17ec46ad96eb SHA512 304c0ef1b2fd26d52dae66013ea0051de4c3cb1e9c8d1308833f34aec1ad288fcfe5d583f00ceb84c8d271c5cd5f868aa135a93f007138d124c01b70c13e842e
28 DIST libcxxabi-6.0.1.src.tar.xz 528356 BLAKE2B b301b750b2928864d3fc51e66cf91aab6837636ec2bce706b9a97296ec96af4bd2e80b1bf80c9b4afe449335ee12bbdd1905433c27e1770e16bc306baf206927 SHA512 bbb4c7b412e295cb735f637df48a83093eef45ed5444f7766790b4b047f75fd5fd634d8f3a8ac33a5c1407bd16fd450ba113f60a9bcc1d0a911fe0c54e9c81f2
29 DIST libcxxabi-7.0.1.src.tar.xz 535096 BLAKE2B 212330e8dbde98280b1bcd4f36ea3f30b69af9816e6c252bd9640c45501536ce38e8b57f3e82195d2a33cb1286651f7cad82713c71e8012e512e04c4ff7bad64 SHA512 92e8d28f329e9a8cce296f0fddd88324198f722db3a748bb2164b28ae8eca6047c89ed1e70af00bbedd93ce4285b2ab1e0307a65b88dc60e581eebfd6cbd2038
30 DIST libcxxabi-8.0.0rc2.src.tar.xz 539092 BLAKE2B 2e03457c44d45035f18b01f34766d520e44f680ec9c73c8166a081e7311119a1ac17461d7e15f60728f4c1eb5d4a285b29c1b2123059d065eaf7f46c233210cb SHA512 9887da2b1ae4fe821e6e66fd4ce5f134d8600243e64fbac2bc5baaaa08dee689367ab1667522bc91328b18222f9fbe59fe79346b8ef529652b1ac300cf5bc161
31 +DIST libcxxabi-8.0.0rc3.src.tar.xz 538928 BLAKE2B 8babd986626c8ab3b542a2c71172de3cb0ff681225d1876a8903dd77756edeaaffb86c142525323a002dcdb963bb996b7aa77f46564b0a6fa7f1e0b35759ab10 SHA512 f9bbcab81e206f0b5e7306f7f3fd9a8bd934e5877ca6237d53c0380549292a3f64fcdf25cbd95b8effa7c1adfa083584afd029f052f4b24ef9a9a5c6fc0d0305
32
33 diff --git a/sys-libs/libcxxabi/libcxxabi-8.0.0_rc3.ebuild b/sys-libs/libcxxabi/libcxxabi-8.0.0_rc3.ebuild
34 new file mode 100644
35 index 00000000000..c04f5a34e13
36 --- /dev/null
37 +++ b/sys-libs/libcxxabi/libcxxabi-8.0.0_rc3.ebuild
38 @@ -0,0 +1,119 @@
39 +# Copyright 1999-2019 Gentoo Authors
40 +# Distributed under the terms of the GNU General Public License v2
41 +
42 +EAPI=6
43 +
44 +: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
45 +# (needed due to CMAKE_BUILD_TYPE != Gentoo)
46 +CMAKE_MIN_VERSION=3.7.0-r1
47 +PYTHON_COMPAT=( python2_7 )
48 +
49 +inherit cmake-multilib llvm multiprocessing python-any-r1
50 +
51 +MY_P=${P/_/}.src
52 +LIBCXX_P=libcxx-${PV/_/}.src
53 +
54 +DESCRIPTION="Low level support for a standard C++ library"
55 +HOMEPAGE="https://libcxxabi.llvm.org/"
56 +SRC_URI="https://prereleases.llvm.org/${PV/_//}/${MY_P}.tar.xz
57 + https://prereleases.llvm.org/${PV/_//}/${LIBCXX_P}.tar.xz"
58 +
59 +LICENSE="|| ( UoI-NCSA MIT )"
60 +SLOT="0"
61 +KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
62 +IUSE="+libunwind +static-libs test elibc_musl"
63 +RESTRICT="!test? ( test )"
64 +
65 +RDEPEND="
66 + libunwind? (
67 + || (
68 + >=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}]
69 + >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}]
70 + )
71 + )"
72 +# llvm-6 for new lit options
73 +DEPEND="${RDEPEND}
74 + >=sys-devel/llvm-6
75 + test? ( >=sys-devel/clang-3.9.0
76 + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
77 +
78 +S=${WORKDIR}/${MY_P}
79 +
80 +# least intrusive of all
81 +CMAKE_BUILD_TYPE=RelWithDebInfo
82 +
83 +python_check_deps() {
84 + has_version "dev-python/lit[${PYTHON_USEDEP}]"
85 +}
86 +
87 +pkg_setup() {
88 + llvm_pkg_setup
89 + use test && python-any-r1_pkg_setup
90 +}
91 +
92 +src_unpack() {
93 + default
94 + mv "${LIBCXX_P}" libcxx || die
95 +}
96 +
97 +multilib_src_configure() {
98 + local libdir=$(get_libdir)
99 + local mycmakeargs=(
100 + -DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib}
101 + -DLIBCXXABI_ENABLE_SHARED=ON
102 + -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs)
103 + -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind)
104 + -DLIBCXXABI_INCLUDE_TESTS=$(usex test)
105 +
106 + -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include
107 + # upstream is omitting standard search path for this
108 + # probably because gcc & clang are bundling their own unwind.h
109 + -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include
110 + )
111 + if use test; then
112 + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
113 + local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
114 +
115 + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
116 +
117 + mycmakeargs+=(
118 + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
119 + -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
120 + )
121 + fi
122 + cmake-utils_src_configure
123 +}
124 +
125 +build_libcxx() {
126 + local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)"
127 + local CMAKE_USE_DIR=${WORKDIR}/libcxx
128 + local BUILD_DIR=${BUILD_DIR}/libcxx
129 + local mycmakeargs=(
130 + -DLIBCXX_LIBDIR_SUFFIX=
131 + -DLIBCXX_ENABLE_SHARED=ON
132 + -DLIBCXX_ENABLE_STATIC=OFF
133 + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
134 + -DLIBCXX_CXX_ABI=libcxxabi
135 + -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include
136 + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
137 + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
138 + -DLIBCXX_HAS_GCC_S_LIB=OFF
139 + -DLIBCXX_INCLUDE_TESTS=OFF
140 + )
141 +
142 + cmake-utils_src_configure
143 + cmake-utils_src_compile
144 +}
145 +
146 +multilib_src_test() {
147 + # build a local copy of libc++ for testing to avoid circular dep
148 + build_libcxx
149 + mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
150 +
151 + cmake-utils_src_make check-libcxxabi
152 +}
153 +
154 +multilib_src_install_all() {
155 + insinto /usr/include/libcxxabi
156 + doins -r include/.
157 +}