diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-02-25 21:55:01 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-02-25 21:55:01 +0000 |
commit | ef596bcaa32d9c69d88a3451193cb242da803db1 (patch) | |
tree | d6084e886d9fb2f2bd064f937c0257aa1dfea7a6 /sys-libs | |
parent | 83ebb477861172671f6796999e016400b659d65f (diff) |
gentoo auto-resync : 25:02:2023 - 21:55:01
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/Manifest.gz | bin | 14726 -> 14729 bytes | |||
-rw-r--r-- | sys-libs/compiler-rt-sanitizers/Manifest | 2 | ||||
-rw-r--r-- | sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-17.0.0_pre20230225.ebuild | 216 | ||||
-rw-r--r-- | sys-libs/compiler-rt/Manifest | 2 | ||||
-rw-r--r-- | sys-libs/compiler-rt/compiler-rt-17.0.0_pre20230225.ebuild | 149 | ||||
-rw-r--r-- | sys-libs/glibc/Manifest | 4 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.37.ebuild | 2 | ||||
-rw-r--r-- | sys-libs/libcxx/Manifest | 2 | ||||
-rw-r--r-- | sys-libs/libcxx/libcxx-17.0.0_pre20230225.ebuild | 204 | ||||
-rw-r--r-- | sys-libs/libcxxabi/Manifest | 2 | ||||
-rw-r--r-- | sys-libs/libcxxabi/libcxxabi-17.0.0_pre20230225.ebuild | 116 | ||||
-rw-r--r-- | sys-libs/libomp/Manifest | 2 | ||||
-rw-r--r-- | sys-libs/libomp/libomp-17.0.0_pre20230225.ebuild | 149 | ||||
-rw-r--r-- | sys-libs/llvm-libunwind/Manifest | 2 | ||||
-rw-r--r-- | sys-libs/llvm-libunwind/llvm-libunwind-17.0.0_pre20230225.ebuild | 123 |
15 files changed, 972 insertions, 3 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz Binary files differindex e698811a2d5e..a68a68354256 100644 --- a/sys-libs/Manifest.gz +++ b/sys-libs/Manifest.gz diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest index 2adae9832d56..ca725999ff93 100644 --- a/sys-libs/compiler-rt-sanitizers/Manifest +++ b/sys-libs/compiler-rt-sanitizers/Manifest @@ -10,6 +10,7 @@ DIST llvm-project-16.0.0rc3.src.tar.xz 117914548 BLAKE2B 18ffa35eb73c7cc4626d7b6 DIST llvm-project-16.0.0rc3.src.tar.xz.sig 566 BLAKE2B 43683d2d7b266a847516f71412bf6236a355462430330fc0da1d624fb8dfbc98bfc982d367baee74d5b4964a9e82e7a4a6ea84bdcff3996d246932f516cced1a SHA512 61adc4dc3eb5a4c11a7f96f9267ff37895e5845a08d48a609a03a2696c1b6bca5af5861a6f28de936c48e6d621bf282170589187f2cb593a912b9078300cf47c DIST llvm-project-22fb66eb94b643c858c2beecbcfac438a7fa29ed.tar.gz 179795537 BLAKE2B aef57ef739c52a8f8b2b327a8f6d8cce4734d9704018fb43a21468e56748e5d5b3d2d47fb4e95fd72b2af9f2e4be88839553e26fd7da08df60c5cc0f51c001d4 SHA512 9ed093ef7dac4891660aafbc5cad66bddefa796bff4dd70c792cc636268742142d82b84520ac2f5a5963521d7b9e4325440763ce0c88937f89722f07d3acd4b8 DIST llvm-project-5e262d58c42668c78d932fab6bf75cf8c3b9d07e.tar.gz 179975303 BLAKE2B 184e7ff6e9a7de77d4a8c36c6910e4e3c7c5e9ff73ed6111ec4704dd457205278abb258ff37170e41a6b21c9ae3f243a80b34e4b17f8977fb9a42876db6465b7 SHA512 ec7e16a4d8f8292d1184ae08c1c5eda0dba1876e7d9c228eb0added5cde45f3094fde7eb1da662d436f85315850310cc0612210ff3ddf82967d5c2de0047a724 +DIST llvm-project-b0676fb0fb0a44a4a1c4ec1f0270fef1f1842817.tar.gz 180277698 BLAKE2B d2c1e6a1942e51f5844c18605f38b005e9bb4123850a173e4c4b3d7b6a14f4986c7b276b40df4d0594ae04e869e92ba1a4269c5055c0229cfd28aa1bd709da4f SHA512 d1281b942dcc254641865f11b0c4fbd1d562d016681b6b7268549bed1cdb7d4536f743a8ed089095eaab9f4bfb9de624153f448bf13d0e22f8ea24a4d264df7b EBUILD compiler-rt-sanitizers-14.0.6.ebuild 6526 BLAKE2B 371b7d7bfbcacce1c04cf039b15f49bf5c8fb7de0352c4f477b92d1efe0c70442770ec0c6b60572cf5877b5c14492328cf727b2aa5c1dea761eb909aa1e1df6c SHA512 ee1f054abb9954eedd5b098afb1eb741cd2d7b1b329ef66ed3f25f8ed050227a31925852e3d893b0a9913e2ef2ac34efe89c66c19b562c586f7c0352a10a5814 EBUILD compiler-rt-sanitizers-15.0.7.ebuild 6578 BLAKE2B 79b9477f9f426c7e5ffc07fe9e2abc86ee568d8e081ac5e5e3da3e3e169920fe8c0ce34f9a8ac03a4389f27ecb0b0ff7f5cf91622d614e03300f17ea97d20859 SHA512 9d23f6974edbe69e5d9fa53a3885e8e44741b5e5d90b0e72c6d191b70827d1e590a7c5a3373bc4fb4945a50db0eea5e119baeaeea956c6d92bb087410ce919b0 EBUILD compiler-rt-sanitizers-16.0.0.9999.ebuild 6248 BLAKE2B 8548074a3b572bc5b19e9a70ed91225678172cb43b71ad501811d3741367c56f1ffe0e1b528934f620e7d8a30bd1fc463ada54113bea16c322f1d821a8503756 SHA512 8825b15e4965e58365a96517831120e1d5c02130f83cc1150b7a107142782cee74830d3dc0234453291d0f487789cd005303d47269381ad45356e4fd779decf5 @@ -18,4 +19,5 @@ EBUILD compiler-rt-sanitizers-16.0.0_rc3.ebuild 6254 BLAKE2B cf7575a46a8678ff6ed EBUILD compiler-rt-sanitizers-17.0.0.9999.ebuild 6248 BLAKE2B 8548074a3b572bc5b19e9a70ed91225678172cb43b71ad501811d3741367c56f1ffe0e1b528934f620e7d8a30bd1fc463ada54113bea16c322f1d821a8503756 SHA512 8825b15e4965e58365a96517831120e1d5c02130f83cc1150b7a107142782cee74830d3dc0234453291d0f487789cd005303d47269381ad45356e4fd779decf5 EBUILD compiler-rt-sanitizers-17.0.0_pre20230211.ebuild 6248 BLAKE2B 8548074a3b572bc5b19e9a70ed91225678172cb43b71ad501811d3741367c56f1ffe0e1b528934f620e7d8a30bd1fc463ada54113bea16c322f1d821a8503756 SHA512 8825b15e4965e58365a96517831120e1d5c02130f83cc1150b7a107142782cee74830d3dc0234453291d0f487789cd005303d47269381ad45356e4fd779decf5 EBUILD compiler-rt-sanitizers-17.0.0_pre20230218.ebuild 6248 BLAKE2B 8548074a3b572bc5b19e9a70ed91225678172cb43b71ad501811d3741367c56f1ffe0e1b528934f620e7d8a30bd1fc463ada54113bea16c322f1d821a8503756 SHA512 8825b15e4965e58365a96517831120e1d5c02130f83cc1150b7a107142782cee74830d3dc0234453291d0f487789cd005303d47269381ad45356e4fd779decf5 +EBUILD compiler-rt-sanitizers-17.0.0_pre20230225.ebuild 6248 BLAKE2B 8548074a3b572bc5b19e9a70ed91225678172cb43b71ad501811d3741367c56f1ffe0e1b528934f620e7d8a30bd1fc463ada54113bea16c322f1d821a8503756 SHA512 8825b15e4965e58365a96517831120e1d5c02130f83cc1150b7a107142782cee74830d3dc0234453291d0f487789cd005303d47269381ad45356e4fd779decf5 MISC metadata.xml 1412 BLAKE2B 75675507000fa6a6b8182e6b45a08a2716ae7fb9a7e3428dc8420464e4c1d1bdb5bea62cc2f553c579de5a4faa752b35cb3529d980fb07a055ff4ddf6e752707 SHA512 f05ea5168b923db72f4f5b53e9b748ebbcdae9eff09d86323313055933b47fc0089e1b2d73cd997d73dcfb2dca032344955816425fbddc09d27ca751463aadbb diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-17.0.0_pre20230225.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-17.0.0_pre20230225.ebuild new file mode 100644 index 000000000000..cc599404c49c --- /dev/null +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-17.0.0_pre20230225.ebuild @@ -0,0 +1,216 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..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_MAJOR}" +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? ( + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR} + sys-libs/compiler-rt:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) +" + +LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake ) +LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support third-party ) +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_MAJOR}" + # 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_MAJOR}" + + -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_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_MAJOR}/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_MAJOR}/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_MAJOR}/include/*.h \ + "${BUILD_DIR}"/lib/clang/${LLVM_MAJOR}/include/ || die + cp "${sys_dir}"/*builtins*.a \ + "${BUILD_DIR}/lib/clang/${LLVM_MAJOR}/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 30d97821d3be..7999bd80607b 100644 --- a/sys-libs/compiler-rt/Manifest +++ b/sys-libs/compiler-rt/Manifest @@ -10,6 +10,7 @@ DIST llvm-project-16.0.0rc3.src.tar.xz 117914548 BLAKE2B 18ffa35eb73c7cc4626d7b6 DIST llvm-project-16.0.0rc3.src.tar.xz.sig 566 BLAKE2B 43683d2d7b266a847516f71412bf6236a355462430330fc0da1d624fb8dfbc98bfc982d367baee74d5b4964a9e82e7a4a6ea84bdcff3996d246932f516cced1a SHA512 61adc4dc3eb5a4c11a7f96f9267ff37895e5845a08d48a609a03a2696c1b6bca5af5861a6f28de936c48e6d621bf282170589187f2cb593a912b9078300cf47c DIST llvm-project-22fb66eb94b643c858c2beecbcfac438a7fa29ed.tar.gz 179795537 BLAKE2B aef57ef739c52a8f8b2b327a8f6d8cce4734d9704018fb43a21468e56748e5d5b3d2d47fb4e95fd72b2af9f2e4be88839553e26fd7da08df60c5cc0f51c001d4 SHA512 9ed093ef7dac4891660aafbc5cad66bddefa796bff4dd70c792cc636268742142d82b84520ac2f5a5963521d7b9e4325440763ce0c88937f89722f07d3acd4b8 DIST llvm-project-5e262d58c42668c78d932fab6bf75cf8c3b9d07e.tar.gz 179975303 BLAKE2B 184e7ff6e9a7de77d4a8c36c6910e4e3c7c5e9ff73ed6111ec4704dd457205278abb258ff37170e41a6b21c9ae3f243a80b34e4b17f8977fb9a42876db6465b7 SHA512 ec7e16a4d8f8292d1184ae08c1c5eda0dba1876e7d9c228eb0added5cde45f3094fde7eb1da662d436f85315850310cc0612210ff3ddf82967d5c2de0047a724 +DIST llvm-project-b0676fb0fb0a44a4a1c4ec1f0270fef1f1842817.tar.gz 180277698 BLAKE2B d2c1e6a1942e51f5844c18605f38b005e9bb4123850a173e4c4b3d7b6a14f4986c7b276b40df4d0594ae04e869e92ba1a4269c5055c0229cfd28aa1bd709da4f SHA512 d1281b942dcc254641865f11b0c4fbd1d562d016681b6b7268549bed1cdb7d4536f743a8ed089095eaab9f4bfb9de624153f448bf13d0e22f8ea24a4d264df7b EBUILD compiler-rt-14.0.6-r1.ebuild 4247 BLAKE2B 53a61ea821f52d45691acce10f2aa6155606930796f142a18683b7259357ad770552de88d11115f9a97c77975c4866e2082fcfb770ad6ded5ec6d70393aabbc2 SHA512 bbfdc05c22f3750b0f8c9a84118b70beff97fc360c5c133ad58bdfe78762320cdbb0b170f6154eb5098bc9dc2ecb2643871c8ce85162c47235cf1408d5ef67e9 EBUILD compiler-rt-15.0.7.ebuild 4259 BLAKE2B 2d7636f409dedb9bc78e77312355ca3859adbd108cb0d6001c2d9cab89b09847003d4148d013332ce93292678743a9b7197791d51048758d351292b8d53c833f SHA512 ebe6fbaaf6ff68d5f12f61f8e9d02608321b3e4db9ccf7be43e7a43de7c6600a1a506e48bf1468ca16b0d3ea894a5603b3f468a9ded7cbfa76145c7c8b8ec20e EBUILD compiler-rt-16.0.0.9999.ebuild 4164 BLAKE2B 332c450aab09115e23d14304e1f1bfa8c9482ced7acff7d6b80ac09d88f6d5a1481f090c837a7876bc264e3f1451b3bc5f285a71a38a7bf64ad3845299ca9b59 SHA512 7dcaae258434c5cce6b225c49b71e1987ac5af36f83ce25962ade4b2c836f13034fb54fed2723e7d089dc77b20159c0dd04c67f9a6928b62550d594db7f98cc2 @@ -18,4 +19,5 @@ EBUILD compiler-rt-16.0.0_rc3.ebuild 4170 BLAKE2B 5c863321f73c784ae997fe46377fc6 EBUILD compiler-rt-17.0.0.9999.ebuild 4164 BLAKE2B 332c450aab09115e23d14304e1f1bfa8c9482ced7acff7d6b80ac09d88f6d5a1481f090c837a7876bc264e3f1451b3bc5f285a71a38a7bf64ad3845299ca9b59 SHA512 7dcaae258434c5cce6b225c49b71e1987ac5af36f83ce25962ade4b2c836f13034fb54fed2723e7d089dc77b20159c0dd04c67f9a6928b62550d594db7f98cc2 EBUILD compiler-rt-17.0.0_pre20230211.ebuild 4164 BLAKE2B 332c450aab09115e23d14304e1f1bfa8c9482ced7acff7d6b80ac09d88f6d5a1481f090c837a7876bc264e3f1451b3bc5f285a71a38a7bf64ad3845299ca9b59 SHA512 7dcaae258434c5cce6b225c49b71e1987ac5af36f83ce25962ade4b2c836f13034fb54fed2723e7d089dc77b20159c0dd04c67f9a6928b62550d594db7f98cc2 EBUILD compiler-rt-17.0.0_pre20230218.ebuild 4164 BLAKE2B 332c450aab09115e23d14304e1f1bfa8c9482ced7acff7d6b80ac09d88f6d5a1481f090c837a7876bc264e3f1451b3bc5f285a71a38a7bf64ad3845299ca9b59 SHA512 7dcaae258434c5cce6b225c49b71e1987ac5af36f83ce25962ade4b2c836f13034fb54fed2723e7d089dc77b20159c0dd04c67f9a6928b62550d594db7f98cc2 +EBUILD compiler-rt-17.0.0_pre20230225.ebuild 4164 BLAKE2B 332c450aab09115e23d14304e1f1bfa8c9482ced7acff7d6b80ac09d88f6d5a1481f090c837a7876bc264e3f1451b3bc5f285a71a38a7bf64ad3845299ca9b59 SHA512 7dcaae258434c5cce6b225c49b71e1987ac5af36f83ce25962ade4b2c836f13034fb54fed2723e7d089dc77b20159c0dd04c67f9a6928b62550d594db7f98cc2 MISC metadata.xml 416 BLAKE2B 79a58249c94b605ba57f346c4e05b43853cf6cfb8bb65a4f4e3c44039cccfdb83dd31bfaaaf398bcbdc393efabdfc7ed186fe775976c46227e74decf2c8f4fb2 SHA512 ce30c79a575e5933effb1fec36f9a4ef02d9f97f312feb39c55a88cbda9a1bae1d7af2ec4ad5f66212cbb2cdbfb26f1a436689f16f410153c9d65eb010264c48 diff --git a/sys-libs/compiler-rt/compiler-rt-17.0.0_pre20230225.ebuild b/sys-libs/compiler-rt/compiler-rt-17.0.0_pre20230225.ebuild new file mode 100644 index 000000000000..2ed5fc860074 --- /dev/null +++ b/sys-libs/compiler-rt/compiler-rt-17.0.0_pre20230225.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +inherit cmake 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_MAJOR}" +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.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_MAJOR}" + + -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/glibc/Manifest b/sys-libs/glibc/Manifest index d8da461a3cfa..34803b95b1a5 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -30,7 +30,7 @@ DIST glibc-2.36-patches-5.tar.xz 81348 BLAKE2B 003a59a992302c21132474bcdc994d10b DIST glibc-2.36-patches-6.tar.xz 100540 BLAKE2B bdd887bd61c5c3f8047e31b1380344da82a5e9c7fe6cf0ebd1177a1dd40462872dd9507594b6669140a1a8c6c08ce3195a3f8d425ce5e2a2ff6e9b42d90c43ed SHA512 3a2620e87eba62d3276c5b09b97337bffe3a51bf23da243fb550f6f9dddb77008a7840ede32b7b1a7ff72e06b89981d9edf27026931a12fae8042002d8328358 DIST glibc-2.36-patches-9.tar.xz 110440 BLAKE2B edc1aca9b7bc9ce64683e3bd905c9804b581af2d41191ae85e6f0e73d444672abe56bbb620373d31b20db8f84a2cb9ed4e1026e50ce5f287dac5c24752ee187a SHA512 1f1f85a439983b776229b924f9a8fd9aacf9efc869a212ff15b49e60627f37719b548d20b9ff1b80d88996bce115f44efdbecc6dce378a4247c6078ed7e6e1b4 DIST glibc-2.36.tar.xz 18610836 BLAKE2B f8375e084043f032609e66fd98c234249df57a595c59672acb1bb8c69aed64d339d526611553449492b097cda900ad1d9bae8873d7f5932b10a9a0d8c9210c55 SHA512 9ea0bbda32f83a85b7da0c34f169607fb8a102f0a11a914e6bf531be47d1bef4f5307128286cffa1e2dc5879f0e6ccaef527dd353486883fa332a0b44bde8b3e -DIST glibc-2.37-patches-2.tar.xz 18644 BLAKE2B 74b3cbfe5560b36588ffc25a39147f1aa68a8eeef504c0670b5ccee53fb78c68463185bfa85424a65f063983a50e813de6dc92209947c7f9c899a814aff18361 SHA512 52a14bc9380d710685239b09413aa41527797a5a87f1f905b2aedda582004a3d8cbf7ca1c8065c5dab8e782ff1020025f47629afcb1d0e3254976c8a6dc54433 +DIST glibc-2.37-patches-3.tar.xz 22908 BLAKE2B 9b8bda29dc25a444dae9ace7e9c2c072f1f4b07a864720036d16be6d69e40b3c1d506838ce4168066eb490780a95222e8746efc42af4b4b2f2cf86483142294a SHA512 6e51300bfbd44d549dbf24de8a6d0137865e51ab5d9ebd85f638b17a8c7aa39b7842c3ace762649216060160b8937da9e384876c1202bc63b0291c2e564d2703 DIST glibc-2.37.tar.xz 18674604 BLAKE2B 8139cd977b2ed3bfdbde5ffb1cda8f759763dbb83071167272fef798cfbdc0d17cfd1ec893d126c52c91511b7961f3ad12eed34534b99412dfa04a1cdd5b4ea3 SHA512 4fc5932f206bb1b8b54828a28af1a681616b838bbab60c81c82155f3629cbfe1301d271af65511ed917f4c6949a025429221fe6035753282f15346919f15b90c DIST glibc-systemd-20210729.tar.gz 1480 BLAKE2B 37722c7579df782d890e44dbab99c3de52ab466eb9de80d82405e9bb5620bf39ffc8c5f466a435bdb86ef6d36dd7019c0736573916bda6c67d02a2581e0ec979 SHA512 efd75af58b50522c28cdac7abd1fc56555bc1bb042512c90d8340c1ec09c5791b3872a305bf83723252bbde5855b75d958c041083457765c4cfd170732d09238 DIST glibc-systemd-20210814.tar.gz 1469 BLAKE2B 10fa7bcb46d4fdce9c0ab353cbd30871e9b09a347a13a9c9a3b5777f931aa3c826c158d2e49532c604d4a834f2fab4089b67495fb88d0398945dc50d45ad9ef1 SHA512 5346a9ea459a1e6ccf665389f2a294de1e16f1e3e05cdf07e3dd99ed0e4f6f8b52cc333d4bff3c75ac90ab6ce70cd4ab2b3e126f920ce7979abd6dda56315efc @@ -46,6 +46,6 @@ EBUILD glibc-2.35-r11.ebuild 50176 BLAKE2B a7999672c0039cb7ef79fd84b13ea7d8d752a EBUILD glibc-2.36-r5.ebuild 51373 BLAKE2B e90a8b848d463cd1fb3e8e3101408ef1c4834f1179f3d008d67d0e5a0ce5862b82819113b4c0f00881b828ba4d59cb03025f002b908793aba49cde1297aa6b2e SHA512 813f7bab667a08d96efc84bf62b17ec465e2c6546a0756d90718320e2983f5e6ae2ee36858517ec6affa13aacac91a4fdce70e5df0c1244fde26bc72b3b17dcc EBUILD glibc-2.36-r6.ebuild 51808 BLAKE2B d31f5b3474e5ddca55c186171debe86df8d66941f702753e2c1b4e99cc25a4aedfb262c9fb4aba0a877b662f0b4b213f532c7094dd7213a37c1ba9fe084a79aa SHA512 d22239be8c809e22ecaa14b190c160433d33c0d8ee409201e7c78ec533ae9ca50a276f9d28da7e56846775e8b8876ac008608e5da5b2d3941eea8e032d8700af EBUILD glibc-2.36-r7.ebuild 51808 BLAKE2B af462347544c829c48110bb8f270480d0b6659382a4badfe8598ea73a77d20cfdea3d10926c100f00dccd61f7427ce7ae78c035ec05131cfb81e29be40fd3e41 SHA512 3e61a884f05c6c39cf7f1864dacc2bfea634fa2379b89f2cf1d8e60fad913cd1290e60fdb3fb5fd5559842d9fef663851a968f5656fda6abfbacf3ed052a3399 -EBUILD glibc-2.37.ebuild 51944 BLAKE2B d4fd6baeccc6a3618e58485e294610af9ea5d3029937488e83bcde45c40293bbe9d6f6b462eb884c5e38df46eab5c39d7b0d0a778d3ca777ff373233493df53c SHA512 f47a2e55aed9e1db7dbdb40ebdf2a5e329f496ffacd9c34fe5b8bb9f0d92ee2751530b7d0ead6ead7f962950df772540a9b54b1a1f49b28b0270854c9487453a +EBUILD glibc-2.37.ebuild 51944 BLAKE2B 994fc8a60cc80971e6b10bbe99077f17211ba195d39da0dc47452f4c76bee892e9a923cc33d6187d1177a4fc72bae00c858ba0961502101efc9bac0066499beb SHA512 e9e880413cec425d742a77630709b284719cdd67d52fe6886274614ea34dc03d8f6b08acd2db503b6c329ee1956036656d64f2d0c2dde83748a85174fdda11dd EBUILD glibc-9999.ebuild 51944 BLAKE2B 49b3f74c314a7c2cff2d5f1f8100b89d788824f076ddd91775e796e0d91d95cceb42552b68c2343baf36bc5638fd70ce7a148f0254abd5169e8db48a4a960f61 SHA512 a433c5b9fc081104bcf987c32e853b36c739813a4cb7ae02d43fac26a829857e408594e52d1ea72035107c7a96aa285e1798a4323c72bf459d6a261feb2f143d MISC metadata.xml 2142 BLAKE2B 765ba540eb10afccd1bade4de56f0c13ce269225500a62d1d17328194de69e7fa15d359a14eac6bfa8a36df45344db3d52f5e1811b174cf1fa2bfb95ad7760a7 SHA512 2f4a148c076a0967663d14e76b85a698ddae7093ff299b0dc95a6c3b00957c9bf73443f2bace9670eb62a45465efbcca892bb52b6aac8577acb2bc5f74a7397c diff --git a/sys-libs/glibc/glibc-2.37.ebuild b/sys-libs/glibc/glibc-2.37.ebuild index c9fe06ce176d..105fdc0c3aaa 100644 --- a/sys-libs/glibc/glibc-2.37.ebuild +++ b/sys-libs/glibc/glibc-2.37.ebuild @@ -20,7 +20,7 @@ SLOT="2.2" EMULTILIB_PKG="true" # Gentoo patchset (ignored for live ebuilds) -PATCH_VER=2 +PATCH_VER=3 PATCH_DEV=dilfridge if [[ ${PV} == 9999* ]]; then diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest index 8f670791974f..4aae5c942f00 100644 --- a/sys-libs/libcxx/Manifest +++ b/sys-libs/libcxx/Manifest @@ -10,6 +10,7 @@ DIST llvm-project-16.0.0rc3.src.tar.xz 117914548 BLAKE2B 18ffa35eb73c7cc4626d7b6 DIST llvm-project-16.0.0rc3.src.tar.xz.sig 566 BLAKE2B 43683d2d7b266a847516f71412bf6236a355462430330fc0da1d624fb8dfbc98bfc982d367baee74d5b4964a9e82e7a4a6ea84bdcff3996d246932f516cced1a SHA512 61adc4dc3eb5a4c11a7f96f9267ff37895e5845a08d48a609a03a2696c1b6bca5af5861a6f28de936c48e6d621bf282170589187f2cb593a912b9078300cf47c DIST llvm-project-22fb66eb94b643c858c2beecbcfac438a7fa29ed.tar.gz 179795537 BLAKE2B aef57ef739c52a8f8b2b327a8f6d8cce4734d9704018fb43a21468e56748e5d5b3d2d47fb4e95fd72b2af9f2e4be88839553e26fd7da08df60c5cc0f51c001d4 SHA512 9ed093ef7dac4891660aafbc5cad66bddefa796bff4dd70c792cc636268742142d82b84520ac2f5a5963521d7b9e4325440763ce0c88937f89722f07d3acd4b8 DIST llvm-project-5e262d58c42668c78d932fab6bf75cf8c3b9d07e.tar.gz 179975303 BLAKE2B 184e7ff6e9a7de77d4a8c36c6910e4e3c7c5e9ff73ed6111ec4704dd457205278abb258ff37170e41a6b21c9ae3f243a80b34e4b17f8977fb9a42876db6465b7 SHA512 ec7e16a4d8f8292d1184ae08c1c5eda0dba1876e7d9c228eb0added5cde45f3094fde7eb1da662d436f85315850310cc0612210ff3ddf82967d5c2de0047a724 +DIST llvm-project-b0676fb0fb0a44a4a1c4ec1f0270fef1f1842817.tar.gz 180277698 BLAKE2B d2c1e6a1942e51f5844c18605f38b005e9bb4123850a173e4c4b3d7b6a14f4986c7b276b40df4d0594ae04e869e92ba1a4269c5055c0229cfd28aa1bd709da4f SHA512 d1281b942dcc254641865f11b0c4fbd1d562d016681b6b7268549bed1cdb7d4536f743a8ed089095eaab9f4bfb9de624153f448bf13d0e22f8ea24a4d264df7b EBUILD libcxx-14.0.6.ebuild 6948 BLAKE2B b8f0793a4542a76b789ae6c3cfc392bdba7c8d033a6d41328cd32754af3affb663b87f8811cf53fcc3be9e2bcb9f8691a64bd613b26bfd8b5c99a9c11e9c57ee SHA512 d280604fe14e1488a1b9538ec7da100639024e34ed65c5efe11c7fd563073ded3655d302e61b1b657766ec2b3fc78d2192f905377b3f5d55fcf20ecba58262b3 EBUILD libcxx-15.0.7-r1.ebuild 5306 BLAKE2B 346390544e06d0fac9c21e341ab97a40b51c6af8c0bfe33771e634a1b4f081fabbbe24a749572f2129adfd26c5e8992442775dd5bfc557cbf50988bacc510137 SHA512 4cc723ca0b09ebedd5c7caed4008c392c3843f93674f0a913c067c147c74b755061bc9cdbfd51037505f0d395353791237275382e6b321f8dc7a83b24a7c5e4d EBUILD libcxx-15.0.7.ebuild 5281 BLAKE2B 91ef259e7e911d759553378e78dadac1f69a8d890eaec9572d987674b22943b07ae83bd6c7fa6f0968da0bb14709436117ca6beb7786fa329dfebb268273e0fd SHA512 038ccd5504bbb990f8b6bf35ed64ca197a84f14e2860e277bd488693e583474332c73afd1a48911786b6352373a1f09763899d2408907ada836a992cb733ed43 @@ -19,4 +20,5 @@ EBUILD libcxx-16.0.0_rc3.ebuild 5244 BLAKE2B 293399fe1fc0f91f115697a27d265f422e1 EBUILD libcxx-17.0.0.9999.ebuild 5238 BLAKE2B d31f97c2b6fad3c8b357cf1d9c2bbcf52fcf8ddef4cd5e52a1e5a8d413751441032cc964eeb4ea3509e3ee16aab6342dcbd38a9b7e7d9299021834e834054c37 SHA512 4c7f95ca928f5d7dcada11ae250a0468a3797bf024985635eaf815dab7341863bd7add87abd459e49a2fa0b19b12ae87cfe6d5799780f1594130eb134e4347ff EBUILD libcxx-17.0.0_pre20230211.ebuild 5238 BLAKE2B d31f97c2b6fad3c8b357cf1d9c2bbcf52fcf8ddef4cd5e52a1e5a8d413751441032cc964eeb4ea3509e3ee16aab6342dcbd38a9b7e7d9299021834e834054c37 SHA512 4c7f95ca928f5d7dcada11ae250a0468a3797bf024985635eaf815dab7341863bd7add87abd459e49a2fa0b19b12ae87cfe6d5799780f1594130eb134e4347ff EBUILD libcxx-17.0.0_pre20230218.ebuild 5238 BLAKE2B d31f97c2b6fad3c8b357cf1d9c2bbcf52fcf8ddef4cd5e52a1e5a8d413751441032cc964eeb4ea3509e3ee16aab6342dcbd38a9b7e7d9299021834e834054c37 SHA512 4c7f95ca928f5d7dcada11ae250a0468a3797bf024985635eaf815dab7341863bd7add87abd459e49a2fa0b19b12ae87cfe6d5799780f1594130eb134e4347ff +EBUILD libcxx-17.0.0_pre20230225.ebuild 5238 BLAKE2B d31f97c2b6fad3c8b357cf1d9c2bbcf52fcf8ddef4cd5e52a1e5a8d413751441032cc964eeb4ea3509e3ee16aab6342dcbd38a9b7e7d9299021834e834054c37 SHA512 4c7f95ca928f5d7dcada11ae250a0468a3797bf024985635eaf815dab7341863bd7add87abd459e49a2fa0b19b12ae87cfe6d5799780f1594130eb134e4347ff MISC metadata.xml 718 BLAKE2B 3cc1e43a6f1ada368cfc0bf8aaf49007f6792062b684ab9299b5180d778b158325b6931169b52dd14e85ae9ad6dc1a03be323b814fb920fe8434ad86425d699c SHA512 c2cef3e481c0c3db7de6de8c0a5aff42a1e7fe81155d99f1f0f0988f6d5ca041f787a27a2dde0073037d59e082e2f6da7eefe1303f1c1837ebc12e8e0d28729f diff --git a/sys-libs/libcxx/libcxx-17.0.0_pre20230225.ebuild b/sys-libs/libcxx/libcxx-17.0.0_pre20230225.ebuild new file mode 100644 index 000000000000..4eeb65e55e83 --- /dev/null +++ b/sys-libs/libcxx/libcxx-17.0.0_pre20230225.ebuild @@ -0,0 +1,204 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +inherit cmake-multilib flag-o-matic llvm llvm.org python-any-r1 \ + toolchain-funcs + +DESCRIPTION="New implementation of the C++ standard library, targeting C++11" +HOMEPAGE="https://libcxx.llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="" +IUSE="+clang +libcxxabi static-libs test" +REQUIRED_USE="test? ( clang )" +RESTRICT="!test? ( test )" + +RDEPEND=" + libcxxabi? ( + ~sys-libs/libcxxabi-${PV}[static-libs?,${MULTILIB_USEDEP}] + ) + !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] ) +" +DEPEND=" + ${RDEPEND} + sys-devel/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( + sys-devel/clang:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) + test? ( + >=dev-util/cmake-3.16 + sys-devel/gdb[python] + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( runtimes libcxx{,abi} llvm/{cmake,utils/llvm-lit} cmake ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + # Darwin Prefix builds do not have llvm installed yet, so rely on + # bootstrap-prefix to set the appropriate path vars to LLVM instead + # of using llvm_pkg_setup. + if [[ ${CHOST} != *-darwin* ]] || has_version 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 +} diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest index 104f93723ac9..d555631822e0 100644 --- a/sys-libs/libcxxabi/Manifest +++ b/sys-libs/libcxxabi/Manifest @@ -8,6 +8,7 @@ DIST llvm-project-16.0.0rc3.src.tar.xz 117914548 BLAKE2B 18ffa35eb73c7cc4626d7b6 DIST llvm-project-16.0.0rc3.src.tar.xz.sig 566 BLAKE2B 43683d2d7b266a847516f71412bf6236a355462430330fc0da1d624fb8dfbc98bfc982d367baee74d5b4964a9e82e7a4a6ea84bdcff3996d246932f516cced1a SHA512 61adc4dc3eb5a4c11a7f96f9267ff37895e5845a08d48a609a03a2696c1b6bca5af5861a6f28de936c48e6d621bf282170589187f2cb593a912b9078300cf47c DIST llvm-project-22fb66eb94b643c858c2beecbcfac438a7fa29ed.tar.gz 179795537 BLAKE2B aef57ef739c52a8f8b2b327a8f6d8cce4734d9704018fb43a21468e56748e5d5b3d2d47fb4e95fd72b2af9f2e4be88839553e26fd7da08df60c5cc0f51c001d4 SHA512 9ed093ef7dac4891660aafbc5cad66bddefa796bff4dd70c792cc636268742142d82b84520ac2f5a5963521d7b9e4325440763ce0c88937f89722f07d3acd4b8 DIST llvm-project-5e262d58c42668c78d932fab6bf75cf8c3b9d07e.tar.gz 179975303 BLAKE2B 184e7ff6e9a7de77d4a8c36c6910e4e3c7c5e9ff73ed6111ec4704dd457205278abb258ff37170e41a6b21c9ae3f243a80b34e4b17f8977fb9a42876db6465b7 SHA512 ec7e16a4d8f8292d1184ae08c1c5eda0dba1876e7d9c228eb0added5cde45f3094fde7eb1da662d436f85315850310cc0612210ff3ddf82967d5c2de0047a724 +DIST llvm-project-b0676fb0fb0a44a4a1c4ec1f0270fef1f1842817.tar.gz 180277698 BLAKE2B d2c1e6a1942e51f5844c18605f38b005e9bb4123850a173e4c4b3d7b6a14f4986c7b276b40df4d0594ae04e869e92ba1a4269c5055c0229cfd28aa1bd709da4f SHA512 d1281b942dcc254641865f11b0c4fbd1d562d016681b6b7268549bed1cdb7d4536f743a8ed089095eaab9f4bfb9de624153f448bf13d0e22f8ea24a4d264df7b EBUILD libcxxabi-14.0.6.ebuild 3384 BLAKE2B 71c0a0a1765bdfcc6829d5ac3a1e260f541cb6a4a8b1557db6d6fd17d540dcaa85df21ddae645afd72a620f1b52c42dd8d8d18bb0983b853059f4d598c9ef6ae SHA512 c7a8b74eaf423d166ff5eb8fdd7e7a124c6c0caebdc4f22cd542c7f08e3eb3906e6c3c2a1895cebc74eaef07e90c47721965873888ee4c0a46a8be72bf5fe6ef EBUILD libcxxabi-15.0.7.ebuild 2909 BLAKE2B a1aafff6c1499a13f5301819477c822ad16c32442d47d1ca04e343c8a56a7936dc1c4a8e8c75394bf2d77adcd91cefb4264e5ff0e15212a2df703fab0b1631de SHA512 9cfa80c345874e87e0adfa96b2e9382252f8ab989eb651133531e0ab86f29ac759f0485f017703c344dd21cf35f063c410160106dbbed4ccf29562b1621bee20 EBUILD libcxxabi-16.0.0.9999.ebuild 2866 BLAKE2B 8eb6ad38adec95b1dfda64dfff47255bd19841975520320f9842ddd79b1162674dcc933d167585ed6f497c5b54095d8aa96b0af9335f1fa8bfb27619668f0c91 SHA512 be61b1a89549b0d531795483e350924ffc03f85bf0fb2f5fbf75a743d56e8da95598fb4f114ce2c3ffa903254dbbe35f171aacad7ce3cd5f358ca1d763d4934e @@ -16,4 +17,5 @@ EBUILD libcxxabi-16.0.0_rc3.ebuild 2872 BLAKE2B 9a0dd0aa38b9e6229d49c96c4a7b97cf EBUILD libcxxabi-17.0.0.9999.ebuild 2866 BLAKE2B 8eb6ad38adec95b1dfda64dfff47255bd19841975520320f9842ddd79b1162674dcc933d167585ed6f497c5b54095d8aa96b0af9335f1fa8bfb27619668f0c91 SHA512 be61b1a89549b0d531795483e350924ffc03f85bf0fb2f5fbf75a743d56e8da95598fb4f114ce2c3ffa903254dbbe35f171aacad7ce3cd5f358ca1d763d4934e EBUILD libcxxabi-17.0.0_pre20230211.ebuild 2866 BLAKE2B 8eb6ad38adec95b1dfda64dfff47255bd19841975520320f9842ddd79b1162674dcc933d167585ed6f497c5b54095d8aa96b0af9335f1fa8bfb27619668f0c91 SHA512 be61b1a89549b0d531795483e350924ffc03f85bf0fb2f5fbf75a743d56e8da95598fb4f114ce2c3ffa903254dbbe35f171aacad7ce3cd5f358ca1d763d4934e EBUILD libcxxabi-17.0.0_pre20230218.ebuild 2866 BLAKE2B 8eb6ad38adec95b1dfda64dfff47255bd19841975520320f9842ddd79b1162674dcc933d167585ed6f497c5b54095d8aa96b0af9335f1fa8bfb27619668f0c91 SHA512 be61b1a89549b0d531795483e350924ffc03f85bf0fb2f5fbf75a743d56e8da95598fb4f114ce2c3ffa903254dbbe35f171aacad7ce3cd5f358ca1d763d4934e +EBUILD libcxxabi-17.0.0_pre20230225.ebuild 2866 BLAKE2B 8eb6ad38adec95b1dfda64dfff47255bd19841975520320f9842ddd79b1162674dcc933d167585ed6f497c5b54095d8aa96b0af9335f1fa8bfb27619668f0c91 SHA512 be61b1a89549b0d531795483e350924ffc03f85bf0fb2f5fbf75a743d56e8da95598fb4f114ce2c3ffa903254dbbe35f171aacad7ce3cd5f358ca1d763d4934e MISC metadata.xml 557 BLAKE2B 4f6b0acb7cfdf74971a6fd96051d9f9020141c6117333a8de42bd043935b7bff8d9942faabdf3b1c94597c460393f64eb7d3f7b7d49f39ecfd0094de460f563e SHA512 67a812ef768e681ae77ef6e13bccffcbe53b41e94901f0558b3c7acaf896605ca670c4bb5a690bd9afa3b5a76271341710520a6abc0024c18f437fabde20e847 diff --git a/sys-libs/libcxxabi/libcxxabi-17.0.0_pre20230225.ebuild b/sys-libs/libcxxabi/libcxxabi-17.0.0_pre20230225.ebuild new file mode 100644 index 000000000000..e5f19fc61a28 --- /dev/null +++ b/sys-libs/libcxxabi/libcxxabi-17.0.0_pre20230225.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +inherit cmake-multilib flag-o-matic llvm llvm.org python-any-r1 \ + toolchain-funcs + +DESCRIPTION="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 4caafb946989..cf8ec40606eb 100644 --- a/sys-libs/libomp/Manifest +++ b/sys-libs/libomp/Manifest @@ -10,6 +10,7 @@ DIST llvm-project-16.0.0rc3.src.tar.xz 117914548 BLAKE2B 18ffa35eb73c7cc4626d7b6 DIST llvm-project-16.0.0rc3.src.tar.xz.sig 566 BLAKE2B 43683d2d7b266a847516f71412bf6236a355462430330fc0da1d624fb8dfbc98bfc982d367baee74d5b4964a9e82e7a4a6ea84bdcff3996d246932f516cced1a SHA512 61adc4dc3eb5a4c11a7f96f9267ff37895e5845a08d48a609a03a2696c1b6bca5af5861a6f28de936c48e6d621bf282170589187f2cb593a912b9078300cf47c DIST llvm-project-22fb66eb94b643c858c2beecbcfac438a7fa29ed.tar.gz 179795537 BLAKE2B aef57ef739c52a8f8b2b327a8f6d8cce4734d9704018fb43a21468e56748e5d5b3d2d47fb4e95fd72b2af9f2e4be88839553e26fd7da08df60c5cc0f51c001d4 SHA512 9ed093ef7dac4891660aafbc5cad66bddefa796bff4dd70c792cc636268742142d82b84520ac2f5a5963521d7b9e4325440763ce0c88937f89722f07d3acd4b8 DIST llvm-project-5e262d58c42668c78d932fab6bf75cf8c3b9d07e.tar.gz 179975303 BLAKE2B 184e7ff6e9a7de77d4a8c36c6910e4e3c7c5e9ff73ed6111ec4704dd457205278abb258ff37170e41a6b21c9ae3f243a80b34e4b17f8977fb9a42876db6465b7 SHA512 ec7e16a4d8f8292d1184ae08c1c5eda0dba1876e7d9c228eb0added5cde45f3094fde7eb1da662d436f85315850310cc0612210ff3ddf82967d5c2de0047a724 +DIST llvm-project-b0676fb0fb0a44a4a1c4ec1f0270fef1f1842817.tar.gz 180277698 BLAKE2B d2c1e6a1942e51f5844c18605f38b005e9bb4123850a173e4c4b3d7b6a14f4986c7b276b40df4d0594ae04e869e92ba1a4269c5055c0229cfd28aa1bd709da4f SHA512 d1281b942dcc254641865f11b0c4fbd1d562d016681b6b7268549bed1cdb7d4536f743a8ed089095eaab9f4bfb9de624153f448bf13d0e22f8ea24a4d264df7b EBUILD libomp-14.0.6-r1.ebuild 3917 BLAKE2B d92540af690dd622122ad1a4ed2548afa141f1254fbe9a9b3d34286b36f0fa70ccaf915f218c1bea8c68377ea20724db9443d365e2e5f290707f444d3ff47ca5 SHA512 433ae63716103af5aa493c7dbae43f10003cac95abaae579dcb61cba6390da4b9b3fc921e410ba899719bd170fa153a7b3d66c8776c37fd074066173c1fea160 EBUILD libomp-15.0.7-r1.ebuild 3479 BLAKE2B 08a639fcea2739d837c5395fc079d1cbeea54fe171a5dd7a93f6f4364d5d69f4666bc7e219a674a89c6a3a5da8edffa51c118e44ed55e57a6330414eb220abae SHA512 49ba0ef8ee1cfe7b8acd56c855d381889dfe43aa701fb0d2dd13580d9497b971c35428fc1da7d4591fcbd179b60eaf0e202fd6f7ea1f9a65aa6d23f9c93a20a5 EBUILD libomp-16.0.0.9999.ebuild 3824 BLAKE2B a0499c87533e2595b61a93f35e94358465031f90e73f658264ea8c4a2279a037754feea923666bd0837b266d3c29d5b5f0a68de75b04cbedbf24d088357ab6c7 SHA512 9828aafc10e4b4f49e1b793a8bbc9f74a1971c1dfb52985a0a3d231ffdd040a97e11749f41322df3eccea2c221929a354c921cd36e2b9afcca42ba539f07f71f @@ -18,4 +19,5 @@ EBUILD libomp-16.0.0_rc3.ebuild 3830 BLAKE2B d49ba06265073089e66b4b03581e50db784 EBUILD libomp-17.0.0.9999.ebuild 3824 BLAKE2B a0499c87533e2595b61a93f35e94358465031f90e73f658264ea8c4a2279a037754feea923666bd0837b266d3c29d5b5f0a68de75b04cbedbf24d088357ab6c7 SHA512 9828aafc10e4b4f49e1b793a8bbc9f74a1971c1dfb52985a0a3d231ffdd040a97e11749f41322df3eccea2c221929a354c921cd36e2b9afcca42ba539f07f71f EBUILD libomp-17.0.0_pre20230211.ebuild 3824 BLAKE2B a0499c87533e2595b61a93f35e94358465031f90e73f658264ea8c4a2279a037754feea923666bd0837b266d3c29d5b5f0a68de75b04cbedbf24d088357ab6c7 SHA512 9828aafc10e4b4f49e1b793a8bbc9f74a1971c1dfb52985a0a3d231ffdd040a97e11749f41322df3eccea2c221929a354c921cd36e2b9afcca42ba539f07f71f EBUILD libomp-17.0.0_pre20230218.ebuild 3824 BLAKE2B a0499c87533e2595b61a93f35e94358465031f90e73f658264ea8c4a2279a037754feea923666bd0837b266d3c29d5b5f0a68de75b04cbedbf24d088357ab6c7 SHA512 9828aafc10e4b4f49e1b793a8bbc9f74a1971c1dfb52985a0a3d231ffdd040a97e11749f41322df3eccea2c221929a354c921cd36e2b9afcca42ba539f07f71f +EBUILD libomp-17.0.0_pre20230225.ebuild 3824 BLAKE2B a0499c87533e2595b61a93f35e94358465031f90e73f658264ea8c4a2279a037754feea923666bd0837b266d3c29d5b5f0a68de75b04cbedbf24d088357ab6c7 SHA512 9828aafc10e4b4f49e1b793a8bbc9f74a1971c1dfb52985a0a3d231ffdd040a97e11749f41322df3eccea2c221929a354c921cd36e2b9afcca42ba539f07f71f MISC metadata.xml 963 BLAKE2B fdea4545db21492049061b85eaa7038965183e10aceae7c41daadc1ce10e7e1bcb2e86344659787ee244360b50b51c99e1a348d3acd2185dac80097541a00dd7 SHA512 c279f8e9c2463dc3f6e02856e520105d6f3321b633439bfe7409bfd6e7e43f1450053dc4f6663492caf7077caf3f4ab0f5cf0161631639e3aefa9ff985dc476f diff --git a/sys-libs/libomp/libomp-17.0.0_pre20230225.ebuild b/sys-libs/libomp/libomp-17.0.0_pre20230225.ebuild new file mode 100644 index 000000000000..6bb50cb9edf9 --- /dev/null +++ b/sys-libs/libomp/libomp-17.0.0_pre20230225.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +inherit flag-o-matic cmake-multilib linux-info llvm llvm.org +inherit python-single-r1 toolchain-funcs + +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 gdb-plugin hwloc offload ompt test + llvm_targets_AMDGPU llvm_targets_NVPTX +" +REQUIRED_USE=" + gdb-plugin? ( ${PYTHON_REQUIRED_USE} ) +" +RESTRICT="!test? ( test )" + +RDEPEND=" + gdb-plugin? ( ${PYTHON_DEPS} ) + hwloc? ( >=sys-apps/hwloc-2.5:0=[${MULTILIB_USEDEP}] ) + offload? ( + dev-libs/libffi:=[${MULTILIB_USEDEP}] + ~sys-devel/llvm-${PV}[${MULTILIB_USEDEP}] + llvm_targets_AMDGPU? ( dev-libs/rocr-runtime:0/5.3 ) + ) +" +# 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_DEPS} + $(python_gen_cond_dep ' + dev-python/lit[${PYTHON_USEDEP}] + ') + sys-devel/clang + ) +" + +LLVM_COMPONENTS=( openmp cmake llvm/include ) +llvm.org_set_globals + +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 + if use gdb-plugin || use test; then + python-single-r1_pkg_setup + fi +} + +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 build_omptarget=OFF + # upstream disallows building libomptarget when sizeof(void*) != 8 + if use offload && + "$(tc-getCC)" ${CFLAGS} ${CPPFLAGS} -c -x c - -o /dev/null \ + <<-EOF &>/dev/null + int test[sizeof(void *) == 8 ? 1 : -1]; + EOF + then + build_omptarget=ON + fi + + local libdir="$(get_libdir)" + local mycmakeargs=( + -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}" + + -DLIBOMP_USE_HWLOC=$(usex hwloc) + -DLIBOMP_OMPD_GDB_SUPPORT=$(multilib_native_usex gdb-plugin) + -DLIBOMP_OMPT_SUPPORT=$(usex ompt) + + -DOPENMP_ENABLE_LIBOMPTARGET=${build_omptarget} + + # do not install libgomp.so & libiomp5.so aliases + -DLIBOMP_INSTALL_ALIASES=OFF + # disable unnecessary hack copying stuff back to srcdir + -DLIBOMP_COPY_EXPORTS=OFF + ) + + if [[ ${build_omptarget} == ON ]]; 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 abc9a7d88c41..c8acbfb5d25e 100644 --- a/sys-libs/llvm-libunwind/Manifest +++ b/sys-libs/llvm-libunwind/Manifest @@ -8,6 +8,7 @@ DIST llvm-project-16.0.0rc3.src.tar.xz 117914548 BLAKE2B 18ffa35eb73c7cc4626d7b6 DIST llvm-project-16.0.0rc3.src.tar.xz.sig 566 BLAKE2B 43683d2d7b266a847516f71412bf6236a355462430330fc0da1d624fb8dfbc98bfc982d367baee74d5b4964a9e82e7a4a6ea84bdcff3996d246932f516cced1a SHA512 61adc4dc3eb5a4c11a7f96f9267ff37895e5845a08d48a609a03a2696c1b6bca5af5861a6f28de936c48e6d621bf282170589187f2cb593a912b9078300cf47c DIST llvm-project-22fb66eb94b643c858c2beecbcfac438a7fa29ed.tar.gz 179795537 BLAKE2B aef57ef739c52a8f8b2b327a8f6d8cce4734d9704018fb43a21468e56748e5d5b3d2d47fb4e95fd72b2af9f2e4be88839553e26fd7da08df60c5cc0f51c001d4 SHA512 9ed093ef7dac4891660aafbc5cad66bddefa796bff4dd70c792cc636268742142d82b84520ac2f5a5963521d7b9e4325440763ce0c88937f89722f07d3acd4b8 DIST llvm-project-5e262d58c42668c78d932fab6bf75cf8c3b9d07e.tar.gz 179975303 BLAKE2B 184e7ff6e9a7de77d4a8c36c6910e4e3c7c5e9ff73ed6111ec4704dd457205278abb258ff37170e41a6b21c9ae3f243a80b34e4b17f8977fb9a42876db6465b7 SHA512 ec7e16a4d8f8292d1184ae08c1c5eda0dba1876e7d9c228eb0added5cde45f3094fde7eb1da662d436f85315850310cc0612210ff3ddf82967d5c2de0047a724 +DIST llvm-project-b0676fb0fb0a44a4a1c4ec1f0270fef1f1842817.tar.gz 180277698 BLAKE2B d2c1e6a1942e51f5844c18605f38b005e9bb4123850a173e4c4b3d7b6a14f4986c7b276b40df4d0594ae04e869e92ba1a4269c5055c0229cfd28aa1bd709da4f SHA512 d1281b942dcc254641865f11b0c4fbd1d562d016681b6b7268549bed1cdb7d4536f743a8ed089095eaab9f4bfb9de624153f448bf13d0e22f8ea24a4d264df7b EBUILD llvm-libunwind-14.0.6-r1.ebuild 3161 BLAKE2B ba7b19ed2bc77b52eee0b04d938541d2eb4053b65a641e55e54ebac85adcd432fa60b2b484003890bc96be83d61410bb58c2f3a86f12a7c574044a8e10427db9 SHA512 11854f9ef2a552a96e51c618958e553d4cd4affc78312845a223d0fe6d2ff62e8f8b2b3c29ad4a093b08a6df63b230f21b9ef6b63440058322f6a00f160df3e4 EBUILD llvm-libunwind-15.0.7.ebuild 3032 BLAKE2B 9b47e894db1a764f3eca3135f4caba68261953f4433af017b7bb53181e345ad26c570733f997022c53c9ef49a0a3b823188d92cfcc16a2113825d767b1ffab2a SHA512 0b68480fb2a8e5a351574e81fbcff824cd324754ed40378f06fec12fedbba94a921043d72db6ecc37f8b0680b7f518bbbd8d63f69ce8d84f86ca522653d293fb EBUILD llvm-libunwind-16.0.0.9999.ebuild 2978 BLAKE2B 9143fac20e5d73511c56e8015c4758075bf62329b64428b9244812f2fe5fa32772c9ad29e3e7beb1aaa2ff3ef70ee69f9673c0becf7df09f4e2fc5d348c03512 SHA512 b790b15702e2ba0367c771d58dfe975f7b97bb6a90acca97d1180b1b3ba44893575bc92ee1cfe037c308b3191f3d1b8309a0a658cd8617b0993bfa8ce4630d97 @@ -16,4 +17,5 @@ EBUILD llvm-libunwind-16.0.0_rc3.ebuild 2984 BLAKE2B 89f6251c89eb54defcddf231cbc EBUILD llvm-libunwind-17.0.0.9999.ebuild 2978 BLAKE2B 9143fac20e5d73511c56e8015c4758075bf62329b64428b9244812f2fe5fa32772c9ad29e3e7beb1aaa2ff3ef70ee69f9673c0becf7df09f4e2fc5d348c03512 SHA512 b790b15702e2ba0367c771d58dfe975f7b97bb6a90acca97d1180b1b3ba44893575bc92ee1cfe037c308b3191f3d1b8309a0a658cd8617b0993bfa8ce4630d97 EBUILD llvm-libunwind-17.0.0_pre20230211.ebuild 2978 BLAKE2B 9143fac20e5d73511c56e8015c4758075bf62329b64428b9244812f2fe5fa32772c9ad29e3e7beb1aaa2ff3ef70ee69f9673c0becf7df09f4e2fc5d348c03512 SHA512 b790b15702e2ba0367c771d58dfe975f7b97bb6a90acca97d1180b1b3ba44893575bc92ee1cfe037c308b3191f3d1b8309a0a658cd8617b0993bfa8ce4630d97 EBUILD llvm-libunwind-17.0.0_pre20230218.ebuild 2978 BLAKE2B 9143fac20e5d73511c56e8015c4758075bf62329b64428b9244812f2fe5fa32772c9ad29e3e7beb1aaa2ff3ef70ee69f9673c0becf7df09f4e2fc5d348c03512 SHA512 b790b15702e2ba0367c771d58dfe975f7b97bb6a90acca97d1180b1b3ba44893575bc92ee1cfe037c308b3191f3d1b8309a0a658cd8617b0993bfa8ce4630d97 +EBUILD llvm-libunwind-17.0.0_pre20230225.ebuild 2978 BLAKE2B 9143fac20e5d73511c56e8015c4758075bf62329b64428b9244812f2fe5fa32772c9ad29e3e7beb1aaa2ff3ef70ee69f9673c0becf7df09f4e2fc5d348c03512 SHA512 b790b15702e2ba0367c771d58dfe975f7b97bb6a90acca97d1180b1b3ba44893575bc92ee1cfe037c308b3191f3d1b8309a0a658cd8617b0993bfa8ce4630d97 MISC metadata.xml 438 BLAKE2B 2a36fbbc59e137056029c62aef6d167d9c82531c2582d7bad5cb13cc36e5c4c9518ffe8c56d06bbcfd97ad22eda71a8b776f3984195f53d06cf45659b438dc00 SHA512 4f18b054072d00e5440faa31a59f9ef587d035b5f25e30913f0b1449debee967fa794fae2548e87db3fb2177ce853ab075e1f11f3cc763f5d7fdf06147108845 diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-17.0.0_pre20230225.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-17.0.0_pre20230225.ebuild new file mode 100644 index 000000000000..6ffa6c4f81b8 --- /dev/null +++ b/sys-libs/llvm-libunwind/llvm-libunwind-17.0.0_pre20230225.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +inherit cmake-multilib flag-o-matic llvm llvm.org python-any-r1 \ + toolchain-funcs + +DESCRIPTION="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_STATIC=$(usex static-libs) + -DLIBUNWIND_INCLUDE_TESTS=$(usex test) + -DLIBUNWIND_INSTALL_HEADERS=ON + + # support non-native unwinding; given it's small enough, + # enable it unconditionally + -DLIBUNWIND_ENABLE_CROSS_UNWINDING=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 +} |