summaryrefslogtreecommitdiff
path: root/sys-libs/llvm-libunwind
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs/llvm-libunwind')
-rw-r--r--sys-libs/llvm-libunwind/Manifest4
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-6.0.9999.ebuild49
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild51
3 files changed, 93 insertions, 11 deletions
diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest
index 6c04224e3f64..e2ce383bc2ae 100644
--- a/sys-libs/llvm-libunwind/Manifest
+++ b/sys-libs/llvm-libunwind/Manifest
@@ -10,6 +10,6 @@ EBUILD llvm-libunwind-3.9.0-r1.ebuild 1182 BLAKE2B 8a01875c7c57c4c4052d0bc680794
EBUILD llvm-libunwind-3.9.1.ebuild 1187 BLAKE2B adc3bdff94f0b5a855c4d6eac0ee123dbdc845da541d06fb6f3d533a0375d969427488cbbb4bcef4d545c8e6993ab4c78a8c5f3bca9f06f2b36a84199e471b0c SHA512 bdd65eb012df3af046c71406af02927255f3502aaf92e53fa9dbf2adfa0150b68e4325cfef2f07d1893738ba6ba3f009a89e37861ffe7999752ea77fc3963a0b
EBUILD llvm-libunwind-4.0.1.ebuild 1094 BLAKE2B dec5d0847983833e461635ac5711b5d253963650aed87678277bec86d1334ae9348d26605e20acf2a8d2405e891dd10c9303abf7d243ed86e36c8f3e3f12b83b SHA512 3fb7283eea0b4282c549d7cf2cee1aea0f9d28b7689f5b83a32893c32ebfabc703eb0328593109db96a86351b639bc3e60572c7de93fbed18dd359a14b352386
EBUILD llvm-libunwind-5.0.1.ebuild 1095 BLAKE2B 415bd2a215254de93f7de3bbcab1345dfe7e6ed79aa19393d25faa1f73454e4aa3fb9285734805ce53ba16d93df721473580a5cd9455707613fbc54c88f92c72 SHA512 951459c8dc2b1a55a85569edb85fa522ea1128f8bb3d7699153600d8aa5881db64fc9ae8bd312036be01b8d29ec4c34c867d815e7e8bba11f15fc1d0bc5dbaf7
-EBUILD llvm-libunwind-6.0.9999.ebuild 1109 BLAKE2B 9d9760e4296c970b416c237ea5203751a4a17ff94f744779378c986b0315b36ac0a52c317d8f9da75ce314de8fa7cd0380cbeb2c1d9daa16f75dc483c690b8e8 SHA512 6ec698db9f52b427b9bd5bb16fbcb825488a2fcc0b010c45fcecffe522b0b5842ae1b9653a2e45bddfd89ed5d001e554649636fe1fc019cb64b5ac4575f80b01
-EBUILD llvm-libunwind-9999.ebuild 1084 BLAKE2B 549f50753c3ed20954b1fd1260ce1cd216a4e9bf56c23b59e8ac34b9e8163419a76c3634995143fbea2c8f681069944607c823f130235b97985936e1030a4413 SHA512 9393e7fafe3a5b0416c0206a1d25ba9f0601dfc329293c9d4b02d61859aaf7f5b1c1be1fc7e82429f278385f70890f1ab49b8db0785c33ac0d2e193877741cd7
+EBUILD llvm-libunwind-6.0.9999.ebuild 2087 BLAKE2B 6d33b3e80997e3ab3bc661f108508512ff236e624f1dd42d51250d37010e76762dba7b46d2cbe17144b53c32d8d47ce0a9fbff360aa43b4703656586c7b9e102 SHA512 714ae52e1739ff2430e4e901aea3e73d5aa963868f16ae01cc6611a756a055b4d7cab30ce981c5db287e93d9b754aad8ad14ccf0d7b414d2386084fed7a6f5a9
+EBUILD llvm-libunwind-9999.ebuild 2062 BLAKE2B 1a7276785f129d662e77cb8035f33f375ff2c57c8ebb10f04af2637c94af560de20c20b952d8bb815462db16cc9f84de881dcfcbabf44d5035a0f1603ef07a9f SHA512 ad902a7bbf551351aaea5f01cb05b52000c0940be079228962a6e7d89fa03243ed2aae1ebfe401eb770911981c5f8fb6812bb6f9e135be7eaf4f8050a722c35a
MISC metadata.xml 302 BLAKE2B 1cdee7813ed9a3766b2eddccd14f9e0576ba5cc7f812d7af4f35c8c2e5991790f3800c6473c37da90d72804832fd9af969a2e3bf7aa625f0d3a32da1dbcefacf SHA512 3afaef82e6a495a81e221524ae7604dc170ef5c103333728674faf0417c45ba7996118c10466eaa24f8feef9ed8f0fc60d535a5195462317d61c61a531c8a285
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-6.0.9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-6.0.9999.ebuild
index 6c50f73f19b4..0be3b4e8c29e 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-6.0.9999.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-6.0.9999.ebuild
@@ -6,7 +6,8 @@ EAPI=6
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
# (needed due to CMAKE_BUILD_TYPE != Gentoo)
CMAKE_MIN_VERSION=3.7.0-r1
-inherit cmake-multilib git-r3 llvm
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+inherit cmake-multilib git-r3 llvm python-any-r1
DESCRIPTION="C++ runtime stack unwinder from LLVM"
HOMEPAGE="https://github.com/llvm-mirror/libunwind"
@@ -18,15 +19,39 @@ EGIT_BRANCH="release_60"
LICENSE="|| ( UoI-NCSA MIT )"
SLOT="0"
KEYWORDS=""
-IUSE="debug +static-libs"
+IUSE="debug +static-libs test"
+RESTRICT="!test? ( test )"
RDEPEND="!sys-libs/libunwind"
-# LLVM 4 required for llvm-config --cmakedir
-DEPEND=">=sys-devel/llvm-4"
+# llvm-6 for new lit options
+DEPEND="
+ >=sys-devel/llvm-6
+ test? (
+ sys-libs/libcxx[${MULTILIB_USEDEP}]
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
+python_check_deps() {
+ has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_unpack() {
+ # we need headers & test utilities
+ git-r3_fetch "https://git.llvm.org/git/libcxx.git
+ https://github.com/llvm-mirror/libcxx.git"
+ git-r3_fetch
+
+ git-r3_checkout https://llvm.org/git/libcxx.git \
+ "${WORKDIR}"/libcxx '' include utils/libcxx
+ git-r3_checkout
+}
+
multilib_src_configure() {
local libdir=$(get_libdir)
@@ -34,11 +59,27 @@ multilib_src_configure() {
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug)
-DLIBUNWIND_ENABLE_STATIC=$(usex static-libs)
+ -DLLVM_INCLUDE_TESTS=$(usex test)
+
+ # support non-native unwinding; given it's small enough,
+ # enable it unconditionally
+ -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON
)
+ if use test; then
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="-vv"
+ -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}"/libcxx
+ )
+ fi
cmake-utils_src_configure
}
+multilib_src_test() {
+ cmake-utils_src_make check-unwind
+}
+
multilib_src_install() {
cmake-utils_src_install
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild
index 88f7a92b6c9c..c10226761668 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -6,7 +6,8 @@ EAPI=6
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
# (needed due to CMAKE_BUILD_TYPE != Gentoo)
CMAKE_MIN_VERSION=3.7.0-r1
-inherit cmake-multilib git-r3 llvm
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+inherit cmake-multilib git-r3 llvm python-any-r1
DESCRIPTION="C++ runtime stack unwinder from LLVM"
HOMEPAGE="https://github.com/llvm-mirror/libunwind"
@@ -17,15 +18,39 @@ EGIT_REPO_URI="https://git.llvm.org/git/libunwind.git
LICENSE="|| ( UoI-NCSA MIT )"
SLOT="0"
KEYWORDS=""
-IUSE="debug +static-libs"
+IUSE="debug +static-libs test"
+RESTRICT="!test? ( test )"
RDEPEND="!sys-libs/libunwind"
-# LLVM 4 required for llvm-config --cmakedir
-DEPEND=">=sys-devel/llvm-4"
+# llvm-6 for new lit options
+DEPEND="
+ >=sys-devel/llvm-6
+ test? (
+ sys-libs/libcxx[${MULTILIB_USEDEP}]
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
# least intrusive of all
CMAKE_BUILD_TYPE=RelWithDebInfo
+python_check_deps() {
+ has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_unpack() {
+ # we need headers & test utilities
+ git-r3_fetch "https://git.llvm.org/git/libcxx.git
+ https://github.com/llvm-mirror/libcxx.git"
+ git-r3_fetch
+
+ git-r3_checkout https://llvm.org/git/libcxx.git \
+ "${WORKDIR}"/libcxx '' include utils/libcxx
+ git-r3_checkout
+}
+
multilib_src_configure() {
local libdir=$(get_libdir)
@@ -33,11 +58,27 @@ multilib_src_configure() {
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug)
-DLIBUNWIND_ENABLE_STATIC=$(usex static-libs)
+ -DLLVM_INCLUDE_TESTS=$(usex test)
+
+ # support non-native unwinding; given it's small enough,
+ # enable it unconditionally
+ -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON
)
+ if use test; then
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="-vv"
+ -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}"/libcxx
+ )
+ fi
cmake-utils_src_configure
}
+multilib_src_test() {
+ cmake-utils_src_make check-unwind
+}
+
multilib_src_install() {
cmake-utils_src_install