summaryrefslogtreecommitdiff
path: root/llvm-runtimes/libcxx
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-02-16 00:13:18 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-02-16 00:13:18 +0000
commitf2bdc27fe0f79f8f9a3945eb2b1163ce75c56439 (patch)
treedd0f7da0455831dffb2cb662e7dae760f92e68ad /llvm-runtimes/libcxx
parent770d63f36dbe1722e0ff9ab55eeca49986f01527 (diff)
gentoo auto-resync : 16:02:2025 - 00:13:18
Diffstat (limited to 'llvm-runtimes/libcxx')
-rw-r--r--llvm-runtimes/libcxx/Manifest11
-rw-r--r--llvm-runtimes/libcxx/libcxx-20.1.0_rc1.ebuild208
-rw-r--r--llvm-runtimes/libcxx/libcxx-21.0.0_pre20250201.ebuild208
-rw-r--r--llvm-runtimes/libcxx/libcxx-21.0.0_pre20250208.ebuild208
-rw-r--r--llvm-runtimes/libcxx/libcxx-21.0.0_pre20250215.ebuild (renamed from llvm-runtimes/libcxx/libcxx-20.0.0_pre20250125.ebuild)0
5 files changed, 2 insertions, 633 deletions
diff --git a/llvm-runtimes/libcxx/Manifest b/llvm-runtimes/libcxx/Manifest
index f3b56531a53c..ecba4c5c5699 100644
--- a/llvm-runtimes/libcxx/Manifest
+++ b/llvm-runtimes/libcxx/Manifest
@@ -12,25 +12,18 @@ DIST llvm-project-19.1.4.src.tar.xz 141255156 BLAKE2B b99cd8a96e38dbcfb582ee5d22
DIST llvm-project-19.1.4.src.tar.xz.sig 438 BLAKE2B b0925bdb761046d69779e0b035e29430bc09ef2b81be763aa5c853793631d7b7fdd65eb4dae7a1e3b4daa15d189c24cd1e14f065f79fdbf75429fa34be9b330e SHA512 3fb4a6c7594cb43680860698dac47062dde30de60f515dcecdad63812ea1edfb2cb209d0a7ac2254589c245a95b7c0f571b582e0d4b97a6ae8242563483ea764
DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818befdee20fd8bed4d2dc2c2c6f6f56451fd43d35ac03a0a5a406e142d22b25137999dc5b17471c196f8fcf79f20a8296832d900f6d SHA512 c7d63286d662707a9cd54758c9e3aaf52794a91900c484c4a6efa62d90bc719d5e7a345e4192feeb0c9fd11c82570d64677c781e5be1d645556b6aa018e47ec8
DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda
-DIST llvm-project-1f26ac10ca1bef40a80be8f81a6f109713bc586f.tar.gz 226424755 BLAKE2B 642befb8d6923f335d1d68129ebb7357f8ba22e110df494dd956c8097e4e5db4b2a88fcc069ab67184b03558f072c68e002bdaf90eba865e38b1473a0ef29eed SHA512 e9bb4fd31bbad5ec864c662515b5ec2e5511cce975040f9f3cd8f009c92f76077928feae0467fd9519a001a379c857f7539c506953d8d5a9209a9f358f414aac
-DIST llvm-project-20.1.0-rc1.src.tar.xz 147144668 BLAKE2B ea4733962f38ea5897c73e91840818921739909c3671749bc8a0b1d2798e5a0815bbe750ade3a2a7414836ab7158754818b2f9370a4ee1bbbd52c96b1e95ef9b SHA512 c23c4b1227b6b0b7c3059358e64a00ee98893236bb1a0a41d7e821bdf2aa8353aea8f9f7b9498899c6807b9b8e2ceb06c3cd62e32fd07a786a319135055541b4
-DIST llvm-project-20.1.0-rc1.src.tar.xz.sig 566 BLAKE2B 32eb278ec4ff1bb9d258b584922b0d227f4126a957ba75af44dcaa63b6a12ef73db56d6a86f24244af47803ddf6a243149d784f08137cbea60b49700be537705 SHA512 d7a334326201f8ca78284b33c325f180538667a0401bc30931e790aacc96dd78f6559c45929b6c335d40ef1dbe772738c0ce55d881ae3d7401733778b485408c
DIST llvm-project-20.1.0-rc2.src.tar.xz 147160684 BLAKE2B 6adc1226f022272d78fb0ed361c190d369a2afc53bf868409fe8f4e092d5ffb9894c71870f072bb68162610782f48088468b4a49cdb1bc731d6689c791a5b5e3 SHA512 f303deaec8f25e1b122a7e85df192b6ea10c51472b78a3d14ad9d0b976a533cfbb9164aff0bc99e447e30938cf43363552c5493b4693e1f23291ea7a9b824bbb
DIST llvm-project-20.1.0-rc2.src.tar.xz.sig 566 BLAKE2B aa91f7be228e51b0f2234bb5e0df173e3ddc90b6db4350a9008c2f8ba53220da6eef0c69778aecac3caecf918a0c54a0d910177ffe7643ad7fc5624a97262b7f SHA512 e5563a8a79b5e9ef26d62dc6d4385c1c86d12a652b4b1e7fc9ce45a2ea66e5118112746a61b439823bf99d65aea82285eabf5e07714eec77e6e5cd02feab82ce
DIST llvm-project-2cd8207b26ea4269630feba661f68554d7ae3c15.tar.gz 227261597 BLAKE2B 51ce992b651fcf08b7fd520420040803b59f1260947953325400c50bec576c418b162d8ae2d2307e70b885b1185c302a97409bcfe48cdb14b8e1384f4e2dfa9e SHA512 a41749943508ea4a18b47c4e947917b5268544e64372c0c3347f9ab8172a2c229d8b1d813d1e842be1b98aedd624524857ed3bb23fe98ad5f36e7a71581abb4b
-DIST llvm-project-6f241e36831927e3aea113cfc017c34fdeda340a.tar.gz 227203285 BLAKE2B 8d5e424c1836acc82ea766cd2cef104593c44d197ebeb64f18dbe74b1b5baeb4bc84084f5b68bd87ac36f7df25689dd2522cb6674a97da4f96f4f10f7bae5b06 SHA512 2b6e4bd6445eabfa3ace9b45d20797c7afc23f4553a8938399aeba227e3b8ca6a53a7d7762925a845bfed031c37af692b9c08180fbab80db2f3166940e560077
-DIST llvm-project-bfa7edcc6652bdb37d53e0cec64926aab3f280eb.tar.gz 226735989 BLAKE2B 165837dc526e618b44c49d5fa3dceda373452e010a09746bff248903fe77874637d05ab9f5d2f63de7ebce5c14e3b19a131313a4a557adfd20fe9cb93ab60476 SHA512 e9e19176fcf1302727ee34d69eaa820b94959d64ceaf754d8a93ebd5e262cec7fe35e87b08f705b09e42c3ea26b671318eecf10e9137c635b12f481f80fbac23
+DIST llvm-project-c30a7f459452d5766da244564bc1d5888346c364.tar.gz 227560986 BLAKE2B c1c833aa6d488530826d96db81ca8be2fcf842ccf5b10a65ff18269fdfa32fa2742fb0a547eb315c2a9ee383e1b6b6cce4a78136e1740e04d322c79fb6a66a86 SHA512 0b68d3462e5eac89f50cff5e64603758ab74c701ff2de88c8569dd45b7e702b5d13b26c2745615c0c355d46d13765f47e4d43e61cde735240c6f386c0090becb
EBUILD libcxx-15.0.7-r1.ebuild 5288 BLAKE2B 5c619de6d028fbce7abc50adec16c5c825ef39d7d7477b09aa02150e089b963928a54dcb5a9b7f02ddfa7827e1cccea35cfef7640561214bc16d0b81ea0d8e72 SHA512 410ae6f3ece045192cd6eb589c06f11a5b71d3e6fcfe882793d6a910ea0fa10ce5904874c7488280c5383b36954189255799a745be7aa98cfd27af6338dcfd66
EBUILD libcxx-16.0.6.ebuild 5305 BLAKE2B 0a625868cac2747c0cae6cd722d238ad6f9ec80a4cfbaa1e927990975f6f40a509af4e227baa0b7c562123fc04f7059a6fe71f19061727cf68b22c789741e470 SHA512 f337115153389372c38d2fece3642f707fd0516b913626cb71b111850e853a4dafdcad98e852de01fb62e99044e197958319ef1179ffa248805eb1f27efc09ae
EBUILD libcxx-17.0.6.ebuild 5285 BLAKE2B b435edac66c052e8d26b3d55dce6027d876c33b3c14c20198f96c2264e4eee06da924b158beaeab6a4013f0f5dcfb8bec70ef507e022c14f320c60995f613c87 SHA512 e9b50cad8732ef95ae36f212d1eeafe6e266a7f65f31f6d436f3e04dabaa4753989f787c4b2d4e35524f817090becacacf95619bbaaf2731762fec078e3d3693
EBUILD libcxx-18.1.8.ebuild 5447 BLAKE2B 4c284f19f8bb907f2d91e8c98dca9f072e167c8a23787ffff3c3b006d40be2a5f45baa9c6b87b73929362d91007cbf2e8c46064abd3da9331f5ad0915eadbe41 SHA512 6cdf090d8a748318824c9604aa6ec89f3c8d1b741afc63dd202b7477885f0b3fe6fa2ffd52a1e13224ac23b72116d7e30ffafc6b4da1b4a4773e30e3cf04060c
EBUILD libcxx-19.1.4.ebuild 5181 BLAKE2B 6a1dd56caaa53fd38d9ee3d10baf655f391470a5405d92717fbb20ba4ce52991fed5a535b5ace58745ed976a784e06d6c99d53245066579822ff704337e45dae SHA512 3b8071c5d4c010bac7a8417d0e06c3c1e8051a6512b3e276338dd4f840b6ae95ee36507a0c4d87d08d200ba6b8ec26806cfe66975538e6029528f094a3a310e8
EBUILD libcxx-19.1.7.ebuild 5183 BLAKE2B f201cc8072f7d11c40be236ef04858a3af97421a22e3276b11ee3c495c34ce634e95dbd890ccdeb5903d974b38bf4a624b13a429f29d6e9b3a0cbfa1c5fccfd5 SHA512 a86e074e844554fefffc04b25bd99cc22d4601d0824f96a72f1c3047eeefb19ed2ce59d458fdee177ff3749f604689d4fc17e0449cf15450e51c6e4f2e0e9736
-EBUILD libcxx-20.0.0_pre20250125.ebuild 5363 BLAKE2B 36588297fc0a88b8ae1818b6a79b3c1d369fa7061ecf21820e53d5fec1c979006a47ed01d0b2bebe9434b745960b557e4c3dff3ebc65d1abe248c8a12c6f6793 SHA512 4e61de21e8803f3ae4ca834ccf297ceea653c9a256f6e9cfc526d7ec6c133cd3d9c02b5a28d18e8701b6561117bb27d94704170d251164ac1277450725d37545
-EBUILD libcxx-20.1.0_rc1.ebuild 5363 BLAKE2B 36588297fc0a88b8ae1818b6a79b3c1d369fa7061ecf21820e53d5fec1c979006a47ed01d0b2bebe9434b745960b557e4c3dff3ebc65d1abe248c8a12c6f6793 SHA512 4e61de21e8803f3ae4ca834ccf297ceea653c9a256f6e9cfc526d7ec6c133cd3d9c02b5a28d18e8701b6561117bb27d94704170d251164ac1277450725d37545
EBUILD libcxx-20.1.0_rc2.ebuild 5363 BLAKE2B 36588297fc0a88b8ae1818b6a79b3c1d369fa7061ecf21820e53d5fec1c979006a47ed01d0b2bebe9434b745960b557e4c3dff3ebc65d1abe248c8a12c6f6793 SHA512 4e61de21e8803f3ae4ca834ccf297ceea653c9a256f6e9cfc526d7ec6c133cd3d9c02b5a28d18e8701b6561117bb27d94704170d251164ac1277450725d37545
EBUILD libcxx-21.0.0.9999.ebuild 5363 BLAKE2B 36588297fc0a88b8ae1818b6a79b3c1d369fa7061ecf21820e53d5fec1c979006a47ed01d0b2bebe9434b745960b557e4c3dff3ebc65d1abe248c8a12c6f6793 SHA512 4e61de21e8803f3ae4ca834ccf297ceea653c9a256f6e9cfc526d7ec6c133cd3d9c02b5a28d18e8701b6561117bb27d94704170d251164ac1277450725d37545
-EBUILD libcxx-21.0.0_pre20250201.ebuild 5363 BLAKE2B 36588297fc0a88b8ae1818b6a79b3c1d369fa7061ecf21820e53d5fec1c979006a47ed01d0b2bebe9434b745960b557e4c3dff3ebc65d1abe248c8a12c6f6793 SHA512 4e61de21e8803f3ae4ca834ccf297ceea653c9a256f6e9cfc526d7ec6c133cd3d9c02b5a28d18e8701b6561117bb27d94704170d251164ac1277450725d37545
-EBUILD libcxx-21.0.0_pre20250208.ebuild 5363 BLAKE2B 36588297fc0a88b8ae1818b6a79b3c1d369fa7061ecf21820e53d5fec1c979006a47ed01d0b2bebe9434b745960b557e4c3dff3ebc65d1abe248c8a12c6f6793 SHA512 4e61de21e8803f3ae4ca834ccf297ceea653c9a256f6e9cfc526d7ec6c133cd3d9c02b5a28d18e8701b6561117bb27d94704170d251164ac1277450725d37545
EBUILD libcxx-21.0.0_pre20250211.ebuild 5363 BLAKE2B 36588297fc0a88b8ae1818b6a79b3c1d369fa7061ecf21820e53d5fec1c979006a47ed01d0b2bebe9434b745960b557e4c3dff3ebc65d1abe248c8a12c6f6793 SHA512 4e61de21e8803f3ae4ca834ccf297ceea653c9a256f6e9cfc526d7ec6c133cd3d9c02b5a28d18e8701b6561117bb27d94704170d251164ac1277450725d37545
+EBUILD libcxx-21.0.0_pre20250215.ebuild 5363 BLAKE2B 36588297fc0a88b8ae1818b6a79b3c1d369fa7061ecf21820e53d5fec1c979006a47ed01d0b2bebe9434b745960b557e4c3dff3ebc65d1abe248c8a12c6f6793 SHA512 4e61de21e8803f3ae4ca834ccf297ceea653c9a256f6e9cfc526d7ec6c133cd3d9c02b5a28d18e8701b6561117bb27d94704170d251164ac1277450725d37545
MISC metadata.xml 603 BLAKE2B ed0b70336793f05ecd2c3412ccc5d25800d7aab1ed5a10223c1b181858174f87c3f87be6785cb6323b3c6413e88787d1d28347965255cd214a8ff2f0ac534de9 SHA512 34bfa522496f4c220a44f09d76562680d1a0465ee10ece62f2e96a383f70e7284549e60cbbba52c8dee37f743ee17b11777008d59f169d31555edce2261cf063
diff --git a/llvm-runtimes/libcxx/libcxx-20.1.0_rc1.ebuild b/llvm-runtimes/libcxx/libcxx-20.1.0_rc1.ebuild
deleted file mode 100644
index 3bd46e20f1ca..000000000000
--- a/llvm-runtimes/libcxx/libcxx-20.1.0_rc1.ebuild
+++ /dev/null
@@ -1,208 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1
-inherit toolchain-funcs
-
-DESCRIPTION="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}
- )
- !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/llvm-runtimes/libcxx/libcxx-21.0.0_pre20250201.ebuild b/llvm-runtimes/libcxx/libcxx-21.0.0_pre20250201.ebuild
deleted file mode 100644
index 3bd46e20f1ca..000000000000
--- a/llvm-runtimes/libcxx/libcxx-21.0.0_pre20250201.ebuild
+++ /dev/null
@@ -1,208 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1
-inherit toolchain-funcs
-
-DESCRIPTION="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}
- )
- !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/llvm-runtimes/libcxx/libcxx-21.0.0_pre20250208.ebuild b/llvm-runtimes/libcxx/libcxx-21.0.0_pre20250208.ebuild
deleted file mode 100644
index 3bd46e20f1ca..000000000000
--- a/llvm-runtimes/libcxx/libcxx-21.0.0_pre20250208.ebuild
+++ /dev/null
@@ -1,208 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1
-inherit toolchain-funcs
-
-DESCRIPTION="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}
- )
- !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/llvm-runtimes/libcxx/libcxx-20.0.0_pre20250125.ebuild b/llvm-runtimes/libcxx/libcxx-21.0.0_pre20250215.ebuild
index 3bd46e20f1ca..3bd46e20f1ca 100644
--- a/llvm-runtimes/libcxx/libcxx-20.0.0_pre20250125.ebuild
+++ b/llvm-runtimes/libcxx/libcxx-21.0.0_pre20250215.ebuild