summaryrefslogtreecommitdiff
path: root/sys-libs
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/Manifest.gzbin14044 -> 14060 bytes
-rw-r--r--sys-libs/compiler-rt-sanitizers/Manifest2
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-12.0.1_rc2.ebuild200
-rw-r--r--sys-libs/compiler-rt/Manifest2
-rw-r--r--sys-libs/compiler-rt/compiler-rt-12.0.1_rc2.ebuild124
-rw-r--r--sys-libs/glibc/Manifest4
-rw-r--r--sys-libs/glibc/glibc-2.33-r1.ebuild5
-rw-r--r--sys-libs/glibc/glibc-9999.ebuild5
-rw-r--r--sys-libs/libcxx/Manifest2
-rw-r--r--sys-libs/libcxx/libcxx-12.0.1_rc2.ebuild211
-rw-r--r--sys-libs/libcxxabi/Manifest2
-rw-r--r--sys-libs/libcxxabi/libcxxabi-12.0.1_rc2.ebuild122
-rw-r--r--sys-libs/libomp/Manifest2
-rw-r--r--sys-libs/libomp/libomp-12.0.1_rc2.ebuild106
-rw-r--r--sys-libs/libsmbios/Manifest2
-rw-r--r--sys-libs/libsmbios/metadata.xml4
-rw-r--r--sys-libs/libxcrypt/Manifest2
-rw-r--r--sys-libs/libxcrypt/metadata.xml32
-rw-r--r--sys-libs/llvm-libunwind/Manifest2
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-12.0.1_rc2.ebuild124
20 files changed, 933 insertions, 20 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz
index 9d74ad5749ec..ca15b46f0f48 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 7c6ede9a0d6f..7e8b4ddf931f 100644
--- a/sys-libs/compiler-rt-sanitizers/Manifest
+++ b/sys-libs/compiler-rt-sanitizers/Manifest
@@ -6,10 +6,12 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
DIST llvmorg-12.0.1-rc1.tar.gz 134261735 BLAKE2B d29510495641c06e6d7a5ac165e6d34e0ba15d1a5b786534e186e341e3a0550cdd3d8a2b61deb3e2bf44c0b0ff8561224bf7f8cebc2ce9415639cb67ceae289e SHA512 4595a26df56eed7d5941240fe92116ad2f1c61639f0f464697c2c530a601347032fbad6802d1fa915ced8574c7b30ef05bc8c0be737784c844d3860892817e6e
+DIST llvmorg-12.0.1-rc2.tar.gz 134274147 BLAKE2B 2d3f6ce8d5239cf2e5ea52f4b9020d6a8fedb8d6a4df02ca0d8e4398237f4eb967865e1e65570d16cd191865281b9619a63905c1e1c47b31183b881e97e49867 SHA512 cdebb954016dc92251cd9c6281804f7a36e7bc8c6f101a6817d96cc121aba4d361fb99501c259409a29c90d7749b224be670c41177fe43fa64b730ff294831b8
EBUILD compiler-rt-sanitizers-10.0.1-r1.ebuild 4513 BLAKE2B be188f8bef66099999a98b033ff18f132a1697beb8606f44a7bcaacabff7123439b09e4a34e03be51eebba4b4059461b5953888a99753fa7c58dab7ae3f89337 SHA512 97bb314099bdc4b4f237eca31da1d0ac5bf548c05a2691fa0c6c5308979fd654649ccf8e121cb1529b6261bd1045d55ca6e0bd851d3b8896d46f13f8becee821
EBUILD compiler-rt-sanitizers-11.1.0-r1.ebuild 6036 BLAKE2B 0b573d9345f36f750283574bd5f2efe8d60ced8448a700b3571a2303a26a79fa1240c6347d28ba810f7619afc58afcd3e369b2a7769b3a2ebc303919701eddbe SHA512 960d2f6ee96dcefbe3cb9b6637676cc1f16cbb2904bb6913b6d1807afae61229d7774bebe0d3e50fff62bf7fcf5c289ad8b7a5c614ae2589b9b3c891103606ef
EBUILD compiler-rt-sanitizers-12.0.0.ebuild 6085 BLAKE2B 4571a815cf55d95ad179e22ae351163e4df99634db9b89217b1ba17281b4945521bb99f03934fc97385d2854902dcd606939c4219a633935f78673c2475cbe9c SHA512 650437aa5152276a2cedfe8dbb2e1a43405f134702670f94f0434f54ccd837a5ec062417c7536581e9778a12012724872f4eaa9fbae5d2e51645d8016d39d262
EBUILD compiler-rt-sanitizers-12.0.1.9999.ebuild 5885 BLAKE2B 7369edb9da3e3915eb72e684efa29e7a9b895211f400c8e2957495eff732afcf33d3b9a2d2a86fcfd973958eb7a9e5c49269b1221a7c30c5736d2dd284738445 SHA512 85df50370833bff9c73ebb6d11307349f6a437fd673aef608aa525fdf766f71debccc5ff0959253fc9f662050e727859625ce75cbee2e5084deaa07fcfe67d8a
EBUILD compiler-rt-sanitizers-12.0.1_rc1.ebuild 5885 BLAKE2B 7369edb9da3e3915eb72e684efa29e7a9b895211f400c8e2957495eff732afcf33d3b9a2d2a86fcfd973958eb7a9e5c49269b1221a7c30c5736d2dd284738445 SHA512 85df50370833bff9c73ebb6d11307349f6a437fd673aef608aa525fdf766f71debccc5ff0959253fc9f662050e727859625ce75cbee2e5084deaa07fcfe67d8a
+EBUILD compiler-rt-sanitizers-12.0.1_rc2.ebuild 5885 BLAKE2B 7369edb9da3e3915eb72e684efa29e7a9b895211f400c8e2957495eff732afcf33d3b9a2d2a86fcfd973958eb7a9e5c49269b1221a7c30c5736d2dd284738445 SHA512 85df50370833bff9c73ebb6d11307349f6a437fd673aef608aa525fdf766f71debccc5ff0959253fc9f662050e727859625ce75cbee2e5084deaa07fcfe67d8a
EBUILD compiler-rt-sanitizers-13.0.0.9999.ebuild 5885 BLAKE2B 7369edb9da3e3915eb72e684efa29e7a9b895211f400c8e2957495eff732afcf33d3b9a2d2a86fcfd973958eb7a9e5c49269b1221a7c30c5736d2dd284738445 SHA512 85df50370833bff9c73ebb6d11307349f6a437fd673aef608aa525fdf766f71debccc5ff0959253fc9f662050e727859625ce75cbee2e5084deaa07fcfe67d8a
MISC metadata.xml 1341 BLAKE2B 27ba2b57b7ba21538680b5535aec8b0e8e772a040b25ac8c9285765ed00a485a01ce6dd47c32686c7d162d072f4d6d7d2e1a790e9bd867b61a460b01ad79bade SHA512 909a922e1b0e9649534d88bb7692b1d1d7a9d3d539a4926054dac834d672da065cfea5b2aab02dd23f2a7b0dde0eb0b10ae453990c3ecf99ec20f6a2d2bdbac6
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-12.0.1_rc2.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-12.0.1_rc2.ebuild
new file mode 100644
index 000000000000..e96a02172283
--- /dev/null
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-12.0.1_rc2.ebuild
@@ -0,0 +1,200 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+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="$(ver_cut 1-3)"
+KEYWORDS=""
+IUSE="+clang test elibc_glibc"
+# base targets
+IUSE+=" +libfuzzer +memprof +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 profile xray )
+ test? (
+ cfi? ( ubsan )
+ gwp-asan? ( scudo )
+ )"
+RESTRICT="!test? ( test ) !clang? ( test )"
+
+CLANG_SLOT=${SLOT%%.*}
+# llvm-6 for new lit options
+DEPEND="
+ >=sys-devel/llvm-6"
+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-5[\${PYTHON_USEDEP}]")
+ =sys-devel/clang-${PV%_*}*:${CLANG_SLOT}
+ sys-libs/compiler-rt:${SLOT}
+ )
+ ${PYTHON_DEPS}"
+
+LLVM_COMPONENTS=( compiler-rt )
+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
+ has_version "dev-python/lit[${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_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() {
+ # 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/${SLOT}"
+ # 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/${SLOT}"
+
+ -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_PROFILE=$(usex profile)
+ -DCOMPILER_RT_BUILD_SANITIZERS="${want_sanitizer}"
+ -DCOMPILER_RT_BUILD_XRAY=$(usex xray)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+ 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/${CLANG_SLOT}/bin/clang"
+ -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${CLANG_SLOT}/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/${CLANG_SLOT}/bin/clang \
+ CXX=${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/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/${SLOT}/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/${CLANG_SLOT}/{bin,$(get_libdir)},clang/${SLOT}/include} || die
+ cp "${EPREFIX}"/usr/lib/llvm/${CLANG_SLOT}/bin/clang{,++} \
+ "${BUILD_DIR}"/lib/llvm/${CLANG_SLOT}/bin/ || die
+ cp "${EPREFIX}"/usr/lib/clang/${SLOT}/include/*.h \
+ "${BUILD_DIR}"/lib/clang/${SLOT}/include/ || die
+ cp "${sys_dir}"/*builtins*.a \
+ "${BUILD_DIR}/lib/clang/${SLOT}/lib/${sys_dir##*/}/" || die
+ # we also need LLVMgold.so for gold-based tests
+ if [[ -f ${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/$(get_libdir)/LLVMgold.so ]]; then
+ ln -s "${EPREFIX}"/usr/lib/llvm/${CLANG_SLOT}/$(get_libdir)/LLVMgold.so \
+ "${BUILD_DIR}"/lib/llvm/${CLANG_SLOT}/$(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 a88cfbf61460..d27adb555fe3 100644
--- a/sys-libs/compiler-rt/Manifest
+++ b/sys-libs/compiler-rt/Manifest
@@ -6,10 +6,12 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
DIST llvmorg-12.0.1-rc1.tar.gz 134261735 BLAKE2B d29510495641c06e6d7a5ac165e6d34e0ba15d1a5b786534e186e341e3a0550cdd3d8a2b61deb3e2bf44c0b0ff8561224bf7f8cebc2ce9415639cb67ceae289e SHA512 4595a26df56eed7d5941240fe92116ad2f1c61639f0f464697c2c530a601347032fbad6802d1fa915ced8574c7b30ef05bc8c0be737784c844d3860892817e6e
+DIST llvmorg-12.0.1-rc2.tar.gz 134274147 BLAKE2B 2d3f6ce8d5239cf2e5ea52f4b9020d6a8fedb8d6a4df02ca0d8e4398237f4eb967865e1e65570d16cd191865281b9619a63905c1e1c47b31183b881e97e49867 SHA512 cdebb954016dc92251cd9c6281804f7a36e7bc8c6f101a6817d96cc121aba4d361fb99501c259409a29c90d7749b224be670c41177fe43fa64b730ff294831b8
EBUILD compiler-rt-10.0.1.ebuild 2782 BLAKE2B cdc7937f616e86c3394d1cc68eeea05f3eebdcac051ca48e477d3a2cb765be1d616159f72a2b77ac21a0c2a4ebf1cc79f9d9cd23a2a1c7b26a4a252142c3af21 SHA512 4380bb10112f745e0034d36be105a1b4df159f34adafdd2b24157dc3652881ab8792e7758555ce167f59e2c3360b5d36b5d4f8d456df44fa5ee754f3c310677a
EBUILD compiler-rt-11.1.0.ebuild 3506 BLAKE2B fea54ca4aabe9bf35afc64a579ae18eb4491eeecb58ede43369ba9c294f624851214525f399cfa3adadee70ca66cbe64821376272b9965304266bcfc07b9f220 SHA512 f50906ee9f3b044a251ddd56db6ce10d3d2b632ffa7d3fd608cc5d7320e8d4b47b1ada26965b5fc9bb746e77c1b01ec61b5f719bc6bb2805720df035fca993da
EBUILD compiler-rt-12.0.0.ebuild 3545 BLAKE2B 98aa5cd6f5ad6f5570d432811731dc96ed330f7d923628edbf5fd58a24f28f2c70c5e7ef912f5c367c0de6a38e4b06cca4bfc8f412f377d507e64df611757ffd SHA512 e4345c91a92b697641eeb621102a35d287c8c690eba039a160f98ef12f93f33bcf1d35f5f3c6341eb07be62678a601567152cc908786fb3d4f70995fe94ace58
EBUILD compiler-rt-12.0.1.9999.ebuild 3471 BLAKE2B d45d3843d7a644b4b9739c3b0db74b102235b2c418ceb7cf13410bef9fec17cebbdad0fec1563cb3b5122db96ccca520e13acd7967027b466a315f23147ed57a SHA512 bb3e2c1c852e5182f73b9a22a13fe5013adabaf34526be7e775412caaae078b6b81d9a66db38b3f0ccf61bed72b52f94ddca793f257d91de1a31e400a45fa23d
EBUILD compiler-rt-12.0.1_rc1.ebuild 3471 BLAKE2B d45d3843d7a644b4b9739c3b0db74b102235b2c418ceb7cf13410bef9fec17cebbdad0fec1563cb3b5122db96ccca520e13acd7967027b466a315f23147ed57a SHA512 bb3e2c1c852e5182f73b9a22a13fe5013adabaf34526be7e775412caaae078b6b81d9a66db38b3f0ccf61bed72b52f94ddca793f257d91de1a31e400a45fa23d
+EBUILD compiler-rt-12.0.1_rc2.ebuild 3471 BLAKE2B d45d3843d7a644b4b9739c3b0db74b102235b2c418ceb7cf13410bef9fec17cebbdad0fec1563cb3b5122db96ccca520e13acd7967027b466a315f23147ed57a SHA512 bb3e2c1c852e5182f73b9a22a13fe5013adabaf34526be7e775412caaae078b6b81d9a66db38b3f0ccf61bed72b52f94ddca793f257d91de1a31e400a45fa23d
EBUILD compiler-rt-13.0.0.9999.ebuild 3471 BLAKE2B d45d3843d7a644b4b9739c3b0db74b102235b2c418ceb7cf13410bef9fec17cebbdad0fec1563cb3b5122db96ccca520e13acd7967027b466a315f23147ed57a SHA512 bb3e2c1c852e5182f73b9a22a13fe5013adabaf34526be7e775412caaae078b6b81d9a66db38b3f0ccf61bed72b52f94ddca793f257d91de1a31e400a45fa23d
MISC metadata.xml 333 BLAKE2B fc411d2ccf9b848ed7ba71d6a1eb01c54237a38e3c612c22d39549f6b23ebc3179dd08c855852a72b9a4f4ae89418a078048702324df27b4fac11c36e80f846b SHA512 ca50c4e5ef7d52c167bca6a4ab2961a1f7f82d0e84722ec65b8ae44d0ff8a4a7db1dce630f6f18f7b526f77c432af7ebc9a29564659631bad1e3900b6f1df49b
diff --git a/sys-libs/compiler-rt/compiler-rt-12.0.1_rc2.ebuild b/sys-libs/compiler-rt/compiler-rt-12.0.1_rc2.ebuild
new file mode 100644
index 000000000000..caf0b9268efd
--- /dev/null
+++ b/sys-libs/compiler-rt/compiler-rt-12.0.1_rc2.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+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="$(ver_cut 1-3)"
+KEYWORDS=""
+IUSE="+clang test"
+RESTRICT="!test? ( test ) !clang? ( test )"
+
+CLANG_SLOT=${SLOT%%.*}
+# llvm-6 for new lit options
+DEPEND="
+ >=sys-devel/llvm-6"
+BDEPEND="
+ >=dev-util/cmake-3.16
+ clang? ( sys-devel/clang )
+ test? (
+ $(python_gen_any_dep ">=dev-python/lit-9.0.1[\${PYTHON_USEDEP}]")
+ =sys-devel/clang-${PV%_*}*:${CLANG_SLOT}
+ )
+ ${PYTHON_DEPS}"
+
+LLVM_COMPONENTS=( compiler-rt )
+LLVM_PATCHSET=9999-1
+llvm.org_set_globals
+
+python_check_deps() {
+ use test || return 0
+ has_version "dev-python/lit[${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_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() {
+ # pre-set since we need to pass it to cmake
+ BUILD_DIR=${WORKDIR}/${P}_build
+
+ local nolib_flags=( -nodefaultlibs -lc )
+ if use clang; then
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ # ensure we can use clang before installing compiler-rt
+ local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+ elif ! test_compiler; then
+ if test_compiler "${nolib_flags[@]}"; then
+ 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/${SLOT}"
+
+ -DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+ -DCOMPILER_RT_BUILD_LIBFUZZER=OFF
+ -DCOMPILER_RT_BUILD_MEMPROF=OFF
+ -DCOMPILER_RT_BUILD_PROFILE=OFF
+ -DCOMPILER_RT_BUILD_SANITIZERS=OFF
+ -DCOMPILER_RT_BUILD_XRAY=OFF
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+
+ 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/${CLANG_SLOT}/bin/clang"
+ -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/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/glibc/Manifest b/sys-libs/glibc/Manifest
index b25dac6e3499..ec48e97a7a13 100644
--- a/sys-libs/glibc/Manifest
+++ b/sys-libs/glibc/Manifest
@@ -32,7 +32,7 @@ EBUILD glibc-2.25-r11.ebuild 6071 BLAKE2B aed6cdc8141eb47e7f734ca59e98314d0c5340
EBUILD glibc-2.30-r9.ebuild 43403 BLAKE2B 039f1e866d0ecbe7e6805265694800ed4873a5643b5ccbaedd18c24ab42bdb2797bd4a597d3cb5321a527eb4feda555b31a143ce80f984774f2ae5498b57c45f SHA512 b9843ca092e6814b23ac1b9741bec02bd9d54a6d48df3caf451e65eae8db2068137a425c9d03d86daccdf67c856f8bf1c8200b8c95461fcbc7aa790599fdccd6
EBUILD glibc-2.31-r7.ebuild 44522 BLAKE2B 1adfba68c35d3af5ec8476b2fe5d3bebf13880eeacb5aaa8438b41b98f5b275f0816a0e654446f62ee2f34f412c5c6e72befcc0deb8988b6faec2c53a07601a9 SHA512 5247b1d75efa86b1a1c85a09219f54d402aae8aaecf0e377ca663a984daf7c69ea97b3072fe83a20002ec7d72661ec7737fbc72982122b58c26cb5bc89997548
EBUILD glibc-2.32-r8.ebuild 44853 BLAKE2B 724f95c0ed2cda18dc2edcaa03b0783a2bc603b72a67e1451535040ddc83be6d1a90ad4b30f9623140b5c0a329ecafb6f19793390137e629d43a3c26e202b28a SHA512 0973b86c266e40203e301cf0c6f8fddc4273c002ffb8fd6c16f6e78f2cfdfbea95fda04adfebb8ee84a14dc950763ba706eadadb2e83f7982b800bee636d5d8f
-EBUILD glibc-2.33-r1.ebuild 45023 BLAKE2B 9e900bf100a7242efa2023ac31191bb3983600c93e933c1a41dff16cb0ebf0c7fb2bfd3e98e08cda854c475f1bc79c008f0f6fdc1835eb27332c29b60d8562a6 SHA512 cbfe1246fffa6f0789a09a5dd8bb1415d587b106aaf375280b65033ee3fe0bb8cf708d0ec56fee4c61a090288d9487f34bafcb7900457c484e1c990fc55db49f
+EBUILD glibc-2.33-r1.ebuild 45214 BLAKE2B ea9dab58bfaf378357bb9a3dd7759926b0cf1489c9782263d2abc850f8bc71d755c400919ddc29801eea40d13ed96cf83404f0009cf7680e4c8733b829995dbf SHA512 d5846e7f146776ae4d687807593b6740fc34d01be29323d33584b6038d69fa3898830e421e3c3574df12d7abf9603758f6087eecf2b6aee64b56f164802b6fae
EBUILD glibc-2.33.ebuild 43992 BLAKE2B b5fd1fa3b2e2b727574028241e7805cab448b37d3975502f12140e2cd6cf98784af36393a1116c13ebaa490db3f18b7b20a56bd53343015abc521201c193eb3f SHA512 911c152ce3ff50ff79db9d53b570ff0fcf837549a072656fef8ad429d02788f89d6ee1266605c539dcbcf273aa791cf075043e8b4895eb8d67404be531631086
-EBUILD glibc-9999.ebuild 45035 BLAKE2B 1868d9c2d762697c31de330955fbfc8a201e15e7f631e2e20fe99eda85716044709a3d1c353841cf2339f040e37bee542a46f95d2e2546bd66319ad7a8130822 SHA512 f8e2257dbffda00fba7c1caad84856944ee9c893ec53ec00cc2b4dbfe1ff2b3f7bc2e9a97c6df93c4b80e416ecdd9320026017e2c0354019ca179c5775662f4b
+EBUILD glibc-9999.ebuild 45226 BLAKE2B fd577636a5b85c4d7610c79e18898ca13aad7643760c7a17f4625964f59b757bbe44eaba7f19c88a17fd1887d8b17fed996465c7ac93d9bbce68ab7ea90576b0 SHA512 38cec7e40c3b2406d86b7ab05f42e5cd9a4556f8444914c2410b589db96a1ec4fd739ceed7f0c550aac90aab4a3f1024100c55364d6eb7612926251b8483f32e
MISC metadata.xml 1611 BLAKE2B 3bd777c160ea20cdbd86cca791d9fd4ff02f8d100344235ec74fff37d5cae1e7119e0ec26969707e75a983dcdb23e994559c8be128ef40fa0ec9ed655017466d SHA512 08be6d085ac47b140fff17a3be8cee77e066a4536cdce76fa44c77875dec2a9dc236ff67ff44301abf75cb196d1902feb2a139dda420220248b46dd9cdb16b9f
diff --git a/sys-libs/glibc/glibc-2.33-r1.ebuild b/sys-libs/glibc/glibc-2.33-r1.ebuild
index fc5b4b0474f9..5e971e697fef 100644
--- a/sys-libs/glibc/glibc-2.33-r1.ebuild
+++ b/sys-libs/glibc/glibc-2.33-r1.ebuild
@@ -940,6 +940,11 @@ glibc_do_configure() {
# -march= option tricks build system to infer too
# high ISA level: https://sourceware.org/PR27318
libc_cv_include_x86_isa_level=no
+ # Explicit override of https://sourceware.org/PR27991
+ # exposes a bug in glibc's configure:
+ # https://sourceware.org/PR27991
+ libc_cv_have_x86_lahf_sahf=no
+ libc_cv_have_x86_movbe=no
${EXTRA_ECONF}
)
diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild
index 112a714c393e..e2bc0dad8669 100644
--- a/sys-libs/glibc/glibc-9999.ebuild
+++ b/sys-libs/glibc/glibc-9999.ebuild
@@ -941,6 +941,11 @@ glibc_do_configure() {
# -march= option tricks build system to infer too
# high ISA level: https://sourceware.org/PR27318
libc_cv_include_x86_isa_level=no
+ # Explicit override of https://sourceware.org/PR27991
+ # exposes a bug in glibc's configure:
+ # https://sourceware.org/PR27991
+ libc_cv_have_x86_lahf_sahf=no
+ libc_cv_have_x86_movbe=no
${EXTRA_ECONF}
)
diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index bad1472d2164..4a87cc1e3f8b 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -6,10 +6,12 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
DIST llvmorg-12.0.1-rc1.tar.gz 134261735 BLAKE2B d29510495641c06e6d7a5ac165e6d34e0ba15d1a5b786534e186e341e3a0550cdd3d8a2b61deb3e2bf44c0b0ff8561224bf7f8cebc2ce9415639cb67ceae289e SHA512 4595a26df56eed7d5941240fe92116ad2f1c61639f0f464697c2c530a601347032fbad6802d1fa915ced8574c7b30ef05bc8c0be737784c844d3860892817e6e
+DIST llvmorg-12.0.1-rc2.tar.gz 134274147 BLAKE2B 2d3f6ce8d5239cf2e5ea52f4b9020d6a8fedb8d6a4df02ca0d8e4398237f4eb967865e1e65570d16cd191865281b9619a63905c1e1c47b31183b881e97e49867 SHA512 cdebb954016dc92251cd9c6281804f7a36e7bc8c6f101a6817d96cc121aba4d361fb99501c259409a29c90d7749b224be670c41177fe43fa64b730ff294831b8
EBUILD libcxx-10.0.1.ebuild 5796 BLAKE2B c3c1e4d49ad96de1338998d35b0495ba2aa448db3558988bbbc9e5d4603d3d2ded354b1c04b186b0134be930edd72c931240ac3a068744e72e18087fc1550160 SHA512 7fbae29d2658305ddac7854a96e353ccf1901fcc6b1c15370d7a69a602f41b7d9f1afdd91018ea5be949955b3f8f1424903b5bac13d840e8f8c72ffcf7d7d34d
EBUILD libcxx-11.1.0.ebuild 6661 BLAKE2B 93445de819484ea32a708d2ff616501d715e7fd3a3f4204f143e64c40bc89ebceb8e50c80215c6b54d7c8a3cce00fcecaac099298b41e010bf77655563d30a20 SHA512 ce56f24e7b4aed1405e682af6b3cb48bad6617d5b7e2ecf5b990fae4f7d6badc479a583ef24801e34b0155c12354a7b76a414402f89c31f228315eb92f279a62
EBUILD libcxx-12.0.0.ebuild 6914 BLAKE2B e06a7f82b838785de55c9c936cedd9d4bd3ca819812cf43a98ce533c5f7551d60dec4040f11820068850a23af1111d0a156d398ad8dafefbcc301ed41254855f SHA512 76afcac7759e44a70bc10adc1217446c7c1665f9f1264c2c49363732023e684683df2490d0bc4abd565a04ca1dbf355c8e1bc4d7b88bb2932e0fe35527e0e746
EBUILD libcxx-12.0.1.9999.ebuild 6622 BLAKE2B b525c9be28a7ac16ec07275c59e68fb003a7423512c94c297014f884d40323b6776313ced81e09f5e15cc1489e95e42b561f8e3e961bc461b37e58ab928edf62 SHA512 335d114c131ed3a6653f59f3a66bdb4115f277b2d8aacd3c2fbc78519b9fdaedaade3a2f53a66f36c18feb3cde8a6fb95fe8e34889626c17dd896bd6a8f8cfad
EBUILD libcxx-12.0.1_rc1.ebuild 6622 BLAKE2B b525c9be28a7ac16ec07275c59e68fb003a7423512c94c297014f884d40323b6776313ced81e09f5e15cc1489e95e42b561f8e3e961bc461b37e58ab928edf62 SHA512 335d114c131ed3a6653f59f3a66bdb4115f277b2d8aacd3c2fbc78519b9fdaedaade3a2f53a66f36c18feb3cde8a6fb95fe8e34889626c17dd896bd6a8f8cfad
+EBUILD libcxx-12.0.1_rc2.ebuild 6622 BLAKE2B b525c9be28a7ac16ec07275c59e68fb003a7423512c94c297014f884d40323b6776313ced81e09f5e15cc1489e95e42b561f8e3e961bc461b37e58ab928edf62 SHA512 335d114c131ed3a6653f59f3a66bdb4115f277b2d8aacd3c2fbc78519b9fdaedaade3a2f53a66f36c18feb3cde8a6fb95fe8e34889626c17dd896bd6a8f8cfad
EBUILD libcxx-13.0.0.9999.ebuild 6622 BLAKE2B b525c9be28a7ac16ec07275c59e68fb003a7423512c94c297014f884d40323b6776313ced81e09f5e15cc1489e95e42b561f8e3e961bc461b37e58ab928edf62 SHA512 335d114c131ed3a6653f59f3a66bdb4115f277b2d8aacd3c2fbc78519b9fdaedaade3a2f53a66f36c18feb3cde8a6fb95fe8e34889626c17dd896bd6a8f8cfad
MISC metadata.xml 621 BLAKE2B d8b68920ece0e3a700f1e425cf72a4ca7e75cf4b0b35e1ac6db9374d32020fc9f62b434da2108ad5b3538a46a2a7f4f5de7aa1640cd4b10046f2480ebb89450d SHA512 e1b0c874a6d229e098ffe7c0c2827502f2cdbf74fb7a0254687a0ca75dde74db06ef2bc79bfe8b526c413b13beac27b8261eab8d0b8df36011790dada3eae421
diff --git a/sys-libs/libcxx/libcxx-12.0.1_rc2.ebuild b/sys-libs/libcxx/libcxx-12.0.1_rc2.ebuild
new file mode 100644
index 000000000000..1f529867fb7b
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-12.0.1_rc2.ebuild
@@ -0,0 +1,211 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+PYTHON_COMPAT=( python3_{7..9} )
+inherit cmake-multilib 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="elibc_glibc elibc_musl +libcxxabi +libunwind static-libs test"
+REQUIRED_USE="libunwind? ( libcxxabi )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+ !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] )"
+# llvm-6 for new lit options
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+ >=sys-devel/llvm-6"
+BDEPEND="
+ test? (
+ >=dev-util/cmake-3.16
+ >=sys-devel/clang-3.9.0
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ )"
+
+DOCS=( CREDITS.TXT )
+
+LLVM_COMPONENTS=( libcxx{,abi} llvm/{cmake/modules,utils/llvm-lit} )
+LLVM_PATCHSET=9999-1
+llvm.org_set_globals
+
+python_check_deps() {
+ 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_pkg_setup
+ fi
+ use test && 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=libcxxabi
+ cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+ 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() {
+ # we want -lgcc_s for unwinder, and for compiler runtime when using
+ # gcc, clang with gcc runtime (or any unknown compiler)
+ local extra_libs=() want_gcc_s=ON want_compiler_rt=OFF
+ if use libunwind; then
+ # work-around missing -lunwind upstream
+ 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
+ fi
+ elif [[ ${CHOST} == *-darwin* ]] && tc-is-clang; then
+ # clang-based darwin prefix disables libunwind useflag during
+ # bootstrap, because libunwind is not in the prefix yet.
+ # override the default, though, because clang based libcxx
+ # should never use gcc_s on Darwin.
+ want_gcc_s=OFF
+ # compiler_rt is not available in EPREFIX during bootstrap,
+ # so we cannot link to it yet anyway, so keep the defaults
+ # of want_compiler_rt=OFF and extra_libs=()
+ fi
+
+ # 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=(
+ -DLIBCXX_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_HAS_GCC_S_LIB=${want_gcc_s}
+ -DLIBCXX_INCLUDE_TESTS=$(usex test)
+ -DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
+ -DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+ )
+
+ if use test; then
+ local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+ [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+ fi
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-cxx
+}
+
+# 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() {
+ local libdir=$(get_libdir)
+ local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "libsupc++.a")
+
+ # Move it first.
+ mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/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 ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.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}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+ local libdir=$(get_libdir)
+ # libsupc++ doesn't have a shared version
+ local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "libsupc++.a")
+
+ mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+ local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+ gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+ cmake_src_install
+ if [[ ${CHOST} != *-darwin* ]] ; then
+ gen_shared_ldscript
+ use static-libs && gen_static_ldscript
+ fi
+}
+
+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 be21b3d8a287..d757257f6a59 100644
--- a/sys-libs/libcxxabi/Manifest
+++ b/sys-libs/libcxxabi/Manifest
@@ -2,10 +2,12 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
DIST llvmorg-12.0.1-rc1.tar.gz 134261735 BLAKE2B d29510495641c06e6d7a5ac165e6d34e0ba15d1a5b786534e186e341e3a0550cdd3d8a2b61deb3e2bf44c0b0ff8561224bf7f8cebc2ce9415639cb67ceae289e SHA512 4595a26df56eed7d5941240fe92116ad2f1c61639f0f464697c2c530a601347032fbad6802d1fa915ced8574c7b30ef05bc8c0be737784c844d3860892817e6e
+DIST llvmorg-12.0.1-rc2.tar.gz 134274147 BLAKE2B 2d3f6ce8d5239cf2e5ea52f4b9020d6a8fedb8d6a4df02ca0d8e4398237f4eb967865e1e65570d16cd191865281b9619a63905c1e1c47b31183b881e97e49867 SHA512 cdebb954016dc92251cd9c6281804f7a36e7bc8c6f101a6817d96cc121aba4d361fb99501c259409a29c90d7749b224be670c41177fe43fa64b730ff294831b8
EBUILD libcxxabi-10.0.1.ebuild 3237 BLAKE2B 828cabd1bccb0f7dc672648fd1143f1913df2b3f075194da3b053413ad8e0ff8f8669ce6263fa51ed0b02702e0bd611a77f4009e57a7d2659362db21c5665e4e SHA512 b9fef273fea1343aab604c3606fa4b9ed340e0e6f649e68f81f1285d96374f440ab787937b203ee5eba5b8e867a5926b48f63d8739c326fd1a646193635dd65e
EBUILD libcxxabi-11.1.0.ebuild 3559 BLAKE2B dc74318b252f772fbc6833e413ee2dd9b682c01ae3bca88a78d2f7854aa374311474f7af9f19453e4b4fbb6db4149e8330db7632faf710a0aeb2e0d741119096 SHA512 18632637cb6fb86a3c003ba66f6a80aece299f50e356870599bb932fa100ba3e51293cee71576cc994a7e2b5f56f3b4ec8b4d3eae6202322d50a9bc0aa922ac3
EBUILD libcxxabi-12.0.0.ebuild 3546 BLAKE2B b6accd4747ac9a1b30161de15e961062819e527c39a4d8a6e755e58a75862b1b12162539bf9716db2be8739b9aa2fefe16cede125b504e9d5e2d60f291fe8e35 SHA512 2fb42faa0ac7d7e5d1651494264163857561eb746ea381030bf03495152c8c060cb0be0793ba96f1ec5c4c9e3ea88b48644f587b4f52979c7eadad6992809e0a
EBUILD libcxxabi-12.0.1.9999.ebuild 3505 BLAKE2B fe4d762e646ab8a6daad3ca1da7d63c34ffb6735a6bb6657e03e724428422706d821057715369cd818ecc696453620d7f2473535ac031ec0cc0a5bc6f4ec2186 SHA512 40ce77407d30efc2ada70d0166bcadbc4140e33275ecf537dcbd7580e3e8fc9ff030a29ba6be4a67bcadc9835ee8b1a2cd3fef07085c57df4792c04b445b0d7b
EBUILD libcxxabi-12.0.1_rc1.ebuild 3505 BLAKE2B fe4d762e646ab8a6daad3ca1da7d63c34ffb6735a6bb6657e03e724428422706d821057715369cd818ecc696453620d7f2473535ac031ec0cc0a5bc6f4ec2186 SHA512 40ce77407d30efc2ada70d0166bcadbc4140e33275ecf537dcbd7580e3e8fc9ff030a29ba6be4a67bcadc9835ee8b1a2cd3fef07085c57df4792c04b445b0d7b
+EBUILD libcxxabi-12.0.1_rc2.ebuild 3505 BLAKE2B fe4d762e646ab8a6daad3ca1da7d63c34ffb6735a6bb6657e03e724428422706d821057715369cd818ecc696453620d7f2473535ac031ec0cc0a5bc6f4ec2186 SHA512 40ce77407d30efc2ada70d0166bcadbc4140e33275ecf537dcbd7580e3e8fc9ff030a29ba6be4a67bcadc9835ee8b1a2cd3fef07085c57df4792c04b445b0d7b
EBUILD libcxxabi-13.0.0.9999.ebuild 3505 BLAKE2B fe4d762e646ab8a6daad3ca1da7d63c34ffb6735a6bb6657e03e724428422706d821057715369cd818ecc696453620d7f2473535ac031ec0cc0a5bc6f4ec2186 SHA512 40ce77407d30efc2ada70d0166bcadbc4140e33275ecf537dcbd7580e3e8fc9ff030a29ba6be4a67bcadc9835ee8b1a2cd3fef07085c57df4792c04b445b0d7b
MISC metadata.xml 350 BLAKE2B 67b70b8d7292327882a845b76667ce24fee728cd84f27ed7e329bc7963631cba4c28bafce5e6a5fefb4ba1df5c7fd572b3b0d7a2b31ef649496f2f991b691bff SHA512 317dd7b59a711dd0461b5369f7e31ea196882b018e047e1dbae8077274d06cb68542c8762efb852cce0b8021bedea69c19aa0c124b9414a36cf1a9c00e0b9703
diff --git a/sys-libs/libcxxabi/libcxxabi-12.0.1_rc2.ebuild b/sys-libs/libcxxabi/libcxxabi-12.0.1_rc2.ebuild
new file mode 100644
index 000000000000..8c24d9691115
--- /dev/null
+++ b/sys-libs/libcxxabi/libcxxabi-12.0.1_rc2.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+PYTHON_COMPAT=( python3_{7..9} )
+inherit cmake-multilib 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="+libunwind static-libs test elibc_musl"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ libunwind? (
+ || (
+ >=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}]
+ >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}]
+ )
+ )"
+# llvm-6 for new lit options
+DEPEND="${RDEPEND}
+ >=sys-devel/llvm-6"
+BDEPEND="
+ test? ( >=sys-devel/clang-3.9.0
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ )"
+
+# libcxx is needed uncondtionally for the headers
+LLVM_COMPONENTS=( libcxx{abi,} llvm/cmake/modules )
+llvm.org_set_globals
+
+python_check_deps() {
+ 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_pkg_setup
+ fi
+ use test && python-any-r1_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
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib}
+ -DLIBCXXABI_ENABLE_SHARED=ON
+ -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs)
+ -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind)
+ -DLIBCXXABI_INCLUDE_TESTS=$(usex test)
+ -DLIBCXXABI_USE_COMPILER_RT=${want_compiler_rt}
+
+ -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include
+ # upstream is omitting standard search path for this
+ # probably because gcc & clang are bundling their own unwind.h
+ -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include
+ )
+ if use test; then
+ local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+ [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+ fi
+ cmake_src_configure
+}
+
+build_libcxx() {
+ local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)"
+ local CMAKE_USE_DIR=${WORKDIR}/libcxx
+ local BUILD_DIR=${BUILD_DIR}/libcxx
+ local mycmakeargs=(
+ -DLIBCXX_LIBDIR_SUFFIX=
+ -DLIBCXX_ENABLE_SHARED=OFF
+ -DLIBCXX_ENABLE_STATIC=ON
+ -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
+ -DLIBCXX_CXX_ABI=libcxxabi
+ -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include
+ -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+ -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+ -DLIBCXX_HAS_GCC_S_LIB=OFF
+ -DLIBCXX_INCLUDE_TESTS=OFF
+ )
+
+ cmake_src_configure
+ cmake_src_compile
+}
+
+multilib_src_test() {
+ # build a local copy of libc++ for testing to avoid circular dep
+ build_libcxx
+ mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
+
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-cxxabi
+}
+
+multilib_src_install_all() {
+ insinto /usr/include/libcxxabi
+ doins -r include/.
+}
diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest
index 792825390737..6c3a8eae469a 100644
--- a/sys-libs/libomp/Manifest
+++ b/sys-libs/libomp/Manifest
@@ -2,10 +2,12 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
DIST llvmorg-12.0.1-rc1.tar.gz 134261735 BLAKE2B d29510495641c06e6d7a5ac165e6d34e0ba15d1a5b786534e186e341e3a0550cdd3d8a2b61deb3e2bf44c0b0ff8561224bf7f8cebc2ce9415639cb67ceae289e SHA512 4595a26df56eed7d5941240fe92116ad2f1c61639f0f464697c2c530a601347032fbad6802d1fa915ced8574c7b30ef05bc8c0be737784c844d3860892817e6e
+DIST llvmorg-12.0.1-rc2.tar.gz 134274147 BLAKE2B 2d3f6ce8d5239cf2e5ea52f4b9020d6a8fedb8d6a4df02ca0d8e4398237f4eb967865e1e65570d16cd191865281b9619a63905c1e1c47b31183b881e97e49867 SHA512 cdebb954016dc92251cd9c6281804f7a36e7bc8c6f101a6817d96cc121aba4d361fb99501c259409a29c90d7749b224be670c41177fe43fa64b730ff294831b8
EBUILD libomp-10.0.1.ebuild 2893 BLAKE2B 6085966e4e392ded8492c6b398d3a14ba5205aee8ecf3f63d0853e463f1bf007ff3b3c31555eb7cb566cc8c4bdc580e9d0ce38ca7cd58785820a7949e2969024 SHA512 e1b7b17dd0800908adbb06b29c7ef2d5bd73c66784104b554c59e5c5176c9c49c5432e0ecd72c6e3c00e71def839342cbedbd666f3886afa3ea92d8fc94ba591
EBUILD libomp-11.1.0.ebuild 2901 BLAKE2B e18155f24e5d0aa2de9a1976c818777e8d2d16092aa5e58b5c38197461a0b4ca5967ec161140b2a63835a0cfa601eb31fc08cbaa492088269808d6d803c7a47a SHA512 23a429ded341114ea3c4282b974520146ea0734e01b5863c837d119517b39365b537126091f5efcf752ca7860bccf0e0e2d763b507e903321532db87bcd42b79
EBUILD libomp-12.0.0.ebuild 2951 BLAKE2B 347b96e146742f7127314e3eb35ee13a3f040b3ab87aba7570a12cf1a2d44f918b110059d7a821b349224b7233d13be0ad110acf5cd2e4328762ed1e52bd665a SHA512 acb0a94b89b6f9f7a67a8cb20976e0cf0cfddc05d3e7fcd198d4cf3ab3742f5b80f88c4b39be71d3c89201010f936bf4981736ed2a21975b0a43e3898cc90693
EBUILD libomp-12.0.1.9999.ebuild 2885 BLAKE2B a4ae00d8e2500cc8c76999c17624a3a2ebe6107c34f9deb90cb12de77c4656dd110275e073ab9413332f0fa9c2a86d860a620c85a36555e5996d358c1e25e522 SHA512 ba72ef7a346ac74297526df15949395a18750625b048c26650a7cdec4212af72dcb2b9c8d68dc117abeb7bce9aba4f0b0de1134bcacd841d1a475f77f4a77157
EBUILD libomp-12.0.1_rc1.ebuild 2885 BLAKE2B a4ae00d8e2500cc8c76999c17624a3a2ebe6107c34f9deb90cb12de77c4656dd110275e073ab9413332f0fa9c2a86d860a620c85a36555e5996d358c1e25e522 SHA512 ba72ef7a346ac74297526df15949395a18750625b048c26650a7cdec4212af72dcb2b9c8d68dc117abeb7bce9aba4f0b0de1134bcacd841d1a475f77f4a77157
+EBUILD libomp-12.0.1_rc2.ebuild 2885 BLAKE2B a4ae00d8e2500cc8c76999c17624a3a2ebe6107c34f9deb90cb12de77c4656dd110275e073ab9413332f0fa9c2a86d860a620c85a36555e5996d358c1e25e522 SHA512 ba72ef7a346ac74297526df15949395a18750625b048c26650a7cdec4212af72dcb2b9c8d68dc117abeb7bce9aba4f0b0de1134bcacd841d1a475f77f4a77157
EBUILD libomp-13.0.0.9999.ebuild 2885 BLAKE2B a4ae00d8e2500cc8c76999c17624a3a2ebe6107c34f9deb90cb12de77c4656dd110275e073ab9413332f0fa9c2a86d860a620c85a36555e5996d358c1e25e522 SHA512 ba72ef7a346ac74297526df15949395a18750625b048c26650a7cdec4212af72dcb2b9c8d68dc117abeb7bce9aba4f0b0de1134bcacd841d1a475f77f4a77157
MISC metadata.xml 825 BLAKE2B 9c4afd81e02ecba9db7cac8487acf4e9dcbf772d62ee46c5c95510f1c624b52e0005786d06c119d4d7f0bf498fbd9cae2f9200a27ea427c9d6e83a5d74d45c1c SHA512 b2ba293ffb87f06c21172607234e8f69730d8ade0732fe98a5bc876353a01853dbef8cbe0ace0f6a556f2ae7217facee040349b460815dc2cf2f3b48cfd46762
diff --git a/sys-libs/libomp/libomp-12.0.1_rc2.ebuild b/sys-libs/libomp/libomp-12.0.1_rc2.ebuild
new file mode 100644
index 000000000000..0fd7afe0ff42
--- /dev/null
+++ b/sys-libs/libomp/libomp-12.0.1_rc2.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+PYTHON_COMPAT=( python3_{7..9} )
+inherit cmake-multilib linux-info 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"
+KEYWORDS=""
+IUSE="cuda hwloc kernel_linux offload ompt test"
+# CUDA works only with the x86_64 ABI
+REQUIRED_USE="offload? ( cuda? ( abi_x86_64 ) )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ hwloc? ( sys-apps/hwloc:0=[${MULTILIB_USEDEP}] )
+ offload? (
+ virtual/libelf:=[${MULTILIB_USEDEP}]
+ dev-libs/libffi:=[${MULTILIB_USEDEP}]
+ cuda? ( dev-util/nvidia-cuda-toolkit:= )
+ )"
+# 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? ( virtual/pkgconfig )
+ test? (
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ >=sys-devel/clang-6
+ )"
+
+LLVM_COMPONENTS=( openmp llvm/include )
+llvm.org_set_globals
+
+python_check_deps() {
+ 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 test && python-any-r1_pkg_setup
+}
+
+multilib_src_configure() {
+ 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
+ )
+ use offload && mycmakeargs+=(
+ # this is non-fatal and libomp checks for CUDA conditionally
+ # to ABI, so we can just ignore passing the wrong value
+ # on non-amd64 ABIs
+ -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=$(usex !cuda)
+ )
+ 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/libsmbios/Manifest b/sys-libs/libsmbios/Manifest
index 1fdcdd1c8723..b07c0873b4d3 100644
--- a/sys-libs/libsmbios/Manifest
+++ b/sys-libs/libsmbios/Manifest
@@ -2,4 +2,4 @@ AUX libsmbios-2.2.28-cppunit-tests.patch 350 BLAKE2B c735096c5fe0e33eec728e28009
AUX libsmbios-2.4.3-avoid_bashisms.patch 2909 BLAKE2B 426ca128f142307ea89cc5003c298518115805a518b348345f154094e34be932721aa6c880612fa7fe3473bc1156bf7c2dc1ce085dd9511ddeaf58e54d2464e1 SHA512 d2199481d87527ce7e90ca355cdfaf48a859982e67090e248034139b19ce2d61717e9887d246c7bd6b1e46f3f97cf6ec6bbdf04e3091c513221cb42d0f1431b3
DIST libsmbios-2.4.3.tar.gz 644140 BLAKE2B 684bff4f6cf755796f785e9a93d4ddbe2a1af52082cdebc27d203772a6a2a0259edb4b9d19921f90fc78b48d54700223fbc2628665b963ebcb601010ff4340ab SHA512 7f6fb36fa9653e123b416b275953fb5652025e76dac3b4ec5600168e193ea56f8ac3ea1a3b5db29d2770e73d88152d712a35bf77a9b3fc5596570fae885585ad
EBUILD libsmbios-2.4.3.ebuild 1788 BLAKE2B e4872329f12b1529e54d562aa55d18b8ec0a8d6e45bdd6104eba316f7e79057cb1a7a1e98791603f9a9c2bee26e0513762bf6e94a2a95904e8efcecd838082b9 SHA512 4c207f4bdd39d352d28d3312fd2e72dac8b4e4b434c3dd5bb96d93ecf12e1f377d8c96e4e4bfdd80a10bc9043df83bc30e23915cc936d75ff73da0d08e8109e7
-MISC metadata.xml 564 BLAKE2B 9692567feec851f92126289afe0b4117d9e397615dcbd265b73cf8883417739899b26bd9ee2fb6621c61e3c18262858fa78b7975edf4f87f7032356ccdd4c875 SHA512 68273bacd56e8af3314737d8bda5e09c8ce9c089e5d942b4a2afd86187f702d3d5fa9419db5042f660aaa8ab12d0eeb69cfa14c7fc26589e1b4a638dde83b92a
+MISC metadata.xml 682 BLAKE2B a40ca216545f32cafca19b9a7b10b496d4e05b9a36b99476e87b0149c4ac8b305d7ceed7069a242862517d5d0f5c5fec1a6563c9ad8d4e14bbee81bf079c8b58 SHA512 0270fc658002ff0bdd1b7edf7ba0d59c64ef9e03ac033a76bfe6aec498ccde74daec4b066bdab9598e49c2bc0c6d1d2fb054ed60556fd2ebf25b2240e998026d
diff --git a/sys-libs/libsmbios/metadata.xml b/sys-libs/libsmbios/metadata.xml
index 426debbdad90..842c57e6157a 100644
--- a/sys-libs/libsmbios/metadata.xml
+++ b/sys-libs/libsmbios/metadata.xml
@@ -5,6 +5,10 @@
<email>polynomial-c@gentoo.org</email>
<name>Lars Wendler</name>
</maintainer>
+ <maintainer type="person">
+ <email>whissi@gentoo.org</email>
+ <name>Thomas Deutschmann</name>
+ </maintainer>
<longdescription>The libsmbios project aims towards providing access to as much
BIOS information as possible. It does this by providing a library of functions
that can be used as well as sample binaries.</longdescription>
diff --git a/sys-libs/libxcrypt/Manifest b/sys-libs/libxcrypt/Manifest
index d96148e5b2a6..47a16f39b773 100644
--- a/sys-libs/libxcrypt/Manifest
+++ b/sys-libs/libxcrypt/Manifest
@@ -9,4 +9,4 @@ EBUILD libxcrypt-4.4.16.ebuild 4191 BLAKE2B 64921e9c8bb070e5810504344ebda777acd4
EBUILD libxcrypt-4.4.17.ebuild 4261 BLAKE2B 621c91e359a6d2c4d3e152b9c2590e676bfb2d5dee5d50ee7247418e37710e1a486a47b690fc015830f1464ed2eb83facec5385f3435b03359a83e38cb1f347b SHA512 f148a47f62ef9aff0fd3fde65d00df2f5819e28b44ea60fed5d04d0aa5efe7dab5eb71b9d1735fb9ce6647af12705dc6cb6a3eae06eece12874e5ba7844bc228
EBUILD libxcrypt-4.4.19.ebuild 4215 BLAKE2B 60b120aa9a9af60001c4180c2e7ba4bf9e0410b00a206aea3c4ce09e6c5af1c633b4a35e99d76a40435680e1be0a782dfed2c971a7d6d9d1b363d3f69a55e16a SHA512 0323090b8e5a909565000b7929174081a5a2fde35f08fc5b523a47c739375141c747b1d2d923f43fd80ef0913d02dc1d365eb23c8c082935560f87abfbc85acb
EBUILD libxcrypt-4.4.20.ebuild 4215 BLAKE2B 60b120aa9a9af60001c4180c2e7ba4bf9e0410b00a206aea3c4ce09e6c5af1c633b4a35e99d76a40435680e1be0a782dfed2c971a7d6d9d1b363d3f69a55e16a SHA512 0323090b8e5a909565000b7929174081a5a2fde35f08fc5b523a47c739375141c747b1d2d923f43fd80ef0913d02dc1d365eb23c8c082935560f87abfbc85acb
-MISC metadata.xml 856 BLAKE2B e9fea1aa08f5b3f0abdd4d490973da2f133ea90e3a366d4549361233f51e674cc646b2fb6b4b15bca72d5a4e3b36be9a06e55afd3a4cb8f439d3958f09f8af25 SHA512 862cf3201efbecfc23167ecd1f6798f6729ba4e76749c174d17baf8aa4887f21d36f40234f35bc1b896e4384d110033b3f2260f01930b926f759e0243039adf8
+MISC metadata.xml 830 BLAKE2B 21022e8e6a34737874590a560010f2a8fd1fb11275b4f675d195b66af70ebf8f28a2d881bab0a6653b0b1fbc09c14b99339f43d6f07fd8ffe282f951c64a4f96 SHA512 03dafb661b2273d25c7e282bb91ba01a371734446e12d140d5c5c469172e62f768de6d2a0f5bcdcdae7275f4ba0ad46de69c546b381c1f0bf338cdb487267773
diff --git a/sys-libs/libxcrypt/metadata.xml b/sys-libs/libxcrypt/metadata.xml
index d84b73d6af1e..21bf25d8b116 100644
--- a/sys-libs/libxcrypt/metadata.xml
+++ b/sys-libs/libxcrypt/metadata.xml
@@ -1,20 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>hardened@gentoo.org</email>
- <name>Gentoo Hardened</name>
- </maintainer>
- <longdescription>
- Crypt library for DES, MD5, and blowfish. Libxcrypt is a replacement for
- libcrypt, which comes with the GNU C Library. It supports DES crypt,
- MD5, and passwords with blowfish encryption.
- </longdescription>
- <use>
- <flag name="compat">Build with compatibility interfaces for other crypt implementations</flag>
- <flag name="system">Install as system libcrypt.so rather than to an alternate directory (will collide with sys-libs/glibc's version)</flag>
- </use>
- <upstream>
- <remote-id type="github">besser82/libxcrypt</remote-id>
- </upstream>
+ <maintainer type="project">
+ <email>toolchain@gentoo.org</email>
+ <name>Gentoo Toolchain Project</name>
+ </maintainer>
+ <longdescription>
+ Crypt library for DES, MD5, and blowfish. Libxcrypt is a replacement for
+ libcrypt, which comes with the GNU C Library. It supports DES crypt,
+ MD5, and passwords with blowfish encryption.
+ </longdescription>
+ <use>
+ <flag name="compat">Build with compatibility interfaces for other crypt implementations</flag>
+ <flag name="system">Install as system libcrypt.so rather than to an alternate directory (will collide with sys-libs/glibc's version)</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">besser82/libxcrypt</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest
index 342c49026863..d5c1a06b9332 100644
--- a/sys-libs/llvm-libunwind/Manifest
+++ b/sys-libs/llvm-libunwind/Manifest
@@ -2,10 +2,12 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
DIST llvmorg-12.0.1-rc1.tar.gz 134261735 BLAKE2B d29510495641c06e6d7a5ac165e6d34e0ba15d1a5b786534e186e341e3a0550cdd3d8a2b61deb3e2bf44c0b0ff8561224bf7f8cebc2ce9415639cb67ceae289e SHA512 4595a26df56eed7d5941240fe92116ad2f1c61639f0f464697c2c530a601347032fbad6802d1fa915ced8574c7b30ef05bc8c0be737784c844d3860892817e6e
+DIST llvmorg-12.0.1-rc2.tar.gz 134274147 BLAKE2B 2d3f6ce8d5239cf2e5ea52f4b9020d6a8fedb8d6a4df02ca0d8e4398237f4eb967865e1e65570d16cd191865281b9619a63905c1e1c47b31183b881e97e49867 SHA512 cdebb954016dc92251cd9c6281804f7a36e7bc8c6f101a6817d96cc121aba4d361fb99501c259409a29c90d7749b224be670c41177fe43fa64b730ff294831b8
EBUILD llvm-libunwind-10.0.1.ebuild 3185 BLAKE2B 150bde0a85684ac2cbc01d20139e458f57377c2c9692037e7fec432019b16f073d6e14d772dfee190ab8a682e4b133f538dce51fce3ede54e8e20152575ac7c1 SHA512 4cdf4ce69be5ca630701d4e41bdcfead01eac10ced7edc39a9b20628e3225b65b33ac493d3010f8ac8cfe5cce73b70bb2d4988d1ea00f2766efdbe30c03aa6de
EBUILD llvm-libunwind-11.1.0.ebuild 3223 BLAKE2B c39bdefd6bf0656db7d84f3cd868da01aa4b37f51c729951d1bcb73336f6ab1d8beb114a7d10d79c1441ce945b03aaf9444481e5e1b3e7dd7fdb9a7e971c451d SHA512 ad8cb081326e4dd6cd888882fabcc3fa1a152c37b28197c9565d46d8f8419f233a1a9f6cc9f3bcfe4ba1441cf97147dafb684e3eb60453020d2b64ccfb56d1c1
EBUILD llvm-libunwind-12.0.0.ebuild 3239 BLAKE2B 04a0b9de0107e28b22fbbe4e94e55969cdd7040710e3d76d8f2c57ef820d556463cb8bda5b450221383f48b989cd923ce3ec3fd63a1514d8e6b95f4a91d797cb SHA512 6ff67dcd84b49c8092a18e27b4e9db3a745c1e77035d86134b8ff1150010f1f3e3b993d99d04c60529594df6e5b2260c0d1c01746dac333ef7e70fea9c1e257a
EBUILD llvm-libunwind-12.0.1.9999.ebuild 3191 BLAKE2B c6d413951aed1e093b629506afdb3f76f5887239dc4aedd1d9f7063549d2cad5b286d253df25aacb20116ad6ac6f85453d357eb96de02611d18d5f136d62ebc4 SHA512 99693bac2c943e756f4c7b586d78add1811f91c0bf9bad235bb9a9feb4df1edb779d1e01759ff86a484e48a8bca2ebd6740d5a4c4cdf9dbddab6ebc6a0bd8591
EBUILD llvm-libunwind-12.0.1_rc1.ebuild 3191 BLAKE2B c6d413951aed1e093b629506afdb3f76f5887239dc4aedd1d9f7063549d2cad5b286d253df25aacb20116ad6ac6f85453d357eb96de02611d18d5f136d62ebc4 SHA512 99693bac2c943e756f4c7b586d78add1811f91c0bf9bad235bb9a9feb4df1edb779d1e01759ff86a484e48a8bca2ebd6740d5a4c4cdf9dbddab6ebc6a0bd8591
+EBUILD llvm-libunwind-12.0.1_rc2.ebuild 3191 BLAKE2B c6d413951aed1e093b629506afdb3f76f5887239dc4aedd1d9f7063549d2cad5b286d253df25aacb20116ad6ac6f85453d357eb96de02611d18d5f136d62ebc4 SHA512 99693bac2c943e756f4c7b586d78add1811f91c0bf9bad235bb9a9feb4df1edb779d1e01759ff86a484e48a8bca2ebd6740d5a4c4cdf9dbddab6ebc6a0bd8591
EBUILD llvm-libunwind-13.0.0.9999.ebuild 3191 BLAKE2B c6d413951aed1e093b629506afdb3f76f5887239dc4aedd1d9f7063549d2cad5b286d253df25aacb20116ad6ac6f85453d357eb96de02611d18d5f136d62ebc4 SHA512 99693bac2c943e756f4c7b586d78add1811f91c0bf9bad235bb9a9feb4df1edb779d1e01759ff86a484e48a8bca2ebd6740d5a4c4cdf9dbddab6ebc6a0bd8591
MISC metadata.xml 302 BLAKE2B ef8858b3c26dfa1727e57685381dbf71eb74008e74127b06467aaff9eea2fd7f3fdcdb1819529b8e828d42720745855e948d608bbe3eb40778fe1e4e260118ad SHA512 d5e641d63402052ef7af157f98998868a816d5e5072424725b09ded5c2477b26aaafbb8874473367a860d3fc365e0f4f0db451315ec4be3df23cce4c1194f2d7
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-12.0.1_rc2.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-12.0.1_rc2.ebuild
new file mode 100644
index 000000000000..bf538b66689b
--- /dev/null
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-12.0.1_rc2.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+PYTHON_COMPAT=( python3_{7..9} )
+inherit cmake-multilib llvm llvm.org python-any-r1
+
+DESCRIPTION="C++ runtime stack unwinder from LLVM"
+HOMEPAGE="https://github.com/llvm-mirror/libunwind"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS=""
+IUSE="debug static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="!sys-libs/libunwind"
+# llvm-6 for new lit options
+DEPEND="
+ >=sys-devel/llvm-6"
+BDEPEND="
+ test? ( >=sys-devel/clang-3.9.0
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ )"
+
+LLVM_COMPONENTS=( libunwind libcxx llvm/cmake/modules )
+LLVM_TEST_COMPONENTS=( libcxxabi )
+llvm.org_set_globals
+
+python_check_deps() {
+ has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+multilib_src_configure() {
+ local libdir=$(get_libdir)
+
+ local mycmakeargs=(
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+ -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug)
+ -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs)
+ -DLLVM_INCLUDE_TESTS=$(usex test)
+
+ # support non-native unwinding; given it's small enough,
+ # enable it unconditionally
+ -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON
+ )
+ if use test; then
+ local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+ [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}"
+ -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+build_libcxxabi() {
+ local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)"
+ local CMAKE_USE_DIR=${WORKDIR}/libcxxabi
+ local BUILD_DIR=${BUILD_DIR}/libcxxabi
+ local mycmakeargs=(
+ -DLIBCXXABI_LIBDIR_SUFFIX=
+ -DLIBCXXABI_ENABLE_SHARED=OFF
+ -DLIBCXXABI_ENABLE_STATIC=ONF
+ -DLIBCXXABI_USE_LLVM_UNWINDER=ON
+ -DLIBCXXABI_INCLUDE_TESTS=OFF
+
+ -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include
+ -DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include
+ )
+
+ cmake_src_configure
+ cmake_src_compile
+}
+
+build_libcxx() {
+ local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/libcxxabi/lib -L${BUILD_DIR}/$(get_libdir)"
+ local CMAKE_USE_DIR=${WORKDIR}/libcxx
+ local BUILD_DIR=${BUILD_DIR}/libcxx
+ local mycmakeargs=(
+ -DLIBCXX_LIBDIR_SUFFIX=
+ -DLIBCXX_ENABLE_SHARED=OFF
+ -DLIBCXX_ENABLE_STATIC=ON
+ -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
+ -DLIBCXXABI_USE_LLVM_UNWINDER=ON
+ -DLIBCXX_CXX_ABI=libcxxabi
+ -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/include
+ -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+ -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+ -DLIBCXX_HAS_GCC_S_LIB=OFF
+ -DLIBCXX_INCLUDE_TESTS=OFF
+ )
+
+ cmake_src_configure
+ cmake_src_compile
+}
+
+multilib_src_test() {
+ # build local copies of libc++ & libc++abi for testing to avoid
+ # circular deps
+ build_libcxxabi
+ build_libcxx
+ mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
+
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-unwind
+}
+
+multilib_src_install() {
+ cmake_src_install
+
+ # install headers like sys-libs/libunwind
+ doheader "${S}"/include/*.h
+}