diff options
Diffstat (limited to 'sys-libs/llvm-libunwind')
-rw-r--r-- | sys-libs/llvm-libunwind/Manifest | 2 | ||||
-rw-r--r-- | sys-libs/llvm-libunwind/llvm-libunwind-19.0.0_pre20240309.ebuild | 128 |
2 files changed, 130 insertions, 0 deletions
diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest index e0c9a5206656..09d2ceda4b98 100644 --- a/sys-libs/llvm-libunwind/Manifest +++ b/sys-libs/llvm-libunwind/Manifest @@ -6,6 +6,7 @@ DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e06541 DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340 DIST llvm-project-18.1.0.src.tar.xz 132034208 BLAKE2B 06ad7c65e1d10946c74027ec46c46f9b78fe764dc6c45e016b3d39006dac40af4cae2e01d07131785711913f311d944e9817036b20b08366382e83f3d4093814 SHA512 b94f837ff0e1aafdd4939e6e50740c8ab6af602b182357ae495359301a6d5fadaa997014895b90e0c91a715c713218396bb10687167ef30b17ebeccf310f2adf DIST llvm-project-18.1.0.src.tar.xz.sig 566 BLAKE2B 1ab731c3fb151ce777ad4e2c8c653e5e08c2e97795dae06185d9d92248d4435aae67e1cfa23efb9b0b90ee44183ca69b92c64cb2b6d2c338388bde1fea07d232 SHA512 7bda930945c4b51c33de9918941797a4336020b475f3999a81055bb0b2a080f81e823c6bde43cc445a113e78f5667939bce5da64ccd650e8e9b15646f84ae105 +DIST llvm-project-1c7607e8ee6ec4ca3abce1561dd39a98d4efac96.tar.gz 207112414 BLAKE2B eb028b0b09d0f970d2861578245f4ace7ebe55ef1da33503cad6a1ed3691d29cac2556bc9360e911d64ab617df4cce0d26ea0e1ab49a68ce7e4001c52ed32a71 SHA512 687720278900dd57dae430e965902777946e93b647726410c6310bb1c2c944d7d30d1733204d3db10d527ecff9d9ad78cbcb8a97408383d9c5245a031291674a DIST llvm-project-597f9761c3a5ba278fa930d2fac13f156287d505.tar.gz 206699707 BLAKE2B 5461426f02742cefe5ae7faeb7fed15628741e3fb41ca01ffb8159805f9b55d883d318e7c677e5bf348949b7d8e16e079df09d461abe9b32d804dcb284584fc5 SHA512 b06ae070bb197d18cb8653e290b85e8526cdab4aeb5a02c94295d489d271bd7cea637960b516937e0ba1d7ada29e734c8ea1137335d46756db54632dcdba93e9 EBUILD llvm-libunwind-15.0.7.ebuild 3032 BLAKE2B 9b47e894db1a764f3eca3135f4caba68261953f4433af017b7bb53181e345ad26c570733f997022c53c9ef49a0a3b823188d92cfcc16a2113825d767b1ffab2a SHA512 0b68480fb2a8e5a351574e81fbcff824cd324754ed40378f06fec12fedbba94a921043d72db6ecc37f8b0680b7f518bbbd8d63f69ce8d84f86ca522653d293fb EBUILD llvm-libunwind-16.0.6-r1.ebuild 3440 BLAKE2B eafe21a3de172043ca0039ba27c80c64d32b02cc86bdb5a6d108ded35770e0352216337cbf24ee4fde43b699a68a85c8145be2d17510d525452bfd5a02674998 SHA512 164fdc1c62405e02c035af7997b8522b51f5b9337d2bb66d7fc9b1f45df74ec70d31b26dc5324c59792d32c543fe18abf74ed3b07a64c131e3c1bb4f9f733c5d @@ -13,4 +14,5 @@ EBUILD llvm-libunwind-17.0.6.ebuild 3443 BLAKE2B aa12631c752811bb9f4102c1ee36bde EBUILD llvm-libunwind-18.1.0.ebuild 3407 BLAKE2B 6c48a4e9caebd60890460e91e7e64324d66a97813023d582c869b0060468576de1b307160c435587f013ad632335a9968d61731ee4157c5d2272d817ee74a309 SHA512 919fda22d1de77a0db1c6fa14eeee7b6d7444af767e849aacdf952e9b66732c0ac06ae14a6dca2176a59df9738223e11ee8035d3c99bf0ea13799699fadb7d68 EBUILD llvm-libunwind-19.0.0.9999.ebuild 3316 BLAKE2B 013ff60e8fa1fa480e1e56c6c8c1d5a657d946264a279a8fad53e3047fcde1f439e10b25e151af0d9c3f7f6fe014c2cf3372d311f3963c78e633e986b28a33e5 SHA512 4aaa97553c0e3e5421fe5864b81fdcd0e8a1167e37bec37e8706d3b9b939b5220a171576f800bdc6ae25f2bbfd60b063c84934d1daa0bdfd6989a80d08044301 EBUILD llvm-libunwind-19.0.0_pre20240302.ebuild 3316 BLAKE2B 013ff60e8fa1fa480e1e56c6c8c1d5a657d946264a279a8fad53e3047fcde1f439e10b25e151af0d9c3f7f6fe014c2cf3372d311f3963c78e633e986b28a33e5 SHA512 4aaa97553c0e3e5421fe5864b81fdcd0e8a1167e37bec37e8706d3b9b939b5220a171576f800bdc6ae25f2bbfd60b063c84934d1daa0bdfd6989a80d08044301 +EBUILD llvm-libunwind-19.0.0_pre20240309.ebuild 3316 BLAKE2B 013ff60e8fa1fa480e1e56c6c8c1d5a657d946264a279a8fad53e3047fcde1f439e10b25e151af0d9c3f7f6fe014c2cf3372d311f3963c78e633e986b28a33e5 SHA512 4aaa97553c0e3e5421fe5864b81fdcd0e8a1167e37bec37e8706d3b9b939b5220a171576f800bdc6ae25f2bbfd60b063c84934d1daa0bdfd6989a80d08044301 MISC metadata.xml 438 BLAKE2B 2a36fbbc59e137056029c62aef6d167d9c82531c2582d7bad5cb13cc36e5c4c9518ffe8c56d06bbcfd97ad22eda71a8b776f3984195f53d06cf45659b438dc00 SHA512 4f18b054072d00e5440faa31a59f9ef587d035b5f25e30913f0b1449debee967fa794fae2548e87db3fb2177ce853ab075e1f11f3cc763f5d7fdf06147108845 diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-19.0.0_pre20240309.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-19.0.0_pre20240309.ebuild new file mode 100644 index 000000000000..df7d3e6095bc --- /dev/null +++ b/sys-libs/llvm-libunwind/llvm-libunwind-19.0.0_pre20240309.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1 +inherit toolchain-funcs + +DESCRIPTION="C++ runtime stack unwinder from LLVM" +HOMEPAGE="https://llvm.org/docs/ExceptionHandling.html" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0" +IUSE="+clang +debug static-libs test" +REQUIRED_USE="test? ( clang )" +RESTRICT="!test? ( test )" + +RDEPEND=" + !sys-libs/libunwind +" +DEPEND=" + sys-devel/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( + sys-devel/clang:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) + test? ( + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( runtimes libunwind libcxx llvm/cmake cmake ) +LLVM_TEST_COMPONENTS=( libcxxabi llvm/utils/llvm-lit ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +multilib_src_configure() { + llvm_prepend_path "${LLVM_MAJOR}" + + local libdir=$(get_libdir) + + # https://github.com/llvm/llvm-project/issues/56825 + # also separately bug #863917 + filter-lto + + if use clang; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + strip-unsupported-flags + fi + + # link to compiler-rt + # https://github.com/gentoo/gentoo/pull/21516 + local use_compiler_rt=OFF + [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON + + # Respect upstream build type assumptions (bug #910436) where they do: + # -DLIBUNWIND_ENABLE_ASSERTIONS=ON => + # -DCMAKE_BUILD_TYPE=DEBUG => -UNDEBUG + # -DCMAKE_BUILD_TYPE!=debug => -DNDEBUG + # -DLIBUNWIND_ENABLE_ASSERTIONS=OFF => + # -UNDEBUG + # See also https://github.com/llvm/llvm-project/issues/86#issuecomment-1649668826. + use debug || append-cppflags -DNDEBUG + + local mycmakeargs=( + -DCMAKE_CXX_COMPILER_TARGET="${CHOST}" + -DPython3_EXECUTABLE="${PYTHON}" + -DLLVM_ENABLE_RUNTIMES="libunwind" + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + -DLLVM_INCLUDE_TESTS=OFF + -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug) + -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs) + -DLIBUNWIND_INCLUDE_TESTS=$(usex test) + -DLIBUNWIND_INSTALL_HEADERS=ON + + # support non-native unwinding; given it's small enough, + # enable it unconditionally + -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON + + # avoid dependency on libgcc_s if compiler-rt is used + -DLIBUNWIND_USE_COMPILER_RT=${use_compiler_rt} + ) + if use test; then + mycmakeargs+=( + -DLLVM_ENABLE_RUNTIMES="libunwind;libcxxabi;libcxx" + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx" + + -DLIBCXXABI_LIBDIR_SUFFIX= + -DLIBCXXABI_ENABLE_SHARED=OFF + -DLIBCXXABI_ENABLE_STATIC=ON + -DLIBCXXABI_USE_LLVM_UNWINDER=ON + -DLIBCXXABI_INCLUDE_TESTS=OFF + + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=OFF + -DLIBCXX_ENABLE_STATIC=ON + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + -DLIBCXX_INCLUDE_BENCHMARKS=OFF + ) + fi + + cmake_src_configure +} + +multilib_src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-unwind +} + +multilib_src_install() { + DESTDIR=${D} cmake_build install-unwind +} |