commit:     6c2372f5a0b246db89b3fe1ed471b07240769ea4
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 11 17:03:31 2018 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Sun Mar 11 17:03:41 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c2372f5

sys-libs/libcxxrt: Bump a new snapshot

Package-Manager: Portage-2.3.24, Repoman-2.3.6

 sys-libs/libcxxrt/Manifest                      |  1 +
 sys-libs/libcxxrt/libcxxrt-0.0_p20180311.ebuild | 87 +++++++++++++++++++++++++
 2 files changed, 88 insertions(+)

diff --git a/sys-libs/libcxxrt/Manifest b/sys-libs/libcxxrt/Manifest
index 42fb035b592..df6be90d3ee 100644
--- a/sys-libs/libcxxrt/Manifest
+++ b/sys-libs/libcxxrt/Manifest
@@ -1 +1,2 @@
 DIST libcxxrt-0.0_p20170515.tar.xz 60488 BLAKE2B 
ae605dbd85a619886a3dca4ded06529bf51309d2c12028aaa4d27180efcbb6a6cd40e59fe731511cc920ba1e3c5786a5051a560186923d60c9aa7eae34b1679e
 SHA512 
cf0539ca8f836adadf83195784ad008008faea2b0dd8953191fa1012d542f10f546eb58ecc42fa8e864c1113530a6bceb28a8005aa62276570343a3aaba09266
+DIST libcxxrt-0.0_p20180311.tar.xz 60920 BLAKE2B 
c75bf5bb88e0f5c448a377a7ae58b33444e644c5e4ce7d6e0f5242c4ee61335be6a8b878bcc06f47bb44f9c48895845b174ca398c95aabb90182ebefd3d31815
 SHA512 
625aa0fab7d54c584faf4cf1e7f8f694776337fc0c6f441683f035743d00e3d18be3339a8ccfc8b61eb07819e4ccf7b1e5f3e7948fd584eefc5d61b200b32d50

diff --git a/sys-libs/libcxxrt/libcxxrt-0.0_p20180311.ebuild 
b/sys-libs/libcxxrt/libcxxrt-0.0_p20180311.ebuild
new file mode 100644
index 00000000000..0c117aac6bb
--- /dev/null
+++ b/sys-libs/libcxxrt/libcxxrt-0.0_p20180311.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+EGIT_REPO_URI="https://github.com/pathscale/libcxxrt.git";
+
+[ "${PV%9999}" != "${PV}" ] && SCM="git-2" || SCM=""
+
+inherit flag-o-matic toolchain-funcs portability ${SCM} multilib-minimal
+
+DESCRIPTION="C++ Runtime from PathScale, FreeBSD and NetBSD"
+HOMEPAGE="https://github.com/pathscale/libcxxrt 
http://www.pathscale.com/node/265";
+if [ "${PV%9999}" = "${PV}" ] ; then
+       SRC_URI="mirror://gentoo/${P}.tar.xz"
+       DEPEND="app-arch/xz-utils"
+else
+       SRC_URI=""
+fi
+
+LICENSE="BSD-2"
+SLOT="0"
+if [ "${PV%9999}" = "${PV}" ] ; then
+       KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux 
~x86-linux"
+else
+       KEYWORDS=""
+fi
+IUSE="+libunwind +static-libs"
+
+RDEPEND="libunwind? ( || ( 
>=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}]
+               sys-libs/llvm-libunwind[static-libs?,${MULTILIB_USEDEP}] ) )"
+DEPEND="${RDEPEND}
+       ${DEPEND}"
+
+DOCS=( AUTHORS COPYRIGHT README )
+
+gcc_check() {
+       if tc-is-gcc && [[ $(gcc-major-version) -lt 6 ]] && use test; then
+               eerror "At least gcc-6 is required to run tests. Please switch 
to a newer"
+               eerror "compiler before proceeding."
+               die "gcc-6 required for tests"
+       fi
+}
+
+pkg_pretend() {
+       gcc_check
+}
+
+pkg_setup() {
+       gcc_check
+}
+
+src_prepare() {
+       cp "${FILESDIR}/Makefile" src/ || die
+       cp "${FILESDIR}/Makefile.test" test/Makefile || die
+       multilib_copy_sources
+}
+
+multilib_src_compile() {
+       # Notes: we build -nodefaultlibs to avoid linking to gcc libs.
+       # libcxxrt needs: dladdr (dlopen_lib), libunwind or libgcc_s and the 
libc.
+       tc-export CC CXX AR
+       append-ldflags "-Wl,-z,defs" # make sure we are not underlinked
+       cd "${BUILD_DIR}/src"
+       LIBS="$(dlopen_lib) -l$(usex libunwind unwind gcc_s) -lc" emake shared
+       use static-libs && emake static
+}
+
+multilib_src_test() {
+       cd "${BUILD_DIR}/test"
+       LD_LIBRARY_PATH="${BUILD_DIR}/src:${LD_LIBRARY_PATH}" \
+               LIBS="-L${BUILD_DIR}/src -lcxxrt -l$(usex libunwind unwind 
gcc_s) -lc" \
+               emake check
+}
+
+multilib_src_install() {
+       # TODO: See README. Maybe hide it in a subdir and let only libcxx know 
about
+       # it. FreeBSD head installs it in /lib
+       dolib.so src/${PN}.so*
+       use static-libs && dolib.a src/${PN}.a
+}
+
+multilib_src_install_all() {
+       einstalldocs
+       insinto /usr/include/libcxxrt/
+       doins src/cxxabi.h src/unwind*.h
+}

Reply via email to