commit:     c8e15ebb4aed04618565b1a1e266a98dfbd1fc1b
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 11 09:28:26 2016 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Thu Feb 11 09:28:26 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=c8e15ebb

sys-libs/libcxxabi: bump version

Package-Manager: portage-2.2.20-prefix

 sys-libs/libcxxabi/Manifest               |  1 +
 sys-libs/libcxxabi/libcxxabi-3.7.1.ebuild | 87 +++++++++++++++++++++++++++++++
 2 files changed, 88 insertions(+)

diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest
index 4f13d9d..dd0c964 100644
--- a/sys-libs/libcxxabi/Manifest
+++ b/sys-libs/libcxxabi/Manifest
@@ -1,2 +1,3 @@
 DIST libcxxabi-3.5.1.src.tar.xz 551148 SHA256 
7ff14fdce0ed7bfcc532c627c7a2dc7876dd8a3d788b2aa201d3bbdc443d06a3 SHA512 
1fa9215aba2228d0bc5547febea69d0497785289d1972103ffb24b202a0a4df06ea1f7d6311ec85fc344414b69e590640b547c66ef1f9b9ea73762cc4f4a83fa
 WHIRLPOOL 
4682de87fc6857d1dc3c401dd9ed24b1e5aa5b3a00338f6493cd0a30f757560c468591e540ac0856ee8d83c3ab5107c9c334f9f5c67755b47d23ec29462d5386
 DIST libcxxabi-3.6.2.src.tar.xz 556816 SHA256 
6fb48ce5a514686b9b75e73e59869f782ed374a86d71be8423372e4b3329b09b SHA512 
3a7cf91399dfdf18ac998d499b69387f7a9bdde6ab592a2d3cc411037627c97ce955b2348fa2a068ff8c00b34445a86991d09d1aac2726e38c0d3f8da5c72d29
 WHIRLPOOL 
67be971ca68681b3fdfc1bfebae68239731d7a80c92cd04bec612b3f9520eb269e69ece013b07a01e51752f1a6e77e9c060a19c625e7e8dfe48994e67296538e
+DIST libcxxabi-3.7.1.src.tar.xz 507428 SHA256 
a47faaed90f577da8ca3b5f044be9458d354a53fab03003a44085a912b73ab2a SHA512 
d697d1b35a8cc1f27dd0f7d06d3f6e067e4c7ae613af982a8c91d4702a03aedfbdad1d4bd3c213f38db3d58473ad7fc6b4b8d1ffcfc6de04d1eb4e17e151c73a
 WHIRLPOOL 
97d30f81d8d7960f4e3c8208f44f860b48b2aa3e13b0caccf9b2d26947cebf227143e0de77e18f4405612fc11028538ae886e7d21ab6e586c466a54fe1f302d7

diff --git a/sys-libs/libcxxabi/libcxxabi-3.7.1.ebuild 
b/sys-libs/libcxxabi/libcxxabi-3.7.1.ebuild
new file mode 100644
index 0000000..df0ff44
--- /dev/null
+++ b/sys-libs/libcxxabi/libcxxabi-3.7.1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit flag-o-matic
+
+S="${WORKDIR}/${P}.src"
+
+inherit eutils
+
+DESCRIPTION="New implementation of low level support for a standard C++ 
library"
+HOMEPAGE="http://libcxxabi.llvm.org/";
+SRC_URI="http://llvm.org/releases/${PV}/${P}.src.tar.xz";
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~x64-macos ~x86-macos"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+       sys-libs/libcxx-headers
+       sys-devel/clang"
+
+pkg_setup() {
+       if [[ ${CHOST} == *darwin* ]] ; then
+               MY_CC=$(tc-getCC)
+               MY_CXX=$(tc-getCXX)
+               if [[ ${MY_CC} != *clang* || ${MY_CXX} != *clang++* ]] ; then
+                       eerror "${PN} needs to be built with clang++. Please do 
not override"
+                       eerror "CC ($MY_CC) and CXX ($MY_CXX)"
+                       eerror "or point them at clang and eerror clang++ 
respectively."
+                       die
+               fi
+               return
+       fi
+}
+
+src_configure() {
+       tc-export CC CXX
+}
+
+src_prepare() {
+       cd "${S}"
+
+       # libc++abi needs stack unwinding functions provided by libSystem on 
Mac OS X
+       # >= 10.6. On < 10.6 they're in libgcc_s. So force link against that.
+       # Additionally, the crt1.o provided by our gcc-apple toolchain isn't
+       # universal. Since that's needed for linking any program on OSX <
+       # 10.7, universal support is effectively broken on those older OSXes
+       # even if clang and libc++{,abi} were to support it. So we can just
+       # disable universal compilation.
+       gcc_s=gcc_s.1
+       [[ "${CHOST##*-darwin}" -eq 9 ]] && gcc_s=gcc_s.10.5
+       [[ "${CHOST##*-darwin}" -eq 8 ]] && gcc_s=gcc_s.10.4
+       [[ "${CHOST##*-darwin}" -le 9 ]] && \
+               sed -i -e "s,-lSystem,-lSystem -l${gcc_s},g" \
+                       -e "s,-arch i386 -arch x86_64,,g" \
+                       lib/buildit
+
+       # assert.h refers to eprintf which is nowhere to be found. That's why
+       # everyone (libstdc++, clang compiler-rt) bring their own
+       # implementation. Ours is nicked from Apple's patch to libstdc++-39.
+       [[ "${CHOST##*-darwin}" -le 8 ]] && \
+               epatch "${FILESDIR}"/${PN}-3.5.1-eprintf.patch
+
+       sed -i -e 
"s,/usr/lib/libc++abi\.dylib,${EPREFIX}/usr/lib/libc++abi.dylib,g" \
+               lib/buildit
+}
+
+src_compile() {
+       cd "${S}/lib" || die
+       export TRIPLE=-apple-
+       ./buildit || die
+}
+
+src_install() {
+       dolib.so lib/libc++*dylib
+
+       # do not install unwind.h and others since they're only in-source
+       # build-time dependencies
+       insinto /usr/include
+       doins -r include/cxxabi.h
+       doins -r include/__cxxabi_config.h
+}

Reply via email to