commit: 4569cf2aec693e33181d4657f06dfc2b2b269f0f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 20 11:49:38 2025 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Apr 20 11:49:38 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4569cf2a
llvm-runtimes/libcxxabi: Add 21.0.0_pre20250420 snapshot
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
llvm-runtimes/libcxxabi/Manifest | 1 +
.../libcxxabi/libcxxabi-21.0.0_pre20250420.ebuild | 109 +++++++++++++++++++++
2 files changed, 110 insertions(+)
diff --git a/llvm-runtimes/libcxxabi/Manifest b/llvm-runtimes/libcxxabi/Manifest
index fb1d574da0bd..926078c3d514 100644
--- a/llvm-runtimes/libcxxabi/Manifest
+++ b/llvm-runtimes/libcxxabi/Manifest
@@ -11,3 +11,4 @@ DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B
4015140f4ba77de45039bdbdfbaf
DIST llvm-project-1cf9f764ac41fb3492e10c78640dd50e616388db.tar.gz 230651433
BLAKE2B
b71d459de99a741f9eb5809fcb44e6d9a17d3295bf11755d2b04a83fff6257eb4e5856826581c000e3b2868ff1cfb155ee18c692654f8083af04574d414c8fa2
SHA512
5b8d1e493830b7838b3ca76148dfc2e2af1cbaa660bd80958777698210c3347a1308f0725d40b10f8f12877daf99c4ba4837e4fa857a781ae912ee167369bafd
DIST llvm-project-20.1.3.src.tar.xz 147212776 BLAKE2B
c738abb66dc82580a8f511829bcf87dd8deb8381bd073cd547e4eb02097c0190fa06488e5500cefce95953315432ee6ae3c103c491d08eca4b019e043691fc12
SHA512
79d6cfd10075ec9d05b9a359c09579e07a2caff9167518519457daee3e37a818100da6712804916880797ecb0b4891b18dc52a03b534e1b9d1d4bb5ba8d5ad1e
DIST llvm-project-20.1.3.src.tar.xz.sig 566 BLAKE2B
1b584b61f773013f3964dbd0ee026c00e702cfe758acdacc7bffb6793c42eea638cc812bd1a3cddf210a9ad7d98f707d4f1e748d360b66427fded79f24d8610b
SHA512
4fd3815cd94113234e66083f955993a95c888cbb89d5baf611b76765511e102af9f1e880cbacc709f0be8785abd5abbfb0ce391793308dfec3c248a9b348e492
+DIST llvm-project-ac8fc09688e10e983b99224b5dc5cbbeeedb1879.tar.gz 231567089
BLAKE2B
f7878f114c908b21d179854bc693716b34b963612c6b5172789a37cd21fa316720d4e9498bc7679058db3e822ed240bfdafd85bfd00154914d747d0c0ed1cb48
SHA512
4c39db8b22fa087ca96c3b4541ec77ba8a826a126b4e93b0650e59b3622b22b329f60fa3780dd4572fdece409fd5833eda473046d7547f6ee3ac8aadb8f2fc34
diff --git a/llvm-runtimes/libcxxabi/libcxxabi-21.0.0_pre20250420.ebuild
b/llvm-runtimes/libcxxabi/libcxxabi-21.0.0_pre20250420.ebuild
new file mode 100644
index 000000000000..7aab2f168c62
--- /dev/null
+++ b/llvm-runtimes/libcxxabi/libcxxabi-21.0.0_pre20250420.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Low level support for a standard C++ library"
+HOMEPAGE="https://libcxxabi.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+IUSE="+clang +static-libs test"
+REQUIRED_USE="test? ( clang )"
+RESTRICT="!test? ( test )"
+
+# in 15.x, cxxabi.h is moving from libcxx to libcxxabi
+RDEPEND+="
+ !<llvm-runtimes/libcxx-15
+"
+DEPEND="
+ ${RDEPEND}
+ 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 libcxx{abi,} llvm/cmake cmake )
+LLVM_TEST_COMPONENTS=( libc 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}"
+
+ if use clang; then
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ fi
+
+ # link to compiler-rt
+ local use_compiler_rt=OFF
+ [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DCMAKE_CXX_COMPILER_TARGET="${CHOST}"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ -DLLVM_ENABLE_RUNTIMES="libcxxabi;libcxx"
+ -DLLVM_INCLUDE_TESTS=OFF
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+ -DLIBCXXABI_ENABLE_SHARED=ON
+ -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs)
+ -DLIBCXXABI_INCLUDE_TESTS=$(usex test)
+ -DLIBCXXABI_USE_COMPILER_RT=${use_compiler_rt}
+
+ # upstream is omitting standard search path for this
+ # probably because gcc & clang are bundling their own unwind.h
+ -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include
+ # this is broken with standalone builds, and also meaningless
+ -DLIBCXXABI_USE_LLVM_UNWINDER=OFF
+
+ -DLIBCXX_ENABLE_SHARED=ON
+ -DLIBCXX_ENABLE_STATIC=OFF
+ -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_BENCHMARKS=OFF
+ -DLIBCXX_INCLUDE_TESTS=OFF
+ )
+ if use test; then
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+ fi
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ cmake_build cxxabi
+}
+
+multilib_src_test() {
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-cxxabi
+}
+
+multilib_src_install() {
+ DESTDIR="${D}" cmake_build install-cxxabi
+}