summaryrefslogtreecommitdiff
path: root/sys-libs/libcxx
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-05-06 17:34:33 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-05-06 17:34:33 +0100
commitfb6a7e84128cd7df87023d4e7d224de83057f748 (patch)
tree6ace847db7319686f5aeb137202fa1d273c75491 /sys-libs/libcxx
parent0e52cbae2c719c3ef794ebeb0f4374fb96efcff3 (diff)
gentoo auto-resync : 06:05:2023 - 17:34:33
Diffstat (limited to 'sys-libs/libcxx')
-rw-r--r--sys-libs/libcxx/Manifest14
-rw-r--r--sys-libs/libcxx/libcxx-16.0.1.ebuild204
-rw-r--r--sys-libs/libcxx/libcxx-16.0.2.ebuild204
-rw-r--r--sys-libs/libcxx/libcxx-16.0.4.9999.ebuild (renamed from sys-libs/libcxx/libcxx-16.0.3.9999.ebuild)0
-rw-r--r--sys-libs/libcxx/libcxx-17.0.0_pre20230325.ebuild204
-rw-r--r--sys-libs/libcxx/libcxx-17.0.0_pre20230414.ebuild204
-rw-r--r--sys-libs/libcxx/libcxx-17.0.0_pre20230421.ebuild204
7 files changed, 1 insertions, 1033 deletions
diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index be8acad25b2d..318dbdfc16bc 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,29 +1,17 @@
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
DIST llvm-gentoo-patchset-15.0.7-r1.tar.xz 21400 BLAKE2B 6b149cb721ac476b728bf9b0197f630d3db40622b85e3d099cdbc1d85ec14872d4e1eb0c94be6edc20fc6187da29b42f934dfb765f2077425a5b919900bb97c0 SHA512 d84d48caa3781633c7c6147e0b786417e93e4b5c9d1393809164e6d355a56673013ed0ea9bc3309488d7cfb794c1b336c888adc52dcd95e70c16d9208c36bd15
-DIST llvm-project-0be1fbac2a7797399c0970e3f4033288036b65f6.tar.gz 181527027 BLAKE2B f2f3b3a33b2a50f3b4f97df16a948e5ed5e642f737de8e852da164aefd3ed9af7bbd0fc1de9f7c9dbee6b9b8ebe11e52af8cc79b8a130cff405fc1238afe217d SHA512 946cd1435a26673c851bdda170864d0c362dfc14d1a7087fbe6303ac79e1821e9c53b72e92d15ad7180b1d6ea3bcc0458e7bec37acc3e8b8bcca8efbb9ff2387
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
-DIST llvm-project-16.0.1.src.tar.xz 117990772 BLAKE2B 298189ce6d7245711e5bd3e03fa74d603dda5a458463ca0cb261fe6949290c46a70abbd1ad1c556e08da3adc5df577305e267c1135214b900d78502e39b46bc5 SHA512 98fc11c0ad90d5e5a2cb123b497b89a1583fe7f91b3ff05c335037801ef66cbfab08f6d2eff539f0da238e9685d4bc7a9fb2578e28864fc9e9357b84129cefaa
-DIST llvm-project-16.0.1.src.tar.xz.sig 566 BLAKE2B 06c03d789e63ab30bba4c56ba9ec91400d804448482d6a7fd395252b3b9166a5ee7a42a94c2074aa0d1809a3327f993d8932211f3fc05ad281db64c17b2a7094 SHA512 f42db28eb8280db06b1c78fa7a7aaea3a79499cecee1a64ce18c49b90c755b3a78fc93f01d1855887c7918ccc927c3b6147cfc916520f05d4cef65381ca6fe60
-DIST llvm-project-16.0.2.src.tar.xz 117995768 BLAKE2B b329b2b123428f3a966a96f074a75520f07d12fc13ec755403cff2346b23195e6a0c05ca9e789b4cf5b4b3557a922bd41d8dffb6056ee33fbbf2b81001511fae SHA512 4ca76aaaca8812a06a94071e7444a3213d85dca51ea86f6125f854776f69a3e088a92d0621e3911e526f280b35bfb778fb3742c6010d3ed1eba605c08720377c
-DIST llvm-project-16.0.2.src.tar.xz.sig 566 BLAKE2B 8243748ac27e4eec3cc011371e179e19f1005336f07d956fd358f649d1429c8d0ea22ecc376b1dec9fe3db971467ad1dd63e97bb089885d0e1994eeab26b6fd7 SHA512 dbe9367a259954a38f2369b2f226726162090227f1a5ae8c8809eaae47cad7b3b26c754633e6e5c54cacd6360a504d7ba4c659d9232c1648388d657a2aaad10c
DIST llvm-project-16.0.3.src.tar.xz 117998136 BLAKE2B 6117586a117c30515e9a5623ab91d29ba65d33c8041274de0ecdbce08ae4fe1c8c3b120db9ca625f42fdbb2301537b4ffe8f7add701c178282be4f583fa0c8ca SHA512 2eb5eca1cbee92a499d7fba5729b61f31186353bc0545b17eefa300cf2b27c8d9a2f307443b2c1c9fe1b0ba412abf5143fdd4d25aaeb33d975a9a834221d7602
DIST llvm-project-16.0.3.src.tar.xz.sig 566 BLAKE2B bbd96268b006fecffd7402452ae7559bd2ea42c7b771999f58893a48d66b1b056b476a7022c70e2ab8f11dba8318ccc141f97a05ece3b9ed3b4405a6890b0c3a SHA512 cdd5e1c2a252ba58f9b7f8687d6cf9a330c188988707bd72f4632a8158a2db9ac180b3936da99b87e7e99886c39cb8517ebbb04b7d1be198e76964e31ec8dc58
DIST llvm-project-52882de0e641487329c9e093a90ea3dad01842c8.tar.gz 182953335 BLAKE2B 98682729992d73202e35b540d5d0d87e2acf44e4ab6896a0b6f9ac4a7423f55ad370ae1d7e919a6c86dc7f138a66890ac89b852b03305612d248ab567833f8be SHA512 3685aff0f648e9b477e1e01edebe4799498c21587e2ed5577e2fdef98bb21ea215e206606a11692fbb93a0989fd59fd324faff2c4d97b7afca0851b53f123f05
-DIST llvm-project-5c60a08c696c0420ddc5fdad5b8e50a7528cb3bf.tar.gz 182291041 BLAKE2B f5997611e0293df515d4494d14895cc8fbe22b536f5c419e4ad7d098acbf2b1046ceb332d865eacdae0b7fa1a77b78090551976835dd1b95b5270c9f6e12e410 SHA512 6cda8e55b4fc70e94838c772c56213c811affda96fb98a03d432348f995a313447d0e0e84533350e1fda3162d82633b260ccd8e3b1d59d3216187b44dc5556fb
-DIST llvm-project-5ea158077ec9ca50857ede5cbb0b27c61663fd55.tar.gz 182543024 BLAKE2B 32f5a9ddaa6c7e283d97256d7bd68634f2f8ed6d7167e743ba8076809ea1a3a7159f9ccc56a6e5a8838481cade07389669d8a35b17b5922da0cbef04c80131f8 SHA512 3d180c04ef39adbc9c6ee485e21cdf63fde362f0a22026b00a6d3eba6243e4c8e96fc088335f31051e54f4546d62569131a671d2e655ea735d597361f5732827
EBUILD libcxx-14.0.6.ebuild 6949 BLAKE2B 963ece6dbc81f876b8894dd2be0ab4fd5e555dcd09feaf014e30411150f43c9f401910741ded4ecaa05d35f0a2bcf3eb7ce519d4019f464075c31db0c9b6523c SHA512 4c73189a6b719bb10527000b30b83c8811aa462d51bc51bd5b2ff703184e01d8805f0b998479116a39e878ef7486c14e2bfef62bd62b1a20718906eb778a0228
EBUILD libcxx-15.0.7-r1.ebuild 5307 BLAKE2B 43ff3b320e3050127edf77b51afdb77f25c1dc8826c6b29e8a72f809479df78c661aa2882e6fa9459dd360b379d2a6bbd31d910942d40e49199feafa807a6f4a SHA512 be7372fa0a81a45a55e5896ca507e6a4c29e14f4f152154f43529fcb12c8a96ca0c620b432c1481e8c41bb588d4d3f3c479fb9c7ba2483e53881ffcd9ca7004e
EBUILD libcxx-15.0.7.ebuild 5282 BLAKE2B 9c1dc8c9ac37ecad2c31231d04068fc60d29df72a393e507e46f12dc093ef11f475ca3df2806551450ea37372dd6739b58b68e7b65290e4ffc18b6fb6085f319 SHA512 f068764ad081f16471f1c3f126095bb5fc61f6151327e50fb6724c93ab33906c72f763b848cb6b0a25b532344a3b6d2b100ed070a6c8bcb7d2e9a4d43e128957
-EBUILD libcxx-16.0.1.ebuild 5294 BLAKE2B 83f9a04af5773a5dcf9f0ba430684e2527695b9b41b8f704a779abb2a9e74060c8450e888f0ccc89bd5befdb32a93706ad2cb82ba309792a1f79297d8a9315d9 SHA512 deed56905f464c6b0baca63585753dbf8975fd2db72493ff8adda9a4ed8cdcb4ca3ef7fcdea6227d6680dca949963f438aaa36947e9045e98a582813eec4defc
-EBUILD libcxx-16.0.2.ebuild 5294 BLAKE2B 83f9a04af5773a5dcf9f0ba430684e2527695b9b41b8f704a779abb2a9e74060c8450e888f0ccc89bd5befdb32a93706ad2cb82ba309792a1f79297d8a9315d9 SHA512 deed56905f464c6b0baca63585753dbf8975fd2db72493ff8adda9a4ed8cdcb4ca3ef7fcdea6227d6680dca949963f438aaa36947e9045e98a582813eec4defc
-EBUILD libcxx-16.0.3.9999.ebuild 5239 BLAKE2B 397730a8caf3ca40b19225c6742bc885608d0ed93b04857992564c5040d2bc2196718b0372b497289616d1b334fca9b5e48b1a87604618a4435570df67bf2db0 SHA512 0f6d63282362faf2e845d65ec7f027d38d4d7fc84bfcb4302951cfe279504742f28404da2286f9c5a7439f56a07c20912bfad9d43a42b5a17e9a8b141b06805b
EBUILD libcxx-16.0.3.ebuild 5294 BLAKE2B 83f9a04af5773a5dcf9f0ba430684e2527695b9b41b8f704a779abb2a9e74060c8450e888f0ccc89bd5befdb32a93706ad2cb82ba309792a1f79297d8a9315d9 SHA512 deed56905f464c6b0baca63585753dbf8975fd2db72493ff8adda9a4ed8cdcb4ca3ef7fcdea6227d6680dca949963f438aaa36947e9045e98a582813eec4defc
+EBUILD libcxx-16.0.4.9999.ebuild 5239 BLAKE2B 397730a8caf3ca40b19225c6742bc885608d0ed93b04857992564c5040d2bc2196718b0372b497289616d1b334fca9b5e48b1a87604618a4435570df67bf2db0 SHA512 0f6d63282362faf2e845d65ec7f027d38d4d7fc84bfcb4302951cfe279504742f28404da2286f9c5a7439f56a07c20912bfad9d43a42b5a17e9a8b141b06805b
EBUILD libcxx-17.0.0.9999.ebuild 5239 BLAKE2B 397730a8caf3ca40b19225c6742bc885608d0ed93b04857992564c5040d2bc2196718b0372b497289616d1b334fca9b5e48b1a87604618a4435570df67bf2db0 SHA512 0f6d63282362faf2e845d65ec7f027d38d4d7fc84bfcb4302951cfe279504742f28404da2286f9c5a7439f56a07c20912bfad9d43a42b5a17e9a8b141b06805b
-EBUILD libcxx-17.0.0_pre20230325.ebuild 5239 BLAKE2B 397730a8caf3ca40b19225c6742bc885608d0ed93b04857992564c5040d2bc2196718b0372b497289616d1b334fca9b5e48b1a87604618a4435570df67bf2db0 SHA512 0f6d63282362faf2e845d65ec7f027d38d4d7fc84bfcb4302951cfe279504742f28404da2286f9c5a7439f56a07c20912bfad9d43a42b5a17e9a8b141b06805b
-EBUILD libcxx-17.0.0_pre20230414.ebuild 5239 BLAKE2B 397730a8caf3ca40b19225c6742bc885608d0ed93b04857992564c5040d2bc2196718b0372b497289616d1b334fca9b5e48b1a87604618a4435570df67bf2db0 SHA512 0f6d63282362faf2e845d65ec7f027d38d4d7fc84bfcb4302951cfe279504742f28404da2286f9c5a7439f56a07c20912bfad9d43a42b5a17e9a8b141b06805b
-EBUILD libcxx-17.0.0_pre20230421.ebuild 5239 BLAKE2B 397730a8caf3ca40b19225c6742bc885608d0ed93b04857992564c5040d2bc2196718b0372b497289616d1b334fca9b5e48b1a87604618a4435570df67bf2db0 SHA512 0f6d63282362faf2e845d65ec7f027d38d4d7fc84bfcb4302951cfe279504742f28404da2286f9c5a7439f56a07c20912bfad9d43a42b5a17e9a8b141b06805b
EBUILD libcxx-17.0.0_pre20230502.ebuild 5239 BLAKE2B 397730a8caf3ca40b19225c6742bc885608d0ed93b04857992564c5040d2bc2196718b0372b497289616d1b334fca9b5e48b1a87604618a4435570df67bf2db0 SHA512 0f6d63282362faf2e845d65ec7f027d38d4d7fc84bfcb4302951cfe279504742f28404da2286f9c5a7439f56a07c20912bfad9d43a42b5a17e9a8b141b06805b
MISC metadata.xml 718 BLAKE2B 3cc1e43a6f1ada368cfc0bf8aaf49007f6792062b684ab9299b5180d778b158325b6931169b52dd14e85ae9ad6dc1a03be323b814fb920fe8434ad86425d699c SHA512 c2cef3e481c0c3db7de6de8c0a5aff42a1e7fe81155d99f1f0f0988f6d5ca041f787a27a2dde0073037d59e082e2f6da7eefe1303f1c1837ebc12e8e0d28729f
diff --git a/sys-libs/libcxx/libcxx-16.0.1.ebuild b/sys-libs/libcxx/libcxx-16.0.1.ebuild
deleted file mode 100644
index cdbee6be92d6..000000000000
--- a/sys-libs/libcxx/libcxx-16.0.1.ebuild
+++ /dev/null
@@ -1,204 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit cmake-multilib flag-o-matic llvm llvm.org 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 ~x64-macos"
-IUSE="+clang +libcxxabi static-libs test"
-REQUIRED_USE="test? ( clang )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- libcxxabi? (
- ~sys-libs/libcxxabi-${PV}[static-libs?,${MULTILIB_USEDEP}]
- )
- !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] )
-"
-DEPEND="
- ${RDEPEND}
- sys-devel/llvm:${LLVM_MAJOR}
-"
-BDEPEND="
- clang? (
- sys-devel/clang:${LLVM_MAJOR}
- )
- !test? (
- ${PYTHON_DEPS}
- )
- test? (
- >=dev-util/cmake-3.16
- sys-devel/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() {
- # Darwin Prefix builds do not have llvm installed yet, so rely on
- # bootstrap-prefix to set the appropriate path vars to LLVM instead
- # of using llvm_pkg_setup.
- if [[ ${CHOST} != *-darwin* ]] || has_version sys-devel/llvm; then
- LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
- fi
- 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() {
- # 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_USE_COMPILER_RT=${use_compiler_rt}
- )
-
- 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/sys-libs/libcxx/libcxx-16.0.2.ebuild b/sys-libs/libcxx/libcxx-16.0.2.ebuild
deleted file mode 100644
index cdbee6be92d6..000000000000
--- a/sys-libs/libcxx/libcxx-16.0.2.ebuild
+++ /dev/null
@@ -1,204 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit cmake-multilib flag-o-matic llvm llvm.org 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 ~x64-macos"
-IUSE="+clang +libcxxabi static-libs test"
-REQUIRED_USE="test? ( clang )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- libcxxabi? (
- ~sys-libs/libcxxabi-${PV}[static-libs?,${MULTILIB_USEDEP}]
- )
- !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] )
-"
-DEPEND="
- ${RDEPEND}
- sys-devel/llvm:${LLVM_MAJOR}
-"
-BDEPEND="
- clang? (
- sys-devel/clang:${LLVM_MAJOR}
- )
- !test? (
- ${PYTHON_DEPS}
- )
- test? (
- >=dev-util/cmake-3.16
- sys-devel/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() {
- # Darwin Prefix builds do not have llvm installed yet, so rely on
- # bootstrap-prefix to set the appropriate path vars to LLVM instead
- # of using llvm_pkg_setup.
- if [[ ${CHOST} != *-darwin* ]] || has_version sys-devel/llvm; then
- LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
- fi
- 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() {
- # 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_USE_COMPILER_RT=${use_compiler_rt}
- )
-
- 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/sys-libs/libcxx/libcxx-16.0.3.9999.ebuild b/sys-libs/libcxx/libcxx-16.0.4.9999.ebuild
index 56140d06df64..56140d06df64 100644
--- a/sys-libs/libcxx/libcxx-16.0.3.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-16.0.4.9999.ebuild
diff --git a/sys-libs/libcxx/libcxx-17.0.0_pre20230325.ebuild b/sys-libs/libcxx/libcxx-17.0.0_pre20230325.ebuild
deleted file mode 100644
index 56140d06df64..000000000000
--- a/sys-libs/libcxx/libcxx-17.0.0_pre20230325.ebuild
+++ /dev/null
@@ -1,204 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit cmake-multilib flag-o-matic llvm llvm.org 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=""
-IUSE="+clang +libcxxabi static-libs test"
-REQUIRED_USE="test? ( clang )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- libcxxabi? (
- ~sys-libs/libcxxabi-${PV}[static-libs?,${MULTILIB_USEDEP}]
- )
- !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] )
-"
-DEPEND="
- ${RDEPEND}
- sys-devel/llvm:${LLVM_MAJOR}
-"
-BDEPEND="
- clang? (
- sys-devel/clang:${LLVM_MAJOR}
- )
- !test? (
- ${PYTHON_DEPS}
- )
- test? (
- >=dev-util/cmake-3.16
- sys-devel/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() {
- # Darwin Prefix builds do not have llvm installed yet, so rely on
- # bootstrap-prefix to set the appropriate path vars to LLVM instead
- # of using llvm_pkg_setup.
- if [[ ${CHOST} != *-darwin* ]] || has_version sys-devel/llvm; then
- LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
- fi
- 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() {
- # 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_USE_COMPILER_RT=${use_compiler_rt}
- )
-
- 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/sys-libs/libcxx/libcxx-17.0.0_pre20230414.ebuild b/sys-libs/libcxx/libcxx-17.0.0_pre20230414.ebuild
deleted file mode 100644
index 56140d06df64..000000000000
--- a/sys-libs/libcxx/libcxx-17.0.0_pre20230414.ebuild
+++ /dev/null
@@ -1,204 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit cmake-multilib flag-o-matic llvm llvm.org 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=""
-IUSE="+clang +libcxxabi static-libs test"
-REQUIRED_USE="test? ( clang )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- libcxxabi? (
- ~sys-libs/libcxxabi-${PV}[static-libs?,${MULTILIB_USEDEP}]
- )
- !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] )
-"
-DEPEND="
- ${RDEPEND}
- sys-devel/llvm:${LLVM_MAJOR}
-"
-BDEPEND="
- clang? (
- sys-devel/clang:${LLVM_MAJOR}
- )
- !test? (
- ${PYTHON_DEPS}
- )
- test? (
- >=dev-util/cmake-3.16
- sys-devel/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() {
- # Darwin Prefix builds do not have llvm installed yet, so rely on
- # bootstrap-prefix to set the appropriate path vars to LLVM instead
- # of using llvm_pkg_setup.
- if [[ ${CHOST} != *-darwin* ]] || has_version sys-devel/llvm; then
- LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
- fi
- 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() {
- # 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_USE_COMPILER_RT=${use_compiler_rt}
- )
-
- 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/sys-libs/libcxx/libcxx-17.0.0_pre20230421.ebuild b/sys-libs/libcxx/libcxx-17.0.0_pre20230421.ebuild
deleted file mode 100644
index 56140d06df64..000000000000
--- a/sys-libs/libcxx/libcxx-17.0.0_pre20230421.ebuild
+++ /dev/null
@@ -1,204 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit cmake-multilib flag-o-matic llvm llvm.org 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=""
-IUSE="+clang +libcxxabi static-libs test"
-REQUIRED_USE="test? ( clang )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- libcxxabi? (
- ~sys-libs/libcxxabi-${PV}[static-libs?,${MULTILIB_USEDEP}]
- )
- !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] )
-"
-DEPEND="
- ${RDEPEND}
- sys-devel/llvm:${LLVM_MAJOR}
-"
-BDEPEND="
- clang? (
- sys-devel/clang:${LLVM_MAJOR}
- )
- !test? (
- ${PYTHON_DEPS}
- )
- test? (
- >=dev-util/cmake-3.16
- sys-devel/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() {
- # Darwin Prefix builds do not have llvm installed yet, so rely on
- # bootstrap-prefix to set the appropriate path vars to LLVM instead
- # of using llvm_pkg_setup.
- if [[ ${CHOST} != *-darwin* ]] || has_version sys-devel/llvm; then
- LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
- fi
- 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() {
- # 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_USE_COMPILER_RT=${use_compiler_rt}
- )
-
- 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
-}