commit: 70c5128d650f461e8493c337c3e08d16baccc78f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 28 19:33:08 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 28 19:33:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70c5128d
llvm-runtimes/libcxx: Remove old
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
llvm-runtimes/libcxx/Manifest | 5 -
llvm-runtimes/libcxx/libcxx-19.1.5.ebuild | 202 --------------------
.../libcxx/libcxx-20.0.0_pre20241207.ebuild | 208 ---------------------
.../libcxx/libcxx-20.0.0_pre20241215.ebuild | 208 ---------------------
.../libcxx/libcxx-20.0.0_pre20241221.ebuild | 208 ---------------------
5 files changed, 831 deletions(-)
diff --git a/llvm-runtimes/libcxx/Manifest b/llvm-runtimes/libcxx/Manifest
index ac646beb4d2f..dd54a1c528ce 100644
--- a/llvm-runtimes/libcxx/Manifest
+++ b/llvm-runtimes/libcxx/Manifest
@@ -10,11 +10,6 @@ DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B
a950492f1dbfb874dff63b1ffe
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B
6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd
SHA512
ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
DIST llvm-project-19.1.4.src.tar.xz 141255156 BLAKE2B
b99cd8a96e38dbcfb582ee5d2250268df36fb94fa0fd5b3611484094fbd7962051978334d2c623d2ff5a0209dbb2c6c6492be0146507ae982a7d3e9705a689c5
SHA512
a586f8a41dde5e0d9ca6d8c58e9ef2a2e59b70a86d2e2c46106dc31b5c096bb80af0cdbdb486179e9cc676a540099f49a1c2db9e5e84c50362db1f72e9af6906
DIST llvm-project-19.1.4.src.tar.xz.sig 438 BLAKE2B
b0925bdb761046d69779e0b035e29430bc09ef2b81be763aa5c853793631d7b7fdd65eb4dae7a1e3b4daa15d189c24cd1e14f065f79fdbf75429fa34be9b330e
SHA512
3fb4a6c7594cb43680860698dac47062dde30de60f515dcecdad63812ea1edfb2cb209d0a7ac2254589c245a95b7c0f571b582e0d4b97a6ae8242563483ea764
-DIST llvm-project-19.1.5.src.tar.xz 141243716 BLAKE2B
228fc66ab688abfc16f31b2cd83163b81ef61604ace21eab69a1776f0dc88cbe8fa831162205849e5be3975a214136399572b4ad1b908986e37b2d38a1a7fa5d
SHA512
648854e9c91fdcc5c677ce3800e046f2060b998a45cf9f7eebe02898431b3924f9348b6fc366102cd4fdda72dcb8f32076f98aa69927e0e20b3f1007fba10b22
-DIST llvm-project-19.1.5.src.tar.xz.sig 438 BLAKE2B
1d40a5c5405f99ef86e3360f9ea153afd1ae4001697210fd799a988113e8a3cef39e2c4794edd9332f384d8490f4ce2ab6bee6d98f794f84775807f833b81c0a
SHA512
a438c86ce882eb1ac3e50842937068794ed162bb1b7ded68a2fe3ec2ab4f57cc38aee667cfb46afe6da22eef7ed1cb65820a473f63bd5a0dc6aad41df7bfad54
DIST llvm-project-19.1.6.src.tar.xz 141248428 BLAKE2B
b35ab0c754f28c850ac6fd4ee584e963b1d5cf06885c59827ee4ac11f93cde5b8e0268fbed560839137de2c495c9da2b889331cd12a8a02958d8e0cbdbed2607
SHA512
d411a6d913d6a1e1f3c16cfc1ce81c1e6292ea370703f55fb67c7af62f02193d53f5ef7823c8679d6f25cbe47b40236fcaf37044ad7cdfada8166efe7eb106b3
DIST llvm-project-19.1.6.src.tar.xz.sig 438 BLAKE2B
1791e98252ab78a9a762ef601ff9edee115385181781c8100f14ec80061d7888ee4c4c519297a0e89b9c7ab2203aa9d5bb3084ea1d0f0024c2acf84826fd370b
SHA512
8e79a39a4f54da3579794f9b5a009ea8ee56c7bc1805187274794ce56e81aa492ea93f5c7839a59beedcf7d657acded5ecb75d5803658cce1f9e8f753439c6c4
-DIST llvm-project-32f7f0010bca99ee4bd917f57272733fb2bf3bd9.tar.gz 223983502
BLAKE2B
fd3e6b0b795abc42568ef98fa774d927029c18838a5d0f34eaa66c37976444a63f2fc5d883f3bf3a98533f51e387936f1c659230f31c757d26153425696a16cd
SHA512
65a345ad5b77c627008f759947e5e9f28a62c8992d7146113e0446e5849feaf9088c15c8b22ca0824af5b927d6a417f5326258b489fb8ccea78ec9e0e0fe8fba
-DIST llvm-project-49a5ad8e5714fd404210279303acc97b495d66d0.tar.gz 224456065
BLAKE2B
0077b9d37c479ac6190cc4b897cc35d6f1f3e6a772cd0620bcb1006afc19377e9968e38fb9d9adffe316e85290c9045deecbf9bf62b440c55968634b442edb31
SHA512
45d779eb27c230f656fda47c85127381cab8c8f7f75d77411c6960269f8aad5fa3c99c024a98ab8a349da1c88ad9d892cc82f91a6f344b791b281449031ae49a
-DIST llvm-project-665d79f2e967a5eee6fff93685e45f50cf24cab2.tar.gz 224186302
BLAKE2B
6d4a02b6cfaf53324161c43ed02024f0fea0e7de25a9150cc0168602d7dff3f618026fa8318aa6e03904a9424afa1f12c5eb33bfdfa82e72210f34e5829a7804
SHA512
7482e176b1e2389b0dd0e67271cdb0489e9db0595874408156a034b40d336ecd960c63b89c237ca22eee3650880b0f08a97de14f8a17c918245915d422e568c9
DIST llvm-project-ccfe0de0e1e37ed369c9bf89dd0188ba0afb2e9a.tar.gz 224396427
BLAKE2B
6e13c65d2ba83fdaf2db20a58b878106568406f07f9c2ceb47e4d2572fb041211384ed67c43801764060101ec4a1b04c18bf4097f37512d2751aa5860c1a8dc3
SHA512
ef4512b735568aaa627a7f4e9bac3fc4722db7a2b8bd1610faaf066856be9474fb297fd75b3c0dcc76f60ab35c3110fd329faad3e8d9b75e93844d56f41c03d1
diff --git a/llvm-runtimes/libcxx/libcxx-19.1.5.ebuild
b/llvm-runtimes/libcxx/libcxx-19.1.5.ebuild
deleted file mode 100644
index ee2f2e316112..000000000000
--- a/llvm-runtimes/libcxx/libcxx-19.1.5.ebuild
+++ /dev/null
@@ -1,202 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1
-inherit toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0"
-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} 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 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_pre20241207.ebuild
b/llvm-runtimes/libcxx/libcxx-20.0.0_pre20241207.ebuild
deleted file mode 100644
index 9c07b6d01774..000000000000
--- a/llvm-runtimes/libcxx/libcxx-20.0.0_pre20241207.ebuild
+++ /dev/null
@@ -1,208 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1
-inherit toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0"
-IUSE="+clang +libcxxabi +static-libs test"
-REQUIRED_USE="test? ( clang )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- libcxxabi? (
- ~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_pre20241215.ebuild
b/llvm-runtimes/libcxx/libcxx-20.0.0_pre20241215.ebuild
deleted file mode 100644
index 9c07b6d01774..000000000000
--- a/llvm-runtimes/libcxx/libcxx-20.0.0_pre20241215.ebuild
+++ /dev/null
@@ -1,208 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1
-inherit toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0"
-IUSE="+clang +libcxxabi +static-libs test"
-REQUIRED_USE="test? ( clang )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- libcxxabi? (
- ~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_pre20241221.ebuild
b/llvm-runtimes/libcxx/libcxx-20.0.0_pre20241221.ebuild
deleted file mode 100644
index 9c07b6d01774..000000000000
--- a/llvm-runtimes/libcxx/libcxx-20.0.0_pre20241221.ebuild
+++ /dev/null
@@ -1,208 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1
-inherit toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0"
-IUSE="+clang +libcxxabi +static-libs test"
-REQUIRED_USE="test? ( clang )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- libcxxabi? (
- ~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
-}