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: Wed, 07 Sep 2016 07:36:28
Message-Id: 1473233742.d45dfe190ac9ce2cc7078db5b1481871cf44233c.grobian@gentoo
1 commit: d45dfe190ac9ce2cc7078db5b1481871cf44233c
2 Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
3 AuthorDate: Wed Sep 7 07:33:01 2016 +0000
4 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
5 CommitDate: Wed Sep 7 07:35:42 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=d45dfe19
7
8 sys-libs/libcxxabi: sync to 3.8.1 version
9
10 Package-Manager: portage-2.2.28-prefix
11
12 sys-libs/libcxxabi/Manifest | 1 +
13 sys-libs/libcxxabi/libcxxabi-3.8.1.ebuild | 85 +++++++++++++++++++++++++++++++
14 sys-libs/libcxxabi/metadata.xml | 5 +-
15 3 files changed, 90 insertions(+), 1 deletion(-)
16
17 diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest
18 index 64a925b..ea62313 100644
19 --- a/sys-libs/libcxxabi/Manifest
20 +++ b/sys-libs/libcxxabi/Manifest
21 @@ -1,2 +1,3 @@
22 DIST libcxxabi-3.5.1.src.tar.xz 551148 SHA256 7ff14fdce0ed7bfcc532c627c7a2dc7876dd8a3d788b2aa201d3bbdc443d06a3 SHA512 1fa9215aba2228d0bc5547febea69d0497785289d1972103ffb24b202a0a4df06ea1f7d6311ec85fc344414b69e590640b547c66ef1f9b9ea73762cc4f4a83fa WHIRLPOOL 4682de87fc6857d1dc3c401dd9ed24b1e5aa5b3a00338f6493cd0a30f757560c468591e540ac0856ee8d83c3ab5107c9c334f9f5c67755b47d23ec29462d5386
23 DIST libcxxabi-3.7.1.src.tar.xz 507428 SHA256 a47faaed90f577da8ca3b5f044be9458d354a53fab03003a44085a912b73ab2a SHA512 d697d1b35a8cc1f27dd0f7d06d3f6e067e4c7ae613af982a8c91d4702a03aedfbdad1d4bd3c213f38db3d58473ad7fc6b4b8d1ffcfc6de04d1eb4e17e151c73a WHIRLPOOL 97d30f81d8d7960f4e3c8208f44f860b48b2aa3e13b0caccf9b2d26947cebf227143e0de77e18f4405612fc11028538ae886e7d21ab6e586c466a54fe1f302d7
24 +DIST libcxxabi-3.8.1.src.tar.xz 508392 SHA256 e1b55f7be3fad746bdd3025f43e42d429fb6194aac5919c2be17c4a06314dae1 SHA512 c401fe984f44c4f7a0b0fa10099d7a203c1552b89881b8b248645ac4fb3cd7e399c3d07841432cca069e816042ad6629f9cc068b278196fa6bd4c129d95d35be WHIRLPOOL 308b3adffbb3d415e7bcaf8dd2d52df40d9ddfb7f0172d2eec3735b7934a9f32244accff570e94f3c4e8fbeffc254a262e35f3a93c5cf0706a1c343bd0b285df
25
26 diff --git a/sys-libs/libcxxabi/libcxxabi-3.8.1.ebuild b/sys-libs/libcxxabi/libcxxabi-3.8.1.ebuild
27 new file mode 100644
28 index 0000000..83376cd
29 --- /dev/null
30 +++ b/sys-libs/libcxxabi/libcxxabi-3.8.1.ebuild
31 @@ -0,0 +1,85 @@
32 +# Copyright 1999-2016 Gentoo Foundation
33 +# Distributed under the terms of the GNU General Public License v2
34 +# $Id $
35 +
36 +EAPI=5
37 +
38 +inherit flag-o-matic
39 +
40 +S="${WORKDIR}/${P}.src"
41 +
42 +inherit eutils
43 +
44 +DESCRIPTION="New implementation of low level support for a standard C++ library"
45 +HOMEPAGE="http://libcxxabi.llvm.org/"
46 +SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz"
47 +
48 +LICENSE="|| ( UoI-NCSA MIT )"
49 +SLOT="0"
50 +KEYWORDS="~x64-macos ~x86-macos"
51 +IUSE=""
52 +
53 +RDEPEND=""
54 +DEPEND="${RDEPEND}
55 + =sys-libs/libcxx-headers-${PV}
56 + sys-devel/clang"
57 +
58 +pkg_setup() {
59 + if [[ ${CHOST} == *darwin* ]] ; then
60 + MY_CC=$(tc-getCC)
61 + MY_CXX=$(tc-getCXX)
62 + if [[ ${MY_CC} != *clang* || ${MY_CXX} != *clang++* ]] ; then
63 + eerror "${PN} needs to be built with clang++. Please do not override"
64 + eerror "CC ($MY_CC) and CXX ($MY_CXX)"
65 + eerror "or point them at clang and eerror clang++ respectively."
66 + die
67 + fi
68 + return
69 + fi
70 +}
71 +
72 +src_configure() {
73 + tc-export CC CXX
74 +}
75 +
76 +src_prepare() {
77 + # libc++abi needs stack unwinding functions provided by libSystem on Mac OS X
78 + # >= 10.6. On < 10.6 they're in libgcc_s. So force link against that.
79 + # Additionally, the crt1.o provided by our gcc-apple toolchain isn't
80 + # universal. Since that's needed for linking any program on OSX <
81 + # 10.7, universal support is effectively broken on those older OSXes
82 + # even if clang and libc++{,abi} were to support it. So we can just
83 + # disable universal compilation.
84 + gcc_s=gcc_s.1
85 + [[ "${CHOST##*-darwin}" -eq 9 ]] && gcc_s=gcc_s.10.5
86 + [[ "${CHOST##*-darwin}" -eq 8 ]] && gcc_s=gcc_s.10.4
87 + [[ "${CHOST##*-darwin}" -le 9 ]] && \
88 + sed -i -e "s,-lSystem,-lSystem -l${gcc_s},g" \
89 + -e "s,-arch i386 -arch x86_64,,g" \
90 + lib/buildit
91 +
92 + # assert.h refers to eprintf which is nowhere to be found. That's why
93 + # everyone (libstdc++, clang compiler-rt) bring their own
94 + # implementation. Ours is nicked from Apple's patch to libstdc++-39.
95 + [[ "${CHOST##*-darwin}" -le 8 ]] && \
96 + epatch "${FILESDIR}"/${PN}-3.5.1-eprintf.patch
97 +
98 + sed -i -e "s,/usr/lib/libc++abi\.dylib,${EPREFIX}/usr/lib/libc++abi.dylib,g" \
99 + lib/buildit
100 +}
101 +
102 +src_compile() {
103 + cd "${S}/lib" || die
104 + export TRIPLE=-apple-
105 + ./buildit || die
106 +}
107 +
108 +src_install() {
109 + dolib.so lib/libc++*dylib
110 +
111 + # do not install unwind.h and others since they're only in-source
112 + # build-time dependencies
113 + insinto /usr/include
114 + doins -r include/cxxabi.h
115 + doins -r include/__cxxabi_config.h
116 +}
117
118 diff --git a/sys-libs/libcxxabi/metadata.xml b/sys-libs/libcxxabi/metadata.xml
119 index f737f23..b592ddf 100644
120 --- a/sys-libs/libcxxabi/metadata.xml
121 +++ b/sys-libs/libcxxabi/metadata.xml
122 @@ -1,5 +1,8 @@
123 <?xml version="1.0" encoding="UTF-8"?>
124 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
125 <pkgmetadata>
126 - <herd>prefix</herd>
127 + <maintainer type="project">
128 + <email>prefix@g.o</email>
129 + <name>Prefix Project</name>
130 + </maintainer>
131 </pkgmetadata>