commit:     f155d100417a1ce6bf49124fff5ea53e96327b89
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 31 13:26:12 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Aug 31 13:26:12 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f155d100

llvm-runtimes/libunwind: Add 22.0.0_pre20250831 snapshot

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 llvm-runtimes/libunwind/Manifest                   |   1 +
 .../libunwind/libunwind-22.0.0_pre20250831.ebuild  | 150 +++++++++++++++++++++
 2 files changed, 151 insertions(+)

diff --git a/llvm-runtimes/libunwind/Manifest b/llvm-runtimes/libunwind/Manifest
index 38b747e0bd0a..a4bbd921e419 100644
--- a/llvm-runtimes/libunwind/Manifest
+++ b/llvm-runtimes/libunwind/Manifest
@@ -8,6 +8,7 @@ DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B 
a950492f1dbfb874dff63b1ffe
 DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 
6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd
 SHA512 
ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
 DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 
1259ed7f9aca7b35e89d818befdee20fd8bed4d2dc2c2c6f6f56451fd43d35ac03a0a5a406e142d22b25137999dc5b17471c196f8fcf79f20a8296832d900f6d
 SHA512 
c7d63286d662707a9cd54758c9e3aaf52794a91900c484c4a6efa62d90bc719d5e7a345e4192feeb0c9fd11c82570d64677c781e5be1d645556b6aa018e47ec8
 DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 
4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd
 SHA512 
195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda
+DIST llvm-project-1d8fdda7b0a9f47c443600bca6af2bc141e4abf7.tar.gz 246773192 
BLAKE2B 
a61c1607586dd6f130c62a78a1f36d0e49d66d47d1244c3fe26df774131b3717cdbb2ab726428bd89d420190125dea5968d11b8094131c3214ab00e00a3ccd3b
 SHA512 
3a1d83b6f016fa677da1eb18836b819e042d67a7a922cba83016147520eb2f44493c0cbc12015c4222804a641f410915efd0bb833a08c24efced7fc26801933b
 DIST llvm-project-20.1.8.src.tar.xz 147242952 BLAKE2B 
7657ac0b26acc5affb1bfc91b912ade3191c5d77f3979d5a80d5f6ce52f56a7d1c448bd257398390bf10838f02faa6f3ece37a7327cced69d165ec2e2e699316
 SHA512 
f330e72e6a1da468569049437cc0ba7a41abb816ccece7367189344f7ebfef730f4788ac7af2bef0aa8a49341c15ab1d31e941ffa782f264d11fe0dc05470773
 DIST llvm-project-20.1.8.src.tar.xz.sig 566 BLAKE2B 
85beedfcff1195a974fab2c667b9efd4b715b3480c1b44b1b887fe32c69f72aca0d3b8fb276c03b6cc5a866622f669047aeee5ccb976640b4008ccd31dce77a4
 SHA512 
d74369bdb4d1b82775161ea53c9c5f3a23ce810f4df5ff617123023f9d8ce720e7d6ecc9e17f8ebd39fd9e7a9de79560abdf2ffe73bcb907a43148d43665d619
 DIST llvm-project-21.1.0.src.tar.xz 158971856 BLAKE2B 
ac8c3cc8d2c986abcaa523acc872b01311ec118a738654f9cc53a1d5fdba70ba10cfe829e23f3913557e460403ed6a2df81cb5e9a435c8e1ce08e7ead3511bf0
 SHA512 
1487dcdc041dd6cdcffa6cc95a565e18a9fce2a73215671e366a9601cecce6c8bf70065df5564de5998d1841c3d8d829a9fbd2cad72e3aab4db279e8885ff446

diff --git a/llvm-runtimes/libunwind/libunwind-22.0.0_pre20250831.ebuild 
b/llvm-runtimes/libunwind/libunwind-22.0.0_pre20250831.ebuild
new file mode 100644
index 000000000000..1aba2f538f51
--- /dev/null
+++ b/llvm-runtimes/libunwind/libunwind-22.0.0_pre20250831.ebuild
@@ -0,0 +1,150 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..14} )
+inherit cmake-multilib crossdev flag-o-matic llvm.org llvm-utils
+inherit 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"
+IUSE="+clang +debug static-libs test"
+REQUIRED_USE="test? ( clang )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       !sys-libs/libunwind
+"
+DEPEND="
+       llvm-core/llvm:${LLVM_MAJOR}
+"
+BDEPEND="
+       clang? (
+               llvm-core/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=( libc 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() {
+       if use clang; then
+               llvm_prepend_path -b "${LLVM_MAJOR}"
+       fi
+
+       local libdir=$(get_libdir)
+
+       # https://github.com/llvm/llvm-project/issues/56825
+       # also separately bug #863917
+       filter-lto
+
+       # Workaround for bgo #961153.
+       # TODO: Fix the multilib.eclass, so it sets CTARGET properly.
+       if ! is_crosspkg; then
+               export CTARGET=${CHOST}
+       fi
+
+       if use clang; then
+               local -x CC=${CTARGET}-clang
+               local -x CXX=${CTARGET}-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=(
+               -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}"
+
+               -DCMAKE_C_COMPILER_TARGET="${CTARGET}"
+               -DCMAKE_CXX_COMPILER_TARGET="${CTARGET}"
+               -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
+
+               # cross-unwinding increases unwinding footprint (to account
+               # for the worst case) and causes some breakage on AArch64
+               # https://github.com/llvm/llvm-project/issues/152549
+               -DLIBUNWIND_ENABLE_CROSS_UNWINDING=OFF
+
+               # avoid dependency on libgcc_s if compiler-rt is used
+               -DLIBUNWIND_USE_COMPILER_RT=${use_compiler_rt}
+       )
+       if is_crosspkg; then
+               mycmakeargs+=(
+                       # Without this, the compiler will compile a test program
+                       # and fail due to no builtins.
+                       -DCMAKE_C_COMPILER_WORKS=1
+                       -DCMAKE_CXX_COMPILER_WORKS=1
+                       # Install inside the cross sysroot.
+                       -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/${CTARGET}/usr"
+               )
+       fi
+       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=$(llvm_cmake_use_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
+}

Reply via email to