diff options
| author | Michał Górny <mgorny@gentoo.org> | 2025-10-22 21:02:02 +0200 |
|---|---|---|
| committer | Michał Górny <mgorny@gentoo.org> | 2025-10-22 21:11:47 +0200 |
| commit | 413dd84ac3ac1946c197df6c5a2bc7a5f490807a (patch) | |
| tree | 35b51403fbc777d1f769e454ec4f829d7c4536e4 /llvm-runtimes/libcxx | |
| parent | 7a663586678af75d98d9920cd643823bb865bcf1 (diff) | |
| download | gentoo-413dd84ac3ac1946c197df6c5a2bc7a5f490807a.tar.gz gentoo-413dd84ac3ac1946c197df6c5a2bc7a5f490807a.tar.bz2 gentoo-413dd84ac3ac1946c197df6c5a2bc7a5f490807a.zip | |
llvm-runtimes/libcxx: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'llvm-runtimes/libcxx')
| -rw-r--r-- | llvm-runtimes/libcxx/Manifest | 6 | ||||
| -rw-r--r-- | llvm-runtimes/libcxx/libcxx-21.1.2.ebuild | 254 | ||||
| -rw-r--r-- | llvm-runtimes/libcxx/libcxx-21.1.3.ebuild | 254 | ||||
| -rw-r--r-- | llvm-runtimes/libcxx/libcxx-22.0.0_pre20251001.ebuild | 260 | ||||
| -rw-r--r-- | llvm-runtimes/libcxx/libcxx-22.0.0_pre20251004.ebuild | 260 |
5 files changed, 0 insertions, 1034 deletions
diff --git a/llvm-runtimes/libcxx/Manifest b/llvm-runtimes/libcxx/Manifest index 92a6fda013fc..66516fae1beb 100644 --- a/llvm-runtimes/libcxx/Manifest +++ b/llvm-runtimes/libcxx/Manifest @@ -12,12 +12,6 @@ DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818bef DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda DIST llvm-project-20.1.8.src.tar.xz 147242952 BLAKE2B 7657ac0b26acc5affb1bfc91b912ade3191c5d77f3979d5a80d5f6ce52f56a7d1c448bd257398390bf10838f02faa6f3ece37a7327cced69d165ec2e2e699316 SHA512 f330e72e6a1da468569049437cc0ba7a41abb816ccece7367189344f7ebfef730f4788ac7af2bef0aa8a49341c15ab1d31e941ffa782f264d11fe0dc05470773 DIST llvm-project-20.1.8.src.tar.xz.sig 566 BLAKE2B 85beedfcff1195a974fab2c667b9efd4b715b3480c1b44b1b887fe32c69f72aca0d3b8fb276c03b6cc5a866622f669047aeee5ccb976640b4008ccd31dce77a4 SHA512 d74369bdb4d1b82775161ea53c9c5f3a23ce810f4df5ff617123023f9d8ce720e7d6ecc9e17f8ebd39fd9e7a9de79560abdf2ffe73bcb907a43148d43665d619 -DIST llvm-project-21.1.2.src.tar.xz 158926856 BLAKE2B 1b5684586297ad637c6da0976854b24d746679e9d125a19e321dc28fa7f83949cc431f4b630e4976496660389e7abac09962c21e45b88dff7d0900ee1bda51d7 SHA512 f810ba8706872257715c05f80c304ceb396cf38b3a8e0bfb50e474e8d0a3417740b9afea170a7c06a33927037753a190471917e83d6740cb18bc50fd50cf4f3d -DIST llvm-project-21.1.2.src.tar.xz.sig 566 BLAKE2B 6209caf851c681e6f63ed1bd9589ac139c104d6ee21f463aacda472e30a847c32f3bd74a04208af05bb6203d8fa31bdc0028c0e72736a3037940e75eda615415 SHA512 dd8aa57451752a9207c276117a4b8a86f41263ea3ccc4fa198cd40d6fec79acd0ba126c4b84a1acbb52bbb2bce029fbc336deac8131be94747dd04e4a0f69331 -DIST llvm-project-21.1.3.src.tar.xz 158943752 BLAKE2B ad9ee083584cb72fea3722feb518f6c933c3a34ba91b1ca8b724f461aa744475a783512dd6f0ab60d533c73b37e42b32a06f905d4869f770a68180649656df44 SHA512 d3058e7c18ada2a6a6192c7e75970406520e0d2ba390dba3b89e99f05959198fd2976d38c200f8e6af37fb569d866b6367bf6e0e249fe4b340dfab74499e5723 -DIST llvm-project-21.1.3.src.tar.xz.sig 119 BLAKE2B 675873fb6ce9a6b682d0ecdc5ec6ca8691d7f8f6bc72e6039a90c21f99d753a4b595f06676f9b5c1a23ebce872320cc67bd1687e8324f163ecbc4f22032bdf52 SHA512 d218a4071451e32a77890dd2e7de7a3b8a310ca85c7e6d90b88d85bad128979cf6866c9d772b880b50da2ec117832e77ba162049478c1deb7b0299cae008151a DIST llvm-project-21.1.4.src.tar.xz 158939036 BLAKE2B b87eff4e3cb881d86aafcfdb46d85344ad6ae92d5c1e72c05282f375b4b11844756d0e6b4d0da5e522a348170a5da9842917737e272b758d8dde7e1fb2bee135 SHA512 a8c0883abe7c5a3e55ca7ed0fd974fae4351184a0b0df18295a982ca8ddb0f8d167353564204ed00f0cd9a1d8baef7074c0b39a99e0b5c52ced6bbee73dde3da DIST llvm-project-21.1.4.src.tar.xz.sig 119 BLAKE2B c74a56448ad3e325234fcbe7d62ea888831e1e7696afb5aa5a185ea76a0880abe2d755f9e69a07760bbf9380534c3bb96c920ed6359ffd0f5f51c962d1494dcf SHA512 4812c2e3861aa3b726d842c3ca259b19ef1aa531fed9f6f47099483de91de2b2a165f40d243f6f40f2eea749741d5f8b7090f394399c56db02053f308921077a DIST llvm-project-6a0e5b2fd7c340a872ae1e011cfb9de0d188feba.tar.gz 249848364 BLAKE2B 5d8eadfd43e1a131d7c061968c7d306b0537c0983c9366973d5b8d1bab4b384d1319604e12f097e235e077aefcd8b9c8395c3e16b53612f9f06fb11ba358aad6 SHA512 d931218ca1dafab09525f862f4b993cb6dde2f8738092e84b87542318d05c81fd41499098833f8629501c19f4fa741a35fc6447631f1c8830b2bb0b2cb64cc43 -DIST llvm-project-89ed5255b9ee88119e409a6d986eb1ad0e8f08e3.tar.gz 248431210 BLAKE2B b98dfe5ae46190a5a2460c965f0ec51d2f65a9d1d14f82afa19a10f00a2c29520c52309ee66d71efed6361aa675abcc9bd1b5e61e1c3b1aa9bac4984050c2bc2 SHA512 f860f529f4eb67f4a5875d9931accae2f48b88486dd6715a2ca2add7d5aa1541a30e323612394162e65597054d61a879a9ba94e4dbf417c3fb5f8ff069c2d924 -DIST llvm-project-b1e29ec3b73b9dd06656c7e30ace597ff72cde70.tar.gz 248630276 BLAKE2B ea1532ba05661de37f3d6bac6643f2f3000710f4c4b8c508c9b980da64964e60cd46d0b8e18d666b75089f8ad8e2f653ac6098b4054ce8adf7cb0c36220cdf29 SHA512 36471abffd9202c637aa89c53072f0f286beffad2d3908ad50bb4c395a1be0c8138ddcbd67e0c764f59842bcc6c6c31f04a14986c7145c369217a156885ac506 diff --git a/llvm-runtimes/libcxx/libcxx-21.1.2.ebuild b/llvm-runtimes/libcxx/libcxx-21.1.2.ebuild deleted file mode 100644 index 618ec03322e9..000000000000 --- a/llvm-runtimes/libcxx/libcxx-21.1.2.ebuild +++ /dev/null @@ -1,254 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..14} ) -inherit cmake-multilib crossdev flag-o-matic llvm.org llvm-utils -inherit python-any-r1 toolchain-funcs - -DESCRIPTION="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" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos" -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/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() { - 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} ${nostdlib_flags[*]}" - ewarn "${CXX} seems to lack runtime, trying with ${nostdlib_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 - 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 - is_crosspkg && into /usr/${CTARGET} - dolib.so lib/libc++_shared.so - use static-libs && dolib.a lib/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 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.1.3.ebuild b/llvm-runtimes/libcxx/libcxx-21.1.3.ebuild deleted file mode 100644 index 618ec03322e9..000000000000 --- a/llvm-runtimes/libcxx/libcxx-21.1.3.ebuild +++ /dev/null @@ -1,254 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..14} ) -inherit cmake-multilib crossdev flag-o-matic llvm.org llvm-utils -inherit python-any-r1 toolchain-funcs - -DESCRIPTION="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" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos" -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/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() { - 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} ${nostdlib_flags[*]}" - ewarn "${CXX} seems to lack runtime, trying with ${nostdlib_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 - 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 - is_crosspkg && into /usr/${CTARGET} - dolib.so lib/libc++_shared.so - use static-libs && dolib.a lib/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 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-22.0.0_pre20251001.ebuild b/llvm-runtimes/libcxx/libcxx-22.0.0_pre20251001.ebuild deleted file mode 100644 index 9825200fd784..000000000000 --- a/llvm-runtimes/libcxx/libcxx-22.0.0_pre20251001.ebuild +++ /dev/null @@ -1,260 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..14} ) -inherit cmake-multilib crossdev flag-o-matic llvm.org llvm-utils -inherit python-any-r1 toolchain-funcs - -DESCRIPTION="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/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() { - 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 - # https://github.com/llvm/llvm-project/issues/153940 - local -x LIT_XFAIL="libcxx/gdb/gdb_pretty_printer_test.sh.cpp" - cmake_build install-cxx-test-suite-prefix - 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} - 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/libcxx/libcxx-22.0.0_pre20251004.ebuild b/llvm-runtimes/libcxx/libcxx-22.0.0_pre20251004.ebuild deleted file mode 100644 index 9825200fd784..000000000000 --- a/llvm-runtimes/libcxx/libcxx-22.0.0_pre20251004.ebuild +++ /dev/null @@ -1,260 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..14} ) -inherit cmake-multilib crossdev flag-o-matic llvm.org llvm-utils -inherit python-any-r1 toolchain-funcs - -DESCRIPTION="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/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() { - 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 - # https://github.com/llvm/llvm-project/issues/153940 - local -x LIT_XFAIL="libcxx/gdb/gdb_pretty_printer_test.sh.cpp" - cmake_build install-cxx-test-suite-prefix - 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() { |
