From c635a4b7ddb6105bfc6fef130b188a087726677b Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 1 Dec 2024 02:06:43 +0000 Subject: gentoo auto-resync : 01:12:2024 - 02:06:42 --- sys-libs/Manifest.gz | Bin 14412 -> 14415 bytes sys-libs/compiler-rt-sanitizers/Manifest | 2 + ...ompiler-rt-sanitizers-20.0.0_pre20241130.ebuild | 222 +++++++++++++++++++++ sys-libs/compiler-rt/Manifest | 2 + .../compiler-rt-20.0.0_pre20241130.ebuild | 175 ++++++++++++++++ sys-libs/libcxx/Manifest | 2 + sys-libs/libcxx/libcxx-20.0.0_pre20241130.ebuild | 208 +++++++++++++++++++ sys-libs/libcxxabi/Manifest | 2 + .../libcxxabi/libcxxabi-20.0.0_pre20241130.ebuild | 109 ++++++++++ sys-libs/libomp/Manifest | 2 + sys-libs/libomp/libomp-20.0.0_pre20241130.ebuild | 88 ++++++++ sys-libs/llvm-libunwind/Manifest | 2 + .../llvm-libunwind-20.0.0_pre20241130.ebuild | 128 ++++++++++++ sys-libs/newlib/Manifest | 4 +- sys-libs/newlib/newlib-4.4.0.20231231.ebuild | 24 +++ sys-libs/newlib/newlib-9999.ebuild | 24 +++ 16 files changed, 992 insertions(+), 2 deletions(-) create mode 100644 sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20241130.ebuild create mode 100644 sys-libs/compiler-rt/compiler-rt-20.0.0_pre20241130.ebuild create mode 100644 sys-libs/libcxx/libcxx-20.0.0_pre20241130.ebuild create mode 100644 sys-libs/libcxxabi/libcxxabi-20.0.0_pre20241130.ebuild create mode 100644 sys-libs/libomp/libomp-20.0.0_pre20241130.ebuild create mode 100644 sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20241130.ebuild (limited to 'sys-libs') diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz index 10b0024bde9b..735bd090eef6 100644 Binary files a/sys-libs/Manifest.gz and b/sys-libs/Manifest.gz differ diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest index fe418010bf17..4a4d9b9472aa 100644 --- a/sys-libs/compiler-rt-sanitizers/Manifest +++ b/sys-libs/compiler-rt-sanitizers/Manifest @@ -14,6 +14,7 @@ DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b8577 DIST llvm-project-19.1.4.src.tar.xz 141255156 BLAKE2B b99cd8a96e38dbcfb582ee5d2250268df36fb94fa0fd5b3611484094fbd7962051978334d2c623d2ff5a0209dbb2c6c6492be0146507ae982a7d3e9705a689c5 SHA512 a586f8a41dde5e0d9ca6d8c58e9ef2a2e59b70a86d2e2c46106dc31b5c096bb80af0cdbdb486179e9cc676a540099f49a1c2db9e5e84c50362db1f72e9af6906 DIST llvm-project-19.1.4.src.tar.xz.sig 438 BLAKE2B b0925bdb761046d69779e0b035e29430bc09ef2b81be763aa5c853793631d7b7fdd65eb4dae7a1e3b4daa15d189c24cd1e14f065f79fdbf75429fa34be9b330e SHA512 3fb4a6c7594cb43680860698dac47062dde30de60f515dcecdad63812ea1edfb2cb209d0a7ac2254589c245a95b7c0f571b582e0d4b97a6ae8242563483ea764 DIST llvm-project-19ddafafdf131aed40abbdaf5af1fb7b59c1e8ac.tar.gz 223281446 BLAKE2B 68f8e9bbae78938f424f566bf60db489e5c8afc4ae307cce11adb4b9b6dd48f1c54f1ef69b81051a702cb213012a0e5e03f602a29b11488d79a6bc5e49aa3402 SHA512 6355dd6f8992c6d14f20ce1976fc588f198a42c3c7eaa6c463e63b5110759decdebb80ea357c5e29620d8c33b6da752cbb8d2853159dc0e887f6c3d733c80eca +DIST llvm-project-a348f223cab54b21a7b1c38dec7bc6aa2f81c949.tar.gz 223630067 BLAKE2B 3c2121a8d13e3a84a9ee98d17c58e5fd5a31d5870ac21c633c78c49b4af0c401310f7e91f64ff3b7cf7f6e8d205c730458b8b1101b1255f422659974d48e2ecb SHA512 33cc09a904e4fe0d529611a1d71d764e6d49f014cea903aadc0755d0420f65cfc763fdcfd4bb9a96adad79ce1c4475d8c005dcac37c4fe130a1fb3665172f1db DIST llvm-project-a6385a3fc8a88f092d07672210a1e773481c2919.tar.gz 222866102 BLAKE2B 9346275b18dcd7eedb699ed3494c027f597f68ceb8ff902fbff9f805a2c423d4fb86619974b3bb6fea30c5fe948e3793fb5c499f9e206b61794e13908d830327 SHA512 ac507feeaba787c6df1ece65e03d065c4f8fbabef686b583f671745e09c9a585be8c9359aeb3aa77815711a2ff9621c1b36a4d24cfe9f8d04e3288b53d7c9c69 EBUILD compiler-rt-sanitizers-15.0.7-r1.ebuild 6668 BLAKE2B aeaf6893fc56ddaf06f0b2c2d0d9a0aa465b3ccdd19cfad213d7375be9678d9e17865fa0fbb1f007492f373e231b31c7174b32a4e324c8ec8d4a207cade24fbf SHA512 8b4847e70d11ec8cee9682866940589f862fc07efd165a9a964d32648f5db3d2795b31a914f204ce568903870c555a60dbb3277aa504e92f432468db33aba00f EBUILD compiler-rt-sanitizers-16.0.6-r1.ebuild 6655 BLAKE2B db5371e8891181bc3652688c2bceabc28ab5bdaec5afc80415f57b7ebe13875a84a15bc309a4d1c7e5a66c9a51a79d4c6a24a140eca5f7a1c91333e15003d430 SHA512 2053df1e8c059535bb8fc3c766fbf7bce440cf508f6f22dd78e73048af629d51e7f04a0c667632a2b9f672c2b9ebe8f72de3c5886200c36bcbb7adcd16ae5d13 @@ -24,4 +25,5 @@ EBUILD compiler-rt-sanitizers-19.1.4.ebuild 6479 BLAKE2B db6bd87ee4cb4be87537152 EBUILD compiler-rt-sanitizers-20.0.0.9999.ebuild 6394 BLAKE2B 458582b435bbd97d6fc776b1dcf653af9d41e53b0540803a3528db993eddf33284a11ec72ba7bdd2e54bbe4cf7c51e340e04970f9dc3f1f8a08edb9e5c98b9db SHA512 7f2432f6ffe217d3dcaf2185c5b08321674f1b9e5da46a2abdebebb68bccc761f0a713aa85741d9a32c29e1b54f1b12f93110146e533742265d0bb182a45501f EBUILD compiler-rt-sanitizers-20.0.0_pre20241118.ebuild 6394 BLAKE2B 458582b435bbd97d6fc776b1dcf653af9d41e53b0540803a3528db993eddf33284a11ec72ba7bdd2e54bbe4cf7c51e340e04970f9dc3f1f8a08edb9e5c98b9db SHA512 7f2432f6ffe217d3dcaf2185c5b08321674f1b9e5da46a2abdebebb68bccc761f0a713aa85741d9a32c29e1b54f1b12f93110146e533742265d0bb182a45501f EBUILD compiler-rt-sanitizers-20.0.0_pre20241123.ebuild 6394 BLAKE2B 458582b435bbd97d6fc776b1dcf653af9d41e53b0540803a3528db993eddf33284a11ec72ba7bdd2e54bbe4cf7c51e340e04970f9dc3f1f8a08edb9e5c98b9db SHA512 7f2432f6ffe217d3dcaf2185c5b08321674f1b9e5da46a2abdebebb68bccc761f0a713aa85741d9a32c29e1b54f1b12f93110146e533742265d0bb182a45501f +EBUILD compiler-rt-sanitizers-20.0.0_pre20241130.ebuild 6394 BLAKE2B 458582b435bbd97d6fc776b1dcf653af9d41e53b0540803a3528db993eddf33284a11ec72ba7bdd2e54bbe4cf7c51e340e04970f9dc3f1f8a08edb9e5c98b9db SHA512 7f2432f6ffe217d3dcaf2185c5b08321674f1b9e5da46a2abdebebb68bccc761f0a713aa85741d9a32c29e1b54f1b12f93110146e533742265d0bb182a45501f MISC metadata.xml 1599 BLAKE2B 2db46fca9bbf85a6cdb70d9bc99a8e1bdc60c065b3e5f44ce31fb6cc08cc6da9037eb3155b1e73975b5e1bbb448be6b2164413f2234e89a4bc191c4562dd9342 SHA512 10bb564b181a9ce38680a05f854e58a3a726b052200d735c3959a0a42af97a47e0a5df60fbec374c7265e0eac16e1247ed0862aeab138b9dc035db8da52fb4ce diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20241130.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20241130.ebuild new file mode 100644 index 000000000000..59a64398c9bc --- /dev/null +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20241130.ebuild @@ -0,0 +1,222 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit check-reqs cmake flag-o-matic llvm.org llvm-utils 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}" +IUSE="+abi_x86_32 abi_x86_64 +clang +debug test" +# base targets +IUSE+=" +ctx-profile +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 nsan rtsan +) +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=" + clang? ( + sys-devel/clang:${LLVM_MAJOR} + sys-libs/compiler-rt:${LLVM_MAJOR} + ) + elibc_glibc? ( net-libs/libtirpc ) + 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_TEST_COMPONENTS=( + llvm/include/llvm/ProfileData 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 + 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 + # hangs, sigh + rm test/tsan/getline_nohang.cpp || die + + llvm.org_src_prepare +} + +src_configure() { + llvm_prepend_path "${LLVM_MAJOR}" + + # 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_CTX_PROFILE=$(usex ctx-profile) + -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 b141f23965db..e92ef7f5daa3 100644 --- a/sys-libs/compiler-rt/Manifest +++ b/sys-libs/compiler-rt/Manifest @@ -12,6 +12,7 @@ DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b8577 DIST llvm-project-19.1.4.src.tar.xz 141255156 BLAKE2B b99cd8a96e38dbcfb582ee5d2250268df36fb94fa0fd5b3611484094fbd7962051978334d2c623d2ff5a0209dbb2c6c6492be0146507ae982a7d3e9705a689c5 SHA512 a586f8a41dde5e0d9ca6d8c58e9ef2a2e59b70a86d2e2c46106dc31b5c096bb80af0cdbdb486179e9cc676a540099f49a1c2db9e5e84c50362db1f72e9af6906 DIST llvm-project-19.1.4.src.tar.xz.sig 438 BLAKE2B b0925bdb761046d69779e0b035e29430bc09ef2b81be763aa5c853793631d7b7fdd65eb4dae7a1e3b4daa15d189c24cd1e14f065f79fdbf75429fa34be9b330e SHA512 3fb4a6c7594cb43680860698dac47062dde30de60f515dcecdad63812ea1edfb2cb209d0a7ac2254589c245a95b7c0f571b582e0d4b97a6ae8242563483ea764 DIST llvm-project-19ddafafdf131aed40abbdaf5af1fb7b59c1e8ac.tar.gz 223281446 BLAKE2B 68f8e9bbae78938f424f566bf60db489e5c8afc4ae307cce11adb4b9b6dd48f1c54f1ef69b81051a702cb213012a0e5e03f602a29b11488d79a6bc5e49aa3402 SHA512 6355dd6f8992c6d14f20ce1976fc588f198a42c3c7eaa6c463e63b5110759decdebb80ea357c5e29620d8c33b6da752cbb8d2853159dc0e887f6c3d733c80eca +DIST llvm-project-a348f223cab54b21a7b1c38dec7bc6aa2f81c949.tar.gz 223630067 BLAKE2B 3c2121a8d13e3a84a9ee98d17c58e5fd5a31d5870ac21c633c78c49b4af0c401310f7e91f64ff3b7cf7f6e8d205c730458b8b1101b1255f422659974d48e2ecb SHA512 33cc09a904e4fe0d529611a1d71d764e6d49f014cea903aadc0755d0420f65cfc763fdcfd4bb9a96adad79ce1c4475d8c005dcac37c4fe130a1fb3665172f1db DIST llvm-project-a6385a3fc8a88f092d07672210a1e773481c2919.tar.gz 222866102 BLAKE2B 9346275b18dcd7eedb699ed3494c027f597f68ceb8ff902fbff9f805a2c423d4fb86619974b3bb6fea30c5fe948e3793fb5c499f9e206b61794e13908d830327 SHA512 ac507feeaba787c6df1ece65e03d065c4f8fbabef686b583f671745e09c9a585be8c9359aeb3aa77815711a2ff9621c1b36a4d24cfe9f8d04e3288b53d7c9c69 EBUILD compiler-rt-15.0.7-r1.ebuild 4252 BLAKE2B 7270c3ae2a4a30b79774cd38041ee5e4381a0393be7768d56c2a59000a509e2b48336467d34ee09f8d82afbe9f453f79ddc17a2708746f89d2227b66cbfc6b01 SHA512 836e4cc58522c48d6fc40ca27efd68d18cca9914ce1810ab0b6d307bfa163b9d8b883729b917fb5ff129985ec86e5ba655587c3f93980f73e762e2bfd4ca2ab4 EBUILD compiler-rt-15.0.7-r2.ebuild 4380 BLAKE2B efee8f45c42790e54595f7423c6c18c33c769f83d3150ffab68328aac1ba90cbb1b59c046e11545cb685dacec8ab9d30b0eb48a1a4791cf53940fc5ca9891d20 SHA512 6d4ab7e49822b975056a8554f2cba98b6ff794dbbb82ec67a30e761ee2e32427223d7afd27f42b17c4a62c8a44d4db3c92b662ed09d7c73a38fb150479d7cca9 @@ -25,4 +26,5 @@ EBUILD compiler-rt-19.1.4.ebuild 5209 BLAKE2B d69ba529020b23d4a7f00195d2ea7a3010 EBUILD compiler-rt-20.0.0.9999.ebuild 5100 BLAKE2B 8b21c012e5424c96d3957670edfa06a03ed3a5a328b1600c29d471ba12191b319d39e0124d276fbd4ebaef9bea3f1a2133c9fd391f22328a46b008e9c783e5cb SHA512 cd3d927fb0ad5a5f919bcc7143f07e1f32870ab7ff278503c3b73a90f1d685e9b4b657d364ddd9c20f3dd2b03d370bb791f1a5e5f1314e9b592b00df41557360 EBUILD compiler-rt-20.0.0_pre20241118.ebuild 5100 BLAKE2B 8b21c012e5424c96d3957670edfa06a03ed3a5a328b1600c29d471ba12191b319d39e0124d276fbd4ebaef9bea3f1a2133c9fd391f22328a46b008e9c783e5cb SHA512 cd3d927fb0ad5a5f919bcc7143f07e1f32870ab7ff278503c3b73a90f1d685e9b4b657d364ddd9c20f3dd2b03d370bb791f1a5e5f1314e9b592b00df41557360 EBUILD compiler-rt-20.0.0_pre20241123.ebuild 5100 BLAKE2B 8b21c012e5424c96d3957670edfa06a03ed3a5a328b1600c29d471ba12191b319d39e0124d276fbd4ebaef9bea3f1a2133c9fd391f22328a46b008e9c783e5cb SHA512 cd3d927fb0ad5a5f919bcc7143f07e1f32870ab7ff278503c3b73a90f1d685e9b4b657d364ddd9c20f3dd2b03d370bb791f1a5e5f1314e9b592b00df41557360 +EBUILD compiler-rt-20.0.0_pre20241130.ebuild 5100 BLAKE2B 8b21c012e5424c96d3957670edfa06a03ed3a5a328b1600c29d471ba12191b319d39e0124d276fbd4ebaef9bea3f1a2133c9fd391f22328a46b008e9c783e5cb SHA512 cd3d927fb0ad5a5f919bcc7143f07e1f32870ab7ff278503c3b73a90f1d685e9b4b657d364ddd9c20f3dd2b03d370bb791f1a5e5f1314e9b592b00df41557360 MISC metadata.xml 610 BLAKE2B 2fd2530da10ecae7d8b54b448d0e0ec082b8082e3b5da8ab47dc79058724b368d5f900b1de18e14fe2c2b95257c69d0aceb9bd83b8b6873f65935302461ac263 SHA512 d50a05439376fa985ab1579a592cc6f544552e177132dc8773f172b827dec49ab3f8bcd77d89c25d4f2a1b99492897045b16a75ceb2d14cc76187140c33ccc45 diff --git a/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20241130.ebuild b/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20241130.ebuild new file mode 100644 index 000000000000..92b6059c1ee7 --- /dev/null +++ b/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20241130.ebuild @@ -0,0 +1,175 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1 +inherit 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}" +IUSE="+abi_x86_32 abi_x86_64 +atomic-builtins +clang +debug test" +REQUIRED_USE="atomic-builtins? ( clang )" +RESTRICT="!test? ( test ) !clang? ( test )" + +DEPEND=" + sys-devel/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( sys-devel/clang:${LLVM_MAJOR} ) + 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_TEST_COMPONENTS=( llvm/include/llvm/TargetParser ) +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() { + if target_is_not_host || tc-is-cross-compiler ; then + # strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures + CHOST=${CTARGET} strip-unsupported-flags + # overrides host docs otherwise + DOCS=() + fi + python-any-r1_pkg_setup +} + +test_compiler() { + target_is_not_host && return + $(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \ + <<<'int main() { return 0; }' &>/dev/null +} + +src_configure() { + llvm_prepend_path "${LLVM_MAJOR}" + + # 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 && ! is_crosspkg; 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 ! is_crosspkg && ! 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 -e main ) + + 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_EXCLUDE_ATOMIC_BUILTIN=$(usex !atomic-builtins) + -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) + -DCOMPILER_RT_BUILD_CTX_PROFILE=OFF + -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 && ! target_is_not_host; then + mycmakeargs+=( + -DCAN_TARGET_i386=$(usex abi_x86_32) + -DCAN_TARGET_x86_64=$(usex abi_x86_64) + ) + fi + + if is_crosspkg; then + # Needed to target built libc headers + export CFLAGS="${CFLAGS} -isystem /usr/${CTARGET}/usr/include" + mycmakeargs+=( + # Without this, the compiler will compile a test program + # and fail due to no builtins. + -DCMAKE_C_COMPILER_WORKS=1 + -DCMAKE_CXX_COMPILER_WORKS=1 + + # Without this, compiler-rt install location is not unique + # to target triples, only to architecture. + # Needed if you want to target multiple libcs for one arch. + -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON + + -DCMAKE_ASM_COMPILER_TARGET="${CTARGET}" + -DCMAKE_C_COMPILER_TARGET="${CTARGET}" + -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON + ) + fi + + if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then + mycmakeargs+=( + # setting -isysroot is disabled with compiler-rt-prefix-paths.patch + # this allows adding arm64 support using SDK in EPREFIX + -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk" + # Set version based on the SDK in EPREFIX. + # This disables i386 for SDK >= 10.15 + -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')" + # Use our libtool instead of looking it up with xcrun + -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool" + ) + fi + + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + + -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++" + ) + fi + + cmake_src_configure +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake_build check-builtins +} diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest index 796a11e8811c..1464f014b3e6 100644 --- a/sys-libs/libcxx/Manifest +++ b/sys-libs/libcxx/Manifest @@ -11,6 +11,7 @@ DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b8577 DIST llvm-project-19.1.4.src.tar.xz 141255156 BLAKE2B b99cd8a96e38dbcfb582ee5d2250268df36fb94fa0fd5b3611484094fbd7962051978334d2c623d2ff5a0209dbb2c6c6492be0146507ae982a7d3e9705a689c5 SHA512 a586f8a41dde5e0d9ca6d8c58e9ef2a2e59b70a86d2e2c46106dc31b5c096bb80af0cdbdb486179e9cc676a540099f49a1c2db9e5e84c50362db1f72e9af6906 DIST llvm-project-19.1.4.src.tar.xz.sig 438 BLAKE2B b0925bdb761046d69779e0b035e29430bc09ef2b81be763aa5c853793631d7b7fdd65eb4dae7a1e3b4daa15d189c24cd1e14f065f79fdbf75429fa34be9b330e SHA512 3fb4a6c7594cb43680860698dac47062dde30de60f515dcecdad63812ea1edfb2cb209d0a7ac2254589c245a95b7c0f571b582e0d4b97a6ae8242563483ea764 DIST llvm-project-19ddafafdf131aed40abbdaf5af1fb7b59c1e8ac.tar.gz 223281446 BLAKE2B 68f8e9bbae78938f424f566bf60db489e5c8afc4ae307cce11adb4b9b6dd48f1c54f1ef69b81051a702cb213012a0e5e03f602a29b11488d79a6bc5e49aa3402 SHA512 6355dd6f8992c6d14f20ce1976fc588f198a42c3c7eaa6c463e63b5110759decdebb80ea357c5e29620d8c33b6da752cbb8d2853159dc0e887f6c3d733c80eca +DIST llvm-project-a348f223cab54b21a7b1c38dec7bc6aa2f81c949.tar.gz 223630067 BLAKE2B 3c2121a8d13e3a84a9ee98d17c58e5fd5a31d5870ac21c633c78c49b4af0c401310f7e91f64ff3b7cf7f6e8d205c730458b8b1101b1255f422659974d48e2ecb SHA512 33cc09a904e4fe0d529611a1d71d764e6d49f014cea903aadc0755d0420f65cfc763fdcfd4bb9a96adad79ce1c4475d8c005dcac37c4fe130a1fb3665172f1db DIST llvm-project-a6385a3fc8a88f092d07672210a1e773481c2919.tar.gz 222866102 BLAKE2B 9346275b18dcd7eedb699ed3494c027f597f68ceb8ff902fbff9f805a2c423d4fb86619974b3bb6fea30c5fe948e3793fb5c499f9e206b61794e13908d830327 SHA512 ac507feeaba787c6df1ece65e03d065c4f8fbabef686b583f671745e09c9a585be8c9359aeb3aa77815711a2ff9621c1b36a4d24cfe9f8d04e3288b53d7c9c69 EBUILD libcxx-15.0.7-r1.ebuild 5283 BLAKE2B 4380fc5b851054a5ec226ee4c92a2b79511d73ac9b3f8bccc977211601eca36113fc0ae605854da53898507021f24a8b319197605c556244d84253bede7b84f4 SHA512 0a5859269422e794deb43ed960651a1dea830af28b5e395f32e28de8e67a1f399507340230af1c84248853f554e751709a60a9a78aeb0eb42804cb41907dbfce EBUILD libcxx-16.0.6.ebuild 5300 BLAKE2B 4714e22ad2fdcb07c62ead4cfa47fb4734e45dc055700b63a0f24cd6e93dde960c638fa16f55f4c04c6130fc2a7fa5729814c4aee12e9953f603ea5ccb706cc1 SHA512 3eab779107b5c737d971abe29b7bd9f44a73570957bd7d54d6aaa98ec78a6045d7d69272d611f7f09c60e1aa30bbad46b4bd1358b0b2c69e5bc686ab21444857 @@ -20,4 +21,5 @@ EBUILD libcxx-19.1.4.ebuild 5181 BLAKE2B dbad2e4443d758b1b2570dd2e5bf448f6fc4d8e EBUILD libcxx-20.0.0.9999.ebuild 5358 BLAKE2B f1653197106b3f12fa21ca3e82968e2a4b1d5376bf0c7a72ffafe28623919c85de6180de6d2bb75092de2101ddd98c07cfa1866fda15c50832802e1a712a3f60 SHA512 501844ea65ad7200b74c412e5b9298559a78859f25f01a6b963a336db5f4be4790e079f861ab749f5b87241da014958bf166695b7aa03a6e84a7bc598dd455c2 EBUILD libcxx-20.0.0_pre20241118.ebuild 5358 BLAKE2B f1653197106b3f12fa21ca3e82968e2a4b1d5376bf0c7a72ffafe28623919c85de6180de6d2bb75092de2101ddd98c07cfa1866fda15c50832802e1a712a3f60 SHA512 501844ea65ad7200b74c412e5b9298559a78859f25f01a6b963a336db5f4be4790e079f861ab749f5b87241da014958bf166695b7aa03a6e84a7bc598dd455c2 EBUILD libcxx-20.0.0_pre20241123.ebuild 5358 BLAKE2B f1653197106b3f12fa21ca3e82968e2a4b1d5376bf0c7a72ffafe28623919c85de6180de6d2bb75092de2101ddd98c07cfa1866fda15c50832802e1a712a3f60 SHA512 501844ea65ad7200b74c412e5b9298559a78859f25f01a6b963a336db5f4be4790e079f861ab749f5b87241da014958bf166695b7aa03a6e84a7bc598dd455c2 +EBUILD libcxx-20.0.0_pre20241130.ebuild 5358 BLAKE2B f1653197106b3f12fa21ca3e82968e2a4b1d5376bf0c7a72ffafe28623919c85de6180de6d2bb75092de2101ddd98c07cfa1866fda15c50832802e1a712a3f60 SHA512 501844ea65ad7200b74c412e5b9298559a78859f25f01a6b963a336db5f4be4790e079f861ab749f5b87241da014958bf166695b7aa03a6e84a7bc598dd455c2 MISC metadata.xml 598 BLAKE2B b7a60449e0d8e4e7605ec203dfaa45b17a265b024e21a3bcfe05a3aeb6c3d19a1d2a218cb1f9ac9ed52296f0d6e723fed251f364341fb70cbd91b747962db580 SHA512 a23f912efff52c4687767023da826ace8c6e5dcd5e69ece86aabbea99da89e48ba81cdc292f03193e2e8a05743e62ebf4d4735d038e0cc4b42714fa277569335 diff --git a/sys-libs/libcxx/libcxx-20.0.0_pre20241130.ebuild b/sys-libs/libcxx/libcxx-20.0.0_pre20241130.ebuild new file mode 100644 index 000000000000..73b362d082dd --- /dev/null +++ b/sys-libs/libcxx/libcxx-20.0.0_pre20241130.ebuild @@ -0,0 +1,208 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1 +inherit 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" +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-debug/gdb[python] + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( + runtimes libcxx{,abi} libc 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() { + 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() { + llvm_prepend_path "${LLVM_MAJOR}" + + # 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_INSTALL_MODULES=ON + -DLIBCXX_USE_COMPILER_RT=${use_compiler_rt} + # this is broken with standalone builds, and also meaningless + -DLIBCXXABI_USE_LLVM_UNWINDER=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_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 install-cxx-test-suite-prefix + cp "${BUILD_DIR}"/{lib,libcxx/test-suite-install/$(get_libdir)}/libc++_shared.so || die + if use static-libs; then + cp "${BUILD_DIR}"/{lib,libcxx/test-suite-install/$(get_libdir)}/libc++_static.a || die + fi + 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 84e991f0eb3e..730862cc76d6 100644 --- a/sys-libs/libcxxabi/Manifest +++ b/sys-libs/libcxxabi/Manifest @@ -9,6 +9,7 @@ DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b8577 DIST llvm-project-19.1.4.src.tar.xz 141255156 BLAKE2B b99cd8a96e38dbcfb582ee5d2250268df36fb94fa0fd5b3611484094fbd7962051978334d2c623d2ff5a0209dbb2c6c6492be0146507ae982a7d3e9705a689c5 SHA512 a586f8a41dde5e0d9ca6d8c58e9ef2a2e59b70a86d2e2c46106dc31b5c096bb80af0cdbdb486179e9cc676a540099f49a1c2db9e5e84c50362db1f72e9af6906 DIST llvm-project-19.1.4.src.tar.xz.sig 438 BLAKE2B b0925bdb761046d69779e0b035e29430bc09ef2b81be763aa5c853793631d7b7fdd65eb4dae7a1e3b4daa15d189c24cd1e14f065f79fdbf75429fa34be9b330e SHA512 3fb4a6c7594cb43680860698dac47062dde30de60f515dcecdad63812ea1edfb2cb209d0a7ac2254589c245a95b7c0f571b582e0d4b97a6ae8242563483ea764 DIST llvm-project-19ddafafdf131aed40abbdaf5af1fb7b59c1e8ac.tar.gz 223281446 BLAKE2B 68f8e9bbae78938f424f566bf60db489e5c8afc4ae307cce11adb4b9b6dd48f1c54f1ef69b81051a702cb213012a0e5e03f602a29b11488d79a6bc5e49aa3402 SHA512 6355dd6f8992c6d14f20ce1976fc588f198a42c3c7eaa6c463e63b5110759decdebb80ea357c5e29620d8c33b6da752cbb8d2853159dc0e887f6c3d733c80eca +DIST llvm-project-a348f223cab54b21a7b1c38dec7bc6aa2f81c949.tar.gz 223630067 BLAKE2B 3c2121a8d13e3a84a9ee98d17c58e5fd5a31d5870ac21c633c78c49b4af0c401310f7e91f64ff3b7cf7f6e8d205c730458b8b1101b1255f422659974d48e2ecb SHA512 33cc09a904e4fe0d529611a1d71d764e6d49f014cea903aadc0755d0420f65cfc763fdcfd4bb9a96adad79ce1c4475d8c005dcac37c4fe130a1fb3665172f1db DIST llvm-project-a6385a3fc8a88f092d07672210a1e773481c2919.tar.gz 222866102 BLAKE2B 9346275b18dcd7eedb699ed3494c027f597f68ceb8ff902fbff9f805a2c423d4fb86619974b3bb6fea30c5fe948e3793fb5c499f9e206b61794e13908d830327 SHA512 ac507feeaba787c6df1ece65e03d065c4f8fbabef686b583f671745e09c9a585be8c9359aeb3aa77815711a2ff9621c1b36a4d24cfe9f8d04e3288b53d7c9c69 EBUILD libcxxabi-15.0.7.ebuild 2911 BLAKE2B 5f2004d2f68fe4eddb0b22be82d28fcca7954d0e3ad9a5510744adc4d0dfd7a1ab9fd928404adcd3eeecc58703f51117d0a80e5895b53e0ae7b71621ad5a435c SHA512 5b8e2c6abdec785649aa41b7f05ab86ecab30ff0631d6078c9b1052b406c320c5847b8f16ffa6d9e62ba4a6bca5959b18770810924d6e6da264fb08d6ff738d0 EBUILD libcxxabi-16.0.6.ebuild 2932 BLAKE2B 837ab88ee88d5497b8bddb9f001d4b4ddd44ed982ef47114c965174135ed136abd0e3a6f3848a4aba53d0ca3748c54674cb28de8d46fda3bb7a90f326d41c7c6 SHA512 e4ebf7f35d2cad3bf3ba02754c85fee1cd1c4e52887770698ebaa3ef2fe66873f468677d307ea2d6956c2f6d3ac9b61943461193a5315f1e8a2846f2463b0581 @@ -18,4 +19,5 @@ EBUILD libcxxabi-19.1.4.ebuild 2764 BLAKE2B 279e2dedfd47b02e89b0d34b7ce17ddfcc40 EBUILD libcxxabi-20.0.0.9999.ebuild 2663 BLAKE2B 51f73901a172d1d38eb2204428cab606794110644be1d95e542da7c80e2f88f12b1dde949f3b000a27677108922413351d7f79547101a22b14595b31f3cb9138 SHA512 3d61d2c559bcdb9d13a8134dd75dfb66b46b51eb8c3c870fa807f0dfc6298ed1582a6a3eeba732d9aac6e974e28bf5fc8efb6825654b11b0fcbb4eeaa4d40492 EBUILD libcxxabi-20.0.0_pre20241118.ebuild 2663 BLAKE2B 51f73901a172d1d38eb2204428cab606794110644be1d95e542da7c80e2f88f12b1dde949f3b000a27677108922413351d7f79547101a22b14595b31f3cb9138 SHA512 3d61d2c559bcdb9d13a8134dd75dfb66b46b51eb8c3c870fa807f0dfc6298ed1582a6a3eeba732d9aac6e974e28bf5fc8efb6825654b11b0fcbb4eeaa4d40492 EBUILD libcxxabi-20.0.0_pre20241123.ebuild 2663 BLAKE2B 51f73901a172d1d38eb2204428cab606794110644be1d95e542da7c80e2f88f12b1dde949f3b000a27677108922413351d7f79547101a22b14595b31f3cb9138 SHA512 3d61d2c559bcdb9d13a8134dd75dfb66b46b51eb8c3c870fa807f0dfc6298ed1582a6a3eeba732d9aac6e974e28bf5fc8efb6825654b11b0fcbb4eeaa4d40492 +EBUILD libcxxabi-20.0.0_pre20241130.ebuild 2663 BLAKE2B 51f73901a172d1d38eb2204428cab606794110644be1d95e542da7c80e2f88f12b1dde949f3b000a27677108922413351d7f79547101a22b14595b31f3cb9138 SHA512 3d61d2c559bcdb9d13a8134dd75dfb66b46b51eb8c3c870fa807f0dfc6298ed1582a6a3eeba732d9aac6e974e28bf5fc8efb6825654b11b0fcbb4eeaa4d40492 MISC metadata.xml 438 BLAKE2B 0a830a06a53a6cdaf138ad7620fe366fae05c1c1451267d6a58caf7da5ce8f5a26d302fab53b9460920074ab5a65991d3bd24fde087809e8dc12188dd94c7676 SHA512 d53e13c497569636fb453a159c5ca5ddfabf8e5debd5f92e5149c52d54c876753842ab73293d6d08e2d9b279363b4f0c743eed3a5027a61246c6b60496be8e87 diff --git a/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20241130.ebuild b/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20241130.ebuild new file mode 100644 index 000000000000..13b5d3b6c275 --- /dev/null +++ b/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20241130.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1 +inherit 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" +IUSE="+clang +static-libs test" +REQUIRED_USE="test? ( clang )" +RESTRICT="!test? ( test )" + +# in 15.x, cxxabi.h is moving from libcxx to libcxxabi +RDEPEND+=" + ! + # -DCMAKE_BUILD_TYPE=DEBUG => -UNDEBUG + # -DCMAKE_BUILD_TYPE!=debug => -DNDEBUG + # -DLIBUNWIND_ENABLE_ASSERTIONS=OFF => + # -UNDEBUG + # See also https://github.com/llvm/llvm-project/issues/86#issuecomment-1649668826. + use debug || append-cppflags -DNDEBUG + + 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 +} diff --git a/sys-libs/newlib/Manifest b/sys-libs/newlib/Manifest index 30a95d86f6de..fd6b22781de8 100644 --- a/sys-libs/newlib/Manifest +++ b/sys-libs/newlib/Manifest @@ -8,6 +8,6 @@ EBUILD newlib-4.1.0-r2.ebuild 4487 BLAKE2B 0ee16a23ff8e7048ccba6dd769530b8b6f23f EBUILD newlib-4.2.0.20211231-r1.ebuild 4507 BLAKE2B 7c8c62f00175bf2a49eebc0af2b38ecf0f5849e870ab0bfe1972eb48bf5a634e159f5dec867433ac6edeea94d55a34a6bdc0ead3094801a24c4f9c5dcd349592 SHA512 514d6ab7776619894849a724d196f156b03ee63f4564fa627500aed07fdda07791944d3280377a229fc12cd5d3fb983dbc1a05fecefea3d961a67dbb54ec6acf EBUILD newlib-4.3.0.20230120-r1.ebuild 4424 BLAKE2B 74b269b222db0dc5fad2c8eaab1c023cccc5fefe0cd14c2490b8e5f1125c07345f4c39a3aa67c972c737880901b60b1cd923d282b070645a198acfe12271aa04 SHA512 9d00014a5668ce2b8ebcfea42ae6ae3c7de773d351e4e30a8504d763b39f1b41907720b6e793445fc0414c9cceafe7f4bcf474df4120684e7915acb7dd3898df EBUILD newlib-4.3.0.20230120-r2.ebuild 4519 BLAKE2B 9db3b20c71eb0a64914497fe39df11cada6f60376a1677f8875b10853cfc6264102e314c2ebf34357a700e4549eda6fe3dc969151ecc9339a9d501820cf8b485 SHA512 8fd374c92ed35b6f6ca5d782ca343c6fbce0594f6585fae96f5000da287c78c8f7d15502e7394fdf3890d5865099e3d01ae9a67bc5f009071ac3c78782994d17 -EBUILD newlib-4.4.0.20231231.ebuild 4458 BLAKE2B 708a4771eeff119dae0bd4c4c2e9ad980520840ce1eba7a3226be1eb8d658a2c503fb88efc5474daaac7e31822f945bb574dbe4886f23f5e1ae8f052b7c281bc SHA512 3867ce839d3f349afa4115f9585c28955465315451c4e040dafdc89b7b551e8e04e036318e93f63f87262028c09f73b9ae99e4b80a37dae3e31f15a879841e7d -EBUILD newlib-9999.ebuild 4458 BLAKE2B 708a4771eeff119dae0bd4c4c2e9ad980520840ce1eba7a3226be1eb8d658a2c503fb88efc5474daaac7e31822f945bb574dbe4886f23f5e1ae8f052b7c281bc SHA512 3867ce839d3f349afa4115f9585c28955465315451c4e040dafdc89b7b551e8e04e036318e93f63f87262028c09f73b9ae99e4b80a37dae3e31f15a879841e7d +EBUILD newlib-4.4.0.20231231.ebuild 4906 BLAKE2B 48d0923da559914a2b36618111eedc6610dbb75c8982596d5f1ff8bd048bb7fa4872ead719f7a81622ee92a51969e96d01c68a4b8b57445d45a4cbf4145054d6 SHA512 d9609c845b667160f289ba2c9d1f36c91a06dc0afad8dcb72c80b231eb0456fb99cb8fdcb9ceaf2d471e331fbf30daa13fa352a6e0ab988d72478681b6998deb +EBUILD newlib-9999.ebuild 4906 BLAKE2B 48d0923da559914a2b36618111eedc6610dbb75c8982596d5f1ff8bd048bb7fa4872ead719f7a81622ee92a51969e96d01c68a4b8b57445d45a4cbf4145054d6 SHA512 d9609c845b667160f289ba2c9d1f36c91a06dc0afad8dcb72c80b231eb0456fb99cb8fdcb9ceaf2d471e331fbf30daa13fa352a6e0ab988d72478681b6998deb MISC metadata.xml 502 BLAKE2B c9a9b25addc0f08e3ce84c063ec9a3a94de8ba15b91dabade89a05e81bc841ea95395a6aa715e0d431338a47973e6d7a203a6ba0c41fba66c743364fb8ce70b6 SHA512 7684d64003c900fff73681b3401de172f0b6278801f7984c2e60773a9a9f6e8788780cb28810b11643db7a37c1529df6d54a8ceac381991c79e9fd344612e445 diff --git a/sys-libs/newlib/newlib-4.4.0.20231231.ebuild b/sys-libs/newlib/newlib-4.4.0.20231231.ebuild index d29d3f10e0d1..8b83f40af6e9 100644 --- a/sys-libs/newlib/newlib-4.4.0.20231231.ebuild +++ b/sys-libs/newlib/newlib-4.4.0.20231231.ebuild @@ -85,6 +85,12 @@ src_configure() { export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_FULL}" export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_FULL}" + + [[ ${CTARGET} == nvptx* ]] && { + CFLAGS_FOR_TARGET+=" -Wa,--no-verify" + CCASFLAGS+=" -Wa,--no-verify" + } + ECONF_SOURCE=${S} \ econf \ $(use_enable unicode newlib-mb) \ @@ -98,6 +104,12 @@ src_configure() { cd "${NEWLIBNANOBUILD}" || die export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_NANO}" export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_NANO}" + + [[ ${CTARGET} == nvptx* ]] && { + CFLAGS_FOR_TARGET+=" -Wa,--no-verify" + CCASFLAGS+=" -Wa,--no-verify" + } + ECONF_SOURCE=${S} \ econf \ $(use_enable unicode newlib-mb) \ @@ -118,11 +130,23 @@ src_configure() { src_compile() { export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_FULL}" export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_FULL}" + + [[ ${CTARGET} == nvptx* ]] && { + CFLAGS_FOR_TARGET+=" -Wa,--no-verify" + CCASFLAGS+=" -Wa,--no-verify" + } + emake -C "${NEWLIBBUILD}" if use nano ; then export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_NANO}" export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_NANO}" + + [[ ${CTARGET} == nvptx* ]] && { + CFLAGS_FOR_TARGET+=" -Wa,--no-verify" + CCASFLAGS+=" -Wa,--no-verify" + } + emake -C "${NEWLIBNANOBUILD}" fi } diff --git a/sys-libs/newlib/newlib-9999.ebuild b/sys-libs/newlib/newlib-9999.ebuild index d29d3f10e0d1..8b83f40af6e9 100644 --- a/sys-libs/newlib/newlib-9999.ebuild +++ b/sys-libs/newlib/newlib-9999.ebuild @@ -85,6 +85,12 @@ src_configure() { export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_FULL}" export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_FULL}" + + [[ ${CTARGET} == nvptx* ]] && { + CFLAGS_FOR_TARGET+=" -Wa,--no-verify" + CCASFLAGS+=" -Wa,--no-verify" + } + ECONF_SOURCE=${S} \ econf \ $(use_enable unicode newlib-mb) \ @@ -98,6 +104,12 @@ src_configure() { cd "${NEWLIBNANOBUILD}" || die export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_NANO}" export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_NANO}" + + [[ ${CTARGET} == nvptx* ]] && { + CFLAGS_FOR_TARGET+=" -Wa,--no-verify" + CCASFLAGS+=" -Wa,--no-verify" + } + ECONF_SOURCE=${S} \ econf \ $(use_enable unicode newlib-mb) \ @@ -118,11 +130,23 @@ src_configure() { src_compile() { export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_FULL}" export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_FULL}" + + [[ ${CTARGET} == nvptx* ]] && { + CFLAGS_FOR_TARGET+=" -Wa,--no-verify" + CCASFLAGS+=" -Wa,--no-verify" + } + emake -C "${NEWLIBBUILD}" if use nano ; then export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_NANO}" export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_NANO}" + + [[ ${CTARGET} == nvptx* ]] && { + CFLAGS_FOR_TARGET+=" -Wa,--no-verify" + CCASFLAGS+=" -Wa,--no-verify" + } + emake -C "${NEWLIBNANOBUILD}" fi } -- cgit v1.2.3