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, 27 Jun 2018 08:44:55
Message-Id: 1530089078.3212725fc64f5608917c0f16b1db882e20150524.mgorny@gentoo
1 commit: 3212725fc64f5608917c0f16b1db882e20150524
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jun 26 21:22:16 2018 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Wed Jun 27 08:44:38 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3212725f
7
8 sys-libs/libcxxabi: Bump to 6.0.1
9
10 sys-libs/libcxxabi/Manifest | 2 +
11 sys-libs/libcxxabi/libcxxabi-6.0.1.ebuild | 119 ++++++++++++++++++++++++++++++
12 2 files changed, 121 insertions(+)
13
14 diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest
15 index d49c7f34187..387afe966ea 100644
16 --- a/sys-libs/libcxxabi/Manifest
17 +++ b/sys-libs/libcxxabi/Manifest
18 @@ -3,8 +3,10 @@ DIST libcxx-4.0.1.src.tar.xz 1446380 BLAKE2B cd871eff4c4ca25a1fe4d27f778e913fe53
19 DIST libcxx-5.0.1.src.tar.xz 1527852 BLAKE2B 9454fbca8228ee456feb79b65a63ce5daa27bf2e47e457d79592f4974dceeace19fe6cdeee51cc51f94e9072d7ce3c03e5acb617507670153647b9c435feadbd SHA512 994681d3c79047fc2d618c5584b08e9b5c925dab48f8812fc0adc81a575b49a637e9481bb9a0f7ae6f7f352b2b33f40056c347c27123cd6c96c6c226febd002c
20 DIST libcxx-5.0.2.src.tar.xz 1530908 BLAKE2B e0c47d6803668267a71c75df873a136a2c3bec3732a08c365107b286f6dfef883edb81f9f4d22a0f312228865528bf1f15450c41803f8d3a8c8081fe12b62c25 SHA512 c77e0ea6bb3dc03270312de4a24fdd0d027448b2e182af31489031fd52f0997377c9049769930b80b2ba0062fe21317d8ae823c5e80e12128f8ae8e6f171be22
21 DIST libcxx-6.0.0.src.tar.xz 1549328 BLAKE2B 93adb339b0e849fca1850d379c8e74b407b0db8220f3a05f888db70d83ad07c3200dbd2a7827f92c60a2ba91d3395e4d1b4434ba70479c29a95aceda6c213e02 SHA512 3d93910f85a778f36c5f7a4429639008acba5713a2c8ac79a9de09463af6f9a388af45d39af23423a7223660701697ba067f3391f25d5a970973691dd88635e3
22 +DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
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.1.src.tar.xz 521504 BLAKE2B e8263f458545ffb8ec27234e554427696644dcde3b46bea4fa0ee14b2b174d0c6c8dcc7905477140afaf567347e91815827aa6700c92ccfbfbea5364f591fc2a SHA512 a8d448653772690a19f68c1270f9cf18f27d7225847825f29c6ea21846c1074aa61c31b81bc2ae4007067985d389071c32e69b2560282ddb85864a99e9bdd884
26 DIST libcxxabi-5.0.2.src.tar.xz 521448 BLAKE2B e7e42908845f692cdb8709955eb46cbc18ee1f4ac9f0224b6e2a6bc2af998415eca5cda03ffcac27ef6a93cde928951bc38503bae9144b634abd17ec46ad96eb SHA512 304c0ef1b2fd26d52dae66013ea0051de4c3cb1e9c8d1308833f34aec1ad288fcfe5d583f00ceb84c8d271c5cd5f868aa135a93f007138d124c01b70c13e842e
27 DIST libcxxabi-6.0.0.src.tar.xz 529212 BLAKE2B ae020e8831a6ae71d59d71e294bbb0aa6dbedf1b3036b2536d9456db8c51f21e57d082c5abf5e00921a14876328bdfafab3c04b4d761cb76d52e35ff97107510 SHA512 c5e4cc05105770b42b20595fdbda5e1483be4582bc94335da1a15531ba43a0ecf30e1e0a252f62d4d0e6c79cda9d44ff5fdbe69a0a295b2431fd6de158410e2e
28 +DIST libcxxabi-6.0.1.src.tar.xz 528356 BLAKE2B b301b750b2928864d3fc51e66cf91aab6837636ec2bce706b9a97296ec96af4bd2e80b1bf80c9b4afe449335ee12bbdd1905433c27e1770e16bc306baf206927 SHA512 bbb4c7b412e295cb735f637df48a83093eef45ed5444f7766790b4b047f75fd5fd634d8f3a8ac33a5c1407bd16fd450ba113f60a9bcc1d0a911fe0c54e9c81f2
29
30 diff --git a/sys-libs/libcxxabi/libcxxabi-6.0.1.ebuild b/sys-libs/libcxxabi/libcxxabi-6.0.1.ebuild
31 new file mode 100644
32 index 00000000000..5c5a3146b60
33 --- /dev/null
34 +++ b/sys-libs/libcxxabi/libcxxabi-6.0.1.ebuild
35 @@ -0,0 +1,119 @@
36 +# Copyright 1999-2018 Gentoo Foundation
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 ~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 +}