Gentoo Archives: gentoo-commits

From: Fabian Groffen <grobian@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/prefix:master commit in: sys-libs/libcxxabi/
Date: Tue, 02 Jan 2018 16:21:56
Message-Id: 1514909731.68b93b4e5c261672b8d053a5adfe10510fa3dde8.grobian@gentoo
1 commit: 68b93b4e5c261672b8d053a5adfe10510fa3dde8
2 Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jan 2 16:15:31 2018 +0000
4 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
5 CommitDate: Tue Jan 2 16:15:31 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=68b93b4e
7
8 sys-libs/libcxxabi: bump to 5.0.1 by Michael Weiser, bug #538364
9
10 Bug: https://bugs.gentoo.org/538364
11 Package-Manager: Portage-2.3.18-prefix, Repoman-2.3.6
12
13 sys-libs/libcxxabi/Manifest | 2 +
14 sys-libs/libcxxabi/libcxxabi-5.0.1.ebuild | 103 ++++++++++++++++++++++++++++++
15 2 files changed, 105 insertions(+)
16
17 diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest
18 index 4396674d43..af6d59af57 100644
19 --- a/sys-libs/libcxxabi/Manifest
20 +++ b/sys-libs/libcxxabi/Manifest
21 @@ -1,6 +1,8 @@
22 DIST libcxx-3.9.1.src.tar.xz 1209020 BLAKE2B 510e77c2c1163babbba904933f441e8720b0d366b9f0cfa2cdde2401368c224e00efd66afc1403b0087c40549cda4ebbc4d0c4b2d0906178324fa6158502d5ad SHA512 a5976e4096624a7307b3e43f4a22ac2dc74572226e0f57af9f3ef537a14c3cff1601b7042aef9dc40a0ee53ca76b08d72eb9c253dcf34f115d3153c302db7070
23 +DIST libcxx-5.0.1.src.tar.xz 1527852 BLAKE2B 9454fbca8228ee456feb79b65a63ce5daa27bf2e47e457d79592f4974dceeace19fe6cdeee51cc51f94e9072d7ce3c03e5acb617507670153647b9c435feadbd SHA512 994681d3c79047fc2d618c5584b08e9b5c925dab48f8812fc0adc81a575b49a637e9481bb9a0f7ae6f7f352b2b33f40056c347c27123cd6c96c6c226febd002c
24 DIST libcxxabi-3.5.1.src.tar.xz 551148 BLAKE2B 58a4d487dceff8772ce921addcbf836c5b80cf6eb29600b4789140164fb768e8d9bbde127ebceb757d47ef6dd458c6294af37001078430e2e4eddaa3b32e15da SHA512 1fa9215aba2228d0bc5547febea69d0497785289d1972103ffb24b202a0a4df06ea1f7d6311ec85fc344414b69e590640b547c66ef1f9b9ea73762cc4f4a83fa
25 DIST libcxxabi-3.7.1.src.tar.xz 507428 BLAKE2B 7c458a7ac2720f30f80a3644047f19bd39c46141cf4997912ea42d97bad7d365e90e385fb0996f16048ba199f42fb6e3f95f608a44976ddd336e0f3bf3cc7df1 SHA512 d697d1b35a8cc1f27dd0f7d06d3f6e067e4c7ae613af982a8c91d4702a03aedfbdad1d4bd3c213f38db3d58473ad7fc6b4b8d1ffcfc6de04d1eb4e17e151c73a
26 DIST libcxxabi-3.8.1.src.tar.xz 508392 BLAKE2B 38de3ea6f3b38a112ffd134572e2ebfa9e5f558d3ac7fabceaaf86ed826123515e283f64a1767689bb7b0f72ad31e523c1d947c049225888d7f7dd54ff1b4e65 SHA512 c401fe984f44c4f7a0b0fa10099d7a203c1552b89881b8b248645ac4fb3cd7e399c3d07841432cca069e816042ad6629f9cc068b278196fa6bd4c129d95d35be
27 DIST libcxxabi-3.9.0.src.tar.xz 511324 BLAKE2B 75c35b2b30cb04db35db93378d1cc541f194071564c5c8d4c577f076153fc34c7aae793527566cc912437e0f255fbc0520533037b5376105e8e9e4f80a71ba6b SHA512 500207bfd59664bd42d920741d6b467c4b88569453742db6470af081c77be04894e097a14b8419e333b51abce484566366e35cbc3ed2607cd86dfc0ec0ddd0c5
28 DIST libcxxabi-3.9.1.src.tar.xz 510964 BLAKE2B a6abda1b92473781ea3029169c43547f15c1aa6e0ec6f9692ae633d109e050a6ff82ce8bceb0455375991b85c99784a4f06a568b8c77a4cf2865b9b2861e9595 SHA512 4f5603f1476b759c86d4784728fbdd212c59b30dc56d787c1834bf68a9cd83071fa22658d24e5a58beb94c0c656b0e4457d7da6e3048715dd36bd68380fc336e
29 +DIST libcxxabi-5.0.1.src.tar.xz 521504 BLAKE2B e8263f458545ffb8ec27234e554427696644dcde3b46bea4fa0ee14b2b174d0c6c8dcc7905477140afaf567347e91815827aa6700c92ccfbfbea5364f591fc2a SHA512 a8d448653772690a19f68c1270f9cf18f27d7225847825f29c6ea21846c1074aa61c31b81bc2ae4007067985d389071c32e69b2560282ddb85864a99e9bdd884
30
31 diff --git a/sys-libs/libcxxabi/libcxxabi-5.0.1.ebuild b/sys-libs/libcxxabi/libcxxabi-5.0.1.ebuild
32 new file mode 100644
33 index 0000000000..47a199dbfc
34 --- /dev/null
35 +++ b/sys-libs/libcxxabi/libcxxabi-5.0.1.ebuild
36 @@ -0,0 +1,103 @@
37 +# Copyright 1999-2018 Gentoo Foundation
38 +# Distributed under the terms of the GNU General Public License v2
39 +# $Id$
40 +
41 +EAPI=6
42 +
43 +: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
44 +PYTHON_COMPAT=( python2_7 )
45 +
46 +inherit cmake-multilib python-any-r1 flag-o-matic
47 +
48 +DESCRIPTION="Low level support for a standard C++ library"
49 +HOMEPAGE="http://libcxxabi.llvm.org/"
50 +# also needs libcxx sources for headers
51 +SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz
52 + http://llvm.org/releases/${PV}/${P/abi/}.src.tar.xz"
53 +LICENSE="|| ( UoI-NCSA MIT )"
54 +SLOT="0"
55 +KEYWORDS="~x64-macos ~x86-macos"
56 +IUSE="elibc_Darwin elibc_musl libunwind +static-libs test"
57 +
58 +RDEPEND="
59 + libunwind? (
60 + || (
61 + >=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}]
62 + >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}]
63 + )
64 + )"
65 +DEPEND="${RDEPEND}
66 + >=sys-devel/llvm-3.9.0
67 + test? ( >=sys-devel/clang-3.9.0
68 + ~sys-libs/libcxx-${PV}[libcxxabi(-)]
69 + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
70 +
71 +S=${WORKDIR}/${P}.src
72 +
73 +python_check_deps() {
74 + has_version "dev-python/lit[${PYTHON_USEDEP}]"
75 +}
76 +
77 +pkg_setup() {
78 + use test && python-any-r1_pkg_setup
79 +}
80 +
81 +src_configure() {
82 + NATIVE_LIBDIR=$(get_libdir)
83 + cmake-multilib_src_configure
84 +}
85 +
86 +multilib_src_configure() {
87 + local libdir=$(get_libdir)
88 + local mycmakeargs=(
89 + -DLLVM_LIBDIR_SUFFIX=${NATIVE_LIBDIR#lib}
90 + -DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib}
91 + -DLIBCXXABI_ENABLE_SHARED=ON
92 + -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs)
93 + -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind)
94 + -DLLVM_INCLUDE_TESTS=$(usex test)
95 +
96 + -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx-${PV}.src/include
97 + # upstream is omitting standard search path for this
98 + # probably because gcc & clang are bundling their own unwind.h
99 + -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include
100 + # this only needs to exist, it does not have to make sense
101 + -DLIBCXXABI_LIBUNWIND_SOURCES="${T}"
102 + )
103 + if use test; then
104 + mycmakeargs+=(
105 + -DLIT_COMMAND="${EPREFIX}"/usr/bin/lit
106 + )
107 + fi
108 + if use elibc_musl; then
109 + local -x CPPFLAGS="${CPPFLAGS} -D_LIBCPP_HAS_MUSL_LIBC=1"
110 + fi
111 +
112 + # make sure we build multilib on OSX, because llvm insists on
113 + # building multilib too
114 + if [[ ${CHOST} == *86*-darwin* ]] ; then
115 + append-flags -arch i386 -arch x86_64
116 + append-cxxflags -std=c++11
117 + local mycmakeargs+=(
118 + # disable test for libstdc++ leaking in from LLVM cmake module -
119 + # apart from libcxx headers, libcxxabi is self-contained
120 + -DLLVM_ENABLE_LIBCXX=ON
121 + )
122 + fi
123 +
124 + cmake-utils_src_configure
125 +}
126 +
127 +multilib_src_test() {
128 + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
129 +
130 + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
131 + sed -i -e "/cxx_under_test/s^\".*\"^\"${clang_path}\"^" test/lit.site.cfg || die
132 +
133 + cmake-utils_src_make check-libcxxabi
134 +}
135 +
136 +multilib_src_install_all() {
137 + insinto /usr/include/libcxxabi
138 + doins -r include/.
139 +}