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