summaryrefslogtreecommitdiff
path: root/sys-libs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-10-11 01:37:01 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-10-11 01:37:01 +0100
commit179be85ade6b2b47bf362865b5c375969ab5ddc8 (patch)
tree073bcd19b7e1bb84acd2f683936671ee88860970 /sys-libs
parent948f9476d6a417da6048d4291bf36b0507293d63 (diff)
gentoo auto-resync : 11:10:2022 - 01:37:00
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/Manifest.gzbin14398 -> 14393 bytes
-rw-r--r--sys-libs/compiler-rt-sanitizers/Manifest2
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.0_pre20221010.ebuild219
-rw-r--r--sys-libs/compiler-rt/Manifest2
-rw-r--r--sys-libs/compiler-rt/compiler-rt-16.0.0_pre20221010.ebuild150
-rw-r--r--sys-libs/libcxx/Manifest14
-rw-r--r--sys-libs/libcxx/libcxx-13.0.1.ebuild12
-rw-r--r--sys-libs/libcxx/libcxx-14.0.6.ebuild12
-rw-r--r--sys-libs/libcxx/libcxx-15.0.2.ebuild14
-rw-r--r--sys-libs/libcxx/libcxx-15.0.3.9999.ebuild14
-rw-r--r--sys-libs/libcxx/libcxx-16.0.0.9999.ebuild14
-rw-r--r--sys-libs/libcxx/libcxx-16.0.0_pre20221006.ebuild14
-rw-r--r--sys-libs/libcxx/libcxx-16.0.0_pre20221010.ebuild212
-rw-r--r--sys-libs/libcxxabi/Manifest14
-rw-r--r--sys-libs/libcxxabi/libcxxabi-13.0.1.ebuild8
-rw-r--r--sys-libs/libcxxabi/libcxxabi-14.0.6.ebuild8
-rw-r--r--sys-libs/libcxxabi/libcxxabi-15.0.2.ebuild14
-rw-r--r--sys-libs/libcxxabi/libcxxabi-15.0.3.9999.ebuild14
-rw-r--r--sys-libs/libcxxabi/libcxxabi-16.0.0.9999.ebuild14
-rw-r--r--sys-libs/libcxxabi/libcxxabi-16.0.0_pre20221006.ebuild14
-rw-r--r--sys-libs/libcxxabi/libcxxabi-16.0.0_pre20221010.ebuild116
-rw-r--r--sys-libs/libomp/Manifest2
-rw-r--r--sys-libs/libomp/libomp-16.0.0_pre20221010.ebuild133
-rw-r--r--sys-libs/llvm-libunwind/Manifest14
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-13.0.1-r1.ebuild10
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-14.0.6-r1.ebuild10
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-15.0.2.ebuild10
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-15.0.3.9999.ebuild10
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-16.0.0.9999.ebuild10
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-16.0.0_pre20221006.ebuild10
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-16.0.0_pre20221010.ebuild120
31 files changed, 1036 insertions, 174 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz
index f46d219a3410..b7139da64c8d 100644
--- a/sys-libs/Manifest.gz
+++ b/sys-libs/Manifest.gz
Binary files differ
diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest
index f6162645833f..c896a792d7d7 100644
--- a/sys-libs/compiler-rt-sanitizers/Manifest
+++ b/sys-libs/compiler-rt-sanitizers/Manifest
@@ -7,6 +7,7 @@ DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf
DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c
DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8
DIST llvm-project-5a0722e0469894564dd9b0ee1d4f8c291d09c776.tar.gz 169164627 BLAKE2B c9a8672cac0faa747baa366545d21f91b50e7611e062eb95042cbccc2dc00b74f44c5c2fcccda49b44975320dfadca5916585766235a406dfbd7321afba03025 SHA512 bad4043fab0e4f9c633bc0aa74df1f1ea886f1d20c1c7a2704bd8317371cf6325e70a770623307d7a455e815cce8c5f00be1ed4ec3f06a7b69038a2784f73243
+DIST llvm-project-ebb258d3b0785f6dcc65e1f277d0690891ddc94d.tar.gz 168823463 BLAKE2B 111afe0f6ba6cef28c3d0162c9c650d15239f981949030768780ebe308418346d0ad367e0e58417832ae43e57b27bccaf56415f81e8221c6c5e78d1113f5617b SHA512 80351d7eeac77a15bf5613b289c71d718ecaccd8a6a4ea6736ed8bfc15c8154099c771564f99ea6c8b491f99bf1ca3a45fac977d638f6a03d7f7b42ba522fa20
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
EBUILD compiler-rt-sanitizers-13.0.1.ebuild 6369 BLAKE2B 4e8a715cd19dd39087fe7d6cad9e30a7e130c69bde12ea382fc748cc152099607c23b75915c644785820ded954eaba31779f7c58b63a71255f9c6b610afcee7d SHA512 f5a680a5de09feecde1a3038ab185cc3b321eb2dc15b5841cd58863323fd6da727307c44127d2af5077ce2b17744ee5d3f8a17dd3bceea71b1dec2a13555dd66
EBUILD compiler-rt-sanitizers-14.0.6.ebuild 6381 BLAKE2B 010ce621c56c1568eaddeb6f4af6e680f2596106768e3b40bffd3c221df20b565c565793ff14a46b2a96b080a696a9217be0f547c2e85430e9031bd86adc2b90 SHA512 d68b96a7458c8b0d1946523a7c1b20e413de38b7f53bd87b8729103935cdb9ad8fc38863138ba36ffc8da57e0ddcf591c7deeb23fba0d76003adea978b262e37
@@ -14,4 +15,5 @@ EBUILD compiler-rt-sanitizers-15.0.2.ebuild 6403 BLAKE2B ea9f3840de1121966b17fd4
EBUILD compiler-rt-sanitizers-15.0.3.9999.ebuild 6363 BLAKE2B 640625391bc73444ed357c25028b641351e5e4f2661271e2d762a9d0a8bbf70a916018c82ddabb25f95679121eea1f35726e011f12d99bb88f1aa6aafef9f5ba SHA512 0c9b3e50c61cb6129fcc20e2fc08f7d32fd2ee180d2bad3e6ed9c7b71819320af9c74457332afac8c14b476d18b47ce7a353813e7bb29e0a568771d314f9c46a
EBUILD compiler-rt-sanitizers-16.0.0.9999.ebuild 6363 BLAKE2B 640625391bc73444ed357c25028b641351e5e4f2661271e2d762a9d0a8bbf70a916018c82ddabb25f95679121eea1f35726e011f12d99bb88f1aa6aafef9f5ba SHA512 0c9b3e50c61cb6129fcc20e2fc08f7d32fd2ee180d2bad3e6ed9c7b71819320af9c74457332afac8c14b476d18b47ce7a353813e7bb29e0a568771d314f9c46a
EBUILD compiler-rt-sanitizers-16.0.0_pre20221006.ebuild 6363 BLAKE2B 640625391bc73444ed357c25028b641351e5e4f2661271e2d762a9d0a8bbf70a916018c82ddabb25f95679121eea1f35726e011f12d99bb88f1aa6aafef9f5ba SHA512 0c9b3e50c61cb6129fcc20e2fc08f7d32fd2ee180d2bad3e6ed9c7b71819320af9c74457332afac8c14b476d18b47ce7a353813e7bb29e0a568771d314f9c46a
+EBUILD compiler-rt-sanitizers-16.0.0_pre20221010.ebuild 6363 BLAKE2B 640625391bc73444ed357c25028b641351e5e4f2661271e2d762a9d0a8bbf70a916018c82ddabb25f95679121eea1f35726e011f12d99bb88f1aa6aafef9f5ba SHA512 0c9b3e50c61cb6129fcc20e2fc08f7d32fd2ee180d2bad3e6ed9c7b71819320af9c74457332afac8c14b476d18b47ce7a353813e7bb29e0a568771d314f9c46a
MISC metadata.xml 1412 BLAKE2B 75675507000fa6a6b8182e6b45a08a2716ae7fb9a7e3428dc8420464e4c1d1bdb5bea62cc2f553c579de5a4faa752b35cb3529d980fb07a055ff4ddf6e752707 SHA512 f05ea5168b923db72f4f5b53e9b748ebbcdae9eff09d86323313055933b47fc0089e1b2d73cd997d73dcfb2dca032344955816425fbddc09d27ca751463aadbb
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.0_pre20221010.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.0_pre20221010.ebuild
new file mode 100644
index 000000000000..1bcef45cdf8b
--- /dev/null
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.0_pre20221010.ebuild
@@ -0,0 +1,219 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit check-reqs cmake flag-o-matic llvm llvm.org python-any-r1
+
+DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="${LLVM_VERSION}"
+KEYWORDS=""
+IUSE="+abi_x86_32 abi_x86_64 +clang debug test"
+# base targets
+IUSE+=" +libfuzzer +memprof +orc +profile +xray"
+# sanitizer targets, keep in sync with config-ix.cmake
+# NB: ubsan, scudo deliberately match two entries
+SANITIZER_FLAGS=(
+ asan dfsan lsan msan hwasan tsan ubsan safestack cfi scudo
+ shadowcallstack gwp-asan
+)
+IUSE+=" ${SANITIZER_FLAGS[@]/#/+}"
+REQUIRED_USE="
+ || ( ${SANITIZER_FLAGS[*]} libfuzzer orc profile xray )
+ test? (
+ cfi? ( ubsan )
+ gwp-asan? ( scudo )
+ )
+"
+RESTRICT="
+ !clang? ( test )
+ !test? ( test )
+"
+
+DEPEND="
+ sys-devel/llvm:${LLVM_MAJOR}
+ virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?]
+"
+BDEPEND="
+ >=dev-util/cmake-3.16
+ clang? ( sys-devel/clang )
+ elibc_glibc? ( net-libs/libtirpc )
+ test? (
+ !!<sys-apps/sandbox-2.13
+ $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+ =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+ sys-libs/compiler-rt:${LLVM_VERSION}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake )
+LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/unittest )
+LLVM_PATCHSET=9999-1
+llvm.org_set_globals
+
+python_check_deps() {
+ use test || return 0
+ python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
+}
+
+check_space() {
+ if use test; then
+ local CHECKREQS_DISK_BUILD=11G
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ sed -i -e 's:-Werror::' lib/tsan/go/buildgo.sh || die
+
+ local flag
+ for flag in "${SANITIZER_FLAGS[@]}"; do
+ if ! use "${flag}"; then
+ local cmake_flag=${flag/-/_}
+ sed -i -e "/COMPILER_RT_HAS_${cmake_flag^^}/s:TRUE:FALSE:" \
+ cmake/config-ix.cmake || die
+ fi
+ done
+
+ # TODO: fix these tests to be skipped upstream
+ if use asan && ! use profile; then
+ rm test/asan/TestCases/asan_and_llvm_coverage_test.cpp || die
+ fi
+ if use ubsan && ! use cfi; then
+ > test/cfi/CMakeLists.txt || die
+ fi
+
+ llvm.org_src_prepare
+}
+
+src_configure() {
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ # pre-set since we need to pass it to cmake
+ BUILD_DIR=${WORKDIR}/compiler-rt_build
+
+ if use clang; then
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ fi
+
+ local flag want_sanitizer=OFF
+ for flag in "${SANITIZER_FLAGS[@]}"; do
+ if use "${flag}"; then
+ want_sanitizer=ON
+ break
+ fi
+ done
+
+ local mycmakeargs=(
+ -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_VERSION}"
+ # use a build dir structure consistent with install
+ # this makes it possible to easily deploy test-friendly clang
+ -DCOMPILER_RT_OUTPUT_DIR="${BUILD_DIR}/lib/clang/${LLVM_VERSION}"
+
+ -DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+ # builtins & crt installed by sys-libs/compiler-rt
+ -DCOMPILER_RT_BUILD_BUILTINS=OFF
+ -DCOMPILER_RT_BUILD_CRT=OFF
+ -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer)
+ -DCOMPILER_RT_BUILD_MEMPROF=$(usex memprof)
+ -DCOMPILER_RT_BUILD_ORC=$(usex orc)
+ -DCOMPILER_RT_BUILD_PROFILE=$(usex profile)
+ -DCOMPILER_RT_BUILD_SANITIZERS="${want_sanitizer}"
+ -DCOMPILER_RT_BUILD_XRAY=$(usex xray)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+
+ if use amd64; then
+ mycmakeargs+=(
+ -DCAN_TARGET_i386=$(usex abi_x86_32)
+ -DCAN_TARGET_x86_64=$(usex abi_x86_64)
+ )
+ fi
+
+ if use test; then
+ mycmakeargs+=(
+ -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+ # they are created during src_test()
+ -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAJOR}/bin/clang"
+ -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAJOR}/bin/clang++"
+ )
+
+ # same flags are passed for build & tests, so we need to strip
+ # them down to a subset supported by clang
+ CC=${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang \
+ CXX=${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++ \
+ strip-unsupported-flags
+ fi
+
+ if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then
+ mycmakeargs+=(
+ # setting -isysroot is disabled with compiler-rt-prefix-paths.patch
+ # this allows adding arm64 support using SDK in EPREFIX
+ -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk"
+ # Set version based on the SDK in EPREFIX
+ # This disables i386 for SDK >= 10.15
+ # Will error if has_use tsan and SDK < 10.12
+ -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')"
+ # Use our libtool instead of looking it up with xcrun
+ -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool"
+ )
+ fi
+
+ cmake_src_configure
+
+ if use test; then
+ local sys_dir=( "${EPREFIX}"/usr/lib/clang/${LLVM_VERSION}/lib/* )
+ [[ -e ${sys_dir} ]] || die "Unable to find ${sys_dir}"
+ [[ ${#sys_dir[@]} -eq 1 ]] || die "Non-deterministic compiler-rt install: ${sys_dir[*]}"
+
+ # copy clang over since resource_dir is located relatively to binary
+ # therefore, we can put our new libraries in it
+ mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_MAJOR}/{bin,$(get_libdir)},clang/${LLVM_VERSION}/include} || die
+ cp "${EPREFIX}"/usr/lib/llvm/${LLVM_MAJOR}/bin/clang{,++} \
+ "${BUILD_DIR}"/lib/llvm/${LLVM_MAJOR}/bin/ || die
+ cp "${EPREFIX}"/usr/lib/clang/${LLVM_VERSION}/include/*.h \
+ "${BUILD_DIR}"/lib/clang/${LLVM_VERSION}/include/ || die
+ cp "${sys_dir}"/*builtins*.a \
+ "${BUILD_DIR}/lib/clang/${LLVM_VERSION}/lib/${sys_dir##*/}/" || die
+ # we also need LLVMgold.so for gold-based tests
+ if [[ -f ${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/LLVMgold.so ]]; then
+ ln -s "${EPREFIX}"/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/LLVMgold.so \
+ "${BUILD_DIR}"/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/ || die
+ fi
+ fi
+}
+
+src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ # disable sandbox to have it stop clobbering LD_PRELOAD
+ local -x SANDBOX_ON=0
+ # wipe LD_PRELOAD to make ASAN happy
+ local -x LD_PRELOAD=
+
+ cmake_build check-all
+}
diff --git a/sys-libs/compiler-rt/Manifest b/sys-libs/compiler-rt/Manifest
index ddd76babeb95..822ac8d57840 100644
--- a/sys-libs/compiler-rt/Manifest
+++ b/sys-libs/compiler-rt/Manifest
@@ -7,6 +7,7 @@ DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf
DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c
DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8
DIST llvm-project-5a0722e0469894564dd9b0ee1d4f8c291d09c776.tar.gz 169164627 BLAKE2B c9a8672cac0faa747baa366545d21f91b50e7611e062eb95042cbccc2dc00b74f44c5c2fcccda49b44975320dfadca5916585766235a406dfbd7321afba03025 SHA512 bad4043fab0e4f9c633bc0aa74df1f1ea886f1d20c1c7a2704bd8317371cf6325e70a770623307d7a455e815cce8c5f00be1ed4ec3f06a7b69038a2784f73243
+DIST llvm-project-ebb258d3b0785f6dcc65e1f277d0690891ddc94d.tar.gz 168823463 BLAKE2B 111afe0f6ba6cef28c3d0162c9c650d15239f981949030768780ebe308418346d0ad367e0e58417832ae43e57b27bccaf56415f81e8221c6c5e78d1113f5617b SHA512 80351d7eeac77a15bf5613b289c71d718ecaccd8a6a4ea6736ed8bfc15c8154099c771564f99ea6c8b491f99bf1ca3a45fac977d638f6a03d7f7b42ba522fa20
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
EBUILD compiler-rt-13.0.1.ebuild 3880 BLAKE2B 83202517f413772d355aa49b5a3bd8b7000c86f6538da1a5ae96de5e84bc7536d0e639b530d1f504dc68b769565504434cc80d25426207b19283b9bc41df3388 SHA512 fe5329aee6c29d408c67af9e9891205fcdf313676780b948975f94ddce31b3f54e68cc041233c81b3005ff94f7685dcc09044f3634760d90e8c18c61f63651c3
EBUILD compiler-rt-14.0.6-r1.ebuild 4252 BLAKE2B 1fe9011c3d20a6e7f09683553e3e86151ce71e3667ce00fe4b5dd6dd8e932b8c9baa9e101f620467d813ffc1615c85e3522ce5732cee293d0bc2f8233c665bab SHA512 857bffe7b552c9e288b7f2e3cb67df1e2c8526b717df7a2bf7a1162de636ce90864a0ef1a9fec2c1f61702f6f491b5b12f6ce26964c133d339785ea7d67fc725
@@ -15,4 +16,5 @@ EBUILD compiler-rt-15.0.2.ebuild 4261 BLAKE2B 1a632e00f5dd36c161f2df23dc7c929242
EBUILD compiler-rt-15.0.3.9999.ebuild 4189 BLAKE2B da1b3444520bbb7a83569b65d7de338678a52b2aec70d29afee47142a268fb76310419dd00d1420445d2f30d3f567cf2bfe9e89cf89261843742094d477a2ef6 SHA512 d29905eca230cdba53aa9d63d1ccb68608b4ca74c4a6c3fbcab60245685c363d93e28ea3dba67f632c85964571da5c812ab8ca6c6be2bf97d06c93c072f75153
EBUILD compiler-rt-16.0.0.9999.ebuild 4189 BLAKE2B da1b3444520bbb7a83569b65d7de338678a52b2aec70d29afee47142a268fb76310419dd00d1420445d2f30d3f567cf2bfe9e89cf89261843742094d477a2ef6 SHA512 d29905eca230cdba53aa9d63d1ccb68608b4ca74c4a6c3fbcab60245685c363d93e28ea3dba67f632c85964571da5c812ab8ca6c6be2bf97d06c93c072f75153
EBUILD compiler-rt-16.0.0_pre20221006.ebuild 4189 BLAKE2B da1b3444520bbb7a83569b65d7de338678a52b2aec70d29afee47142a268fb76310419dd00d1420445d2f30d3f567cf2bfe9e89cf89261843742094d477a2ef6 SHA512 d29905eca230cdba53aa9d63d1ccb68608b4ca74c4a6c3fbcab60245685c363d93e28ea3dba67f632c85964571da5c812ab8ca6c6be2bf97d06c93c072f75153
+EBUILD compiler-rt-16.0.0_pre20221010.ebuild 4189 BLAKE2B da1b3444520bbb7a83569b65d7de338678a52b2aec70d29afee47142a268fb76310419dd00d1420445d2f30d3f567cf2bfe9e89cf89261843742094d477a2ef6 SHA512 d29905eca230cdba53aa9d63d1ccb68608b4ca74c4a6c3fbcab60245685c363d93e28ea3dba67f632c85964571da5c812ab8ca6c6be2bf97d06c93c072f75153
MISC metadata.xml 416 BLAKE2B 79a58249c94b605ba57f346c4e05b43853cf6cfb8bb65a4f4e3c44039cccfdb83dd31bfaaaf398bcbdc393efabdfc7ed186fe775976c46227e74decf2c8f4fb2 SHA512 ce30c79a575e5933effb1fec36f9a4ef02d9f97f312feb39c55a88cbda9a1bae1d7af2ec4ad5f66212cbb2cdbfb26f1a436689f16f410153c9d65eb010264c48
diff --git a/sys-libs/compiler-rt/compiler-rt-16.0.0_pre20221010.ebuild b/sys-libs/compiler-rt/compiler-rt-16.0.0_pre20221010.ebuild
new file mode 100644
index 000000000000..957caa27a746
--- /dev/null
+++ b/sys-libs/compiler-rt/compiler-rt-16.0.0_pre20221010.ebuild
@@ -0,0 +1,150 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit cmake flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs
+
+DESCRIPTION="Compiler runtime library for clang (built-in part)"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="${LLVM_VERSION}"
+KEYWORDS=""
+IUSE="+abi_x86_32 abi_x86_64 +clang debug test"
+RESTRICT="!test? ( test ) !clang? ( test )"
+
+DEPEND="
+ sys-devel/llvm:${LLVM_MAJOR}
+"
+BDEPEND="
+ >=dev-util/cmake-3.16
+ clang? ( sys-devel/clang )
+ test? (
+ $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+ =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake )
+LLVM_PATCHSET=9999-1
+llvm.org_set_globals
+
+python_check_deps() {
+ use test || return 0
+ python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ if ! use clang && ! tc-is-clang; then
+ ewarn "Building using a compiler other than clang may result in broken atomics"
+ ewarn "library. Enable USE=clang unless you have a very good reason not to."
+ fi
+}
+
+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 dev-lang/llvm; then
+ LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
+ fi
+ python-any-r1_pkg_setup
+}
+
+test_compiler() {
+ $(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \
+ <<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ # pre-set since we need to pass it to cmake
+ BUILD_DIR=${WORKDIR}/${P}_build
+
+ if use clang; then
+ # Only do this conditionally to allow overriding with
+ # e.g. CC=clang-13 in case of breakage
+ if ! tc-is-clang ; then
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ fi
+
+ strip-unsupported-flags
+ fi
+
+ if ! test_compiler; then
+ local nolib_flags=( -nodefaultlibs -lc )
+
+ if test_compiler "${nolib_flags[@]}"; then
+ local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+ ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}"
+ elif test_compiler "${nolib_flags[@]}" -nostartfiles; then
+ # Avoiding -nostartfiles earlier on for bug #862540,
+ # and set available entry symbol for bug #862798.
+ nolib_flags+=( -nostartfiles -emain )
+
+ local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+ ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}"
+ fi
+ fi
+
+ local mycmakeargs=(
+ -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_VERSION}"
+
+ -DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+ -DCOMPILER_RT_BUILD_LIBFUZZER=OFF
+ -DCOMPILER_RT_BUILD_MEMPROF=OFF
+ -DCOMPILER_RT_BUILD_ORC=OFF
+ -DCOMPILER_RT_BUILD_PROFILE=OFF
+ -DCOMPILER_RT_BUILD_SANITIZERS=OFF
+ -DCOMPILER_RT_BUILD_XRAY=OFF
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+
+ if use amd64; then
+ mycmakeargs+=(
+ -DCAN_TARGET_i386=$(usex abi_x86_32)
+ -DCAN_TARGET_x86_64=$(usex abi_x86_64)
+ )
+ fi
+
+ if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then
+ mycmakeargs+=(
+ # setting -isysroot is disabled with compiler-rt-prefix-paths.patch
+ # this allows adding arm64 support using SDK in EPREFIX
+ -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk"
+ # Set version based on the SDK in EPREFIX.
+ # This disables i386 for SDK >= 10.15
+ -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')"
+ # Use our libtool instead of looking it up with xcrun
+ -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool"
+ )
+ fi
+
+ if use test; then
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+ -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
+ -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+
+ cmake_build check-builtins
+}
diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 572d30c46978..d5056543f862 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -5,11 +5,13 @@ DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf
DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c
DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8
DIST llvm-project-5a0722e0469894564dd9b0ee1d4f8c291d09c776.tar.gz 169164627 BLAKE2B c9a8672cac0faa747baa366545d21f91b50e7611e062eb95042cbccc2dc00b74f44c5c2fcccda49b44975320dfadca5916585766235a406dfbd7321afba03025 SHA512 bad4043fab0e4f9c633bc0aa74df1f1ea886f1d20c1c7a2704bd8317371cf6325e70a770623307d7a455e815cce8c5f00be1ed4ec3f06a7b69038a2784f73243
+DIST llvm-project-ebb258d3b0785f6dcc65e1f277d0690891ddc94d.tar.gz 168823463 BLAKE2B 111afe0f6ba6cef28c3d0162c9c650d15239f981949030768780ebe308418346d0ad367e0e58417832ae43e57b27bccaf56415f81e8221c6c5e78d1113f5617b SHA512 80351d7eeac77a15bf5613b289c71d718ecaccd8a6a4ea6736ed8bfc15c8154099c771564f99ea6c8b491f99bf1ca3a45fac977d638f6a03d7f7b42ba522fa20
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
-EBUILD libcxx-13.0.1.ebuild 6768 BLAKE2B 71b0f62e35538d718d99e3d43447f98752933868d999bf831969a6940d3a817452789c2044e9ca3bb4d5d1f0c2976fc276c4d10cb018c44e0cc6109095d9c6d6 SHA512 a12023fa135a7945e8088b34421f575cab32bb8ac53f1aeaa61bcf2a7b9fe045a6e21efba168056ef47b165ef3100e382100f910c84dee972017de6355d2e9c0
-EBUILD libcxx-14.0.6.ebuild 6948 BLAKE2B 203e04f4e2603ec0b8e3cd672ca2458c971e4ec3c1d24ea65f85db143561d349d9b7e4b4a58f7c57f5c0caa519e5a79f99f0a76c404aeba47b0bcc683adcb572 SHA512 c1a353dd558c68d439ab66e089e26993e66f1729f7879912413531bbd89318338649dccde1f84a32784de380997d2611d6b7cf86841feb47c3c0c8d67bfe28df
-EBUILD libcxx-15.0.2.ebuild 5737 BLAKE2B ee1e8abbc711cecdc7e92d19941191fc29016aea2a69fe68afa08e04cd0698cde3d78200fd77cc431b541655f6a1557b05c2dfabda5124558fcdf70694d131b0 SHA512 b8f022ed324c22e74f8cfa34090b524e829b237f1d4a73642969d14cf892da7a187b85a398349f9a69ab1f35df642a1301c3968603f73832446b44defc46b60e
-EBUILD libcxx-15.0.3.9999.ebuild 5687 BLAKE2B 47c5a90bc448fc848a61b971f53690559b1383e2b61d41423dab7e773eb4fc3bdcbde23785687664f0a0031a65d1b75b5411f01f7756e17369000dba23b7a6bc SHA512 80a539652f452e27df12a061d26c214f4083b28f702ca3f87688432d5672027f6e412fde2ec831d2c3cec165b9e51be9f935930ba1ddc10c25814c65553f931b
-EBUILD libcxx-16.0.0.9999.ebuild 5687 BLAKE2B 47c5a90bc448fc848a61b971f53690559b1383e2b61d41423dab7e773eb4fc3bdcbde23785687664f0a0031a65d1b75b5411f01f7756e17369000dba23b7a6bc SHA512 80a539652f452e27df12a061d26c214f4083b28f702ca3f87688432d5672027f6e412fde2ec831d2c3cec165b9e51be9f935930ba1ddc10c25814c65553f931b
-EBUILD libcxx-16.0.0_pre20221006.ebuild 5687 BLAKE2B 47c5a90bc448fc848a61b971f53690559b1383e2b61d41423dab7e773eb4fc3bdcbde23785687664f0a0031a65d1b75b5411f01f7756e17369000dba23b7a6bc SHA512 80a539652f452e27df12a061d26c214f4083b28f702ca3f87688432d5672027f6e412fde2ec831d2c3cec165b9e51be9f935930ba1ddc10c25814c65553f931b
+EBUILD libcxx-13.0.1.ebuild 6635 BLAKE2B 4dec3470ede514c9587c1e68baf5d30dc0bf3757aeb11f2ecfcce78c78c33f28c9775647c7afe8a3826afebe055b03daf8c4a2c4a576b0c6c5689c4c1e3da57a SHA512 5e3d1bdd94d6e9b4f37f4ce3d09fc7649254ba52d9181acb6a76b570be3ebe53b1df68836268c366d57f1037b6f4a8c92fce82634b4fc735c38bed2cd5fd6ba4
+EBUILD libcxx-14.0.6.ebuild 6815 BLAKE2B ef602a03b2e1f42fc20f8a1f4d90cbf91a2b237b84d3a4149d123065682cd3fb54391ac9c2c4b52bdf712a84d5cfef03f0103e4b0b5c8376a1d0269b2bcf137d SHA512 73312e53336c8e42d88b4c6379ecb29db34672dbbcb1a2eeec2cbe4d9b7a8f5906b0ab599299cfe46bd5ed15d390641f993990dfa5f248e1168172bbeb832db1
+EBUILD libcxx-15.0.2.ebuild 5547 BLAKE2B 3d073fa67bff7613b745319377c0501d266d753b646fcd68796e7d5964948492265037769af8b038fbfa970b5ae15490ef29796fd3d155aa96aba6225d82a537 SHA512 4f935fb16074c3ab538fdeaa06af8d8d0683d6caf10d32568a73d560bbd798769f0985b98f4967a7c6a724b124a20ea8db39c7c2715543e54ebc6ed32e74c8cf
+EBUILD libcxx-15.0.3.9999.ebuild 5497 BLAKE2B 600c9ebf15d6327505a68fa7323b4f022daa4608fb22b85844561896eb7383758466018efaf11c0c59f4300149dab4c56504f4e3625b51751951a27785a7863f SHA512 f5ea0b524ea0568287007e1f031138b393b510d9ffa7557294d6dfb9dcc4ce89102682bb4047cdcbf9d467e829e46a705cc740db65c70d29bc87a52a9a1368ba
+EBUILD libcxx-16.0.0.9999.ebuild 5497 BLAKE2B 600c9ebf15d6327505a68fa7323b4f022daa4608fb22b85844561896eb7383758466018efaf11c0c59f4300149dab4c56504f4e3625b51751951a27785a7863f SHA512 f5ea0b524ea0568287007e1f031138b393b510d9ffa7557294d6dfb9dcc4ce89102682bb4047cdcbf9d467e829e46a705cc740db65c70d29bc87a52a9a1368ba
+EBUILD libcxx-16.0.0_pre20221006.ebuild 5497 BLAKE2B 600c9ebf15d6327505a68fa7323b4f022daa4608fb22b85844561896eb7383758466018efaf11c0c59f4300149dab4c56504f4e3625b51751951a27785a7863f SHA512 f5ea0b524ea0568287007e1f031138b393b510d9ffa7557294d6dfb9dcc4ce89102682bb4047cdcbf9d467e829e46a705cc740db65c70d29bc87a52a9a1368ba
+EBUILD libcxx-16.0.0_pre20221010.ebuild 5497 BLAKE2B 600c9ebf15d6327505a68fa7323b4f022daa4608fb22b85844561896eb7383758466018efaf11c0c59f4300149dab4c56504f4e3625b51751951a27785a7863f SHA512 f5ea0b524ea0568287007e1f031138b393b510d9ffa7557294d6dfb9dcc4ce89102682bb4047cdcbf9d467e829e46a705cc740db65c70d29bc87a52a9a1368ba
MISC metadata.xml 828 BLAKE2B 40af456df8ac1cfdb66fd62a217abbb4ca837956529906118c35232000435d9e991d18dd0332b7b95eed70d4c7610c7a1aee80af8ba511763edc1423749a4aa4 SHA512 257f8fd05fcade26ca02305356b67c8e2d67a87b180e38a189a659212093b07b9a710b871fbaab894dba9eba5fe450b76c52cc82f6405c24cc1ab2df3abe8bfd
diff --git a/sys-libs/libcxx/libcxx-13.0.1.ebuild b/sys-libs/libcxx/libcxx-13.0.1.ebuild
index f7db45b21571..3021d859b872 100644
--- a/sys-libs/libcxx/libcxx-13.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-13.0.1.ebuild
@@ -89,14 +89,10 @@ multilib_src_configure() {
extra_libs+=( -lunwind )
# if we're using libunwind and clang with compiler-rt, we want
# to link to compiler-rt instead of -lgcc_s
- if tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LDFLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- want_gcc_s=OFF
- want_compiler_rt=ON
- extra_libs+=( "${compiler_rt}" )
- fi
+ if [[ $(tc-get-c-rtlib) == compiler-rt ]]; then
+ want_gcc_s=OFF
+ want_compiler_rt=ON
+ extra_libs+=( "${compiler_rt}" )
fi
elif [[ ${CHOST} == *-darwin* ]] && tc-is-clang; then
# clang-based darwin prefix disables libunwind useflag during
diff --git a/sys-libs/libcxx/libcxx-14.0.6.ebuild b/sys-libs/libcxx/libcxx-14.0.6.ebuild
index 47501e5ea293..063546f816be 100644
--- a/sys-libs/libcxx/libcxx-14.0.6.ebuild
+++ b/sys-libs/libcxx/libcxx-14.0.6.ebuild
@@ -97,14 +97,10 @@ multilib_src_configure() {
extra_libs+=( -lunwind )
# if we're using libunwind and clang with compiler-rt, we want
# to link to compiler-rt instead of -lgcc_s
- if tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LDFLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- want_gcc_s=OFF
- want_compiler_rt=ON
- extra_libs+=( "${compiler_rt}" )
- fi
+ if [[ $(tc-get-c-rtlib) == compiler-rt ]]; then
+ want_gcc_s=OFF
+ want_compiler_rt=ON
+ extra_libs+=( "${compiler_rt}" )
fi
elif [[ ${CHOST} == *-darwin* ]] && tc-is-clang; then
# clang-based darwin prefix disables libunwind useflag during
diff --git a/sys-libs/libcxx/libcxx-15.0.2.ebuild b/sys-libs/libcxx/libcxx-15.0.2.ebuild
index 79e6aec88593..275d229a612a 100644
--- a/sys-libs/libcxx/libcxx-15.0.2.ebuild
+++ b/sys-libs/libcxx/libcxx-15.0.2.ebuild
@@ -95,15 +95,9 @@ multilib_src_configure() {
strip-unsupported-flags
fi
- # link against compiler-rt instead of libgcc if this is what clang does
- local want_compiler_rt=OFF
- if tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LDFLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- want_compiler_rt=ON
- fi
- 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 )
@@ -131,7 +125,7 @@ multilib_src_configure() {
-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-DLIBCXX_INCLUDE_BENCHMARKS=OFF
-DLIBCXX_INCLUDE_TESTS=$(usex test)
- -DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
+ -DLIBCXX_USE_COMPILER_RT=${use_compiler_rt}
)
if use test; then
diff --git a/sys-libs/libcxx/libcxx-15.0.3.9999.ebuild b/sys-libs/libcxx/libcxx-15.0.3.9999.ebuild
index c28920c09043..6bcf1a20c831 100644
--- a/sys-libs/libcxx/libcxx-15.0.3.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-15.0.3.9999.ebuild
@@ -94,15 +94,9 @@ multilib_src_configure() {
strip-unsupported-flags
fi
- # link against compiler-rt instead of libgcc if this is what clang does
- local want_compiler_rt=OFF
- if tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LDFLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- want_compiler_rt=ON
- fi
- 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 )
@@ -130,7 +124,7 @@ multilib_src_configure() {
-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-DLIBCXX_INCLUDE_BENCHMARKS=OFF
-DLIBCXX_INCLUDE_TESTS=$(usex test)
- -DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
+ -DLIBCXX_USE_COMPILER_RT=${use_compiler_rt}
)
if use test; then
diff --git a/sys-libs/libcxx/libcxx-16.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-16.0.0.9999.ebuild
index c28920c09043..6bcf1a20c831 100644
--- a/sys-libs/libcxx/libcxx-16.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-16.0.0.9999.ebuild
@@ -94,15 +94,9 @@ multilib_src_configure() {
strip-unsupported-flags
fi
- # link against compiler-rt instead of libgcc if this is what clang does
- local want_compiler_rt=OFF
- if tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LDFLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- want_compiler_rt=ON
- fi
- 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 )
@@ -130,7 +124,7 @@ multilib_src_configure() {
-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-DLIBCXX_INCLUDE_BENCHMARKS=OFF
-DLIBCXX_INCLUDE_TESTS=$(usex test)
- -DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
+ -DLIBCXX_USE_COMPILER_RT=${use_compiler_rt}
)
if use test; then
diff --git a/sys-libs/libcxx/libcxx-16.0.0_pre20221006.ebuild b/sys-libs/libcxx/libcxx-16.0.0_pre20221006.ebuild
index c28920c09043..6bcf1a20c831 100644
--- a/sys-libs/libcxx/libcxx-16.0.0_pre20221006.ebuild
+++ b/sys-libs/libcxx/libcxx-16.0.0_pre20221006.ebuild
@@ -94,15 +94,9 @@ multilib_src_configure() {
strip-unsupported-flags
fi
- # link against compiler-rt instead of libgcc if this is what clang does
- local want_compiler_rt=OFF
- if tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LDFLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- want_compiler_rt=ON
- fi
- 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 )
@@ -130,7 +124,7 @@ multilib_src_configure() {
-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-DLIBCXX_INCLUDE_BENCHMARKS=OFF
-DLIBCXX_INCLUDE_TESTS=$(usex test)
- -DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
+ -DLIBCXX_USE_COMPILER_RT=${use_compiler_rt}
)
if use test; then
diff --git a/sys-libs/libcxx/libcxx-16.0.0_pre20221010.ebuild b/sys-libs/libcxx/libcxx-16.0.0_pre20221010.ebuild
new file mode 100644
index 000000000000..6bcf1a20c831
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-16.0.0_pre20221010.ebuild
@@ -0,0 +1,212 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..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 dev-lang/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
+}
+
+pkg_postinst() {
+ elog "This package (${PN}) is mainly intended as a replacement for the C++"
+ elog "standard library when using clang."
+ elog "To use it, instead of libstdc++, use:"
+ elog " clang++ -stdlib=libc++"
+ elog "to compile your C++ programs."
+}
diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest
index 24a257b61113..97863b43789c 100644
--- a/sys-libs/libcxxabi/Manifest
+++ b/sys-libs/libcxxabi/Manifest
@@ -3,11 +3,13 @@ DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf
DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c
DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8
DIST llvm-project-5a0722e0469894564dd9b0ee1d4f8c291d09c776.tar.gz 169164627 BLAKE2B c9a8672cac0faa747baa366545d21f91b50e7611e062eb95042cbccc2dc00b74f44c5c2fcccda49b44975320dfadca5916585766235a406dfbd7321afba03025 SHA512 bad4043fab0e4f9c633bc0aa74df1f1ea886f1d20c1c7a2704bd8317371cf6325e70a770623307d7a455e815cce8c5f00be1ed4ec3f06a7b69038a2784f73243
+DIST llvm-project-ebb258d3b0785f6dcc65e1f277d0690891ddc94d.tar.gz 168823463 BLAKE2B 111afe0f6ba6cef28c3d0162c9c650d15239f981949030768780ebe308418346d0ad367e0e58417832ae43e57b27bccaf56415f81e8221c6c5e78d1113f5617b SHA512 80351d7eeac77a15bf5613b289c71d718ecaccd8a6a4ea6736ed8bfc15c8154099c771564f99ea6c8b491f99bf1ca3a45fac977d638f6a03d7f7b42ba522fa20
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
-EBUILD libcxxabi-13.0.1.ebuild 3593 BLAKE2B 2e8717a8dadf431dc4360e4cee5d74875153f375f241388e3cc47410c9ecf4c97f2641c276927a99c6643460bbd1f7bddae72b06e7994e162cc1e7f3fd5e4fbe SHA512 4c943fe5483f94329e3f9390c8ddeaf89dc168220696fd5eb00692e7458d6ff92d3b37343bd6de23df70eea814243aee75bc8d75681ecb944a66cf37562fbdf7
-EBUILD libcxxabi-14.0.6.ebuild 3509 BLAKE2B e6fa29bba6fcc72fa1c049ba696fd9cb6b34b0d89be89e449a21a9ba31c2e01d944ca15b1414043ba1def938dbdca144c37fdecdd39158dc3932ca7b7587f428 SHA512 4cd09cc7b0a0df878d2e2594750a80a18ee6aa09b195cb190ed8432464ec2563ea7b026d2748e6e0d198091e54e07aabdadc7f68919a3a81a4079d67262054f2
-EBUILD libcxxabi-15.0.2.ebuild 3106 BLAKE2B e5058971c3a8b58ea39aa5d09d885e437698f8855bfa86ed550f3878ac05a57c152ef9c5fca5eb9109f11f435c8fba9475aba7f6582761699116a3ce60da7a2b SHA512 9d39757e0d1f9b380df08988aa1b2a203179d488a477803baaf7652a4ac3cfa7954bfb62e1fded13a41f40388d0b5d0ae009ad937e0b71d7db050ab545e7ea78
-EBUILD libcxxabi-15.0.3.9999.ebuild 3056 BLAKE2B 3ec19055b4465421ed3e80788abf44097c1f714704b1aa6efa3688f3052fac1e3a6e6fe102f9c53a1ec2d4ce5a604df14e8738a3b428097d9a324b16dd30eb59 SHA512 8ad6f7deef050526f160ab6eb5119985512b9332e288ca4da739d833566b5ee87c1c85ac0fe381dbd8aad2df76079e33e7283897c3386c34db53120703d1a33f
-EBUILD libcxxabi-16.0.0.9999.ebuild 3056 BLAKE2B 3ec19055b4465421ed3e80788abf44097c1f714704b1aa6efa3688f3052fac1e3a6e6fe102f9c53a1ec2d4ce5a604df14e8738a3b428097d9a324b16dd30eb59 SHA512 8ad6f7deef050526f160ab6eb5119985512b9332e288ca4da739d833566b5ee87c1c85ac0fe381dbd8aad2df76079e33e7283897c3386c34db53120703d1a33f
-EBUILD libcxxabi-16.0.0_pre20221006.ebuild 3056 BLAKE2B 3ec19055b4465421ed3e80788abf44097c1f714704b1aa6efa3688f3052fac1e3a6e6fe102f9c53a1ec2d4ce5a604df14e8738a3b428097d9a324b16dd30eb59 SHA512 8ad6f7deef050526f160ab6eb5119985512b9332e288ca4da739d833566b5ee87c1c85ac0fe381dbd8aad2df76079e33e7283897c3386c34db53120703d1a33f
+EBUILD libcxxabi-13.0.1.ebuild 3468 BLAKE2B 0da66a538e0efab041fa5f56c31a116c9274bec95aa18f10b5759d6347e3e864922207cba0ddc6821eadad4243c247b01869d34f42e34c213f410896f5ac5b8f SHA512 2eaf47c438cae3b024eb64cecedf2643ff2ecbd35610d5cff6fb2f06847af766ff105d4923dfaf2f4d014944f2ef3ac54edd5f7c83e31d49c071ac57f56cd38f
+EBUILD libcxxabi-14.0.6.ebuild 3384 BLAKE2B c7091fc3a025d186909465ea46508b4cc22bfd5bd5156ed7b007c04e5fdb8c80565274ba085ffd5f8bbba2b9182ab3cff0e0c042346f4a04184b0cfd6e5a5d48 SHA512 92f71c9fd82a430c7bb6ecae347b6dff5739c825194731d877dc55f4be302cafeeac66cc2e24b6aa7f0a248af950305628b6ecbf2f6ffc70dce86b6723b75d27
+EBUILD libcxxabi-15.0.2.ebuild 2916 BLAKE2B 970811e1a0000e719236df80e0c046b67f0190f60daa6e8b25ac05213f94ac6697d0c7af2a5533ac920ace3664ccd62b799b376ad0a141cd6636891b51e33e7e SHA512 47f4c107a4e574381860a38fb7b34966f1205a7c6e5017b2b074d0b7f503eb3c1045e33bc748420cad30ab80a08b2decac4b57256e417566de99f7a8ecc31a0d
+EBUILD libcxxabi-15.0.3.9999.ebuild 2866 BLAKE2B 00dc8f0473e5a8081727c83e3fc5459dafc7c680a68f7b237be5f3c8da6cee1916748083e3baf4fda71af8b55dfecb97d7a195b35d4958b8376dc7777df328a5 SHA512 f0f14175c68e080b199d8bcb62fa1387e1b6755bd804dc342dcaf671b84d9dfe29cf8a3559acfe0c9308a73e61416944519b94839c736837fd4bea059c91ec91
+EBUILD libcxxabi-16.0.0.9999.ebuild 2866 BLAKE2B 00dc8f0473e5a8081727c83e3fc5459dafc7c680a68f7b237be5f3c8da6cee1916748083e3baf4fda71af8b55dfecb97d7a195b35d4958b8376dc7777df328a5 SHA512 f0f14175c68e080b199d8bcb62fa1387e1b6755bd804dc342dcaf671b84d9dfe29cf8a3559acfe0c9308a73e61416944519b94839c736837fd4bea059c91ec91
+EBUILD libcxxabi-16.0.0_pre20221006.ebuild 2866 BLAKE2B 00dc8f0473e5a8081727c83e3fc5459dafc7c680a68f7b237be5f3c8da6cee1916748083e3baf4fda71af8b55dfecb97d7a195b35d4958b8376dc7777df328a5 SHA512 f0f14175c68e080b199d8bcb62fa1387e1b6755bd804dc342dcaf671b84d9dfe29cf8a3559acfe0c9308a73e61416944519b94839c736837fd4bea059c91ec91
+EBUILD libcxxabi-16.0.0_pre20221010.ebuild 2866 BLAKE2B 00dc8f0473e5a8081727c83e3fc5459dafc7c680a68f7b237be5f3c8da6cee1916748083e3baf4fda71af8b55dfecb97d7a195b35d4958b8376dc7777df328a5 SHA512 f0f14175c68e080b199d8bcb62fa1387e1b6755bd804dc342dcaf671b84d9dfe29cf8a3559acfe0c9308a73e61416944519b94839c736837fd4bea059c91ec91
MISC metadata.xml 557 BLAKE2B 4f6b0acb7cfdf74971a6fd96051d9f9020141c6117333a8de42bd043935b7bff8d9942faabdf3b1c94597c460393f64eb7d3f7b7d49f39ecfd0094de460f563e SHA512 67a812ef768e681ae77ef6e13bccffcbe53b41e94901f0558b3c7acaf896605ca670c4bb5a690bd9afa3b5a76271341710520a6abc0024c18f437fabde20e847
diff --git a/sys-libs/libcxxabi/libcxxabi-13.0.1.ebuild b/sys-libs/libcxxabi/libcxxabi-13.0.1.ebuild
index b49532e94b6d..b2fcf26fc7f0 100644
--- a/sys-libs/libcxxabi/libcxxabi-13.0.1.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-13.0.1.ebuild
@@ -53,12 +53,8 @@ multilib_src_configure() {
# link against compiler-rt instead of libgcc if we are using clang with libunwind
local want_compiler_rt=OFF
- if use libunwind && tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LDFLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- want_compiler_rt=ON
- fi
+ if use libunwind && [[ $(tc-get-c-rtlib) == compiler-rt ]]; then
+ want_compiler_rt=ON
fi
local libdir=$(get_libdir)
diff --git a/sys-libs/libcxxabi/libcxxabi-14.0.6.ebuild b/sys-libs/libcxxabi/libcxxabi-14.0.6.ebuild
index 1aa08e4c22f1..f88c43716406 100644
--- a/sys-libs/libcxxabi/libcxxabi-14.0.6.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-14.0.6.ebuild
@@ -59,12 +59,8 @@ pkg_setup() {
multilib_src_configure() {
# link against compiler-rt instead of libgcc if we are using clang with libunwind
local want_compiler_rt=OFF
- if use libunwind && tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LDFLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- want_compiler_rt=ON
- fi
+ if use libunwind && [[ $(tc-get-c-rtlib) == compiler-rt ]]; then
+ want_compiler_rt=ON
fi
local libdir=$(get_libdir)
diff --git a/sys-libs/libcxxabi/libcxxabi-15.0.2.ebuild b/sys-libs/libcxxabi/libcxxabi-15.0.2.ebuild
index 5665bc0cb12f..d9a53ffa7084 100644
--- a/sys-libs/libcxxabi/libcxxabi-15.0.2.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-15.0.2.ebuild
@@ -63,15 +63,9 @@ multilib_src_configure() {
strip-unsupported-flags
fi
- # link against compiler-rt instead of libgcc if this is what clang does
- local want_compiler_rt=OFF
- if tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LDFLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- want_compiler_rt=ON
- fi
- fi
+ # link to compiler-rt
+ local use_compiler_rt=OFF
+ [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
local libdir=$(get_libdir)
local mycmakeargs=(
@@ -83,7 +77,7 @@ multilib_src_configure() {
-DLIBCXXABI_ENABLE_SHARED=ON
-DLIBCXXABI_ENABLE_STATIC=$(usex static-libs)
-DLIBCXXABI_INCLUDE_TESTS=$(usex test)
- -DLIBCXXABI_USE_COMPILER_RT=${want_compiler_rt}
+ -DLIBCXXABI_USE_COMPILER_RT=${use_compiler_rt}
# upstream is omitting standard search path for this
# probably because gcc & clang are bundling their own unwind.h
diff --git a/sys-libs/libcxxabi/libcxxabi-15.0.3.9999.ebuild b/sys-libs/libcxxabi/libcxxabi-15.0.3.9999.ebuild
index 130101c20cb9..8d8f8212d31e 100644
--- a/sys-libs/libcxxabi/libcxxabi-15.0.3.9999.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-15.0.3.9999.ebuild
@@ -62,15 +62,9 @@ multilib_src_configure() {
strip-unsupported-flags
fi
- # link against compiler-rt instead of libgcc if this is what clang does
- local want_compiler_rt=OFF
- if tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LDFLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- want_compiler_rt=ON
- fi
- fi
+ # link to compiler-rt
+ local use_compiler_rt=OFF
+ [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
local libdir=$(get_libdir)
local mycmakeargs=(
@@ -82,7 +76,7 @@ multilib_src_configure() {
-DLIBCXXABI_ENABLE_SHARED=ON
-DLIBCXXABI_ENABLE_STATIC=$(usex static-libs)
-DLIBCXXABI_INCLUDE_TESTS=$(usex test)
- -DLIBCXXABI_USE_COMPILER_RT=${want_compiler_rt}
+ -DLIBCXXABI_USE_COMPILER_RT=${use_compiler_rt}
# upstream is omitting standard search path for this
# probably because gcc & clang are bundling their own unwind.h
diff --git a/sys-libs/libcxxabi/libcxxabi-16.0.0.9999.ebuild b/sys-libs/libcxxabi/libcxxabi-16.0.0.9999.ebuild
index 130101c20cb9..8d8f8212d31e 100644
--- a/sys-libs/libcxxabi/libcxxabi-16.0.0.9999.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-16.0.0.9999.ebuild
@@ -62,15 +62,9 @@ multilib_src_configure() {
strip-unsupported-flags
fi
- # link against compiler-rt instead of libgcc if this is what clang does
- local want_compiler_rt=OFF
- if tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LDFLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- want_compiler_rt=ON
- fi
- fi
+ # link to compiler-rt
+ local use_compiler_rt=OFF
+ [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
local libdir=$(get_libdir)
local mycmakeargs=(
@@ -82,7 +76,7 @@ multilib_src_configure() {
-DLIBCXXABI_ENABLE_SHARED=ON
-DLIBCXXABI_ENABLE_STATIC=$(usex static-libs)
-DLIBCXXABI_INCLUDE_TESTS=$(usex test)
- -DLIBCXXABI_USE_COMPILER_RT=${want_compiler_rt}
+ -DLIBCXXABI_USE_COMPILER_RT=${use_compiler_rt}
# upstream is omitting standard search path for this
# probably because gcc & clang are bundling their own unwind.h
diff --git a/sys-libs/libcxxabi/libcxxabi-16.0.0_pre20221006.ebuild b/sys-libs/libcxxabi/libcxxabi-16.0.0_pre20221006.ebuild
index 130101c20cb9..8d8f8212d31e 100644
--- a/sys-libs/libcxxabi/libcxxabi-16.0.0_pre20221006.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-16.0.0_pre20221006.ebuild
@@ -62,15 +62,9 @@ multilib_src_configure() {
strip-unsupported-flags
fi
- # link against compiler-rt instead of libgcc if this is what clang does
- local want_compiler_rt=OFF
- if tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LDFLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- want_compiler_rt=ON
- fi
- fi
+ # link to compiler-rt
+ local use_compiler_rt=OFF
+ [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
local libdir=$(get_libdir)
local mycmakeargs=(
@@ -82,7 +76,7 @@ multilib_src_configure() {
-DLIBCXXABI_ENABLE_SHARED=ON
-DLIBCXXABI_ENABLE_STATIC=$(usex static-libs)
-DLIBCXXABI_INCLUDE_TESTS=$(usex test)
- -DLIBCXXABI_USE_COMPILER_RT=${want_compiler_rt}
+ -DLIBCXXABI_USE_COMPILER_RT=${use_compiler_rt}
# upstream is omitting standard search path for this
# probably because gcc & clang are bundling their own unwind.h
diff --git a/sys-libs/libcxxabi/libcxxabi-16.0.0_pre20221010.ebuild b/sys-libs/libcxxabi/libcxxabi-16.0.0_pre20221010.ebuild
new file mode 100644
index 000000000000..8d8f8212d31e
--- /dev/null
+++ b/sys-libs/libcxxabi/libcxxabi-16.0.0_pre20221010.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit cmake-multilib flag-o-matic llvm llvm.org python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low level support for a standard C++ library"
+HOMEPAGE="https://libcxxabi.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS=""
+IUSE="+clang static-libs test"
+REQUIRED_USE="test? ( clang )"
+RESTRICT="!test? ( test )"
+
+# in 15.x, cxxabi.h is moving from libcxx to libcxxabi
+RDEPEND+="
+ !<sys-libs/libcxx-15
+"
+DEPEND="
+ ${RDEPEND}
+ sys-devel/llvm:${LLVM_MAJOR}
+"
+BDEPEND="
+ clang? (
+ sys-devel/clang:${LLVM_MAJOR}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )
+ test? (
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ )
+"
+
+LLVM_COMPONENTS=( runtimes libcxx{abi,} llvm/cmake cmake )
+LLVM_TEST_COMPONENTS=( llvm/utils/llvm-lit )
+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 dev-lang/llvm; then
+ LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
+ fi
+ python-any-r1_pkg_setup
+}
+
+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
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DCMAKE_CXX_COMPILER_TARGET="${CHOST}"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ -DLLVM_ENABLE_RUNTIMES="libcxxabi;libcxx"
+ -DLLVM_INCLUDE_TESTS=OFF
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+ -DLIBCXXABI_ENABLE_SHARED=ON
+ -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs)
+ -DLIBCXXABI_INCLUDE_TESTS=$(usex test)
+ -DLIBCXXABI_USE_COMPILER_RT=${use_compiler_rt}
+
+ # upstream is omitting standard search path for this
+ # probably because gcc & clang are bundling their own unwind.h
+ -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include
+
+ -DLIBCXX_LIBDIR_SUFFIX=
+ -DLIBCXX_ENABLE_SHARED=ON
+ -DLIBCXX_ENABLE_STATIC=OFF
+ -DLIBCXX_CXX_ABI=libcxxabi
+ -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+ -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+ -DLIBCXX_HAS_GCC_S_LIB=OFF
+ -DLIBCXX_INCLUDE_BENCHMARKS=OFF
+ -DLIBCXX_INCLUDE_TESTS=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_build cxxabi
+}
+
+multilib_src_test() {
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-cxxabi
+}
+
+multilib_src_install() {
+ DESTDIR="${D}" cmake_build install-cxxabi
+}
diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest
index af30e52f505a..0698c9b70dcb 100644
--- a/sys-libs/libomp/Manifest
+++ b/sys-libs/libomp/Manifest
@@ -5,6 +5,7 @@ DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf
DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c
DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8
DIST llvm-project-5a0722e0469894564dd9b0ee1d4f8c291d09c776.tar.gz 169164627 BLAKE2B c9a8672cac0faa747baa366545d21f91b50e7611e062eb95042cbccc2dc00b74f44c5c2fcccda49b44975320dfadca5916585766235a406dfbd7321afba03025 SHA512 bad4043fab0e4f9c633bc0aa74df1f1ea886f1d20c1c7a2704bd8317371cf6325e70a770623307d7a455e815cce8c5f00be1ed4ec3f06a7b69038a2784f73243
+DIST llvm-project-ebb258d3b0785f6dcc65e1f277d0690891ddc94d.tar.gz 168823463 BLAKE2B 111afe0f6ba6cef28c3d0162c9c650d15239f981949030768780ebe308418346d0ad367e0e58417832ae43e57b27bccaf56415f81e8221c6c5e78d1113f5617b SHA512 80351d7eeac77a15bf5613b289c71d718ecaccd8a6a4ea6736ed8bfc15c8154099c771564f99ea6c8b491f99bf1ca3a45fac977d638f6a03d7f7b42ba522fa20
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
EBUILD libomp-13.0.1.ebuild 3907 BLAKE2B 46ed471cb355b70f78b59faeffbcc5148d47a3b971818c831e7b155f4f0973238fdbfb5f2fa91913fef93e01beed45f42b1158af92e56cd8445c4a8157508bb7 SHA512 13f150c5223689e4d98e16cafa11e44164b177eb68d3df213582b85c5194e7f736143b49b2075f4178689efcfa8320e2b1faf34242c09dbfcda923b443d42741
EBUILD libomp-14.0.6-r1.ebuild 3917 BLAKE2B 23460d17ef5b7e107d8be1bd1c37028d69fda2e151e7d8f7f0c6d23dc00336f5a503a4e8e692b4203f3e4219fde6f96f9d30d4c7fed0348066f8c603636cc39b SHA512 aa9e9985a1941fe5c33b998d81bfdd838dbe965d5c82e20e366d2cf7a08db24feb2f3f7633740bea45a3685049d1593df6465b8c785b9a87c197402f559b26ca
@@ -12,4 +13,5 @@ EBUILD libomp-15.0.2.ebuild 3387 BLAKE2B c61c0fc5f15d2743dadada477d545632aa2f9fc
EBUILD libomp-15.0.3.9999.ebuild 3339 BLAKE2B 4fb077e0f5195f1c2fef3691aba3e8b674d340df9f3d1de8c9962a03267662bcf55a43af75db6e3ab5121de6c129c7f7514c127ec27c3b940cb2fbbf619788d4 SHA512 49aa1cb488a8e428892dd3b74a82462206e9c11e139b5b9b8e2edca496279c274f81ece0dcb9e71eea43c4e6f99ca4aacd5bdc48e4595743b7f98e7a1f7ae3d9
EBUILD libomp-16.0.0.9999.ebuild 3428 BLAKE2B d6fccc25e17fc6284c9825380c2ef44d2bcf097a8e2f6688f30a945c7897a1ce3e6356c7daecc2a190caf6fb8519d9b90b038c356f1bf0d345a32137c38bc3b6 SHA512 9a3b80bb956a7da6af1b77db07fb9f55ac2dc65e621761ab52bcd1a8aa3dcbe285e2e134984f02e69692bab608d1ebac25e815367cb5c388c929100bfc5f15d2
EBUILD libomp-16.0.0_pre20221006.ebuild 3428 BLAKE2B d6fccc25e17fc6284c9825380c2ef44d2bcf097a8e2f6688f30a945c7897a1ce3e6356c7daecc2a190caf6fb8519d9b90b038c356f1bf0d345a32137c38bc3b6 SHA512 9a3b80bb956a7da6af1b77db07fb9f55ac2dc65e621761ab52bcd1a8aa3dcbe285e2e134984f02e69692bab608d1ebac25e815367cb5c388c929100bfc5f15d2
+EBUILD libomp-16.0.0_pre20221010.ebuild 3428 BLAKE2B d6fccc25e17fc6284c9825380c2ef44d2bcf097a8e2f6688f30a945c7897a1ce3e6356c7daecc2a190caf6fb8519d9b90b038c356f1bf0d345a32137c38bc3b6 SHA512 9a3b80bb956a7da6af1b77db07fb9f55ac2dc65e621761ab52bcd1a8aa3dcbe285e2e134984f02e69692bab608d1ebac25e815367cb5c388c929100bfc5f15d2
MISC metadata.xml 908 BLAKE2B c200fb1c93ae8fbd3963b2b575586fbe8f6df2308a2babbe3da77c2cf59c3fa43f938849d47df2ef4acf381f247848c363a20cf33ad763be169764cbe43c4bb4 SHA512 3cde603a2de523c21fbf288d459d76c697f2291d3dc3dac47e70781a910b4d524442d3076d8541818f2d43c3c6477af75d5f0cb76c4fbe0b4567a11d67edb056
diff --git a/sys-libs/libomp/libomp-16.0.0_pre20221010.ebuild b/sys-libs/libomp/libomp-16.0.0_pre20221010.ebuild
new file mode 100644
index 000000000000..dca2bf97647b
--- /dev/null
+++ b/sys-libs/libomp/libomp-16.0.0_pre20221010.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit flag-o-matic cmake-multilib linux-info llvm llvm.org python-any-r1
+
+DESCRIPTION="OpenMP runtime library for LLVM/clang compiler"
+HOMEPAGE="https://openmp.llvm.org"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0/${LLVM_SOABI}"
+KEYWORDS=""
+IUSE="
+ debug hwloc offload ompt test
+ llvm_targets_AMDGPU llvm_targets_NVPTX
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ hwloc? ( >=sys-apps/hwloc-2.5:0=[${MULTILIB_USEDEP}] )
+ offload? (
+ virtual/libelf:=[${MULTILIB_USEDEP}]
+ dev-libs/libffi:=[${MULTILIB_USEDEP}]
+ ~sys-devel/llvm-${PV}[${MULTILIB_USEDEP}]
+ )
+"
+# tests:
+# - dev-python/lit provides the test runner
+# - sys-devel/llvm provide test utils (e.g. FileCheck)
+# - sys-devel/clang provides the compiler to run tests
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-lang/perl
+ offload? (
+ llvm_targets_AMDGPU? ( sys-devel/clang )
+ llvm_targets_NVPTX? ( sys-devel/clang )
+ virtual/pkgconfig
+ )
+ test? (
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ sys-devel/clang
+ )
+"
+
+LLVM_COMPONENTS=( openmp cmake llvm/include )
+llvm.org_set_globals
+
+python_check_deps() {
+ python_has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+kernel_pds_check() {
+ if use kernel_linux && kernel_is -lt 4 15 && kernel_is -ge 4 13; then
+ local CONFIG_CHECK="~!SCHED_PDS"
+ local ERROR_SCHED_PDS="\
+PDS scheduler versions >= 0.98c < 0.98i (e.g. used in kernels >= 4.13-pf11
+< 4.14-pf9) do not implement sched_yield() call which may result in horrible
+performance problems with libomp. If you are using one of the specified
+kernel versions, you may want to disable the PDS scheduler."
+
+ check_extra_config
+ fi
+}
+
+pkg_pretend() {
+ kernel_pds_check
+}
+
+pkg_setup() {
+ use offload && LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
+ use test && python-any-r1_pkg_setup
+}
+
+multilib_src_configure() {
+ # LTO causes issues in other packages building, #870127
+ filter-lto
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ local libdir="$(get_libdir)"
+ local mycmakeargs=(
+ -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}"
+
+ -DLIBOMP_USE_HWLOC=$(usex hwloc)
+ -DLIBOMP_OMPT_SUPPORT=$(usex ompt)
+
+ -DOPENMP_ENABLE_LIBOMPTARGET=$(usex offload)
+
+ # do not install libgomp.so & libiomp5.so aliases
+ -DLIBOMP_INSTALL_ALIASES=OFF
+ # disable unnecessary hack copying stuff back to srcdir
+ -DLIBOMP_COPY_EXPORTS=OFF
+ # disable until upstream fixes it to use positive logic
+ -DDISABLE_OMPD_GDB_PLUGIN=ON
+ )
+
+ if use offload; then
+ if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then
+ mycmakeargs+=(
+ -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN=$(usex llvm_targets_AMDGPU)
+ -DLIBOMPTARGET_BUILD_CUDA_PLUGIN=$(usex llvm_targets_NVPTX)
+ )
+ else
+ mycmakeargs+=(
+ -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN=OFF
+ -DLIBOMPTARGET_BUILD_CUDA_PLUGIN=OFF
+ )
+ fi
+ fi
+
+ use test && mycmakeargs+=(
+ # this project does not use standard LLVM cmake macros
+ -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit"
+ -DOPENMP_LIT_ARGS="$(get_lit_flags)"
+
+ -DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")"
+ -DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++")"
+ )
+ addpredict /dev/nvidiactl
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+
+ cmake_build check-libomp
+}
diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest
index 6916df2d86d4..6d2fe0b1cbdd 100644
--- a/sys-libs/llvm-libunwind/Manifest
+++ b/sys-libs/llvm-libunwind/Manifest
@@ -4,11 +4,13 @@ DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf
DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c
DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8
DIST llvm-project-5a0722e0469894564dd9b0ee1d4f8c291d09c776.tar.gz 169164627 BLAKE2B c9a8672cac0faa747baa366545d21f91b50e7611e062eb95042cbccc2dc00b74f44c5c2fcccda49b44975320dfadca5916585766235a406dfbd7321afba03025 SHA512 bad4043fab0e4f9c633bc0aa74df1f1ea886f1d20c1c7a2704bd8317371cf6325e70a770623307d7a455e815cce8c5f00be1ed4ec3f06a7b69038a2784f73243
+DIST llvm-project-ebb258d3b0785f6dcc65e1f277d0690891ddc94d.tar.gz 168823463 BLAKE2B 111afe0f6ba6cef28c3d0162c9c650d15239f981949030768780ebe308418346d0ad367e0e58417832ae43e57b27bccaf56415f81e8221c6c5e78d1113f5617b SHA512 80351d7eeac77a15bf5613b289c71d718ecaccd8a6a4ea6736ed8bfc15c8154099c771564f99ea6c8b491f99bf1ca3a45fac977d638f6a03d7f7b42ba522fa20
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
-EBUILD llvm-libunwind-13.0.1-r1.ebuild 3912 BLAKE2B 4d66504181497e9234ce0192dc75d68dd89652739f5b40f4ce5a6bac927b128be1f45feb0e960650d06fb4086592b6833f51972b77e908c525cf5257b88e3908 SHA512 70ca5f5567e654c33524b459f000dba8aa9b93c0b108ad88bd3eed3d7154904e6c775d54a0d9245d9f41d6229ae42a74ed6ed6728e31e94feae253106f463e53
-EBUILD llvm-libunwind-14.0.6-r1.ebuild 3301 BLAKE2B 838c03d69e46a441ccbd7d9524fbde37e02c2f8ffa607ccdecf9fd7073a0d733d305457e574456dd519b7449825a538208e3b308235a65d687c4e76321f1b415 SHA512 acb17241c88b5a6ff0bbebe215a48bf603cc16f1e94f11f51a0b6d6934c940cf9b56c5c6090c96f64f4f6db1826764e7028d990cc7d44cb6a528639518820ac2
-EBUILD llvm-libunwind-15.0.2.ebuild 3180 BLAKE2B 795d5d2954ce760102453b4d2d81274787f30d3389f0f45e6f07e34fbf0edb1d4453fece7246e8dbe198054c07fcc43c50ee819719071d42494edfc982866f31 SHA512 18b48fa57686da69d0bcf67c54feb16f586283b5379d46b82115d9443bd3ef611b3d355f6513655128f606cdef65b093805554012ab1df8435258696838b9887
-EBUILD llvm-libunwind-15.0.3.9999.ebuild 3118 BLAKE2B 4c150f016537ae0cbf7f109336d4695f87a1173e25eb2481817f28231f49f6c524c953d34a5596901668192707f3231503edfd144f4064263597277c074c3737 SHA512 03997bdf37af9c01c28c62bb0428ec3145f1f91b8b9e383c01a9d51f21faa6ff39391055044b23c92c19a06c5327eb2eaa0a6ecf173bbe3a9fe3fb89e101b23c
-EBUILD llvm-libunwind-16.0.0.9999.ebuild 3118 BLAKE2B 4c150f016537ae0cbf7f109336d4695f87a1173e25eb2481817f28231f49f6c524c953d34a5596901668192707f3231503edfd144f4064263597277c074c3737 SHA512 03997bdf37af9c01c28c62bb0428ec3145f1f91b8b9e383c01a9d51f21faa6ff39391055044b23c92c19a06c5327eb2eaa0a6ecf173bbe3a9fe3fb89e101b23c
-EBUILD llvm-libunwind-16.0.0_pre20221006.ebuild 3082 BLAKE2B 0d12f03bfcc8ed8148643660bd2afedce683722e9af9e3b24cd393432b6bbff4af577e9970e07093679b012a22d7f572129200b5a2eb5ccb177085348a6ff215 SHA512 158c89ee07d5e0e032adf547c22757d90ac5f2f186dae6d0467400fff4ae18ffe0eedd37563b5043d772f3400344431cb2e00944401d529c8774c50cd966b9f0
+EBUILD llvm-libunwind-13.0.1-r1.ebuild 3772 BLAKE2B 8da1185d1b1c71fe4a84cf068847cdf86f210c181e5f745b3ed05635b8f2824ac7aab931a8066cf199c93553fe4a3a0915972f854af1e09b1a2411f66fee834d SHA512 736810a5a52be3271854a50b476874986618e79fb24022ae3188c68759b31b75071083db9a5c9ab8f9439edff3cf7df2e4a20a847ad330984796ed747eb1cd4f
+EBUILD llvm-libunwind-14.0.6-r1.ebuild 3161 BLAKE2B eba3be4b7bafe6a69329f7f565cf33fe3315949dd3e0a007079e1fb040bc746c9beec20c763c9c10fdc7eb7cd8cfc14053138594dd47db13df51dc3972365639 SHA512 83dbd99c4825aeb0aaeb3910af22717637a1be1ced85972381ea091183ca6ba128900511b26dedfafb4ac492d80ba3cd0982051fd71f5e72375af7e160da1f9b
+EBUILD llvm-libunwind-15.0.2.ebuild 3040 BLAKE2B 75beacd876e87439c8c4a671135b638da8a1f5f84e60b45f80f4288816f6b689ac42059a33176bfbf97f45cc4f34a868ca5ff7c64147ebd13109678a9d97e3ad SHA512 da8075bb36a018ff75a3252888459f6bc70f93751846c14f839a1124a2644d6a3fa6b9198f19dd334c32ba8d7622a1a1a9de9049e63c6cbce97145b0935d4956
+EBUILD llvm-libunwind-15.0.3.9999.ebuild 2978 BLAKE2B e1fc6e470239200cea2bd9b84e9e084c204536e1bd2886780849f342452cf6b86a6d4d5baac91d562af632a9bcf298569ff459f24464fabc1e01accdc30e0db1 SHA512 b9e5e37262bd55c9aa776b78bcbab46be96de644ddc182fa6787200e4d6746babb09f42481d61723faec935542f869b10e7ce3af688f36a5086bcd6b235bbeec
+EBUILD llvm-libunwind-16.0.0.9999.ebuild 2978 BLAKE2B e1fc6e470239200cea2bd9b84e9e084c204536e1bd2886780849f342452cf6b86a6d4d5baac91d562af632a9bcf298569ff459f24464fabc1e01accdc30e0db1 SHA512 b9e5e37262bd55c9aa776b78bcbab46be96de644ddc182fa6787200e4d6746babb09f42481d61723faec935542f869b10e7ce3af688f36a5086bcd6b235bbeec
+EBUILD llvm-libunwind-16.0.0_pre20221006.ebuild 2942 BLAKE2B 842a78af254a130f6428c3dd6f9e5ec36166b1b3b05110f5425f0d473036e3dab7950ff34935b0964d4a5925ee8650d9a1cd1eb2fd0c484b53389d5d5460cfdb SHA512 a6b8ebe493d3bc41ed0462e31facde15271a1ea9c50831f89a782b2ce4114cc37be06beec34b4a88581fcc2eb2849c928f53e400f55b481577aaa811b182a903
+EBUILD llvm-libunwind-16.0.0_pre20221010.ebuild 2888 BLAKE2B 256d1277c398fbfd6361c7ea7649d486fa7032a4d93bba637154a51c0612e43ae6276f4a653e83edd20dcc8bf903bc3c85930c5efd5f86a25f004e3e7c2120f1 SHA512 38676c41a2b511dd2094a9dee38261278617922f231e653c0c6ed7cbe347952562b3c55523d1282cc184be4c19806516075fe7c05a832d296451f0094530e53f
MISC metadata.xml 438 BLAKE2B 2a36fbbc59e137056029c62aef6d167d9c82531c2582d7bad5cb13cc36e5c4c9518ffe8c56d06bbcfd97ad22eda71a8b776f3984195f53d06cf45659b438dc00 SHA512 4f18b054072d00e5440faa31a59f9ef587d035b5f25e30913f0b1449debee967fa794fae2548e87db3fb2177ce853ab075e1f11f3cc763f5d7fdf06147108845
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-13.0.1-r1.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-13.0.1-r1.ebuild
index 1de0765ec1bf..76693df7bef7 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-13.0.1-r1.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-13.0.1-r1.ebuild
@@ -38,7 +38,6 @@ pkg_setup() {
}
multilib_src_configure() {
- local use_compiler_rt=OFF
local libdir=$(get_libdir)
# https://github.com/llvm/llvm-project/issues/56825
@@ -47,13 +46,8 @@ multilib_src_configure() {
# link to compiler-rt
# https://github.com/gentoo/gentoo/pull/21516
- if tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LD_FLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- use_compiler_rt=ON
- fi
- fi
+ local use_compiler_rt=OFF
+ [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
local mycmakeargs=(
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-14.0.6-r1.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-14.0.6-r1.ebuild
index 3596ed724fe0..336f5fc86bf1 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-14.0.6-r1.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-14.0.6-r1.ebuild
@@ -42,7 +42,6 @@ python_check_deps() {
}
multilib_src_configure() {
- local use_compiler_rt=OFF
local libdir=$(get_libdir)
# https://github.com/llvm/llvm-project/issues/56825
@@ -51,13 +50,8 @@ multilib_src_configure() {
# link to compiler-rt
# https://github.com/gentoo/gentoo/pull/21516
- if tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LD_FLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- use_compiler_rt=ON
- fi
- fi
+ local use_compiler_rt=OFF
+ [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
local mycmakeargs=(
-DPython3_EXECUTABLE="${PYTHON}"
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-15.0.2.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-15.0.2.ebuild
index cf301e306fd9..d32002debae2 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-15.0.2.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-15.0.2.ebuild
@@ -51,7 +51,6 @@ pkg_setup() {
}
multilib_src_configure() {
- local use_compiler_rt=OFF
local libdir=$(get_libdir)
# https://github.com/llvm/llvm-project/issues/56825
@@ -66,13 +65,8 @@ multilib_src_configure() {
# link to compiler-rt
# https://github.com/gentoo/gentoo/pull/21516
- if tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LD_FLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- use_compiler_rt=ON
- fi
- fi
+ local use_compiler_rt=OFF
+ [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
local mycmakeargs=(
-DCMAKE_CXX_COMPILER_TARGET="${CHOST}"
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-15.0.3.9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-15.0.3.9999.ebuild
index b53a48502232..2f98df4d5ed6 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-15.0.3.9999.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-15.0.3.9999.ebuild
@@ -50,7 +50,6 @@ pkg_setup() {
}
multilib_src_configure() {
- local use_compiler_rt=OFF
local libdir=$(get_libdir)
# https://github.com/llvm/llvm-project/issues/56825
@@ -65,13 +64,8 @@ multilib_src_configure() {
# link to compiler-rt
# https://github.com/gentoo/gentoo/pull/21516
- if tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LD_FLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- use_compiler_rt=ON
- fi
- fi
+ local use_compiler_rt=OFF
+ [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
local mycmakeargs=(
-DCMAKE_CXX_COMPILER_TARGET="${CHOST}"
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-16.0.0.9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-16.0.0.9999.ebuild
index b53a48502232..2f98df4d5ed6 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-16.0.0.9999.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-16.0.0.9999.ebuild
@@ -50,7 +50,6 @@ pkg_setup() {
}
multilib_src_configure() {
- local use_compiler_rt=OFF
local libdir=$(get_libdir)
# https://github.com/llvm/llvm-project/issues/56825
@@ -65,13 +64,8 @@ multilib_src_configure() {
# link to compiler-rt
# https://github.com/gentoo/gentoo/pull/21516
- if tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LD_FLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- use_compiler_rt=ON
- fi
- fi
+ local use_compiler_rt=OFF
+ [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
local mycmakeargs=(
-DCMAKE_CXX_COMPILER_TARGET="${CHOST}"
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-16.0.0_pre20221006.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-16.0.0_pre20221006.ebuild
index 1d7329494c4c..7128dcaa091f 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-16.0.0_pre20221006.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-16.0.0_pre20221006.ebuild
@@ -50,7 +50,6 @@ pkg_setup() {
}
multilib_src_configure() {
- local use_compiler_rt=OFF
local libdir=$(get_libdir)
# https://github.com/llvm/llvm-project/issues/56825
@@ -65,13 +64,8 @@ multilib_src_configure() {
# link to compiler-rt
# https://github.com/gentoo/gentoo/pull/21516
- if tc-is-clang; then
- local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
- ${LD_FLAGS} -print-libgcc-file-name)
- if [[ ${compiler_rt} == *libclang_rt* ]]; then
- use_compiler_rt=ON
- fi
- fi
+ local use_compiler_rt=OFF
+ [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
local mycmakeargs=(
-DCMAKE_CXX_COMPILER_TARGET="${CHOST}"
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-16.0.0_pre20221010.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-16.0.0_pre20221010.ebuild
new file mode 100644
index 000000000000..cb718502b12b
--- /dev/null
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-16.0.0_pre20221010.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit cmake-multilib flag-o-matic llvm llvm.org python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="C++ runtime stack unwinder from LLVM"
+HOMEPAGE="https://llvm.org/docs/ExceptionHandling.html"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS=""
+IUSE="+clang debug static-libs test"
+REQUIRED_USE="test? ( clang )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !sys-libs/libunwind
+"
+DEPEND="
+ sys-devel/llvm:${LLVM_MAJOR}
+"
+BDEPEND="
+ clang? (
+ sys-devel/clang:${LLVM_MAJOR}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )
+ test? (
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ )
+"
+
+LLVM_COMPONENTS=( runtimes libunwind libcxx llvm/cmake cmake )
+LLVM_TEST_COMPONENTS=( libcxxabi llvm/utils/llvm-lit )
+llvm.org_set_globals
+
+python_check_deps() {
+ use test || return 0
+ python_has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+multilib_src_configure() {
+ local libdir=$(get_libdir)
+
+ # https://github.com/llvm/llvm-project/issues/56825
+ # also separately bug #863917
+ filter-lto
+
+ if use clang; then
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ fi
+
+ # link to compiler-rt
+ # https://github.com/gentoo/gentoo/pull/21516
+ local use_compiler_rt=OFF
+ [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
+
+ local mycmakeargs=(
+ -DCMAKE_CXX_COMPILER_TARGET="${CHOST}"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ -DLLVM_ENABLE_RUNTIMES="libunwind"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+ -DLLVM_INCLUDE_TESTS=OFF
+ -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug)
+ -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON
+ -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs)
+ -DLIBUNWIND_INCLUDE_TESTS=$(usex test)
+ -DLIBUNWIND_INSTALL_HEADERS=ON
+
+ # avoid dependency on libgcc_s if compiler-rt is used
+ -DLIBUNWIND_USE_COMPILER_RT=${use_compiler_rt}
+ )
+ if use test; then
+ mycmakeargs+=(
+ -DLLVM_ENABLE_RUNTIMES="libunwind;libcxxabi;libcxx"
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx"
+
+ -DLIBCXXABI_LIBDIR_SUFFIX=
+ -DLIBCXXABI_ENABLE_SHARED=OFF
+ -DLIBCXXABI_ENABLE_STATIC=ON
+ -DLIBCXXABI_USE_LLVM_UNWINDER=ON
+ -DLIBCXXABI_INCLUDE_TESTS=OFF
+
+ -DLIBCXX_LIBDIR_SUFFIX=
+ -DLIBCXX_ENABLE_SHARED=OFF
+ -DLIBCXX_ENABLE_STATIC=ON
+ -DLIBCXX_CXX_ABI=libcxxabi
+ -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+ -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+ -DLIBCXX_HAS_GCC_S_LIB=OFF
+ -DLIBCXX_INCLUDE_TESTS=OFF
+ -DLIBCXX_INCLUDE_BENCHMARKS=OFF
+ )
+ fi
+
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-unwind
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-unwind
+}