sys-libs/llvm-libunwind: Add 18.0.0_pre20230925 snapshot

Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny
2023-09-25 20:43:59 +02:00
parent 5f56eac9f3
commit 83a1bdffab
2 changed files with 133 additions and 0 deletions
+1
View File
@@ -9,3 +9,4 @@ DIST llvm-project-17.0.0rc4.src.tar.xz.sig 438 BLAKE2B 2cda35b4a3ebddfdbe6828459
DIST llvm-project-17.0.1.src.tar.xz 127830376 BLAKE2B bb3b9f7358df9006307f5eeccfc5c5ee5497498c4f091347924911cb6534e8d930024c35387456af24bf647d9e24a3d927aa49199036fb475018a610b5d792c7 SHA512 6fc1d5ff4fec49ef5bb495ba9d8f9ee9052c10999ec9d3ac8f825c718e3cdd64abd95408c4e5bb7f67eb9a7bfac9e26d2a949c4da9f163b5646c02e8a670ead5
DIST llvm-project-17.0.1.src.tar.xz.sig 438 BLAKE2B 3182e3c3a48635fdec39b945ee3b782d7c9c2a07911d9ede2e3421031bb1b4959bd495c5e39d094aeaf555579b9fe3eb834c1449077c154c629f5db605375e7c SHA512 301a6e6c46d6fee13c86dec1a021c35f6bf3a97e5d6b0aa7b7eac34e7ca52f6cefffc25a9e376250b1eb721a65a5852f2f1948abd432698363a81dd7ee19d81c
DIST llvm-project-7e5809e7e7bc9a828427b6540a51d45884d8bbbb.tar.gz 197275742 BLAKE2B 17df09155cf3451deffcdd71a4b0602211a4638ad961eb351802028f4fd1b8db870bef817430adb709ea7c1e85f545d7507c06d7fca26869f8a10e6ac6b03967 SHA512 e84aa041aadf3e50376cffd1e92c1447acdca0a2cf8e7df9cca9d0337dfeccb1d022da3a229bb0cfdc9c5fb87215682a1e4f474208b09b8800f30aa0c6e36c4b
DIST llvm-project-f5cb9cb59d7c9c6ac3d5c41c677f68c9b75d34a3.tar.gz 198113948 BLAKE2B 1688920eb790421f4143e92bd7bd26794a2497e7b445dde6d55b59c9df4b1aebb848833c7cb1b7c273c5e002763f2531a341313500ce207242f992dfe343b988 SHA512 9817e8b7adf7c69d673124e8334c3e511dfd1cc386832c52b2fb0f2517475d29cd98513ad87188a962f9697dfac39ea03f5b2db6c549c307cf3d27b1370ffdf3
@@ -0,0 +1,132 @@
# Copyright 1999-2023 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 llvm.org python-any-r1 \
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"
KEYWORDS=""
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}]"
}
pkg_setup() {
LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
python-any-r1_pkg_setup
}
multilib_src_configure() {
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
}