summaryrefslogtreecommitdiff
path: root/sys-libs
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/Manifest.gzbin14413 -> 14414 bytes
-rw-r--r--sys-libs/compiler-rt-sanitizers/Manifest2
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20241106.ebuild222
-rw-r--r--sys-libs/compiler-rt/Manifest2
-rw-r--r--sys-libs/compiler-rt/compiler-rt-20.0.0_pre20241106.ebuild173
-rw-r--r--sys-libs/kpmcore/Manifest4
-rw-r--r--sys-libs/kpmcore/kpmcore-24.08.3.ebuild (renamed from sys-libs/kpmcore/kpmcore-24.08.2.ebuild)0
-rw-r--r--sys-libs/libcxx/Manifest2
-rw-r--r--sys-libs/libcxx/libcxx-20.0.0_pre20241106.ebuild208
-rw-r--r--sys-libs/libcxxabi/Manifest2
-rw-r--r--sys-libs/libcxxabi/libcxxabi-20.0.0_pre20241106.ebuild109
-rw-r--r--sys-libs/libomp/Manifest2
-rw-r--r--sys-libs/libomp/libomp-20.0.0_pre20241106.ebuild88
-rw-r--r--sys-libs/llvm-libunwind/Manifest2
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20241106.ebuild128
15 files changed, 942 insertions, 2 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz
index 89e98cfea577..468758c7c5fb 100644
--- a/sys-libs/Manifest.gz
+++ b/sys-libs/Manifest.gz
Binary files differ
diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest
index f7a6cb5e9915..a14c898b00af 100644
--- a/sys-libs/compiler-rt-sanitizers/Manifest
+++ b/sys-libs/compiler-rt-sanitizers/Manifest
@@ -3,6 +3,7 @@ DIST llvm-gentoo-patchset-16.0.6-r5.tar.xz 19728 BLAKE2B 36b605401893034b2b560d2
DIST llvm-gentoo-patchset-17.0.6-r3.tar.xz 4648 BLAKE2B c709162068e83575f71a2ac2243665f47a3d42cac078daa5762bbd339d8593e8c1c5c58e2e415ba6659fe2f3c3824bd098c9be579103362084079140c0386f76 SHA512 251a33f146fcbdbe51c9e1ad7b08c2cd7d062d0b136c833cda8a5155c86080c506d575e4288cde4ba8530ca7f230c2afa63621878a8df0f23076a93c924e7d65
DIST llvm-gentoo-patchset-18.1.8-r4.tar.xz 15912 BLAKE2B 7300128244aafe42fcf5863e3aad2beb0c96c3df527e6d35fe571369bad520ba4aa397a329287da17eb33dca902057da5cd5193ec560ea7f5767ba2d00a45818 SHA512 b32633db387d4adb3bb2d067f824ae4e8e8a24a25aaa4888520f6e61a4bb1f8f70ad5f44057fbc0892c6f93c803e360612b0fc02c4ec068470b546a55f246cba
DIST llvm-gentoo-patchset-18.1.8-r6.tar.xz 24816 BLAKE2B a7e9e007b05205fa7adba032ba932eba1996dd7ed6cd4cfb460a731f0d2e5fda2174f46c2ee5554ca7f82297a4baddbabc7fdfbd530056471853df957c221f2f SHA512 e1666bba6678eff3ee3666818a656ba7b8f964acb8466bd220bfbf0cc2922820e84b9daaa84c3a8ed26f3160fddea63fbc13872b007eb6922eaee462c08aeaef
+DIST llvm-project-0e907c17214aa3b1a60b66867fea3cc0f0dcbaa0.tar.gz 222324382 BLAKE2B 8023108460d2af1688871d5534e18aa52e29f0e466bb5431194d1e710d7cd11bdab4be000433536b2d69c815a68624e347c69378a697d6fc55433bb4c2156767 SHA512 f0c23a0ac25de31f4c81f76ee82f3189da65d825579e923ace2b54714649c60d4d078220c9f2200b11f08d0c0e32c5b81a57ba368c11d67e763936df8a609279
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
@@ -22,4 +23,5 @@ EBUILD compiler-rt-sanitizers-18.1.8-r6.ebuild 6404 BLAKE2B 44eb48fd2ab90c0b2e5d
EBUILD compiler-rt-sanitizers-19.1.3.ebuild 6479 BLAKE2B db6bd87ee4cb4be87537152c8041fb0e6bd69100e6fa4242e231c98ec1222834dd87a7b0350b42bddc6d50597919169f44d136b7a3f609407cf752f9a5ee6cff SHA512 3a992ea97ce2028d99a94adc291bf6c084af6ccb103dab7dbba43568e1283b7c4c6dfc03385b931c185eed2fc4c37563edaeff76ed3e8528c92293030121ac7e
EBUILD compiler-rt-sanitizers-20.0.0.9999.ebuild 6394 BLAKE2B 458582b435bbd97d6fc776b1dcf653af9d41e53b0540803a3528db993eddf33284a11ec72ba7bdd2e54bbe4cf7c51e340e04970f9dc3f1f8a08edb9e5c98b9db SHA512 7f2432f6ffe217d3dcaf2185c5b08321674f1b9e5da46a2abdebebb68bccc761f0a713aa85741d9a32c29e1b54f1b12f93110146e533742265d0bb182a45501f
EBUILD compiler-rt-sanitizers-20.0.0_pre20241029.ebuild 6394 BLAKE2B 458582b435bbd97d6fc776b1dcf653af9d41e53b0540803a3528db993eddf33284a11ec72ba7bdd2e54bbe4cf7c51e340e04970f9dc3f1f8a08edb9e5c98b9db SHA512 7f2432f6ffe217d3dcaf2185c5b08321674f1b9e5da46a2abdebebb68bccc761f0a713aa85741d9a32c29e1b54f1b12f93110146e533742265d0bb182a45501f
+EBUILD compiler-rt-sanitizers-20.0.0_pre20241106.ebuild 6394 BLAKE2B 458582b435bbd97d6fc776b1dcf653af9d41e53b0540803a3528db993eddf33284a11ec72ba7bdd2e54bbe4cf7c51e340e04970f9dc3f1f8a08edb9e5c98b9db SHA512 7f2432f6ffe217d3dcaf2185c5b08321674f1b9e5da46a2abdebebb68bccc761f0a713aa85741d9a32c29e1b54f1b12f93110146e533742265d0bb182a45501f
MISC metadata.xml 1599 BLAKE2B 2db46fca9bbf85a6cdb70d9bc99a8e1bdc60c065b3e5f44ce31fb6cc08cc6da9037eb3155b1e73975b5e1bbb448be6b2164413f2234e89a4bc191c4562dd9342 SHA512 10bb564b181a9ce38680a05f854e58a3a726b052200d735c3959a0a42af97a47e0a5df60fbec374c7265e0eac16e1247ed0862aeab138b9dc035db8da52fb4ce
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20241106.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20241106.ebuild
new file mode 100644
index 000000000000..59a64398c9bc
--- /dev/null
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20241106.ebuild
@@ -0,0 +1,222 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit check-reqs cmake flag-o-matic llvm.org llvm-utils python-any-r1
+
+DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="${LLVM_MAJOR}"
+IUSE="+abi_x86_32 abi_x86_64 +clang +debug test"
+# base targets
+IUSE+=" +ctx-profile +libfuzzer +memprof +orc +profile +xray"
+# sanitizer targets, keep in sync with config-ix.cmake
+# NB: ubsan, scudo deliberately match two entries
+SANITIZER_FLAGS=(
+ asan dfsan lsan msan hwasan tsan ubsan safestack cfi scudo
+ shadowcallstack gwp-asan nsan rtsan
+)
+IUSE+=" ${SANITIZER_FLAGS[@]/#/+}"
+REQUIRED_USE="
+ || ( ${SANITIZER_FLAGS[*]} libfuzzer orc profile xray )
+ test? (
+ cfi? ( ubsan )
+ gwp-asan? ( scudo )
+ )
+"
+RESTRICT="
+ !clang? ( test )
+ !test? ( test )
+"
+
+DEPEND="
+ sys-devel/llvm:${LLVM_MAJOR}
+ virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?]
+"
+BDEPEND="
+ clang? (
+ sys-devel/clang:${LLVM_MAJOR}
+ sys-libs/compiler-rt:${LLVM_MAJOR}
+ )
+ elibc_glibc? ( net-libs/libtirpc )
+ test? (
+ $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+ =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake )
+LLVM_TEST_COMPONENTS=(
+ llvm/include/llvm/ProfileData llvm/lib/Testing/Support third-party
+)
+llvm.org_set_globals
+
+python_check_deps() {
+ use test || return 0
+ python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
+}
+
+check_space() {
+ if use test; then
+ local CHECKREQS_DISK_BUILD=11G
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ sed -i -e 's:-Werror::' lib/tsan/go/buildgo.sh || die
+
+ local flag
+ for flag in "${SANITIZER_FLAGS[@]}"; do
+ if ! use "${flag}"; then
+ local cmake_flag=${flag/-/_}
+ sed -i -e "/COMPILER_RT_HAS_${cmake_flag^^}/s:TRUE:FALSE:" \
+ cmake/config-ix.cmake || die
+ fi
+ done
+
+ # TODO: fix these tests to be skipped upstream
+ if use asan && ! use profile; then
+ rm test/asan/TestCases/asan_and_llvm_coverage_test.cpp || die
+ fi
+ if use ubsan && ! use cfi; then
+ > test/cfi/CMakeLists.txt || die
+ fi
+ # hangs, sigh
+ rm test/tsan/getline_nohang.cpp || die
+
+ llvm.org_src_prepare
+}
+
+src_configure() {
+ llvm_prepend_path "${LLVM_MAJOR}"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ # pre-set since we need to pass it to cmake
+ BUILD_DIR=${WORKDIR}/compiler-rt_build
+
+ if use clang; then
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ fi
+
+ local flag want_sanitizer=OFF
+ for flag in "${SANITIZER_FLAGS[@]}"; do
+ if use "${flag}"; then
+ want_sanitizer=ON
+ break
+ fi
+ done
+
+ local mycmakeargs=(
+ -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+ # use a build dir structure consistent with install
+ # this makes it possible to easily deploy test-friendly clang
+ -DCOMPILER_RT_OUTPUT_DIR="${BUILD_DIR}/lib/clang/${LLVM_MAJOR}"
+
+ -DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+ # builtins & crt installed by sys-libs/compiler-rt
+ -DCOMPILER_RT_BUILD_BUILTINS=OFF
+ -DCOMPILER_RT_BUILD_CRT=OFF
+ -DCOMPILER_RT_BUILD_CTX_PROFILE=$(usex ctx-profile)
+ -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer)
+ -DCOMPILER_RT_BUILD_MEMPROF=$(usex memprof)
+ -DCOMPILER_RT_BUILD_ORC=$(usex orc)
+ -DCOMPILER_RT_BUILD_PROFILE=$(usex profile)
+ -DCOMPILER_RT_BUILD_SANITIZERS="${want_sanitizer}"
+ -DCOMPILER_RT_BUILD_XRAY=$(usex xray)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+
+ if use amd64; then
+ mycmakeargs+=(
+ -DCAN_TARGET_i386=$(usex abi_x86_32)
+ -DCAN_TARGET_x86_64=$(usex abi_x86_64)
+ )
+ fi
+
+ if use test; then
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+ # they are created during src_test()
+ -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAJOR}/bin/clang"
+ -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAJOR}/bin/clang++"
+ )
+
+ # same flags are passed for build & tests, so we need to strip
+ # them down to a subset supported by clang
+ CC=${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang \
+ CXX=${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++ \
+ strip-unsupported-flags
+ fi
+
+ if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then
+ mycmakeargs+=(
+ # setting -isysroot is disabled with compiler-rt-prefix-paths.patch
+ # this allows adding arm64 support using SDK in EPREFIX
+ -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk"
+ # Set version based on the SDK in EPREFIX
+ # This disables i386 for SDK >= 10.15
+ # Will error if has_use tsan and SDK < 10.12
+ -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')"
+ # Use our libtool instead of looking it up with xcrun
+ -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool"
+ )
+ fi
+
+ cmake_src_configure
+
+ if use test; then
+ local sys_dir=( "${EPREFIX}"/usr/lib/clang/${LLVM_MAJOR}/lib/* )
+ [[ -e ${sys_dir} ]] || die "Unable to find ${sys_dir}"
+ [[ ${#sys_dir[@]} -eq 1 ]] || die "Non-deterministic compiler-rt install: ${sys_dir[*]}"
+
+ # copy clang over since resource_dir is located relatively to binary
+ # therefore, we can put our new libraries in it
+ mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_MAJOR}/{bin,$(get_libdir)},clang/${LLVM_MAJOR}/include} || die
+ cp "${EPREFIX}"/usr/lib/llvm/${LLVM_MAJOR}/bin/clang{,++} \
+ "${BUILD_DIR}"/lib/llvm/${LLVM_MAJOR}/bin/ || die
+ cp "${EPREFIX}"/usr/lib/clang/${LLVM_MAJOR}/include/*.h \
+ "${BUILD_DIR}"/lib/clang/${LLVM_MAJOR}/include/ || die
+ cp "${sys_dir}"/*builtins*.a \
+ "${BUILD_DIR}/lib/clang/${LLVM_MAJOR}/lib/${sys_dir##*/}/" || die
+ # we also need LLVMgold.so for gold-based tests
+ if [[ -f ${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/LLVMgold.so ]]; then
+ ln -s "${EPREFIX}"/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/LLVMgold.so \
+ "${BUILD_DIR}"/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/ || die
+ fi
+ fi
+}
+
+src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ # disable sandbox to have it stop clobbering LD_PRELOAD
+ local -x SANDBOX_ON=0
+ # wipe LD_PRELOAD to make ASAN happy
+ local -x LD_PRELOAD=
+
+ cmake_build check-all
+}
diff --git a/sys-libs/compiler-rt/Manifest b/sys-libs/compiler-rt/Manifest
index 06cc55d7c912..6312f7a0fb3c 100644
--- a/sys-libs/compiler-rt/Manifest
+++ b/sys-libs/compiler-rt/Manifest
@@ -1,6 +1,7 @@
DIST llvm-gentoo-patchset-15.0.7.tar.xz 19300 BLAKE2B b70e81d744c2eba5cd851e7b690ce8979b3064973f522be7c93bfb541860000a4bc8b17219f8788dfc8a527217dd13946cf7836640698ddd3d4b3fde493dfbf8 SHA512 daffff6ae4a0874aff1a423b4bb36701ecb5a35a36ae91d4ed7fda58b83e50ffcdc30498c84be4711fd3e1f227bf312dbe930019203e0a131944439af2aa94f7
DIST llvm-gentoo-patchset-16.0.6-r4.tar.xz 18732 BLAKE2B 2f00135700b5e4f0d0e049e13c1da06fd37017b7f455419157ac441bb7d4de12e3e25f4d8480431c1074cfa6a5d66a38ae63d95faefaa4e9c8cd5810c082a596 SHA512 f61c82a195307dc6cb42e09b3c82af2b37827583884ff2de0ef300290fb8f92e90a08895d12e5dec9b29a232c2e942a2d5951dab431e02722fcafbcd1e2b7976
DIST llvm-gentoo-patchset-17.0.6.tar.xz 1792 BLAKE2B 21b34b436333c0b37522d4340cccc84a572701f6e267cf7c6adfa9be419913f5a6c9ee40a6be5c62d12fbd868912801d30381573c4459c05676e05785cccaefe SHA512 2d90b5e7fcbb950249ef7133fac1ed3dcb758a4d92732119049526cea0b291bd4e9738c4c0d806d70e7d769e1906f8ef3930066c206c00b6ec7d3509ed0fed19
+DIST llvm-project-0e907c17214aa3b1a60b66867fea3cc0f0dcbaa0.tar.gz 222324382 BLAKE2B 8023108460d2af1688871d5534e18aa52e29f0e466bb5431194d1e710d7cd11bdab4be000433536b2d69c815a68624e347c69378a697d6fc55433bb4c2156767 SHA512 f0c23a0ac25de31f4c81f76ee82f3189da65d825579e923ace2b54714649c60d4d078220c9f2200b11f08d0c0e32c5b81a57ba368c11d67e763936df8a609279
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
@@ -19,4 +20,5 @@ EBUILD compiler-rt-18.1.8-r1.ebuild 4987 BLAKE2B e32d8c2e8ae1b978600444420dfb2e9
EBUILD compiler-rt-19.1.3.ebuild 5086 BLAKE2B 73ce4892ff3df803dae4ff3f3b17ed89939521acd437b0a1953dee8321c10270ca5a89ebd0bfed6658cd669a7fb22b5ea142123fc8c6303cc4665f06646172cb SHA512 6c20f142a5d91899ad5b6aac0af1a0e07bfb57b2bcb1cd010977299401991165547f4105e23d850fc038eaea053b035c578406828a35a2bac97481d21fed7154
EBUILD compiler-rt-20.0.0.9999.ebuild 4977 BLAKE2B 4a8175408e7946c688c362e4df75ea733260807de4f0bdbc371c0aaccda328e0ceae0be106b2a6cf233e1541e81b03670387940d8822121d81d11f2cf71e6be5 SHA512 5fae782e62cd6234b9d637e379299d869df2b7641f52919ee52750d92eb02a1027a13be827ed53caac33f08c111174f803cd199645aab90fda77e8710977e71b
EBUILD compiler-rt-20.0.0_pre20241029.ebuild 4977 BLAKE2B 4a8175408e7946c688c362e4df75ea733260807de4f0bdbc371c0aaccda328e0ceae0be106b2a6cf233e1541e81b03670387940d8822121d81d11f2cf71e6be5 SHA512 5fae782e62cd6234b9d637e379299d869df2b7641f52919ee52750d92eb02a1027a13be827ed53caac33f08c111174f803cd199645aab90fda77e8710977e71b
+EBUILD compiler-rt-20.0.0_pre20241106.ebuild 4977 BLAKE2B 4a8175408e7946c688c362e4df75ea733260807de4f0bdbc371c0aaccda328e0ceae0be106b2a6cf233e1541e81b03670387940d8822121d81d11f2cf71e6be5 SHA512 5fae782e62cd6234b9d637e379299d869df2b7641f52919ee52750d92eb02a1027a13be827ed53caac33f08c111174f803cd199645aab90fda77e8710977e71b
MISC metadata.xml 416 BLAKE2B 79a58249c94b605ba57f346c4e05b43853cf6cfb8bb65a4f4e3c44039cccfdb83dd31bfaaaf398bcbdc393efabdfc7ed186fe775976c46227e74decf2c8f4fb2 SHA512 ce30c79a575e5933effb1fec36f9a4ef02d9f97f312feb39c55a88cbda9a1bae1d7af2ec4ad5f66212cbb2cdbfb26f1a436689f16f410153c9d65eb010264c48
diff --git a/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20241106.ebuild b/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20241106.ebuild
new file mode 100644
index 000000000000..7642499a8792
--- /dev/null
+++ b/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20241106.ebuild
@@ -0,0 +1,173 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Compiler runtime library for clang (built-in part)"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="${LLVM_MAJOR}"
+IUSE="+abi_x86_32 abi_x86_64 +clang +debug test"
+RESTRICT="!test? ( test ) !clang? ( test )"
+
+DEPEND="
+ sys-devel/llvm:${LLVM_MAJOR}
+"
+BDEPEND="
+ clang? ( sys-devel/clang:${LLVM_MAJOR} )
+ test? (
+ $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+ =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake )
+LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
+llvm.org_set_globals
+
+python_check_deps() {
+ use test || return 0
+ python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ if ! use clang && ! tc-is-clang; then
+ ewarn "Building using a compiler other than clang may result in broken atomics"
+ ewarn "library. Enable USE=clang unless you have a very good reason not to."
+ fi
+}
+
+pkg_setup() {
+ if target_is_not_host || tc-is-cross-compiler ; then
+ # strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
+ CHOST=${CTARGET} strip-unsupported-flags
+ # overrides host docs otherwise
+ DOCS=()
+ fi
+ python-any-r1_pkg_setup
+}
+
+test_compiler() {
+ target_is_not_host && return
+ $(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \
+ <<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+ llvm_prepend_path "${LLVM_MAJOR}"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ # pre-set since we need to pass it to cmake
+ BUILD_DIR=${WORKDIR}/${P}_build
+
+ if use clang && ! is_crosspkg; then
+ # Only do this conditionally to allow overriding with
+ # e.g. CC=clang-13 in case of breakage
+ if ! tc-is-clang ; then
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ fi
+
+ strip-unsupported-flags
+ fi
+
+ if ! is_crosspkg && ! test_compiler ; then
+ local nolib_flags=( -nodefaultlibs -lc )
+
+ if test_compiler "${nolib_flags[@]}"; then
+ local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+ ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}"
+ elif test_compiler "${nolib_flags[@]}" -nostartfiles; then
+ # Avoiding -nostartfiles earlier on for bug #862540,
+ # and set available entry symbol for bug #862798.
+ nolib_flags+=( -nostartfiles -e main )
+
+ local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+ ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}"
+ fi
+ fi
+
+ local mycmakeargs=(
+ -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+
+ -DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+ -DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
+ -DCOMPILER_RT_BUILD_LIBFUZZER=OFF
+ -DCOMPILER_RT_BUILD_MEMPROF=OFF
+ -DCOMPILER_RT_BUILD_ORC=OFF
+ -DCOMPILER_RT_BUILD_PROFILE=OFF
+ -DCOMPILER_RT_BUILD_SANITIZERS=OFF
+ -DCOMPILER_RT_BUILD_XRAY=OFF
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+
+ if use amd64 && ! target_is_not_host; then
+ mycmakeargs+=(
+ -DCAN_TARGET_i386=$(usex abi_x86_32)
+ -DCAN_TARGET_x86_64=$(usex abi_x86_64)
+ )
+ fi
+
+ if is_crosspkg; then
+ # Needed to target built libc headers
+ export CFLAGS="${CFLAGS} -isystem /usr/${CTARGET}/usr/include"
+ 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
+
+ # Without this, compiler-rt install location is not unique
+ # to target triples, only to architecture.
+ # Needed if you want to target multiple libcs for one arch.
+ -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON
+
+ -DCMAKE_ASM_COMPILER_TARGET="${CTARGET}"
+ -DCMAKE_C_COMPILER_TARGET="${CTARGET}"
+ -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON
+ )
+ fi
+
+ if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then
+ mycmakeargs+=(
+ # setting -isysroot is disabled with compiler-rt-prefix-paths.patch
+ # this allows adding arm64 support using SDK in EPREFIX
+ -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk"
+ # Set version based on the SDK in EPREFIX.
+ # This disables i386 for SDK >= 10.15
+ -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')"
+ # Use our libtool instead of looking it up with xcrun
+ -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool"
+ )
+ fi
+
+ if use test; then
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+ -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
+ -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+
+ cmake_build check-builtins
+}
diff --git a/sys-libs/kpmcore/Manifest b/sys-libs/kpmcore/Manifest
index be68106fb372..fd3884085d98 100644
--- a/sys-libs/kpmcore/Manifest
+++ b/sys-libs/kpmcore/Manifest
@@ -1,5 +1,5 @@
DIST kpmcore-24.08.1.tar.xz 646236 BLAKE2B 6aad38f47eb91a3584e061969daa01b91f134d4748b18e2b7e0e4899ab8dde2921bb8200802c8ba32ccd26209d7ba83403e5e15791234453df52ac2333b48acf SHA512 a1cf103da634056247d17dfb134595a21528eab4a6d091d8320ce8eebe0cabf979e9955d0fc4fa5bebcda601b4fd83b3b032302d1e7d9591618bb335ebed557f
-DIST kpmcore-24.08.2.tar.xz 646308 BLAKE2B d92c1f901d391d8e21a060c7ade4bf0b2058a570635fd8199c853b3bd37c17f53c16a659157133b1ff9287466f01cf5e7e17a91c7d9f8887ce024573a422ed6b SHA512 a29dd8d8e6a52bf199909acde70dc677ce318380f4910ecda9b1dfcd00f3f47dc847cde1a6f9249a600984562e9e88d4277798633ea338aa8c97d4f570ef45c8
+DIST kpmcore-24.08.3.tar.xz 646392 BLAKE2B 539170f6fcea02859eac5b243fffc387b7ebc8dbb0dd780752485abb3cd9f512b1a299852e5c225230037e2859c73bd5d012c04d4b4274c6ba95dc223ba7d2ce SHA512 8a35caed3ad889ed1ae9fc6e5e59bb21390aedd3b80657002550dd2ac5030d42bff84e73449fa791886d6d0003b1069b02599b11989698315355ce722c7b18d8
EBUILD kpmcore-24.08.1.ebuild 697 BLAKE2B db1362ea67ac83bd8ae527bab7d0f9ac7ca6cd1dc8d839843f0dead977802a3c008f180d32e1b0a1db4649a2bfed33218c79d31a5469899df88153426978410b SHA512 a582eb4895163f6bca51418d6bd430942bfbf92289c01691de6023f9708eae32486dc6da2a93905237dfd46473681cbc420bfde91a072ed262d5e29c61bebae6
-EBUILD kpmcore-24.08.2.ebuild 699 BLAKE2B 64c13f02ec70b1e5a5c204fae8fb06566291839102e419054236a0fa93a3f58e644a51b36ad37503c98ab9c2520f7beb2ee3cf434022ab90f4afd1a38f18c6d5 SHA512 a203739cabad0e80c69f04fd787a63537fcdde4f243436bbe694f5523a39705b97aeb6f69a726d199997f98e5704b369bc1446ab7a43f9ff97554380091de57d
+EBUILD kpmcore-24.08.3.ebuild 699 BLAKE2B 64c13f02ec70b1e5a5c204fae8fb06566291839102e419054236a0fa93a3f58e644a51b36ad37503c98ab9c2520f7beb2ee3cf434022ab90f4afd1a38f18c6d5 SHA512 a203739cabad0e80c69f04fd787a63537fcdde4f243436bbe694f5523a39705b97aeb6f69a726d199997f98e5704b369bc1446ab7a43f9ff97554380091de57d
MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6
diff --git a/sys-libs/kpmcore/kpmcore-24.08.2.ebuild b/sys-libs/kpmcore/kpmcore-24.08.3.ebuild
index b9ff47bc8a51..b9ff47bc8a51 100644
--- a/sys-libs/kpmcore/kpmcore-24.08.2.ebuild
+++ b/sys-libs/kpmcore/kpmcore-24.08.3.ebuild
diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index d0c04621778c..99b2a6440dfb 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,5 +1,6 @@
DIST llvm-gentoo-patchset-15.0.7-r1.tar.xz 21400 BLAKE2B 6b149cb721ac476b728bf9b0197f630d3db40622b85e3d099cdbc1d85ec14872d4e1eb0c94be6edc20fc6187da29b42f934dfb765f2077425a5b919900bb97c0 SHA512 d84d48caa3781633c7c6147e0b786417e93e4b5c9d1393809164e6d355a56673013ed0ea9bc3309488d7cfb794c1b336c888adc52dcd95e70c16d9208c36bd15
DIST llvm-gentoo-patchset-16.0.6.tar.xz 17340 BLAKE2B 37cdf4b38367b4256d4f7a25d1b4f41758e5f81be8e20a1c94a10d6c5e36642e9672121b455e73a0bac2eb40467ef2db4b43789b2912a6790593d97b8b5c27e3 SHA512 2c02b9d8a4c5af9fddcd26c95dc66fffae32cb5b7f85c65a1aa4ed00dd8cd5b01cc1975a711aee63c0b8b11e9dc20f2bc05ea753904eb516892b820f02aff825
+DIST llvm-project-0e907c17214aa3b1a60b66867fea3cc0f0dcbaa0.tar.gz 222324382 BLAKE2B 8023108460d2af1688871d5534e18aa52e29f0e466bb5431194d1e710d7cd11bdab4be000433536b2d69c815a68624e347c69378a697d6fc55433bb4c2156767 SHA512 f0c23a0ac25de31f4c81f76ee82f3189da65d825579e923ace2b54714649c60d4d078220c9f2200b11f08d0c0e32c5b81a57ba368c11d67e763936df8a609279
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
@@ -18,4 +19,5 @@ EBUILD libcxx-18.1.8.ebuild 5442 BLAKE2B 0bafe813a25b0bf38606bc5def482fa9e354005
EBUILD libcxx-19.1.3.ebuild 5181 BLAKE2B dbad2e4443d758b1b2570dd2e5bf448f6fc4d8e633e2a21e5f26485203eb6da0e72a81abf870ef95c7903632b56af75fa0bb46220ee3651685144a4bdea46f61 SHA512 316a9684216860346b6a7486145993d25ed3daf9cc01929dba45a19818da4c92c8da88cf0230cf5196be99b04bd8471a14ae69b5ac722175dd0f7fdf5919bc75
EBUILD libcxx-20.0.0.9999.ebuild 5358 BLAKE2B f1653197106b3f12fa21ca3e82968e2a4b1d5376bf0c7a72ffafe28623919c85de6180de6d2bb75092de2101ddd98c07cfa1866fda15c50832802e1a712a3f60 SHA512 501844ea65ad7200b74c412e5b9298559a78859f25f01a6b963a336db5f4be4790e079f861ab749f5b87241da014958bf166695b7aa03a6e84a7bc598dd455c2
EBUILD libcxx-20.0.0_pre20241029.ebuild 5358 BLAKE2B f1653197106b3f12fa21ca3e82968e2a4b1d5376bf0c7a72ffafe28623919c85de6180de6d2bb75092de2101ddd98c07cfa1866fda15c50832802e1a712a3f60 SHA512 501844ea65ad7200b74c412e5b9298559a78859f25f01a6b963a336db5f4be4790e079f861ab749f5b87241da014958bf166695b7aa03a6e84a7bc598dd455c2
+EBUILD libcxx-20.0.0_pre20241106.ebuild 5358 BLAKE2B f1653197106b3f12fa21ca3e82968e2a4b1d5376bf0c7a72ffafe28623919c85de6180de6d2bb75092de2101ddd98c07cfa1866fda15c50832802e1a712a3f60 SHA512 501844ea65ad7200b74c412e5b9298559a78859f25f01a6b963a336db5f4be4790e079f861ab749f5b87241da014958bf166695b7aa03a6e84a7bc598dd455c2
MISC metadata.xml 598 BLAKE2B b7a60449e0d8e4e7605ec203dfaa45b17a265b024e21a3bcfe05a3aeb6c3d19a1d2a218cb1f9ac9ed52296f0d6e723fed251f364341fb70cbd91b747962db580 SHA512 a23f912efff52c4687767023da826ace8c6e5dcd5e69ece86aabbea99da89e48ba81cdc292f03193e2e8a05743e62ebf4d4735d038e0cc4b42714fa277569335
diff --git a/sys-libs/libcxx/libcxx-20.0.0_pre20241106.ebuild b/sys-libs/libcxx/libcxx-20.0.0_pre20241106.ebuild
new file mode 100644
index 000000000000..73b362d082dd
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-20.0.0_pre20241106.ebuild
@@ -0,0 +1,208 @@
+# Copyright 1999-2024 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="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+IUSE="+clang +libcxxabi +static-libs test"
+REQUIRED_USE="test? ( clang )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ libcxxabi? (
+ ~sys-libs/libcxxabi-${PV}[static-libs?,${MULTILIB_USEDEP}]
+ )
+ !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] )
+"
+DEPEND="
+ ${RDEPEND}
+ sys-devel/llvm:${LLVM_MAJOR}
+"
+BDEPEND="
+ clang? (
+ sys-devel/clang:${LLVM_MAJOR}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )
+ test? (
+ dev-debug/gdb[python]
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ )
+"
+
+LLVM_COMPONENTS=(
+ runtimes libcxx{,abi} libc llvm/{cmake,utils/llvm-lit} cmake
+)
+llvm.org_set_globals
+
+python_check_deps() {
+ use test || return 0
+ python_has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+
+ if ! use libcxxabi && ! tc-is-gcc ; then
+ eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+ eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+ eerror "and try again."
+ die
+ fi
+}
+
+test_compiler() {
+ $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+ <<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+ llvm_prepend_path "${LLVM_MAJOR}"
+
+ # note: we need to do this before multilib kicks in since it will
+ # alter the CHOST
+ local cxxabi cxxabi_incs
+ if use libcxxabi; then
+ cxxabi=system-libcxxabi
+ cxxabi_incs="${EPREFIX}/usr/include/c++/v1"
+ else
+ local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+ cxxabi=libsupc++
+ cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ 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
+
+ # bootstrap: cmake is unhappy if compiler can't link to stdlib
+ local nolib_flags=( -nodefaultlibs -lc )
+ if ! test_compiler; then
+ if test_compiler "${nolib_flags[@]}"; then
+ local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+ ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+ fi
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DCMAKE_CXX_COMPILER_TARGET="${CHOST}"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ -DLLVM_ENABLE_RUNTIMES=libcxx
+ -DLLVM_INCLUDE_TESTS=OFF
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DLIBCXX_ENABLE_SHARED=ON
+ -DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+ -DLIBCXX_CXX_ABI=${cxxabi}
+ -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+ # we're using our own mechanism for generating linker scripts
+ -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+ -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+ -DLIBCXX_INCLUDE_BENCHMARKS=OFF
+ -DLIBCXX_INCLUDE_TESTS=$(usex test)
+ -DLIBCXX_INSTALL_MODULES=ON
+ -DLIBCXX_USE_COMPILER_RT=${use_compiler_rt}
+ # this is broken with standalone builds, and also meaningless
+ -DLIBCXXABI_USE_LLVM_UNWINDER=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_src_compile
+ if [[ ${CHOST} != *-darwin* ]] ; then
+ gen_shared_ldscript
+ use static-libs && gen_static_ldscript
+ fi
+}
+
+multilib_src_test() {
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build install-cxx-test-suite-prefix
+ cp "${BUILD_DIR}"/{lib,libcxx/test-suite-install/$(get_libdir)}/libc++_shared.so || die
+ if use static-libs; then
+ cp "${BUILD_DIR}"/{lib,libcxx/test-suite-install/$(get_libdir)}/libc++_static.a || die
+ fi
+ cmake_build check-cxx
+}
+
+multilib_src_install() {
+ cmake_src_install
+ # since we've replaced libc++.{a,so} with ldscripts, now we have to
+ # install the extra symlinks
+ if [[ ${CHOST} != *-darwin* ]] ; then
+ dolib.so lib/libc++_shared.so
+ use static-libs && dolib.a lib/libc++_static.a
+ fi
+}
+
+# Usage: deps
+gen_ldscript() {
+ local output_format
+ output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+ [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+ cat <<-END_LDSCRIPT
+/* GNU ld script
+ Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+ # Move it first.
+ mv lib/libc++{,_static}.a || die
+ # Generate libc++.a ldscript for inclusion of its dependencies so that
+ # clang++ -stdlib=libc++ -static works out of the box.
+ local deps=(
+ libc++_static.a
+ $(usex libcxxabi libc++abi.a libsupc++.a)
+ )
+ # On Linux/glibc it does not link without libpthread or libdl. It is
+ # fine on FreeBSD.
+ use elibc_glibc && deps+=( libpthread.a libdl.a )
+
+ gen_ldscript "${deps[*]}" > lib/libc++.a || die
+}
+
+gen_shared_ldscript() {
+ # Move it first.
+ mv lib/libc++{,_shared}.so || die
+ local deps=(
+ libc++_shared.so
+ # libsupc++ doesn't have a shared version
+ $(usex libcxxabi libc++abi.so libsupc++.a)
+ )
+
+ gen_ldscript "${deps[*]}" > lib/libc++.so || die
+}
diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest
index d65a56e9b046..12d0ad38706b 100644
--- a/sys-libs/libcxxabi/Manifest
+++ b/sys-libs/libcxxabi/Manifest
@@ -1,3 +1,4 @@
+DIST llvm-project-0e907c17214aa3b1a60b66867fea3cc0f0dcbaa0.tar.gz 222324382 BLAKE2B 8023108460d2af1688871d5534e18aa52e29f0e466bb5431194d1e710d7cd11bdab4be000433536b2d69c815a68624e347c69378a697d6fc55433bb4c2156767 SHA512 f0c23a0ac25de31f4c81f76ee82f3189da65d825579e923ace2b54714649c60d4d078220c9f2200b11f08d0c0e32c5b81a57ba368c11d67e763936df8a609279
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
@@ -16,4 +17,5 @@ EBUILD libcxxabi-18.1.8.ebuild 2759 BLAKE2B 1d4ac3db2b24ed4c598f2e5c4021e68a95b3
EBUILD libcxxabi-19.1.3.ebuild 2764 BLAKE2B 279e2dedfd47b02e89b0d34b7ce17ddfcc409340319473901306b761545030bfaa0ab9788b567f6982b1071d37bc4f9790fe38a2817bd9b4f13bd337aa2f8b99 SHA512 10fbb48677a4bd39c196631649eaf307f7adfb5d8512f9abd6c4c0b7984a91113c4e9cf663282de38be7b02e0e8e835bc91300a38ca63f26c73f7fe6fd737de9
EBUILD libcxxabi-20.0.0.9999.ebuild 2663 BLAKE2B 51f73901a172d1d38eb2204428cab606794110644be1d95e542da7c80e2f88f12b1dde949f3b000a27677108922413351d7f79547101a22b14595b31f3cb9138 SHA512 3d61d2c559bcdb9d13a8134dd75dfb66b46b51eb8c3c870fa807f0dfc6298ed1582a6a3eeba732d9aac6e974e28bf5fc8efb6825654b11b0fcbb4eeaa4d40492
EBUILD libcxxabi-20.0.0_pre20241029.ebuild 2663 BLAKE2B 51f73901a172d1d38eb2204428cab606794110644be1d95e542da7c80e2f88f12b1dde949f3b000a27677108922413351d7f79547101a22b14595b31f3cb9138 SHA512 3d61d2c559bcdb9d13a8134dd75dfb66b46b51eb8c3c870fa807f0dfc6298ed1582a6a3eeba732d9aac6e974e28bf5fc8efb6825654b11b0fcbb4eeaa4d40492
+EBUILD libcxxabi-20.0.0_pre20241106.ebuild 2663 BLAKE2B 51f73901a172d1d38eb2204428cab606794110644be1d95e542da7c80e2f88f12b1dde949f3b000a27677108922413351d7f79547101a22b14595b31f3cb9138 SHA512 3d61d2c559bcdb9d13a8134dd75dfb66b46b51eb8c3c870fa807f0dfc6298ed1582a6a3eeba732d9aac6e974e28bf5fc8efb6825654b11b0fcbb4eeaa4d40492
MISC metadata.xml 438 BLAKE2B 0a830a06a53a6cdaf138ad7620fe366fae05c1c1451267d6a58caf7da5ce8f5a26d302fab53b9460920074ab5a65991d3bd24fde087809e8dc12188dd94c7676 SHA512 d53e13c497569636fb453a159c5ca5ddfabf8e5debd5f92e5149c52d54c876753842ab73293d6d08e2d9b279363b4f0c743eed3a5027a61246c6b60496be8e87
diff --git a/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20241106.ebuild b/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20241106.ebuild
new file mode 100644
index 000000000000..13b5d3b6c275
--- /dev/null
+++ b/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20241106.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2024 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+="
+ !<sys-libs/libcxx-15
+"
+DEPEND="
+ ${RDEPEND}
+ 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 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=$(usex elibc_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
+}
diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest
index bc565f161502..32af62b6b25e 100644
--- a/sys-libs/libomp/Manifest
+++ b/sys-libs/libomp/Manifest
@@ -1,4 +1,5 @@
DIST llvm-gentoo-patchset-15.0.7-r6.tar.xz 25208 BLAKE2B c9fca31a053ee059c3060a94dcf675d472fc1a59b5f927648de58fb4ff20bfc229890f789ed47b3d053bd466b860a0c60a53b4b024a8fe18c776e9a72434d6de SHA512 601cd923711839dca7cb5bfea53ded644777c6340265a797939a53409fd2ca27059a015fd6ca6832e60314699ade27919a9a59dab395cc27f8fdc479a0f3c034
+DIST llvm-project-0e907c17214aa3b1a60b66867fea3cc0f0dcbaa0.tar.gz 222324382 BLAKE2B 8023108460d2af1688871d5534e18aa52e29f0e466bb5431194d1e710d7cd11bdab4be000433536b2d69c815a68624e347c69378a697d6fc55433bb4c2156767 SHA512 f0c23a0ac25de31f4c81f76ee82f3189da65d825579e923ace2b54714649c60d4d078220c9f2200b11f08d0c0e32c5b81a57ba368c11d67e763936df8a609279
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
@@ -17,4 +18,5 @@ EBUILD libomp-18.1.8.ebuild 4288 BLAKE2B f357d18d80010a75b917694db783d6a7ea3e2d4
EBUILD libomp-19.1.3.ebuild 2248 BLAKE2B 8493ef91a33d9415c1ae604e8d65a972964b8a4d4adc5dbecf884a30a2a5aa216955fb15ade6d260e2573dcf265c845a1ed95ad7ef850342007e97e345c78558 SHA512 fb53d47a8a75cb06d4915ea00186dffc01ba718d021945df3f9f8cc106c2ecbc9278b1fdc8d037ce562a3b0b1bdc58dc266b90d671b2d427de2761b02661a96d
EBUILD libomp-20.0.0.9999.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea
EBUILD libomp-20.0.0_pre20241029.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea
+EBUILD libomp-20.0.0_pre20241106.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea
MISC metadata.xml 883 BLAKE2B 127e896b82a49633a6866b33ca776ebe2dd149a5d04da4484a53186f219a85db0ab9d826bc1cc61d4df9fa54c9bcc546be070a0b28985174925fd947aa09cca2 SHA512 dc32cae01401feb93eede6506b3955c766ff19b44976fcc67277559b23ac151993377daeed9ba83b2dd71dbdeea330cd1208dcb0c9c5f56be270883b31f9b15f
diff --git a/sys-libs/libomp/libomp-20.0.0_pre20241106.ebuild b/sys-libs/libomp/libomp-20.0.0_pre20241106.ebuild
new file mode 100644
index 000000000000..32b91b3699c4
--- /dev/null
+++ b/sys-libs/libomp/libomp-20.0.0_pre20241106.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit flag-o-matic cmake-multilib linux-info llvm.org python-single-r1
+
+DESCRIPTION="OpenMP runtime library for LLVM/clang compiler"
+HOMEPAGE="https://openmp.llvm.org"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0/${LLVM_SOABI}"
+IUSE="+debug gdb-plugin hwloc ompt test"
+REQUIRED_USE="
+ gdb-plugin? ( ${PYTHON_REQUIRED_USE} )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ gdb-plugin? ( ${PYTHON_DEPS} )
+ hwloc? ( >=sys-apps/hwloc-2.5:0=[${MULTILIB_USEDEP}] )
+"
+# tests:
+# - dev-python/lit provides the test runner
+# - sys-devel/llvm provide test utils (e.g. FileCheck)
+# - sys-devel/clang provides the compiler to run tests
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-lang/perl
+ test? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/lit[${PYTHON_USEDEP}]
+ ')
+ sys-devel/clang
+ )
+"
+
+LLVM_COMPONENTS=( openmp cmake llvm/include )
+llvm.org_set_globals
+
+pkg_setup() {
+ if use gdb-plugin || use test; then
+ python-single-r1_pkg_setup
+ fi
+}
+
+multilib_src_configure() {
+ # LTO causes issues in other packages building, #870127
+ filter-lto
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ local libdir="$(get_libdir)"
+ local mycmakeargs=(
+ -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}"
+
+ -DLIBOMP_USE_HWLOC=$(usex hwloc)
+ -DLIBOMP_OMPD_GDB_SUPPORT=$(multilib_native_usex gdb-plugin)
+ -DLIBOMP_OMPT_SUPPORT=$(usex ompt)
+
+ # do not install libgomp.so & libiomp5.so aliases
+ -DLIBOMP_INSTALL_ALIASES=OFF
+ # disable unnecessary hack copying stuff back to srcdir
+ -DLIBOMP_COPY_EXPORTS=OFF
+ )
+
+ use test && mycmakeargs+=(
+ # this project does not use standard LLVM cmake macros
+ -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit"
+ -DOPENMP_LIT_ARGS="$(get_lit_flags)"
+
+ -DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")"
+ -DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++")"
+ )
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+
+ cmake_build check-libomp
+}
diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest
index 235dd9ea405f..44b7823ce1a0 100644
--- a/sys-libs/llvm-libunwind/Manifest
+++ b/sys-libs/llvm-libunwind/Manifest
@@ -1,3 +1,4 @@
+DIST llvm-project-0e907c17214aa3b1a60b66867fea3cc0f0dcbaa0.tar.gz 222324382 BLAKE2B 8023108460d2af1688871d5534e18aa52e29f0e466bb5431194d1e710d7cd11bdab4be000433536b2d69c815a68624e347c69378a697d6fc55433bb4c2156767 SHA512 f0c23a0ac25de31f4c81f76ee82f3189da65d825579e923ace2b54714649c60d4d078220c9f2200b11f08d0c0e32c5b81a57ba368c11d67e763936df8a609279
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
@@ -16,4 +17,5 @@ EBUILD llvm-libunwind-18.1.8.ebuild 3407 BLAKE2B 1f0f6be6cd671b42d97bfa5ffc5fbf0
EBUILD llvm-libunwind-19.1.3.ebuild 3413 BLAKE2B 7f510e3b4b415a4178c5783a5252adf00ee264ec8173d459f1ee7df65dcb3c0c9bc8712384d2e4c9a5451a13c7868bef011d990158e4875f5ed8f343866bd228 SHA512 84de24446bb5b2239ef96155327e2c9b35a1a3d1c93c7acb5aaf046299dd8ebab6c89b9b2c6d36bd6adb6265492521c3a6f395f4fdecb37ea4b022e6a840f56f
EBUILD llvm-libunwind-20.0.0.9999.ebuild 3321 BLAKE2B 11e3226e8d8fd4781f2c3b9b4a40068a57fba8b0797726c88f592e69147a99bbfc78d98449daccfd0d30fd378ba8ced48d6dcd4df938fb7604d02dcee3f18f3e SHA512 9c815395dcb606b62f192c978185d88978c4f280a71c69611a1d106dcec1758b901cfd74652e2b4e4adcb944bec318de8f2aa8d32aaea3d471b43870dbf2d562
EBUILD llvm-libunwind-20.0.0_pre20241029.ebuild 3321 BLAKE2B 11e3226e8d8fd4781f2c3b9b4a40068a57fba8b0797726c88f592e69147a99bbfc78d98449daccfd0d30fd378ba8ced48d6dcd4df938fb7604d02dcee3f18f3e SHA512 9c815395dcb606b62f192c978185d88978c4f280a71c69611a1d106dcec1758b901cfd74652e2b4e4adcb944bec318de8f2aa8d32aaea3d471b43870dbf2d562
+EBUILD llvm-libunwind-20.0.0_pre20241106.ebuild 3321 BLAKE2B 11e3226e8d8fd4781f2c3b9b4a40068a57fba8b0797726c88f592e69147a99bbfc78d98449daccfd0d30fd378ba8ced48d6dcd4df938fb7604d02dcee3f18f3e SHA512 9c815395dcb606b62f192c978185d88978c4f280a71c69611a1d106dcec1758b901cfd74652e2b4e4adcb944bec318de8f2aa8d32aaea3d471b43870dbf2d562
MISC metadata.xml 438 BLAKE2B 2a36fbbc59e137056029c62aef6d167d9c82531c2582d7bad5cb13cc36e5c4c9518ffe8c56d06bbcfd97ad22eda71a8b776f3984195f53d06cf45659b438dc00 SHA512 4f18b054072d00e5440faa31a59f9ef587d035b5f25e30913f0b1449debee967fa794fae2548e87db3fb2177ce853ab075e1f11f3cc763f5d7fdf06147108845
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20241106.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20241106.ebuild
new file mode 100644
index 000000000000..f2972aaec14a
--- /dev/null
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20241106.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..13} )
+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=( 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() {
+ 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
+}