summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2018-08-28 17:40:51 +0200
committerMichał Górny <mgorny@gentoo.org>2018-08-28 18:00:35 +0200
commite326ec393060773f40da3a1a5d302772f6a252a3 (patch)
treecca4d548d2935e57af0801dcffc128cac4147d67 /sys-libs
parentsys-libs/compiler-rt-sanitizers: Bump to 7.0.0rc2 (diff)
downloadgentoo-e326ec393060773f40da3a1a5d302772f6a252a3.tar.gz
gentoo-e326ec393060773f40da3a1a5d302772f6a252a3.tar.bz2
gentoo-e326ec393060773f40da3a1a5d302772f6a252a3.zip
sys-libs/llvm-libunwind: Bump to 7.0.0rc2
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/llvm-libunwind/Manifest3
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-7.0.0_rc2.ebuild143
2 files changed, 146 insertions, 0 deletions
diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest
index 88776cfa5dad..718dbcd1c6c3 100644
--- a/sys-libs/llvm-libunwind/Manifest
+++ b/sys-libs/llvm-libunwind/Manifest
@@ -1,5 +1,8 @@
DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
+DIST libcxx-7.0.0rc2.src.tar.xz 1654748 BLAKE2B 95664de42bfa6b77c5db32c092469c36e92b5eb9554bf381f761e04a29da1f413c1ead2ac93674a30ad9d743aa3cc9f22e5edebd043d16f903ed83901a743ae6 SHA512 c0b84400cb7694f7088b965cb0cac26853ecc485c775afbb0ad2cfdc53497eb95b76f917b16090372b77297e7f80372aef29023da564387be49e2f412efb5746
DIST libcxxabi-6.0.1.src.tar.xz 528356 BLAKE2B b301b750b2928864d3fc51e66cf91aab6837636ec2bce706b9a97296ec96af4bd2e80b1bf80c9b4afe449335ee12bbdd1905433c27e1770e16bc306baf206927 SHA512 bbb4c7b412e295cb735f637df48a83093eef45ed5444f7766790b4b047f75fd5fd634d8f3a8ac33a5c1407bd16fd450ba113f60a9bcc1d0a911fe0c54e9c81f2
+DIST libcxxabi-7.0.0rc2.src.tar.xz 535948 BLAKE2B 02505fd0101d9be53c66f14f5aca7a99c3e4309d9979be1a5792f869ed8e72562e8f7a2fba222d2a121845d4425ff98444046e4edfe2023891ba80521ebc4a00 SHA512 fcb51c4005bb4b79426467c8d7128412c37b235518455fa57521e04df2d47fc97aa0bce10ebec4fe3f3097bb3657f56014258ca8c46c978e709927fcce27fd5c
DIST libunwind-4.0.1.src.tar.xz 63388 BLAKE2B f49772beabaa8519a5f8dbbaef9c2d6554468a66b89a5f012946d59f772fe864809a5c95b726bcb4c059ca551a4eb023a88f4fa618756b34fef2058e272467e6 SHA512 8a0552a8ab830010d81420f4b778a3b831bff85b19bcce972958fc30e1ba5a2fa26a3deba499985a43dd7a103690775f6a20e7b3edda55f4eaff3541002d6b59
DIST libunwind-5.0.2.src.tar.xz 72340 BLAKE2B 8a62bd91f6decae1a9a51df19f708fcdf72a6fe6e57a5848c5dd0d36ff2dc64db8a0b3af469cdd5e787b9301f2718df0981f91857ecbc7a5f5d95a1a053652bc SHA512 137c4b269bff053d532a373e9f696ca68ad0bbf606a18dc98597e00fcfc6ce21d74bc2a0c03b96444654d688fa97d544c6f6b70822fcf7e190ed96f193ddc6ba
DIST libunwind-6.0.1.src.tar.xz 77036 BLAKE2B b6c293285896c8ff1f64bb56eee5a88b102b7ed9902d46436ee3cb79f204f230fd08a07d39c7fa9aeeddd093036f2bb9af38dd54268099ea9e51e12a71ff4adb SHA512 78568c28720abdd1f8471c462421df9965e05e1db048689d16ac85378716c4080ec1723af78e9f61d133b0ff82ac8c1f0dde7fd42d194485f62c1a17c02db37f
+DIST libunwind-7.0.0rc2.src.tar.xz 79412 BLAKE2B e6b955c8098180b0e0d712150e81a0df1e1a44a655a2029896594faf5e3af4cceb46f0e41f5970e8c2adcce8ae7a121afaea9751550983826ce0b11a9000b32c SHA512 bd82e9d68661d584e1670be4a1177ffe46c27b70e1a5942f797913a223aee171e0f0ef6b241afce1784cb8a7feff6de37373a10588ee38c743322f8048cca06b
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-7.0.0_rc2.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-7.0.0_rc2.ebuild
new file mode 100644
index 000000000000..74e6856356b7
--- /dev/null
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-7.0.0_rc2.ebuild
@@ -0,0 +1,143 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+inherit cmake-multilib llvm multiprocessing python-any-r1
+
+MY_P=libunwind-${PV/_/}.src
+LIBCXX_P=libcxx-${PV/_/}.src
+LIBCXXABI_P=libcxxabi-${PV/_/}.src
+
+DESCRIPTION="C++ runtime stack unwinder from LLVM"
+HOMEPAGE="https://github.com/llvm-mirror/libunwind"
+SRC_URI="https://prereleases.llvm.org/${PV/_//}/${MY_P}.tar.xz
+ test? (
+ https://prereleases.llvm.org/${PV/_//}/${LIBCXX_P}.tar.xz
+ https://prereleases.llvm.org/${PV/_//}/${LIBCXXABI_P}.tar.xz )"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS=""
+IUSE="debug +static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="!sys-libs/libunwind"
+# llvm-6 for new lit options
+DEPEND="
+ >=sys-devel/llvm-6
+ test? ( >=sys-devel/clang-3.9.0
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
+
+S=${WORKDIR}/${MY_P}
+
+# 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() {
+ default
+
+ if use test; then
+ mv "${LIBCXX_P}" libcxx || die
+ mv "${LIBCXXABI_P}" libcxxabi || die
+ fi
+}
+
+multilib_src_configure() {
+ local libdir=$(get_libdir)
+
+ local mycmakeargs=(
+ -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
+ local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+ local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+ [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+ -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}"/libcxx
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+build_libcxxabi() {
+ local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)"
+ local CMAKE_USE_DIR=${WORKDIR}/libcxxabi
+ local BUILD_DIR=${BUILD_DIR}/libcxxabi
+ local mycmakeargs=(
+ -DLIBCXXABI_LIBDIR_SUFFIX=
+ -DLIBCXXABI_ENABLE_SHARED=ON
+ -DLIBCXXABI_ENABLE_STATIC=OFF
+ -DLIBCXXABI_USE_LLVM_UNWINDER=ON
+ -DLIBCXXABI_INCLUDE_TESTS=OFF
+
+ -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include
+ -DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include
+ )
+
+ cmake-utils_src_configure
+ cmake-utils_src_compile
+}
+
+build_libcxx() {
+ local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/libcxxabi/lib -L${BUILD_DIR}/$(get_libdir)"
+ local CMAKE_USE_DIR=${WORKDIR}/libcxx
+ local BUILD_DIR=${BUILD_DIR}/libcxx
+ local mycmakeargs=(
+ -DLIBCXX_LIBDIR_SUFFIX=
+ -DLIBCXX_ENABLE_SHARED=ON
+ -DLIBCXX_ENABLE_STATIC=OFF
+ -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
+ -DLIBCXXABI_USE_LLVM_UNWINDER=ON
+ -DLIBCXX_CXX_ABI=libcxxabi
+ -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/include
+ -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+ -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+ -DLIBCXX_HAS_GCC_S_LIB=OFF
+ -DLIBCXX_INCLUDE_TESTS=OFF
+ )
+
+ cmake-utils_src_configure
+ cmake-utils_src_compile
+}
+
+multilib_src_test() {
+ # build local copies of libc++ & libc++abi for testing to avoid
+ # circular deps
+ build_libcxxabi
+ build_libcxx
+ mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
+
+ cmake-utils_src_make check-unwind
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # install headers like sys-libs/libunwind
+ doheader "${S}"/include/*.h
+}