commit:     b0b3e9d2e7c230c670b11c8c4fdeafd98b01573f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 26 18:30:35 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Dec 26 18:30:35 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b0b3e9d2

llvm-runtimes/libcxx: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 llvm-runtimes/libcxx/libcxx-20.1.8.ebuild | 238 ------------------------------
 1 file changed, 238 deletions(-)

diff --git a/llvm-runtimes/libcxx/libcxx-20.1.8.ebuild 
b/llvm-runtimes/libcxx/libcxx-20.1.8.ebuild
deleted file mode 100644
index 9cfcd85fde8f..000000000000
--- a/llvm-runtimes/libcxx/libcxx-20.1.8.ebuild
+++ /dev/null
@@ -1,238 +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}
-       )
-       !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
-               local -x CXX=${CTARGET}-clang++
-               strip-unsupported-flags
-       fi
-
-       # link to compiler-rt
-       local use_compiler_rt=OFF
-       [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
-
-       # Scenarios to consider:
-       #
-       # 1. Compiler test works with the default flags.
-       # 2. There is a runtime library, but no stdlib. In that case, leave the
-       #    LDFLAGS untouched, since there is no self-dependency in libc++.
-       # 3. There is no runtime library nor stdlib. In that case, overwrite the
-       #    LDFLAGS.
-       local nostdlib_flags=( -nostdlib --rtlib=compiler-rt -lc )
-       local nort_flags=( -nodefaultlibs -lc )
-       if ! test_compiler && ! test_compiler "${nostdlib_flags[@]}"; then
-               if test_compiler "${nort_flags[@]}"; then
-                       local -x LDFLAGS="${LDFLAGS} ${nort_flags[*]}"
-                       ewarn "${CXX} seems to lack runtime, trying with 
${nort_flags[*]}"
-               fi
-       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
-}
-
-# 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
-}

Reply via email to