summaryrefslogtreecommitdiff
path: root/sys-libs/libcxx
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-06-18 01:46:36 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-06-18 01:46:36 +0100
commit81ab1a4db30480fdfb51d6e784b0f3ad9bbe2432 (patch)
tree5c2bb8712bddd53ef4c66cd7179cc7840e8c778f /sys-libs/libcxx
parent59fb6ea4eff116f078307a57217645762b78aba7 (diff)
gentoo auto-resync : 18:06:2023 - 01:46:36
Diffstat (limited to 'sys-libs/libcxx')
-rw-r--r--sys-libs/libcxx/Manifest6
-rw-r--r--sys-libs/libcxx/libcxx-16.0.5.ebuild2
-rw-r--r--sys-libs/libcxx/libcxx-17.0.0.9999.ebuild2
-rw-r--r--sys-libs/libcxx/libcxx-17.0.0_pre20230615.ebuild204
4 files changed, 210 insertions, 4 deletions
diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index e570ff4b53fd..6737abf4261e 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,6 +1,7 @@
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-gentoo-patchset-16.0.6.tar.xz 17340 BLAKE2B 37cdf4b38367b4256d4f7a25d1b4f41758e5f81be8e20a1c94a10d6c5e36642e9672121b455e73a0bac2eb40467ef2db4b43789b2912a6790593d97b8b5c27e3 SHA512 2c02b9d8a4c5af9fddcd26c95dc66fffae32cb5b7f85c65a1aa4ed00dd8cd5b01cc1975a711aee63c0b8b11e9dc20f2bc05ea753904eb516892b820f02aff825
+DIST llvm-project-0e08374abb2c61a3ae5c24d5f60be3b548da9778.tar.gz 191661586 BLAKE2B 05e5328d8eb9972bd6399e8c0f5ab241a78e6591e63ee520180c4ff154df432ad96f49ddc615a2208f69ffbec539b201fffeaf4906011b7a961cbc3860126ffa SHA512 1d4429ecb2292e419ed6172cf251ba4a1448ed51424552ac48a159d0e3d3414777f7821382d1839b56f0c906fb0a147b1df4eecb071f8a5c11b0fc1d0d40d339
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
@@ -13,8 +14,9 @@ DIST llvm-project-62c0bdabfa32f6e32b17b45425b15309db340dfb.tar.gz 190948645 BLAK
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.5.ebuild 5294 BLAKE2B 83f9a04af5773a5dcf9f0ba430684e2527695b9b41b8f704a779abb2a9e74060c8450e888f0ccc89bd5befdb32a93706ad2cb82ba309792a1f79297d8a9315d9 SHA512 deed56905f464c6b0baca63585753dbf8975fd2db72493ff8adda9a4ed8cdcb4ca3ef7fcdea6227d6680dca949963f438aaa36947e9045e98a582813eec4defc
+EBUILD libcxx-16.0.5.ebuild 5293 BLAKE2B 66a30709936600523c0969f08f4c01a78e631606f6e5f4bcd98df5c5cb813911e5f280ce69bf5d85254f8830a7879a6173169481812777ab9934f17198097719 SHA512 52f147d1e8e2ee1000940275e4b853496e6398ef4f83b79f41183cba35676906d933e474ff2a319b1efd74716aa2203234902695f7ee48faa02861d322bf2a06
EBUILD libcxx-16.0.6.ebuild 5314 BLAKE2B e43360cc0058b157ac27f2317faa2eb7c5da6a68d081f5d13f5f4ef2e36f1ee936a4237675b6f9362d787d81554b80af50cef36ece63ce7613acf2acc2405442 SHA512 f92ec43ee00df6ff2a46b6ef016592bfa642d9a9afea2bc18f03705781628f045ae5ddbffb541e5c7a60b0d761c3b00d92ac2f51cc00cd09e713d4ce74ebe4fe
-EBUILD libcxx-17.0.0.9999.ebuild 5239 BLAKE2B 397730a8caf3ca40b19225c6742bc885608d0ed93b04857992564c5040d2bc2196718b0372b497289616d1b334fca9b5e48b1a87604618a4435570df67bf2db0 SHA512 0f6d63282362faf2e845d65ec7f027d38d4d7fc84bfcb4302951cfe279504742f28404da2286f9c5a7439f56a07c20912bfad9d43a42b5a17e9a8b141b06805b
+EBUILD libcxx-17.0.0.9999.ebuild 5240 BLAKE2B 7ce22eb9d304f6cd0e56c08c017e03a94293ab9ba34b3e9a6ee91e85b92a96e4320294500b1886a0b667ba10dd40d07bc9bbdcac9b72a00bb14afaa48fa757a4 SHA512 6e33b0c4c01c17f93057e0af3c1aca7910d5ddc4a727e03a1320efe91926e9476901ef012063a5424e2a2e4b7049101ba8bc1946e1055a9133796e2e127bdab7
EBUILD libcxx-17.0.0_pre20230609.ebuild 5239 BLAKE2B 397730a8caf3ca40b19225c6742bc885608d0ed93b04857992564c5040d2bc2196718b0372b497289616d1b334fca9b5e48b1a87604618a4435570df67bf2db0 SHA512 0f6d63282362faf2e845d65ec7f027d38d4d7fc84bfcb4302951cfe279504742f28404da2286f9c5a7439f56a07c20912bfad9d43a42b5a17e9a8b141b06805b
+EBUILD libcxx-17.0.0_pre20230615.ebuild 5240 BLAKE2B 7ce22eb9d304f6cd0e56c08c017e03a94293ab9ba34b3e9a6ee91e85b92a96e4320294500b1886a0b667ba10dd40d07bc9bbdcac9b72a00bb14afaa48fa757a4 SHA512 6e33b0c4c01c17f93057e0af3c1aca7910d5ddc4a727e03a1320efe91926e9476901ef012063a5424e2a2e4b7049101ba8bc1946e1055a9133796e2e127bdab7
MISC metadata.xml 718 BLAKE2B 3cc1e43a6f1ada368cfc0bf8aaf49007f6792062b684ab9299b5180d778b158325b6931169b52dd14e85ae9ad6dc1a03be323b814fb920fe8434ad86425d699c SHA512 c2cef3e481c0c3db7de6de8c0a5aff42a1e7fe81155d99f1f0f0988f6d5ca041f787a27a2dde0073037d59e082e2f6da7eefe1303f1c1837ebc12e8e0d28729f
diff --git a/sys-libs/libcxx/libcxx-16.0.5.ebuild b/sys-libs/libcxx/libcxx-16.0.5.ebuild
index cdbee6be92d6..857830c6ac8c 100644
--- a/sys-libs/libcxx/libcxx-16.0.5.ebuild
+++ b/sys-libs/libcxx/libcxx-16.0.5.ebuild
@@ -12,7 +12,7 @@ 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"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv ~sparc ~x86 ~x64-macos"
IUSE="+clang +libcxxabi static-libs test"
REQUIRED_USE="test? ( clang )"
RESTRICT="!test? ( test )"
diff --git a/sys-libs/libcxx/libcxx-17.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-17.0.0.9999.ebuild
index 56140d06df64..93b4473e8546 100644
--- a/sys-libs/libcxx/libcxx-17.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-17.0.0.9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit cmake-multilib flag-o-matic llvm llvm.org python-any-r1 \
toolchain-funcs
diff --git a/sys-libs/libcxx/libcxx-17.0.0_pre20230615.ebuild b/sys-libs/libcxx/libcxx-17.0.0_pre20230615.ebuild
new file mode 100644
index 000000000000..93b4473e8546
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-17.0.0_pre20230615.ebuild
@@ -0,0 +1,204 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+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
+}