summaryrefslogtreecommitdiff
path: root/llvm-runtimes
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-04-28 21:32:58 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-04-28 21:32:58 +0000
commit91dcdbb1b708bf07b6cc58c8fd2d533c40e0d69f (patch)
tree9cc1de10d471103791c641baedcc34f2ecfdabb8 /llvm-runtimes
parentebcfdde700572edcef684fefa2245f7955c655ae (diff)
downloadbaldeagleos-repo-91dcdbb1b708bf07b6cc58c8fd2d533c40e0d69f.tar.gz
baldeagleos-repo-91dcdbb1b708bf07b6cc58c8fd2d533c40e0d69f.tar.xz
baldeagleos-repo-91dcdbb1b708bf07b6cc58c8fd2d533c40e0d69f.zip
Adding metadata
Diffstat (limited to 'llvm-runtimes')
-rw-r--r--llvm-runtimes/compiler-rt-sanitizers/Manifest1
-rw-r--r--llvm-runtimes/compiler-rt-sanitizers/compiler-rt-sanitizers-23.0.0_pre20260428.ebuild237
-rw-r--r--llvm-runtimes/compiler-rt/Manifest1
-rw-r--r--llvm-runtimes/compiler-rt/compiler-rt-23.0.0_pre20260428.ebuild190
-rw-r--r--llvm-runtimes/flang-rt/Manifest1
-rw-r--r--llvm-runtimes/flang-rt/flang-rt-23.0.0_pre20260428.ebuild74
-rw-r--r--llvm-runtimes/libcxx/Manifest1
-rw-r--r--llvm-runtimes/libcxx/libcxx-23.0.0_pre20260428.ebuild258
-rw-r--r--llvm-runtimes/libcxxabi/Manifest1
-rw-r--r--llvm-runtimes/libcxxabi/libcxxabi-23.0.0_pre20260428.ebuild146
-rw-r--r--llvm-runtimes/libgcc/Manifest1
-rw-r--r--llvm-runtimes/libgcc/libgcc-23.0.0_pre20260428.ebuild173
-rw-r--r--llvm-runtimes/libunwind/Manifest1
-rw-r--r--llvm-runtimes/libunwind/libunwind-23.0.0_pre20260428.ebuild193
-rw-r--r--llvm-runtimes/openmp-amdgcn-amd-amdhsa/Manifest1
-rw-r--r--llvm-runtimes/openmp-amdgcn-amd-amdhsa/openmp-amdgcn-amd-amdhsa-23.0.0_pre20260428.ebuild42
-rw-r--r--llvm-runtimes/openmp-nvptx64-nvidia-cuda/Manifest1
-rw-r--r--llvm-runtimes/openmp-nvptx64-nvidia-cuda/openmp-nvptx64-nvidia-cuda-23.0.0_pre20260428.ebuild42
-rw-r--r--llvm-runtimes/openmp-spirv64-intel/Manifest1
-rw-r--r--llvm-runtimes/openmp-spirv64-intel/openmp-spirv64-intel-23.0.0_pre20260428.ebuild42
-rw-r--r--llvm-runtimes/openmp/Manifest1
-rw-r--r--llvm-runtimes/openmp/openmp-23.0.0_pre20260428.ebuild177
22 files changed, 1585 insertions, 0 deletions
diff --git a/llvm-runtimes/compiler-rt-sanitizers/Manifest b/llvm-runtimes/compiler-rt-sanitizers/Manifest
index bb219615a1fc..7a44d21cfe27 100644
--- a/llvm-runtimes/compiler-rt-sanitizers/Manifest
+++ b/llvm-runtimes/compiler-rt-sanitizers/Manifest
@@ -17,4 +17,5 @@ DIST llvm-project-21.1.8.src.tar.xz 158958576 BLAKE2B 0d3d4ee920f8e5db50e9815261
DIST llvm-project-21.1.8.src.tar.xz.sig 119 BLAKE2B cffc1825f5778a3e3c128ec3e856ff6ee50687319d621cdf42e895abf67e05cc51cb7493308e2b506ab60dbdbaca7aa75eb9f78d91d42c81f9682a36f4042e9d SHA512 10f58eff58ed6e701d0f123b15e68c82ab8cbdf99b1c86c0d83e3b8553e90ea51055e30327e8e442ded57c8f503e2a2de9ee075e9c28b5ba815a0f8922f8671c
DIST llvm-project-22.1.4.src.tar.xz 167028880 BLAKE2B cd867371fecc8b4771c919a4d966cec25539dbaff5398e9c62ab5fe2f82b97bcc097f2319194cb796f6ee874b83c001ece5dc2d2e41c8807f88d91e67b71cf61 SHA512 9f9e84110a4bb0f0dd296eaed4acb4fd3a58838efe62bb88671399440ba4750ba8bd7e6d072e61a9946e38e5c9d5e50575b95964850769c51cd517bdf7425bb8
DIST llvm-project-22.1.4.src.tar.xz.sig 119 BLAKE2B ff8004fd03f1d5be9da33ddf19b9c4d9408f0dfb0e9e141eeb3cffec4fd285017f913b8f624a7aa1316c228928abb95832aabea43712507f4f644cf59e757bc8 SHA512 29287637e8c2e40666c6cca054622f894a132925d532017c0f3144573757cce50f85dcc356f48b335dee7115627ff249b287ad821075835314dce0dfbc733b8a
+DIST llvm-project-6f2e1a120ebb75da9b3fe6afb19231aa0f801a34.tar.gz 270304465 BLAKE2B 43bca1c7f0996febbf3e840375f6b91d18a83e197890fbb19724a217e772b111ca33b15098b969cb74797dd67ca81b23b8ca36b35f084f6252e3a4b38e431c82 SHA512 28cf27b9f65b8525ba30bbfda6765b14bd5db8c5c88ef711fee408b691dd2b9e373db99f4862e76d692571ebf4e746cd9495ad6c8248e07e9b574cee066a20da
DIST llvm-project-99457c368586b1debf49f55b3a0684317f5f298d.tar.gz 269907211 BLAKE2B aae5040ece1fa0eacd32468feee9896d614b7e91044ef504df2c80fc57fb42d2db162f01cfdd9c91c7e80fb9fa109440b6887451c96227f47308eb99d9249ef9 SHA512 0e865b56b8f3bf3f7e0fb9a5dfaa97b7d82c915e14474d07d7c036641f68727f2a81179110e3a1c3b424e0233d55589c568fcde2a98aec3a0882ab3a45c62e6c
diff --git a/llvm-runtimes/compiler-rt-sanitizers/compiler-rt-sanitizers-23.0.0_pre20260428.ebuild b/llvm-runtimes/compiler-rt-sanitizers/compiler-rt-sanitizers-23.0.0_pre20260428.ebuild
new file mode 100644
index 000000000000..bf2384a48ed6
--- /dev/null
+++ b/llvm-runtimes/compiler-rt-sanitizers/compiler-rt-sanitizers-23.0.0_pre20260428.ebuild
@@ -0,0 +1,237 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..14} )
+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="
+ llvm-core/llvm:${LLVM_MAJOR}
+ virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?]
+"
+BDEPEND="
+ clang? (
+ llvm-core/clang:${LLVM_MAJOR}
+ llvm-core/clang-linker-config:${LLVM_MAJOR}
+ llvm-runtimes/clang-rtlib-config:${LLVM_MAJOR}
+ llvm-runtimes/clang-stdlib-config:${LLVM_MAJOR}
+ llvm-runtimes/compiler-rt:${LLVM_MAJOR}
+ )
+ elibc_glibc? ( net-libs/libtirpc )
+ test? (
+ $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+ =llvm-core/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
+
+ # builds freestanding code
+ filter-flags -fstack-protector*
+
+ 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
+
+ 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-${LLVM_MAJOR}
+ local -x CXX=${CHOST}-clang++-${LLVM_MAJOR}
+ strip-unsupported-flags
+
+ # The full clang configuration might not be ready yet. Use the partial
+ # configuration files that are guaranteed to exist even during initial
+ # installations and upgrades.
+ local flags=(
+ --config="${ESYSROOT}"/etc/clang/"${LLVM_MAJOR}"/gentoo-{rtlib,stdlib,linker}.cfg
+ )
+ local -x CFLAGS="${CFLAGS} ${flags[@]}"
+ local -x CXXFLAGS="${CXXFLAGS} ${flags[@]}"
+ local -x LDFLAGS="${LDFLAGS} ${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 llvm-runtimes/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_dest=( "${BUILD_DIR}"/lib/clang/${LLVM_MAJOR}/lib/* )
+ [[ ! -e ${sys_dest} ]] && die "Unable to find ${sys_dest}"
+ [[ ${#sys_dest[@]} -ne 1 ]] && die "Non-deterministic compiler-rt install: ${sys_dest[*]}"
+ local sys_dir=( "${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}/lib/${sys_dest##*/}" )
+ [[ ! -e ${sys_dir} ]] && die "${sys_dir} is missing"
+
+ # 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 "${sys_dest}/" || 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/llvm-runtimes/compiler-rt/Manifest b/llvm-runtimes/compiler-rt/Manifest
index 062f3cb92ec2..04ec358e14cc 100644
--- a/llvm-runtimes/compiler-rt/Manifest
+++ b/llvm-runtimes/compiler-rt/Manifest
@@ -14,4 +14,5 @@ DIST llvm-project-21.1.8.src.tar.xz 158958576 BLAKE2B 0d3d4ee920f8e5db50e9815261
DIST llvm-project-21.1.8.src.tar.xz.sig 119 BLAKE2B cffc1825f5778a3e3c128ec3e856ff6ee50687319d621cdf42e895abf67e05cc51cb7493308e2b506ab60dbdbaca7aa75eb9f78d91d42c81f9682a36f4042e9d SHA512 10f58eff58ed6e701d0f123b15e68c82ab8cbdf99b1c86c0d83e3b8553e90ea51055e30327e8e442ded57c8f503e2a2de9ee075e9c28b5ba815a0f8922f8671c
DIST llvm-project-22.1.4.src.tar.xz 167028880 BLAKE2B cd867371fecc8b4771c919a4d966cec25539dbaff5398e9c62ab5fe2f82b97bcc097f2319194cb796f6ee874b83c001ece5dc2d2e41c8807f88d91e67b71cf61 SHA512 9f9e84110a4bb0f0dd296eaed4acb4fd3a58838efe62bb88671399440ba4750ba8bd7e6d072e61a9946e38e5c9d5e50575b95964850769c51cd517bdf7425bb8
DIST llvm-project-22.1.4.src.tar.xz.sig 119 BLAKE2B ff8004fd03f1d5be9da33ddf19b9c4d9408f0dfb0e9e141eeb3cffec4fd285017f913b8f624a7aa1316c228928abb95832aabea43712507f4f644cf59e757bc8 SHA512 29287637e8c2e40666c6cca054622f894a132925d532017c0f3144573757cce50f85dcc356f48b335dee7115627ff249b287ad821075835314dce0dfbc733b8a
+DIST llvm-project-6f2e1a120ebb75da9b3fe6afb19231aa0f801a34.tar.gz 270304465 BLAKE2B 43bca1c7f0996febbf3e840375f6b91d18a83e197890fbb19724a217e772b111ca33b15098b969cb74797dd67ca81b23b8ca36b35f084f6252e3a4b38e431c82 SHA512 28cf27b9f65b8525ba30bbfda6765b14bd5db8c5c88ef711fee408b691dd2b9e373db99f4862e76d692571ebf4e746cd9495ad6c8248e07e9b574cee066a20da
DIST llvm-project-99457c368586b1debf49f55b3a0684317f5f298d.tar.gz 269907211 BLAKE2B aae5040ece1fa0eacd32468feee9896d614b7e91044ef504df2c80fc57fb42d2db162f01cfdd9c91c7e80fb9fa109440b6887451c96227f47308eb99d9249ef9 SHA512 0e865b56b8f3bf3f7e0fb9a5dfaa97b7d82c915e14474d07d7c036641f68727f2a81179110e3a1c3b424e0233d55589c568fcde2a98aec3a0882ab3a45c62e6c
diff --git a/llvm-runtimes/compiler-rt/compiler-rt-23.0.0_pre20260428.ebuild b/llvm-runtimes/compiler-rt/compiler-rt-23.0.0_pre20260428.ebuild
new file mode 100644
index 000000000000..729cfe098c88
--- /dev/null
+++ b/llvm-runtimes/compiler-rt/compiler-rt-23.0.0_pre20260428.ebuild
@@ -0,0 +1,190 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..14} )
+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 +atomic-builtins +clang +debug test"
+REQUIRED_USE="atomic-builtins? ( clang )"
+RESTRICT="!test? ( test ) !clang? ( test )"
+
+DEPEND="
+ llvm-core/llvm:${LLVM_MAJOR}
+"
+BDEPEND="
+ clang? (
+ llvm-core/clang:${LLVM_MAJOR}
+ llvm-core/clang-linker-config:${LLVM_MAJOR}
+ )
+ test? (
+ $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+ =llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake third-party/siphash )
+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() {
+ if use clang || use test; then
+ llvm_prepend_path -b "${LLVM_MAJOR}"
+ fi
+
+ # 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-${LLVM_MAJOR}
+ local -x CXX=${CHOST}-clang++-${LLVM_MAJOR}
+ fi
+
+ strip-unsupported-flags
+
+ # The full clang configuration might not be ready yet. Given that compiler-rt
+ # require runtime, use only the linker configuration.
+ local flags=(
+ --config="${ESYSROOT}"/etc/clang/"${LLVM_MAJOR}"/gentoo-linker.cfg
+ )
+ local -x CFLAGS="${CFLAGS} ${flags[@]}"
+ local -x CXXFLAGS="${CXXFLAGS} ${flags[@]}"
+ local -x LDFLAGS="${LDFLAGS} ${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}"
+ -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}"
+
+ -DCOMPILER_RT_EXCLUDE_ATOMIC_BUILTIN=$(usex !atomic-builtins)
+ -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/llvm-runtimes/flang-rt/Manifest b/llvm-runtimes/flang-rt/Manifest
index 86f7003ae8a4..a3158226b509 100644
--- a/llvm-runtimes/flang-rt/Manifest
+++ b/llvm-runtimes/flang-rt/Manifest
@@ -2,4 +2,5 @@ DIST llvm-project-21.1.8.src.tar.xz 158958576 BLAKE2B 0d3d4ee920f8e5db50e9815261
DIST llvm-project-21.1.8.src.tar.xz.sig 119 BLAKE2B cffc1825f5778a3e3c128ec3e856ff6ee50687319d621cdf42e895abf67e05cc51cb7493308e2b506ab60dbdbaca7aa75eb9f78d91d42c81f9682a36f4042e9d SHA512 10f58eff58ed6e701d0f123b15e68c82ab8cbdf99b1c86c0d83e3b8553e90ea51055e30327e8e442ded57c8f503e2a2de9ee075e9c28b5ba815a0f8922f8671c
DIST llvm-project-22.1.4.src.tar.xz 167028880 BLAKE2B cd867371fecc8b4771c919a4d966cec25539dbaff5398e9c62ab5fe2f82b97bcc097f2319194cb796f6ee874b83c001ece5dc2d2e41c8807f88d91e67b71cf61 SHA512 9f9e84110a4bb0f0dd296eaed4acb4fd3a58838efe62bb88671399440ba4750ba8bd7e6d072e61a9946e38e5c9d5e50575b95964850769c51cd517bdf7425bb8
DIST llvm-project-22.1.4.src.tar.xz.sig 119 BLAKE2B ff8004fd03f1d5be9da33ddf19b9c4d9408f0dfb0e9e141eeb3cffec4fd285017f913b8f624a7aa1316c228928abb95832aabea43712507f4f644cf59e757bc8 SHA512 29287637e8c2e40666c6cca054622f894a132925d532017c0f3144573757cce50f85dcc356f48b335dee7115627ff249b287ad821075835314dce0dfbc733b8a
+DIST llvm-project-6f2e1a120ebb75da9b3fe6afb19231aa0f801a34.tar.gz 270304465 BLAKE2B 43bca1c7f0996febbf3e840375f6b91d18a83e197890fbb19724a217e772b111ca33b15098b969cb74797dd67ca81b23b8ca36b35f084f6252e3a4b38e431c82 SHA512 28cf27b9f65b8525ba30bbfda6765b14bd5db8c5c88ef711fee408b691dd2b9e373db99f4862e76d692571ebf4e746cd9495ad6c8248e07e9b574cee066a20da
DIST llvm-project-99457c368586b1debf49f55b3a0684317f5f298d.tar.gz 269907211 BLAKE2B aae5040ece1fa0eacd32468feee9896d614b7e91044ef504df2c80fc57fb42d2db162f01cfdd9c91c7e80fb9fa109440b6887451c96227f47308eb99d9249ef9 SHA512 0e865b56b8f3bf3f7e0fb9a5dfaa97b7d82c915e14474d07d7c036641f68727f2a81179110e3a1c3b424e0233d55589c568fcde2a98aec3a0882ab3a45c62e6c
diff --git a/llvm-runtimes/flang-rt/flang-rt-23.0.0_pre20260428.ebuild b/llvm-runtimes/flang-rt/flang-rt-23.0.0_pre20260428.ebuild
new file mode 100644
index 000000000000..9a9e3b3243d8
--- /dev/null
+++ b/llvm-runtimes/flang-rt/flang-rt-23.0.0_pre20260428.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..14} )
+inherit cmake flag-o-matic llvm.org python-any-r1
+
+DESCRIPTION="LLVM's Fortran runtime"
+HOMEPAGE="https://flang.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions"
+SLOT="${LLVM_MAJOR}"
+IUSE="+debug test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !<llvm-core/flang-21.0.0_pre20250221-r1
+"
+BDEPEND="
+ llvm-core/llvm:${LLVM_MAJOR}
+ llvm-core/flang
+ test? (
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ )
+"
+
+LLVM_COMPONENTS=(
+ runtimes flang-rt cmake flang llvm/{cmake,utils}
+)
+LLVM_TEST_COMPONENTS=( third-party/unittest )
+llvm.org_set_globals
+
+python_check_deps() {
+ python_has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_configure() {
+ # the code is not portable
+ local -x FC=flang F77=flang
+ strip-unsupported-flags
+
+ local mycmakeargs=(
+ # we may not have a runtime yet
+ -DCMAKE_Fortran_COMPILER_WORKS=TRUE
+
+ -DLLVM_ENABLE_RUNTIMES="flang-rt"
+ # this package forces NO_DEFAULT_PATHS
+ -DLLVM_BINARY_DIR="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}"
+ # set correct install paths
+ -DFLANG_RT_INSTALL_RESOURCE_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+ -DLLVM_DEFAULT_TARGET_TRIPLE="${CHOST}"
+
+ -DFLANG_RT_INCLUDE_TESTS=$(usex test)
+ )
+ use test && mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+}
+
+src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-flang-rt
+}
diff --git a/llvm-runtimes/libcxx/Manifest b/llvm-runtimes/libcxx/Manifest
index b8d77e464202..292b71af648a 100644
--- a/llvm-runtimes/libcxx/Manifest
+++ b/llvm-runtimes/libcxx/Manifest
@@ -13,4 +13,5 @@ DIST llvm-project-21.1.8.src.tar.xz 158958576 BLAKE2B 0d3d4ee920f8e5db50e9815261
DIST llvm-project-21.1.8.src.tar.xz.sig 119 BLAKE2B cffc1825f5778a3e3c128ec3e856ff6ee50687319d621cdf42e895abf67e05cc51cb7493308e2b506ab60dbdbaca7aa75eb9f78d91d42c81f9682a36f4042e9d SHA512 10f58eff58ed6e701d0f123b15e68c82ab8cbdf99b1c86c0d83e3b8553e90ea51055e30327e8e442ded57c8f503e2a2de9ee075e9c28b5ba815a0f8922f8671c
DIST llvm-project-22.1.4.src.tar.xz 167028880 BLAKE2B cd867371fecc8b4771c919a4d966cec25539dbaff5398e9c62ab5fe2f82b97bcc097f2319194cb796f6ee874b83c001ece5dc2d2e41c8807f88d91e67b71cf61 SHA512 9f9e84110a4bb0f0dd296eaed4acb4fd3a58838efe62bb88671399440ba4750ba8bd7e6d072e61a9946e38e5c9d5e50575b95964850769c51cd517bdf7425bb8
DIST llvm-project-22.1.4.src.tar.xz.sig 119 BLAKE2B ff8004fd03f1d5be9da33ddf19b9c4d9408f0dfb0e9e141eeb3cffec4fd285017f913b8f624a7aa1316c228928abb95832aabea43712507f4f644cf59e757bc8 SHA512 29287637e8c2e40666c6cca054622f894a132925d532017c0f3144573757cce50f85dcc356f48b335dee7115627ff249b287ad821075835314dce0dfbc733b8a
+DIST llvm-project-6f2e1a120ebb75da9b3fe6afb19231aa0f801a34.tar.gz 270304465 BLAKE2B 43bca1c7f0996febbf3e840375f6b91d18a83e197890fbb19724a217e772b111ca33b15098b969cb74797dd67ca81b23b8ca36b35f084f6252e3a4b38e431c82 SHA512 28cf27b9f65b8525ba30bbfda6765b14bd5db8c5c88ef711fee408b691dd2b9e373db99f4862e76d692571ebf4e746cd9495ad6c8248e07e9b574cee066a20da
DIST llvm-project-99457c368586b1debf49f55b3a0684317f5f298d.tar.gz 269907211 BLAKE2B aae5040ece1fa0eacd32468feee9896d614b7e91044ef504df2c80fc57fb42d2db162f01cfdd9c91c7e80fb9fa109440b6887451c96227f47308eb99d9249ef9 SHA512 0e865b56b8f3bf3f7e0fb9a5dfaa97b7d82c915e14474d07d7c036641f68727f2a81179110e3a1c3b424e0233d55589c568fcde2a98aec3a0882ab3a45c62e6c
diff --git a/llvm-runtimes/libcxx/libcxx-23.0.0_pre20260428.ebuild b/llvm-runtimes/libcxx/libcxx-23.0.0_pre20260428.ebuild
new file mode 100644
index 000000000000..67892c6bdfba
--- /dev/null
+++ b/llvm-runtimes/libcxx/libcxx-23.0.0_pre20260428.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..14} )
+inherit cmake-multilib crossdev flag-o-matic llvm.org llvm-utils
+inherit python-any-r1 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? (
+ ~llvm-runtimes/libcxxabi-${PV}[static-libs?,${MULTILIB_USEDEP}]
+ )
+ !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] )
+"
+DEPEND="
+ ${RDEPEND}
+ llvm-core/llvm:${LLVM_MAJOR}
+"
+BDEPEND="
+ clang? (
+ llvm-core/clang:${LLVM_MAJOR}
+ llvm-core/clang-linker-config:${LLVM_MAJOR}
+ llvm-runtimes/clang-rtlib-config:${LLVM_MAJOR}
+ llvm-runtimes/clang-unwindlib-config:${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} 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() {
+ local install_prefix=${EPREFIX}
+ is_crosspkg && install_prefix+=/usr/${CTARGET}
+
+ # 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="${install_prefix}/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() {
+ # 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
+ llvm_prepend_path -b "${LLVM_MAJOR}"
+ local -x CC=${CTARGET}-clang-${LLVM_MAJOR}
+ local -x CXX=${CTARGET}-clang++-${LLVM_MAJOR}
+ strip-unsupported-flags
+
+ # The full clang configuration might not be ready yet. Use the partial
+ # configuration of components that libunwind depends on.
+ local flags=(
+ --config="${ESYSROOT}"/etc/clang/"${LLVM_MAJOR}"/gentoo-{rtlib,unwindlib,linker}.cfg
+ )
+ local -x CFLAGS="${CFLAGS} ${flags[@]}"
+ local -x CXXFLAGS="${CXXFLAGS} ${flags[@]}"
+ local -x LDFLAGS="${LDFLAGS} ${flags[@]}"
+ fi
+
+ # link to compiler-rt
+ local use_compiler_rt=OFF
+ [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
+
+ local nostdlib_flags=( -nostdlib++ )
+ if ! test_compiler && test_compiler "${nostdlib_flags[@]}"; then
+ local -x LDFLAGS="${LDFLAGS} ${nort_flags[*]}"
+ ewarn "${CXX} seems to lack runtime, trying with ${nort_flags[*]}"
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}"
+
+ -DCMAKE_CXX_COMPILER_TARGET="${CTARGET}"
+ -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=$(llvm_cmake_use_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 is_crosspkg; then
+ # Needed to target built libc headers
+ local -x CFLAGS="${CFLAGS} -isystem ${ESYSROOT}/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
+ # Install inside the cross sysroot.
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/${CTARGET}/usr"
+ )
+ fi
+ 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
+ local libdir=$(get_libdir)
+ gen_shared_ldscript
+ use static-libs && gen_static_ldscript
+ fi
+}
+
+multilib_src_test() {
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build libcxx-test-suite-install-cxx
+ if [[ ${CHOST} != *-darwin* ]] ; then
+ local libdir=$(get_libdir)
+ cp "${BUILD_DIR}"/{,libcxx/test-suite-install/}"${libdir}"/libc++_shared.so || die
+ if use static-libs; then
+ cp "${BUILD_DIR}"/{,libcxx/test-suite-install/}"${libdir}"/libc++_static.a || die
+ fi
+ 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
+ local libdir=$(get_libdir)
+ is_crosspkg && into /usr/${CTARGET}/usr
+ dolib.so "${libdir}"/libc++_shared.so
+ use static-libs && dolib.a "${libdir}"/libc++_static.a
+ fi
+
+ local install_prefix=
+ is_crosspkg && install_prefix=/usr/${CTARGET}
+ insinto "${install_prefix}/usr/share/libc++/gdb"
+ doins ../libcxx/utils/gdb/libcxx/printers.py
+
+ local lib_version=$(sed -n -e 's/^LIBCXX_LIBRARY_VERSION:STRING=//p' CMakeCache.txt || die)
+ [[ -n ${lib_version} ]] || die "Could not determine LIBCXX_LIBRARY_VERSION from CMakeCache.txt"
+
+ insinto "${install_prefix}/usr/share/gdb/auto-load/usr/$(get_libdir)"
+ newins - "libc++.so.${lib_version}-gdb.py" <<-EOF
+ __import__("sys").path.insert(0, "${EPREFIX}/usr/share/libc++/gdb")
+ __import__("printers").register_libcxx_printer_loader()
+ EOF
+}
+
+# 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 "${libdir}"/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[*]}" > "${libdir}"/libc++.a || die
+}
+
+gen_shared_ldscript() {
+ # Move it first.
+ mv "${libdir}"/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[*]}" > "${libdir}"/libc++.so || die
+}
diff --git a/llvm-runtimes/libcxxabi/Manifest b/llvm-runtimes/libcxxabi/Manifest
index 08aefbcebcc3..65ecef20b0a2 100644
--- a/llvm-runtimes/libcxxabi/Manifest
+++ b/llvm-runtimes/libcxxabi/Manifest
@@ -12,4 +12,5 @@ DIST llvm-project-21.1.8.src.tar.xz 158958576 BLAKE2B 0d3d4ee920f8e5db50e9815261
DIST llvm-project-21.1.8.src.tar.xz.sig 119 BLAKE2B cffc1825f5778a3e3c128ec3e856ff6ee50687319d621cdf42e895abf67e05cc51cb7493308e2b506ab60dbdbaca7aa75eb9f78d91d42c81f9682a36f4042e9d SHA512 10f58eff58ed6e701d0f123b15e68c82ab8cbdf99b1c86c0d83e3b8553e90ea51055e30327e8e442ded57c8f503e2a2de9ee075e9c28b5ba815a0f8922f8671c
DIST llvm-project-22.1.4.src.tar.xz 167028880 BLAKE2B cd867371fecc8b4771c919a4d966cec25539dbaff5398e9c62ab5fe2f82b97bcc097f2319194cb796f6ee874b83c001ece5dc2d2e41c8807f88d91e67b71cf61 SHA512 9f9e84110a4bb0f0dd296eaed4acb4fd3a58838efe62bb88671399440ba4750ba8bd7e6d072e61a9946e38e5c9d5e50575b95964850769c51cd517bdf7425bb8
DIST llvm-project-22.1.4.src.tar.xz.sig 119 BLAKE2B ff8004fd03f1d5be9da33ddf19b9c4d9408f0dfb0e9e141eeb3cffec4fd285017f913b8f624a7aa1316c228928abb95832aabea43712507f4f644cf59e757bc8 SHA512 29287637e8c2e40666c6cca054622f894a132925d532017c0f3144573757cce50f85dcc356f48b335dee7115627ff249b287ad821075835314dce0dfbc733b8a
+DIST llvm-project-6f2e1a120ebb75da9b3fe6afb19231aa0f801a34.tar.gz 270304465 BLAKE2B 43bca1c7f0996febbf3e840375f6b91d18a83e197890fbb19724a217e772b111ca33b15098b969cb74797dd67ca81b23b8ca36b35f084f6252e3a4b38e431c82 SHA512 28cf27b9f65b8525ba30bbfda6765b14bd5db8c5c88ef711fee408b691dd2b9e373db99f4862e76d692571ebf4e746cd9495ad6c8248e07e9b574cee066a20da
DIST llvm-project-99457c368586b1debf49f55b3a0684317f5f298d.tar.gz 269907211 BLAKE2B aae5040ece1fa0eacd32468feee9896d614b7e91044ef504df2c80fc57fb42d2db162f01cfdd9c91c7e80fb9fa109440b6887451c96227f47308eb99d9249ef9 SHA512 0e865b56b8f3bf3f7e0fb9a5dfaa97b7d82c915e14474d07d7c036641f68727f2a81179110e3a1c3b424e0233d55589c568fcde2a98aec3a0882ab3a45c62e6c
diff --git a/llvm-runtimes/libcxxabi/libcxxabi-23.0.0_pre20260428.ebuild b/llvm-runtimes/libcxxabi/libcxxabi-23.0.0_pre20260428.ebuild
new file mode 100644
index 000000000000..0fb297e257d9
--- /dev/null
+++ b/llvm-runtimes/libcxxabi/libcxxabi-23.0.0_pre20260428.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..14} )
+inherit cmake-multilib crossdev flag-o-matic llvm.org llvm-utils
+inherit python-any-r1 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 )"
+
+DEPEND="
+ ${RDEPEND}
+ llvm-core/llvm:${LLVM_MAJOR}
+"
+BDEPEND="
+ clang? (
+ llvm-core/clang:${LLVM_MAJOR}
+ llvm-core/clang-linker-config:${LLVM_MAJOR}
+ llvm-runtimes/clang-rtlib-config:${LLVM_MAJOR}
+ llvm-runtimes/clang-unwindlib-config:${LLVM_MAJOR}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )
+ test? (
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ )
+"
+
+LLVM_COMPONENTS=( runtimes libcxx{abi,} llvm/{cmake,utils} cmake )
+LLVM_TEST_COMPONENTS=( libc llvm/include/llvm/{Demangle,Testing} )
+llvm.org_set_globals
+
+python_check_deps() {
+ use test || return 0
+ python_has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+test_compiler() {
+ target_is_not_host && return
+ $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \
+ <<<'int main() { return 0; }' &>/dev/null
+}
+
+multilib_src_configure() {
+ # 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
+ llvm_prepend_path -b "${LLVM_MAJOR}"
+ local -x CC=${CTARGET}-clang-${LLVM_MAJOR}
+ local -x CXX=${CTARGET}-clang++-${LLVM_MAJOR}
+ strip-unsupported-flags
+
+ # The full clang configuration might not be ready yet. Use the partial
+ # configuration of components that libunwind depends on.
+ local flags=(
+ --config="${ESYSROOT}"/etc/clang/"${LLVM_MAJOR}"/gentoo-{rtlib,unwindlib,linker}.cfg
+ )
+ local -x CFLAGS="${CFLAGS} ${flags[@]}"
+ local -x CXXFLAGS="${CXXFLAGS} ${flags[@]}"
+ local -x LDFLAGS="${LDFLAGS} ${flags[@]}"
+ fi
+
+ local nostdlib_flags=( -nostdlib++ )
+ if ! test_compiler && test_compiler "${nostdlib_flags[@]}"; then
+ local -x LDFLAGS="${LDFLAGS} ${nostdlib_flags[*]}"
+ ewarn "${CXX} seems to lack stdlib, trying with ${nostdlib_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=(
+ -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}"
+
+ -DCMAKE_CXX_COMPILER_TARGET="${CTARGET}"
+ -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 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_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/llvm-runtimes/libgcc/Manifest b/llvm-runtimes/libgcc/Manifest
index 88295c6b9806..af0296b07e05 100644
--- a/llvm-runtimes/libgcc/Manifest
+++ b/llvm-runtimes/libgcc/Manifest
@@ -6,4 +6,5 @@ DIST llvm-project-21.1.8.src.tar.xz 158958576 BLAKE2B 0d3d4ee920f8e5db50e9815261
DIST llvm-project-21.1.8.src.tar.xz.sig 119 BLAKE2B cffc1825f5778a3e3c128ec3e856ff6ee50687319d621cdf42e895abf67e05cc51cb7493308e2b506ab60dbdbaca7aa75eb9f78d91d42c81f9682a36f4042e9d SHA512 10f58eff58ed6e701d0f123b15e68c82ab8cbdf99b1c86c0d83e3b8553e90ea51055e30327e8e442ded57c8f503e2a2de9ee075e9c28b5ba815a0f8922f8671c
DIST llvm-project-22.1.4.src.tar.xz 167028880 BLAKE2B cd867371fecc8b4771c919a4d966cec25539dbaff5398e9c62ab5fe2f82b97bcc097f2319194cb796f6ee874b83c001ece5dc2d2e41c8807f88d91e67b71cf61 SHA512 9f9e84110a4bb0f0dd296eaed4acb4fd3a58838efe62bb88671399440ba4750ba8bd7e6d072e61a9946e38e5c9d5e50575b95964850769c51cd517bdf7425bb8
DIST llvm-project-22.1.4.src.tar.xz.sig 119 BLAKE2B ff8004fd03f1d5be9da33ddf19b9c4d9408f0dfb0e9e141eeb3cffec4fd285017f913b8f624a7aa1316c228928abb95832aabea43712507f4f644cf59e757bc8 SHA512 29287637e8c2e40666c6cca054622f894a132925d532017c0f3144573757cce50f85dcc356f48b335dee7115627ff249b287ad821075835314dce0dfbc733b8a
+DIST llvm-project-6f2e1a120ebb75da9b3fe6afb19231aa0f801a34.tar.gz 270304465 BLAKE2B 43bca1c7f0996febbf3e840375f6b91d18a83e197890fbb19724a217e772b111ca33b15098b969cb74797dd67ca81b23b8ca36b35f084f6252e3a4b38e431c82 SHA512 28cf27b9f65b8525ba30bbfda6765b14bd5db8c5c88ef711fee408b691dd2b9e373db99f4862e76d692571ebf4e746cd9495ad6c8248e07e9b574cee066a20da
DIST llvm-project-99457c368586b1debf49f55b3a0684317f5f298d.tar.gz 269907211 BLAKE2B aae5040ece1fa0eacd32468feee9896d614b7e91044ef504df2c80fc57fb42d2db162f01cfdd9c91c7e80fb9fa109440b6887451c96227f47308eb99d9249ef9 SHA512 0e865b56b8f3bf3f7e0fb9a5dfaa97b7d82c915e14474d07d7c036641f68727f2a81179110e3a1c3b424e0233d55589c568fcde2a98aec3a0882ab3a45c62e6c
diff --git a/llvm-runtimes/libgcc/libgcc-23.0.0_pre20260428.ebuild b/llvm-runtimes/libgcc/libgcc-23.0.0_pre20260428.ebuild
new file mode 100644
index 000000000000..514340a20c64
--- /dev/null
+++ b/llvm-runtimes/libgcc/libgcc-23.0.0_pre20260428.ebuild
@@ -0,0 +1,173 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Compiler runtime library for clang, compatible with libgcc_s"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+IUSE="debug test"
+
+DEPEND="
+ ~llvm-runtimes/libunwind-${PV}[static-libs]
+"
+RDEPEND="
+ ${DEPEND}
+ !sys-devel/gcc
+"
+BDEPEND="
+ llvm-core/clang:${LLVM_MAJOR}
+ test? (
+ $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+ =llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc third-party/siphash )
+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_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
+}
+
+src_configure() {
+ # We need to build a separate copy of compiler-rt, because we need to disable the
+ # COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires
+ # visibility of all symbols.
+
+ llvm_prepend_path -b "${LLVM_MAJOR}"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ export CC=${CTARGET}-clang CXX=${CTARGET}-clang++
+ strip-unsupported-flags
+
+ local mycmakeargs=(
+ -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+ -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}"
+
+ -DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+ -DCOMPILER_RT_BUILD_CRT=OFF
+ -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
+
+ -DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+
+ # disable building non-native runtimes since we don't do multilib
+ if use amd64; then
+ mycmakeargs+=(
+ -DCAN_TARGET_i386=OFF
+ )
+ 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
+}
+
+# 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
+}
+
+src_compile() {
+ cmake_src_compile
+
+ local rtlib=$(
+ "${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \
+ -print-libgcc-file-name || die
+ )
+
+ # Use the llvm-libgcc's version script to produce libgcc.{a,so}, which
+ # combines compiler-rt and libunwind into a libgcc replacement.
+ #
+ # What we do here is similar to what upstream does[0], with the following
+ # differences:
+ #
+ # * We build the local copy of compiler-rt manually, to have a full control
+ # over CMake options.
+ # * Upstream links the locally built copy of libunwind statically. We link the
+ # system-wide libunwind dynamically.
+ #
+ # [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120
+ "${CC}" -E -xc \
+ "${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \
+ -o gcc_s.ver || die
+ "${CC}" -nostdlib \
+ ${LDFLAGS} \
+ -Wl,--version-script,gcc_s.ver \
+ -Wl,--undefined-version \
+ -Wl,--whole-archive \
+ "${rtlib}" \
+ -Wl,-soname,libgcc_s.so.1.0 \
+ -lc -lunwind -shared \
+ -o libgcc_s.so.1.0 || die
+ # Generate libgcc_s.so ldscript for inclusion of libunwind as a
+ # dependency so that `clang -lgcc_s` works out of the box.
+ gen_ldscript libgcc_s.so.1.0 libunwind.so.1.0 > libgcc_s.so || die
+ cp "${rtlib}" libgcc.a || die
+}
+
+src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+
+ cmake_build check-builtins
+}
+
+src_install() {
+ local libdir=$(get_libdir)
+ dolib.so libgcc_s.so.1.0 libgcc_s.so
+ dolib.a libgcc.a
+ dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1"
+ dosym libunwind.a "/usr/${libdir}/libgcc_eh.a"
+}
diff --git a/llvm-runtimes/libunwind/Manifest b/llvm-runtimes/libunwind/Manifest
index 08aefbcebcc3..65ecef20b0a2 100644
--- a/llvm-runtimes/libunwind/Manifest
+++ b/llvm-runtimes/libunwind/Manifest
@@ -12,4 +12,5 @@ DIST llvm-project-21.1.8.src.tar.xz 158958576 BLAKE2B 0d3d4ee920f8e5db50e9815261
DIST llvm-project-21.1.8.src.tar.xz.sig 119 BLAKE2B cffc1825f5778a3e3c128ec3e856ff6ee50687319d621cdf42e895abf67e05cc51cb7493308e2b506ab60dbdbaca7aa75eb9f78d91d42c81f9682a36f4042e9d SHA512 10f58eff58ed6e701d0f123b15e68c82ab8cbdf99b1c86c0d83e3b8553e90ea51055e30327e8e442ded57c8f503e2a2de9ee075e9c28b5ba815a0f8922f8671c
DIST llvm-project-22.1.4.src.tar.xz 167028880 BLAKE2B cd867371fecc8b4771c919a4d966cec25539dbaff5398e9c62ab5fe2f82b97bcc097f2319194cb796f6ee874b83c001ece5dc2d2e41c8807f88d91e67b71cf61 SHA512 9f9e84110a4bb0f0dd296eaed4acb4fd3a58838efe62bb88671399440ba4750ba8bd7e6d072e61a9946e38e5c9d5e50575b95964850769c51cd517bdf7425bb8
DIST llvm-project-22.1.4.src.tar.xz.sig 119 BLAKE2B ff8004fd03f1d5be9da33ddf19b9c4d9408f0dfb0e9e141eeb3cffec4fd285017f913b8f624a7aa1316c228928abb95832aabea43712507f4f644cf59e757bc8 SHA512 29287637e8c2e40666c6cca054622f894a132925d532017c0f3144573757cce50f85dcc356f48b335dee7115627ff249b287ad821075835314dce0dfbc733b8a
+DIST llvm-project-6f2e1a120ebb75da9b3fe6afb19231aa0f801a34.tar.gz 270304465 BLAKE2B 43bca1c7f0996febbf3e840375f6b91d18a83e197890fbb19724a217e772b111ca33b15098b969cb74797dd67ca81b23b8ca36b35f084f6252e3a4b38e431c82 SHA512 28cf27b9f65b8525ba30bbfda6765b14bd5db8c5c88ef711fee408b691dd2b9e373db99f4862e76d692571ebf4e746cd9495ad6c8248e07e9b574cee066a20da
DIST llvm-project-99457c368586b1debf49f55b3a0684317f5f298d.tar.gz 269907211 BLAKE2B aae5040ece1fa0eacd32468feee9896d614b7e91044ef504df2c80fc57fb42d2db162f01cfdd9c91c7e80fb9fa109440b6887451c96227f47308eb99d9249ef9 SHA512 0e865b56b8f3bf3f7e0fb9a5dfaa97b7d82c915e14474d07d7c036641f68727f2a81179110e3a1c3b424e0233d55589c568fcde2a98aec3a0882ab3a45c62e6c
diff --git a/llvm-runtimes/libunwind/libunwind-23.0.0_pre20260428.ebuild b/llvm-runtimes/libunwind/libunwind-23.0.0_pre20260428.ebuild
new file mode 100644
index 000000000000..1df47fa29ae7
--- /dev/null
+++ b/llvm-runtimes/libunwind/libunwind-23.0.0_pre20260428.ebuild
@@ -0,0 +1,193 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..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}
+ llvm-core/clang-linker-config:${LLVM_MAJOR}
+ llvm-runtimes/clang-rtlib-config:${LLVM_MAJOR}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )
+ test? (
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ )
+"
+
+LLVM_COMPONENTS=( runtimes libunwind libcxx llvm/{cmake,utils} cmake )
+LLVM_TEST_COMPONENTS=( libc libcxxabi )
+llvm.org_set_globals
+
+python_check_deps() {
+ use test || return 0
+ python_has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+test_compiler() {
+ target_is_not_host && return
+ local compiler=${1}
+ shift
+ ${compiler} ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \
+ <<<'int main() { return 0; }' &>/dev/null
+}
+
+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-${LLVM_MAJOR}
+ local -x CXX=${CTARGET}-clang++-${LLVM_MAJOR}
+ strip-unsupported-flags
+
+ # The full clang configuration might not be ready yet. Use the partial
+ # configuration files that are guaranteed to exist even during initial
+ # installations and upgrades.
+ local flags=(
+ --config="${ESYSROOT}"/etc/clang/"${LLVM_MAJOR}"/gentoo-{rtlib,linker}.cfg
+ )
+ local -x CFLAGS="${CFLAGS} ${flags[@]}"
+ local -x CXXFLAGS="${CXXFLAGS} ${flags[@]}"
+ local -x LDFLAGS="${LDFLAGS} ${flags[@]}"
+ fi
+
+ # Check whether C compiler runtime is available.
+ if ! test_compiler "$(tc-getCC)"; then
+ local nolib_flags=( -nodefaultlibs -lc )
+ if test_compiler "$(tc-getCC)" "${nolib_flags[@]}"; then
+ local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+ ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}"
+ elif test_compiler "$(tc-getCC)" "${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
+ # Check whether C++ standard library is available,
+ local nostdlib_flags=( -nostdlib++ )
+ if ! test_compiler "$(tc-getCXX)" &&
+ test_compiler "$(tc-getCXX)" "${nostdlib_flags[@]}"
+ then
+ local -x LDFLAGS="${LDFLAGS} ${nostdlib_flags[*]}"
+ ewarn "${CXX} seems to lack runtime, trying with ${nostdlib_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
+}
diff --git a/llvm-runtimes/openmp-amdgcn-amd-amdhsa/Manifest b/llvm-runtimes/openmp-amdgcn-amd-amdhsa/Manifest
index bdc1227dc6ca..810126aa82c9 100644
--- a/llvm-runtimes/openmp-amdgcn-amd-amdhsa/Manifest
+++ b/llvm-runtimes/openmp-amdgcn-amd-amdhsa/Manifest
@@ -1,3 +1,4 @@
DIST llvm-project-22.1.4.src.tar.xz 167028880 BLAKE2B cd867371fecc8b4771c919a4d966cec25539dbaff5398e9c62ab5fe2f82b97bcc097f2319194cb796f6ee874b83c001ece5dc2d2e41c8807f88d91e67b71cf61 SHA512 9f9e84110a4bb0f0dd296eaed4acb4fd3a58838efe62bb88671399440ba4750ba8bd7e6d072e61a9946e38e5c9d5e50575b95964850769c51cd517bdf7425bb8
DIST llvm-project-22.1.4.src.tar.xz.sig 119 BLAKE2B ff8004fd03f1d5be9da33ddf19b9c4d9408f0dfb0e9e141eeb3cffec4fd285017f913b8f624a7aa1316c228928abb95832aabea43712507f4f644cf59e757bc8 SHA512 29287637e8c2e40666c6cca054622f894a132925d532017c0f3144573757cce50f85dcc356f48b335dee7115627ff249b287ad821075835314dce0dfbc733b8a
+DIST llvm-project-6f2e1a120ebb75da9b3fe6afb19231aa0f801a34.tar.gz 270304465 BLAKE2B 43bca1c7f0996febbf3e840375f6b91d18a83e197890fbb19724a217e772b111ca33b15098b969cb74797dd67ca81b23b8ca36b35f084f6252e3a4b38e431c82 SHA512 28cf27b9f65b8525ba30bbfda6765b14bd5db8c5c88ef711fee408b691dd2b9e373db99f4862e76d692571ebf4e746cd9495ad6c8248e07e9b574cee066a20da
DIST llvm-project-99457c368586b1debf49f55b3a0684317f5f298d.tar.gz 269907211 BLAKE2B aae5040ece1fa0eacd32468feee9896d614b7e91044ef504df2c80fc57fb42d2db162f01cfdd9c91c7e80fb9fa109440b6887451c96227f47308eb99d9249ef9 SHA512 0e865b56b8f3bf3f7e0fb9a5dfaa97b7d82c915e14474d07d7c036641f68727f2a81179110e3a1c3b424e0233d55589c568fcde2a98aec3a0882ab3a45c62e6c
diff --git a/llvm-runtimes/openmp-amdgcn-amd-amdhsa/openmp-amdgcn-amd-amdhsa-23.0.0_pre20260428.ebuild b/llvm-runtimes/openmp-amdgcn-amd-amdhsa/openmp-amdgcn-amd-amdhsa-23.0.0_pre20260428.ebuild
new file mode 100644
index 000000000000..12a26b0808b8
--- /dev/null
+++ b/llvm-runtimes/openmp-amdgcn-amd-amdhsa/openmp-amdgcn-amd-amdhsa-23.0.0_pre20260428.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..14} )
+inherit cmake flag-o-matic llvm.org
+
+DESCRIPTION="OpenMP target library for amdgcn devices"
+HOMEPAGE="https://openmp.llvm.org"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0/${LLVM_SOABI}"
+
+RDEPEND="
+ !<llvm-runtimes/offload-22[llvm_targets_AMDGPU(-)]
+"
+BDEPEND="
+ ~llvm-core/clang-${PV}:${LLVM_MAJOR}[llvm_targets_AMDGPU]
+ llvm-core/lld:${LLVM_MAJOR}[llvm_targets_AMDGPU]
+"
+
+LLVM_COMPONENTS=(
+ runtimes openmp cmake llvm/{cmake,utils} libc/shared
+ offload/include
+)
+llvm.org_set_globals
+
+src_configure() {
+ local -x CC=${CHOST}-clang-${LLVM_MAJOR}
+ local -x CXX=${CHOST}-clang++-${LLVM_MAJOR}
+ local triple=${PN#openmp-}
+ filter-flags '-m*'
+ strip-unsupported-flags
+
+ local mycmakeargs=(
+ -DLLVM_DEFAULT_TARGET_TRIPLE=${triple}
+ -DLLVM_ENABLE_RUNTIMES=openmp
+ -DOPENMP_INSTALL_LIBDIR="$(get_libdir)/${triple}"
+ )
+ cmake_src_configure
+}
diff --git a/llvm-runtimes/openmp-nvptx64-nvidia-cuda/Manifest b/llvm-runtimes/openmp-nvptx64-nvidia-cuda/Manifest
index bdc1227dc6ca..810126aa82c9 100644
--- a/llvm-runtimes/openmp-nvptx64-nvidia-cuda/Manifest
+++ b/llvm-runtimes/openmp-nvptx64-nvidia-cuda/Manifest
@@ -1,3 +1,4 @@
DIST llvm-project-22.1.4.src.tar.xz 167028880 BLAKE2B cd867371fecc8b4771c919a4d966cec25539dbaff5398e9c62ab5fe2f82b97bcc097f2319194cb796f6ee874b83c001ece5dc2d2e41c8807f88d91e67b71cf61 SHA512 9f9e84110a4bb0f0dd296eaed4acb4fd3a58838efe62bb88671399440ba4750ba8bd7e6d072e61a9946e38e5c9d5e50575b95964850769c51cd517bdf7425bb8
DIST llvm-project-22.1.4.src.tar.xz.sig 119 BLAKE2B ff8004fd03f1d5be9da33ddf19b9c4d9408f0dfb0e9e141eeb3cffec4fd285017f913b8f624a7aa1316c228928abb95832aabea43712507f4f644cf59e757bc8 SHA512 29287637e8c2e40666c6cca054622f894a132925d532017c0f3144573757cce50f85dcc356f48b335dee7115627ff249b287ad821075835314dce0dfbc733b8a
+DIST llvm-project-6f2e1a120ebb75da9b3fe6afb19231aa0f801a34.tar.gz 270304465 BLAKE2B 43bca1c7f0996febbf3e840375f6b91d18a83e197890fbb19724a217e772b111ca33b15098b969cb74797dd67ca81b23b8ca36b35f084f6252e3a4b38e431c82 SHA512 28cf27b9f65b8525ba30bbfda6765b14bd5db8c5c88ef711fee408b691dd2b9e373db99f4862e76d692571ebf4e746cd9495ad6c8248e07e9b574cee066a20da
DIST llvm-project-99457c368586b1debf49f55b3a0684317f5f298d.tar.gz 269907211 BLAKE2B aae5040ece1fa0eacd32468feee9896d614b7e91044ef504df2c80fc57fb42d2db162f01cfdd9c91c7e80fb9fa109440b6887451c96227f47308eb99d9249ef9 SHA512 0e865b56b8f3bf3f7e0fb9a5dfaa97b7d82c915e14474d07d7c036641f68727f2a81179110e3a1c3b424e0233d55589c568fcde2a98aec3a0882ab3a45c62e6c
diff --git a/llvm-runtimes/openmp-nvptx64-nvidia-cuda/openmp-nvptx64-nvidia-cuda-23.0.0_pre20260428.ebuild b/llvm-runtimes/openmp-nvptx64-nvidia-cuda/openmp-nvptx64-nvidia-cuda-23.0.0_pre20260428.ebuild
new file mode 100644
index 000000000000..c8ff5a3ef080
--- /dev/null
+++ b/llvm-runtimes/openmp-nvptx64-nvidia-cuda/openmp-nvptx64-nvidia-cuda-23.0.0_pre20260428.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..14} )
+inherit cmake flag-o-matic llvm.org
+
+DESCRIPTION="OpenMP target library for nvptx64 devices"
+HOMEPAGE="https://openmp.llvm.org"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0/${LLVM_SOABI}"
+
+RDEPEND="
+ !<llvm-runtimes/offload-22[llvm_targets_NVPTX(-)]
+"
+BDEPEND="
+ ~llvm-core/clang-${PV}:${LLVM_MAJOR}[llvm_targets_NVPTX]
+ llvm-core/lld:${LLVM_MAJOR}[llvm_targets_NVPTX]
+"
+
+LLVM_COMPONENTS=(
+ runtimes openmp cmake llvm/{cmake,utils} libc/shared
+ offload/include
+)
+llvm.org_set_globals
+
+src_configure() {
+ local -x CC=${CHOST}-clang-${LLVM_MAJOR}
+ local -x CXX=${CHOST}-clang++-${LLVM_MAJOR}
+ local triple=${PN#openmp-}
+ filter-flags '-m*'
+ strip-unsupported-flags
+
+ local mycmakeargs=(
+ -DLLVM_DEFAULT_TARGET_TRIPLE=${triple}
+ -DLLVM_ENABLE_RUNTIMES=openmp
+ -DOPENMP_INSTALL_LIBDIR="$(get_libdir)/${triple}"
+ )
+ cmake_src_configure
+}
diff --git a/llvm-runtimes/openmp-spirv64-intel/Manifest b/llvm-runtimes/openmp-spirv64-intel/Manifest
index c8e27d93f977..65e12cd98433 100644
--- a/llvm-runtimes/openmp-spirv64-intel/Manifest
+++ b/llvm-runtimes/openmp-spirv64-intel/Manifest
@@ -1 +1,2 @@
+DIST llvm-project-6f2e1a120ebb75da9b3fe6afb19231aa0f801a34.tar.gz 270304465 BLAKE2B 43bca1c7f0996febbf3e840375f6b91d18a83e197890fbb19724a217e772b111ca33b15098b969cb74797dd67ca81b23b8ca36b35f084f6252e3a4b38e431c82 SHA512 28cf27b9f65b8525ba30bbfda6765b14bd5db8c5c88ef711fee408b691dd2b9e373db99f4862e76d692571ebf4e746cd9495ad6c8248e07e9b574cee066a20da
DIST llvm-project-99457c368586b1debf49f55b3a0684317f5f298d.tar.gz 269907211 BLAKE2B aae5040ece1fa0eacd32468feee9896d614b7e91044ef504df2c80fc57fb42d2db162f01cfdd9c91c7e80fb9fa109440b6887451c96227f47308eb99d9249ef9 SHA512 0e865b56b8f3bf3f7e0fb9a5dfaa97b7d82c915e14474d07d7c036641f68727f2a81179110e3a1c3b424e0233d55589c568fcde2a98aec3a0882ab3a45c62e6c
diff --git a/llvm-runtimes/openmp-spirv64-intel/openmp-spirv64-intel-23.0.0_pre20260428.ebuild b/llvm-runtimes/openmp-spirv64-intel/openmp-spirv64-intel-23.0.0_pre20260428.ebuild
new file mode 100644
index 000000000000..3c5113e0f3fd
--- /dev/null
+++ b/llvm-runtimes/openmp-spirv64-intel/openmp-spirv64-intel-23.0.0_pre20260428.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..14} )
+inherit cmake flag-o-matic llvm.org
+
+DESCRIPTION="OpenMP target library for spirv64 Intel devices"
+HOMEPAGE="https://openmp.llvm.org"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0/${LLVM_SOABI}"
+
+BDEPEND="
+ ~llvm-core/clang-${PV}:${LLVM_MAJOR}[llvm_targets_SPIRV]
+ llvm-core/lld:${LLVM_MAJOR}[llvm_targets_SPIRV]
+"
+
+LLVM_COMPONENTS=(
+ runtimes openmp cmake llvm/{cmake,utils} libc/shared
+ offload/include
+)
+llvm.org_set_globals
+
+src_configure() {
+ local -x CC=${CHOST}-clang-${LLVM_MAJOR}
+ local -x CXX=${CHOST}-clang++-${LLVM_MAJOR}
+ local triple=${PN#openmp-}
+ filter-flags '-m*'
+ strip-unsupported-flags
+
+ # https://github.com/llvm/llvm-project/issues/186598
+ filter-ldflags '-Wl,*'
+
+ local mycmakeargs=(
+ -DLLVM_DEFAULT_TARGET_TRIPLE=${triple}
+ -DLLVM_ENABLE_RUNTIMES=openmp
+ -DOPENMP_INSTALL_LIBDIR="$(get_libdir)/${triple}"
+ )
+ cmake_src_configure
+}
diff --git a/llvm-runtimes/openmp/Manifest b/llvm-runtimes/openmp/Manifest
index 08aefbcebcc3..65ecef20b0a2 100644
--- a/llvm-runtimes/openmp/Manifest
+++ b/llvm-runtimes/openmp/Manifest
@@ -12,4 +12,5 @@ DIST llvm-project-21.1.8.src.tar.xz 158958576 BLAKE2B 0d3d4ee920f8e5db50e9815261
DIST llvm-project-21.1.8.src.tar.xz.sig 119 BLAKE2B cffc1825f5778a3e3c128ec3e856ff6ee50687319d621cdf42e895abf67e05cc51cb7493308e2b506ab60dbdbaca7aa75eb9f78d91d42c81f9682a36f4042e9d SHA512 10f58eff58ed6e701d0f123b15e68c82ab8cbdf99b1c86c0d83e3b8553e90ea51055e30327e8e442ded57c8f503e2a2de9ee075e9c28b5ba815a0f8922f8671c
DIST llvm-project-22.1.4.src.tar.xz 167028880 BLAKE2B cd867371fecc8b4771c919a4d966cec25539dbaff5398e9c62ab5fe2f82b97bcc097f2319194cb796f6ee874b83c001ece5dc2d2e41c8807f88d91e67b71cf61 SHA512 9f9e84110a4bb0f0dd296eaed4acb4fd3a58838efe62bb88671399440ba4750ba8bd7e6d072e61a9946e38e5c9d5e50575b95964850769c51cd517bdf7425bb8
DIST llvm-project-22.1.4.src.tar.xz.sig 119 BLAKE2B ff8004fd03f1d5be9da33ddf19b9c4d9408f0dfb0e9e141eeb3cffec4fd285017f913b8f624a7aa1316c228928abb95832aabea43712507f4f644cf59e757bc8 SHA512 29287637e8c2e40666c6cca054622f894a132925d532017c0f3144573757cce50f85dcc356f48b335dee7115627ff249b287ad821075835314dce0dfbc733b8a
+DIST llvm-project-6f2e1a120ebb75da9b3fe6afb19231aa0f801a34.tar.gz 270304465 BLAKE2B 43bca1c7f0996febbf3e840375f6b91d18a83e197890fbb19724a217e772b111ca33b15098b969cb74797dd67ca81b23b8ca36b35f084f6252e3a4b38e431c82 SHA512 28cf27b9f65b8525ba30bbfda6765b14bd5db8c5c88ef711fee408b691dd2b9e373db99f4862e76d692571ebf4e746cd9495ad6c8248e07e9b574cee066a20da
DIST llvm-project-99457c368586b1debf49f55b3a0684317f5f298d.tar.gz 269907211 BLAKE2B aae5040ece1fa0eacd32468feee9896d614b7e91044ef504df2c80fc57fb42d2db162f01cfdd9c91c7e80fb9fa109440b6887451c96227f47308eb99d9249ef9 SHA512 0e865b56b8f3bf3f7e0fb9a5dfaa97b7d82c915e14474d07d7c036641f68727f2a81179110e3a1c3b424e0233d55589c568fcde2a98aec3a0882ab3a45c62e6c
diff --git a/llvm-runtimes/openmp/openmp-23.0.0_pre20260428.ebuild b/llvm-runtimes/openmp/openmp-23.0.0_pre20260428.ebuild
new file mode 100644
index 000000000000..44761206be99
--- /dev/null
+++ b/llvm-runtimes/openmp/openmp-23.0.0_pre20260428.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..14} )
+inherit cmake-multilib crossdev flag-o-matic llvm.org python-single-r1
+inherit toolchain-funcs
+
+DESCRIPTION="OpenMP runtime libraries for LLVM/clang compiler"
+HOMEPAGE="https://openmp.llvm.org"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0/${LLVM_SOABI}"
+IUSE="
+ +clang +debug gdb-plugin hwloc offload ompt test
+ cuda level-zero rocm
+"
+REQUIRED_USE="
+ gdb-plugin? ( ${PYTHON_REQUIRED_USE} )
+"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ hwloc? ( >=sys-apps/hwloc-2.5:0=[${MULTILIB_USEDEP}] )
+ offload? (
+ dev-libs/libffi:=
+ ~llvm-core/llvm-${PV}
+ level-zero? ( dev-libs/level-zero:= )
+ rocm? ( dev-libs/rocr-runtime:= )
+ )
+"
+# tests:
+# - dev-python/lit provides the test runner
+# - llvm-core/llvm provide test utils (e.g. FileCheck)
+# - llvm-core/clang provides the compiler to run tests
+RDEPEND="
+ ${DEPEND}
+ gdb-plugin? ( ${PYTHON_DEPS} )
+ offload? (
+ !llvm-runtimes/offload
+ cuda? ( ~llvm-runtimes/openmp-nvptx64-nvidia-cuda-${PV} )
+ level-zero? ( ~llvm-runtimes/openmp-spirv64-intel-${PV} )
+ rocm? ( ~llvm-runtimes/openmp-amdgcn-amd-amdhsa-${PV} )
+ )
+"
+BDEPEND="
+ dev-lang/perl
+ clang? ( llvm-core/clang )
+ gdb-plugin? ( ${PYTHON_DEPS} )
+ offload? (
+ virtual/pkgconfig
+ )
+ test? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/lit[${PYTHON_USEDEP}]
+ ')
+ llvm-core/clang:${LLVM_MAJOR}
+ llvm-core/llvm:${LLVM_MAJOR}
+ )
+"
+
+LLVM_COMPONENTS=(
+ runtimes openmp offload cmake libc llvm/{cmake,include,utils}
+ third-party/unittest
+)
+llvm.org_set_globals
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/offload/OffloadPrint.hpp
+ /usr/include/offload/OffloadAPI.h
+)
+
+pkg_pretend() {
+ if [[ ${LLVM_ALLOW_GPU_TESTING} ]]; then
+ ewarn "LLVM_ALLOW_GPU_TESTING set. This package will run tests against your"
+ ewarn "GPU if it is supported. Note that these tests may be flaky, fail or"
+ ewarn "hang, or even cause your GPU to crash (requiring a reboot)."
+ fi
+}
+
+pkg_setup() {
+ if use gdb-plugin || use test; then
+ python-single-r1_pkg_setup
+ fi
+}
+
+multilib_src_configure() {
+ 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
+
+ # 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=(
+ -DLLVM_ENABLE_RUNTIMES=openmp
+ -DLLVM_LIBDIR_SUFFIX="${libdir#lib}"
+ -DLLVM_BINARY_DIR="${BROOT}/usr/lib/llvm/${LLVM_MAJOR}"
+
+ -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
+ # this breaks building static target libs
+ -DBUILD_SHARED_LIBS=OFF
+ )
+
+ if multilib_is_native_abi && use offload; then
+ local ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ local ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ local plugins="host"
+
+ if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then
+ if use rocm; then
+ plugins+=";amdgpu"
+ fi
+ if use cuda; then
+ plugins+=";cuda"
+ fi
+ if use level-zero; then
+ plugins+=";level_zero"
+ fi
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_ENABLE_RUNTIMES="openmp;offload"
+ -DOFFLOAD_INCLUDE_TESTS=$(usex test)
+ -DLIBOMPTARGET_PLUGINS_TO_BUILD="${plugins}"
+ -DLIBOMPTARGET_OMPT_SUPPORT="$(usex ompt)"
+ )
+
+ [[ ! ${LLVM_ALLOW_GPU_TESTING} ]] && mycmakeargs+=(
+ # prevent trying to access the GPU
+ -DLIBOMPTARGET_AMDGPU_ARCH=LIBOMPTARGET_AMDGPU_ARCH-NOTFOUND
+ -DLIBOMPTARGET_NVPTX_ARCH=LIBOMPTARGET_NVPTX_ARCH-NOTFOUND
+ -DLIBOMPTARGET_OFFLOAD_ARCH=LIBOMPTARGET_OFFLOAD_ARCH-NOTFOUND
+ )
+ fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ -DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang-${LLVM_MAJOR}")"
+ -DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++-${LLVM_MAJOR}")"
+ # disable Fortran tests for now
+ # (TODO: enable where we have flang keyworded)
+ -DOPENMP_TEST_Fortran_COMPILER=
+ )
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ local targets=( check-openmp )
+ if multilib_is_native_abi && use offload; then
+ targets+=( check-offload check-offload-unit )
+ fi
+
+ cmake_build "${targets[@]}"
+}