diff options
author | V3n3RiX <venerix@koprulu.sector> | 2025-02-27 19:26:40 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2025-02-27 19:26:40 +0000 |
commit | 4418da21bd05d610a3450f4aa75481785ca372a0 (patch) | |
tree | 05975a5e68e88b64b58ed4f9c416e36cd4dbff4e /llvm-runtimes | |
parent | acfd7c956a7b45da7af1452ec12e0b2d5e6ac65b (diff) |
gentoo auto-resync : 27:02:2025 - 19:26:39
Diffstat (limited to 'llvm-runtimes')
-rw-r--r-- | llvm-runtimes/Manifest.gz | bin | 1729 -> 1725 bytes | |||
-rw-r--r-- | llvm-runtimes/compiler-rt-sanitizers/Manifest | 3 | ||||
-rw-r--r-- | llvm-runtimes/compiler-rt-sanitizers/compiler-rt-sanitizers-20.1.0_rc3.ebuild | 222 | ||||
-rw-r--r-- | llvm-runtimes/compiler-rt/Manifest | 3 | ||||
-rw-r--r-- | llvm-runtimes/compiler-rt/compiler-rt-20.1.0_rc3.ebuild | 175 | ||||
-rw-r--r-- | llvm-runtimes/libcxx/Manifest | 3 | ||||
-rw-r--r-- | llvm-runtimes/libcxx/libcxx-20.1.0_rc3.ebuild | 208 | ||||
-rw-r--r-- | llvm-runtimes/libcxxabi/Manifest | 3 | ||||
-rw-r--r-- | llvm-runtimes/libcxxabi/libcxxabi-20.1.0_rc3.ebuild | 109 | ||||
-rw-r--r-- | llvm-runtimes/libgcc/Manifest | 3 | ||||
-rw-r--r-- | llvm-runtimes/libgcc/libgcc-20.1.0_rc3.ebuild | 172 | ||||
-rw-r--r-- | llvm-runtimes/libunwind/Manifest | 3 | ||||
-rw-r--r-- | llvm-runtimes/libunwind/libunwind-20.1.0_rc3.ebuild | 128 | ||||
-rw-r--r-- | llvm-runtimes/offload/Manifest | 3 | ||||
-rw-r--r-- | llvm-runtimes/offload/offload-20.1.0_rc3.ebuild | 148 | ||||
-rw-r--r-- | llvm-runtimes/openmp/Manifest | 3 | ||||
-rw-r--r-- | llvm-runtimes/openmp/openmp-20.1.0_rc3.ebuild | 88 |
17 files changed, 1274 insertions, 0 deletions
diff --git a/llvm-runtimes/Manifest.gz b/llvm-runtimes/Manifest.gz Binary files differindex bcb46ffc0f40..d4efe88ab113 100644 --- a/llvm-runtimes/Manifest.gz +++ b/llvm-runtimes/Manifest.gz diff --git a/llvm-runtimes/compiler-rt-sanitizers/Manifest b/llvm-runtimes/compiler-rt-sanitizers/Manifest index 7dd478b9e538..fa072baff4cd 100644 --- a/llvm-runtimes/compiler-rt-sanitizers/Manifest +++ b/llvm-runtimes/compiler-rt-sanitizers/Manifest @@ -16,6 +16,8 @@ DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818bef DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda DIST llvm-project-20.1.0-rc2.src.tar.xz 147160684 BLAKE2B 6adc1226f022272d78fb0ed361c190d369a2afc53bf868409fe8f4e092d5ffb9894c71870f072bb68162610782f48088468b4a49cdb1bc731d6689c791a5b5e3 SHA512 f303deaec8f25e1b122a7e85df192b6ea10c51472b78a3d14ad9d0b976a533cfbb9164aff0bc99e447e30938cf43363552c5493b4693e1f23291ea7a9b824bbb DIST llvm-project-20.1.0-rc2.src.tar.xz.sig 566 BLAKE2B aa91f7be228e51b0f2234bb5e0df173e3ddc90b6db4350a9008c2f8ba53220da6eef0c69778aecac3caecf918a0c54a0d910177ffe7643ad7fc5624a97262b7f SHA512 e5563a8a79b5e9ef26d62dc6d4385c1c86d12a652b4b1e7fc9ce45a2ea66e5118112746a61b439823bf99d65aea82285eabf5e07714eec77e6e5cd02feab82ce +DIST llvm-project-20.1.0-rc3.src.tar.xz 147194560 BLAKE2B 888764927782b01e968c9ec326315375c6b1050d3852c7ebe7fbd06b3b4052307162f77a76f1e8976879178116ea909c581b8d1ee99dc7a4c5368b01d5597d23 SHA512 9de97104681de9c8039f03e94adc25fe1765280f826342fb4f616266aa0e4afe63db09a8cc3458252d8b2834e4efb2d17ed0226c62c7bb06d948ba8172ee078c +DIST llvm-project-20.1.0-rc3.src.tar.xz.sig 566 BLAKE2B 411ad085c3ab83c1599d110d93a9279206885a01e4748b8ac015a9a94b89fe25c35eab38b213cafb7f733be03826ffc4a01eb52788e2742d44d41a487aff2e26 SHA512 53c5aaa963e883ff06ac7ec9b821dcc4476b79f5be0169667843b18cd8836e8993856a045f2aab23bc77faefc2983fd822cfb1219d5644cec67132d647c877d8 DIST llvm-project-2cd8207b26ea4269630feba661f68554d7ae3c15.tar.gz 227261597 BLAKE2B 51ce992b651fcf08b7fd520420040803b59f1260947953325400c50bec576c418b162d8ae2d2307e70b885b1185c302a97409bcfe48cdb14b8e1384f4e2dfa9e SHA512 a41749943508ea4a18b47c4e947917b5268544e64372c0c3347f9ab8172a2c229d8b1d813d1e842be1b98aedd624524857ed3bb23fe98ad5f36e7a71581abb4b DIST llvm-project-581599096e8a1a89ccd3e053a1209c69a9079083.tar.gz 227830555 BLAKE2B 28a04dd5ce96716d389fe049c4b877f55d6e5cad5c77d8867dd7e3a448213ef413e4f4d7d5f77b0702b26a8eb25f53e08d90e2a5a97eaa3f89245531d9f6626d SHA512 d775aea9bf71d60673e966a689ff6b933afecab2c133a1f64a158551ba9db049221148eab5087bab0ce0ff917456b85fb4ea4d7284886326f54617d167a385a5 DIST llvm-project-c30a7f459452d5766da244564bc1d5888346c364.tar.gz 227560986 BLAKE2B c1c833aa6d488530826d96db81ca8be2fcf842ccf5b10a65ff18269fdfa32fa2742fb0a547eb315c2a9ee383e1b6b6cce4a78136e1740e04d322c79fb6a66a86 SHA512 0b68d3462e5eac89f50cff5e64603758ab74c701ff2de88c8569dd45b7e702b5d13b26c2745615c0c355d46d13765f47e4d43e61cde735240c6f386c0090becb @@ -27,6 +29,7 @@ EBUILD compiler-rt-sanitizers-18.1.8-r6.ebuild 6409 BLAKE2B d83c18a2f723f3cd1afb EBUILD compiler-rt-sanitizers-19.1.4.ebuild 6484 BLAKE2B b39cf4225885bbc39e55fc7e7b7b9c63ad3482ecc5313d93829c9c33fdfb30247499337f6089e5e03b74245aaf18307f31a66e965483ab24d9102fc860f2a772 SHA512 ee9a02d2c2d653294d9d8b0190938b0496515deb49ce169aba84bf07159e6f7675da8d3ea6f9456473adce3643765c4a557799a73d4dd563eb6b34aace84a5a4 EBUILD compiler-rt-sanitizers-19.1.7.ebuild 6486 BLAKE2B fae95cfe5d77d202bfd830825f5bad4f92e3b222b6315936948ba4229c565f720fa608b4be752a55984c189cf65944dafa645d06d39f0a2592d5c01a588c8309 SHA512 b772cf8ae629f57f3ec7f82bdfc4903fe5508a94a2694c45386c4bfcd05be2ad2b556fcd9e5d155c3f5b32f541423ca3dbba56b0db88c4f3248c2d28192966a6 EBUILD compiler-rt-sanitizers-20.1.0_rc2.ebuild 6404 BLAKE2B d317bd4d4c43deae61c6c6accd7b6db68d3ef16af965c9eed30a85483e2299a63e1d1acab7f5e080f98027408d66ca4057db0c3eccbcd94abfdabf51dae1b25d SHA512 5406797df47f496af1f57bfc25f2e1ccf2decf3607c9d03bf7561e1c0f820d7c67006614c35e448eca7c33d299dd355195a0c041d96a27fab3c6b5655d23fbbe +EBUILD compiler-rt-sanitizers-20.1.0_rc3.ebuild 6404 BLAKE2B d317bd4d4c43deae61c6c6accd7b6db68d3ef16af965c9eed30a85483e2299a63e1d1acab7f5e080f98027408d66ca4057db0c3eccbcd94abfdabf51dae1b25d SHA512 5406797df47f496af1f57bfc25f2e1ccf2decf3607c9d03bf7561e1c0f820d7c67006614c35e448eca7c33d299dd355195a0c041d96a27fab3c6b5655d23fbbe EBUILD compiler-rt-sanitizers-21.0.0.9999.ebuild 6404 BLAKE2B d317bd4d4c43deae61c6c6accd7b6db68d3ef16af965c9eed30a85483e2299a63e1d1acab7f5e080f98027408d66ca4057db0c3eccbcd94abfdabf51dae1b25d SHA512 5406797df47f496af1f57bfc25f2e1ccf2decf3607c9d03bf7561e1c0f820d7c67006614c35e448eca7c33d299dd355195a0c041d96a27fab3c6b5655d23fbbe EBUILD compiler-rt-sanitizers-21.0.0_pre20250211.ebuild 6404 BLAKE2B d317bd4d4c43deae61c6c6accd7b6db68d3ef16af965c9eed30a85483e2299a63e1d1acab7f5e080f98027408d66ca4057db0c3eccbcd94abfdabf51dae1b25d SHA512 5406797df47f496af1f57bfc25f2e1ccf2decf3607c9d03bf7561e1c0f820d7c67006614c35e448eca7c33d299dd355195a0c041d96a27fab3c6b5655d23fbbe EBUILD compiler-rt-sanitizers-21.0.0_pre20250215.ebuild 6404 BLAKE2B d317bd4d4c43deae61c6c6accd7b6db68d3ef16af965c9eed30a85483e2299a63e1d1acab7f5e080f98027408d66ca4057db0c3eccbcd94abfdabf51dae1b25d SHA512 5406797df47f496af1f57bfc25f2e1ccf2decf3607c9d03bf7561e1c0f820d7c67006614c35e448eca7c33d299dd355195a0c041d96a27fab3c6b5655d23fbbe diff --git a/llvm-runtimes/compiler-rt-sanitizers/compiler-rt-sanitizers-20.1.0_rc3.ebuild b/llvm-runtimes/compiler-rt-sanitizers/compiler-rt-sanitizers-20.1.0_rc3.ebuild new file mode 100644 index 000000000000..5efa81abbe9b --- /dev/null +++ b/llvm-runtimes/compiler-rt-sanitizers/compiler-rt-sanitizers-20.1.0_rc3.ebuild @@ -0,0 +1,222 @@ +# Copyright 1999-2025 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=" + llvm-core/llvm:${LLVM_MAJOR} + virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?] +" +BDEPEND=" + clang? ( + llvm-core/clang:${LLVM_MAJOR} + llvm-runtimes/compiler-rt:${LLVM_MAJOR} + ) + elibc_glibc? ( net-libs/libtirpc ) + test? ( + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =llvm-core/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 llvm-runtimes/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/llvm-runtimes/compiler-rt/Manifest b/llvm-runtimes/compiler-rt/Manifest index f59d85e89387..490b7b19abe0 100644 --- a/llvm-runtimes/compiler-rt/Manifest +++ b/llvm-runtimes/compiler-rt/Manifest @@ -15,6 +15,8 @@ DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818bef DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda DIST llvm-project-20.1.0-rc2.src.tar.xz 147160684 BLAKE2B 6adc1226f022272d78fb0ed361c190d369a2afc53bf868409fe8f4e092d5ffb9894c71870f072bb68162610782f48088468b4a49cdb1bc731d6689c791a5b5e3 SHA512 f303deaec8f25e1b122a7e85df192b6ea10c51472b78a3d14ad9d0b976a533cfbb9164aff0bc99e447e30938cf43363552c5493b4693e1f23291ea7a9b824bbb DIST llvm-project-20.1.0-rc2.src.tar.xz.sig 566 BLAKE2B aa91f7be228e51b0f2234bb5e0df173e3ddc90b6db4350a9008c2f8ba53220da6eef0c69778aecac3caecf918a0c54a0d910177ffe7643ad7fc5624a97262b7f SHA512 e5563a8a79b5e9ef26d62dc6d4385c1c86d12a652b4b1e7fc9ce45a2ea66e5118112746a61b439823bf99d65aea82285eabf5e07714eec77e6e5cd02feab82ce +DIST llvm-project-20.1.0-rc3.src.tar.xz 147194560 BLAKE2B 888764927782b01e968c9ec326315375c6b1050d3852c7ebe7fbd06b3b4052307162f77a76f1e8976879178116ea909c581b8d1ee99dc7a4c5368b01d5597d23 SHA512 9de97104681de9c8039f03e94adc25fe1765280f826342fb4f616266aa0e4afe63db09a8cc3458252d8b2834e4efb2d17ed0226c62c7bb06d948ba8172ee078c +DIST llvm-project-20.1.0-rc3.src.tar.xz.sig 566 BLAKE2B 411ad085c3ab83c1599d110d93a9279206885a01e4748b8ac015a9a94b89fe25c35eab38b213cafb7f733be03826ffc4a01eb52788e2742d44d41a487aff2e26 SHA512 53c5aaa963e883ff06ac7ec9b821dcc4476b79f5be0169667843b18cd8836e8993856a045f2aab23bc77faefc2983fd822cfb1219d5644cec67132d647c877d8 DIST llvm-project-2cd8207b26ea4269630feba661f68554d7ae3c15.tar.gz 227261597 BLAKE2B 51ce992b651fcf08b7fd520420040803b59f1260947953325400c50bec576c418b162d8ae2d2307e70b885b1185c302a97409bcfe48cdb14b8e1384f4e2dfa9e SHA512 a41749943508ea4a18b47c4e947917b5268544e64372c0c3347f9ab8172a2c229d8b1d813d1e842be1b98aedd624524857ed3bb23fe98ad5f36e7a71581abb4b DIST llvm-project-581599096e8a1a89ccd3e053a1209c69a9079083.tar.gz 227830555 BLAKE2B 28a04dd5ce96716d389fe049c4b877f55d6e5cad5c77d8867dd7e3a448213ef413e4f4d7d5f77b0702b26a8eb25f53e08d90e2a5a97eaa3f89245531d9f6626d SHA512 d775aea9bf71d60673e966a689ff6b933afecab2c133a1f64a158551ba9db049221148eab5087bab0ce0ff917456b85fb4ea4d7284886326f54617d167a385a5 DIST llvm-project-c30a7f459452d5766da244564bc1d5888346c364.tar.gz 227560986 BLAKE2B c1c833aa6d488530826d96db81ca8be2fcf842ccf5b10a65ff18269fdfa32fa2742fb0a547eb315c2a9ee383e1b6b6cce4a78136e1740e04d322c79fb6a66a86 SHA512 0b68d3462e5eac89f50cff5e64603758ab74c701ff2de88c8569dd45b7e702b5d13b26c2745615c0c355d46d13765f47e4d43e61cde735240c6f386c0090becb @@ -30,6 +32,7 @@ EBUILD compiler-rt-18.1.8-r2.ebuild 5110 BLAKE2B 2670b127e7ad87d7986aedeb17cb2a8 EBUILD compiler-rt-19.1.4.ebuild 5204 BLAKE2B ab807058256aa80374f77c5a0141f5a0dc16413535245e729574ad1a6e1cc9e6addc88e217a6fbab725782eb24f6d85ecb6630fb33e384a901e615da56632faf SHA512 c20f1892e378ea88e1fb463227fb798fa58c8f14c3b744794ee50351242ce48b5bd0a81cbb71db1f2eb00508330366cf8f3ede6635544ff051acb022a2f86817 EBUILD compiler-rt-19.1.7.ebuild 5206 BLAKE2B 855b64072fb72f3d87da1f5f808ce47052e6ebe39f495d2f109309479e98314abec78f92aca90067ac1931dc61eb79fd7874026c8b47498226c6ba70725b0d0d SHA512 68447209ebcedef18692081cb406770fbe0501c7f8c5dba86417dbcad06a7c8eee9c809d729014b200c3a43da2b8e5c0ba49b9b488a8a7e084e17725e49aff72 EBUILD compiler-rt-20.1.0_rc2.ebuild 5100 BLAKE2B b2b32ab18b711afadb036dfeca9c482ac709c410f1bd17acc01cdaa86b27575b1f06cd6db08f20c3fb104244ee7e10da78dab5dbcd7e47fd7786d91141334687 SHA512 522852d029b271677f97026d9eab52070b1eb0d24889735e845039a9626e3500cd2df8118c1890b0dad9fe57bdfd77089ce3e8c44293333bf7071d9a39608ee7 +EBUILD compiler-rt-20.1.0_rc3.ebuild 5100 BLAKE2B b2b32ab18b711afadb036dfeca9c482ac709c410f1bd17acc01cdaa86b27575b1f06cd6db08f20c3fb104244ee7e10da78dab5dbcd7e47fd7786d91141334687 SHA512 522852d029b271677f97026d9eab52070b1eb0d24889735e845039a9626e3500cd2df8118c1890b0dad9fe57bdfd77089ce3e8c44293333bf7071d9a39608ee7 EBUILD compiler-rt-21.0.0.9999.ebuild 5100 BLAKE2B b2b32ab18b711afadb036dfeca9c482ac709c410f1bd17acc01cdaa86b27575b1f06cd6db08f20c3fb104244ee7e10da78dab5dbcd7e47fd7786d91141334687 SHA512 522852d029b271677f97026d9eab52070b1eb0d24889735e845039a9626e3500cd2df8118c1890b0dad9fe57bdfd77089ce3e8c44293333bf7071d9a39608ee7 EBUILD compiler-rt-21.0.0_pre20250211.ebuild 5100 BLAKE2B b2b32ab18b711afadb036dfeca9c482ac709c410f1bd17acc01cdaa86b27575b1f06cd6db08f20c3fb104244ee7e10da78dab5dbcd7e47fd7786d91141334687 SHA512 522852d029b271677f97026d9eab52070b1eb0d24889735e845039a9626e3500cd2df8118c1890b0dad9fe57bdfd77089ce3e8c44293333bf7071d9a39608ee7 EBUILD compiler-rt-21.0.0_pre20250215.ebuild 5100 BLAKE2B b2b32ab18b711afadb036dfeca9c482ac709c410f1bd17acc01cdaa86b27575b1f06cd6db08f20c3fb104244ee7e10da78dab5dbcd7e47fd7786d91141334687 SHA512 522852d029b271677f97026d9eab52070b1eb0d24889735e845039a9626e3500cd2df8118c1890b0dad9fe57bdfd77089ce3e8c44293333bf7071d9a39608ee7 diff --git a/llvm-runtimes/compiler-rt/compiler-rt-20.1.0_rc3.ebuild b/llvm-runtimes/compiler-rt/compiler-rt-20.1.0_rc3.ebuild new file mode 100644 index 000000000000..c3b2eb0428cd --- /dev/null +++ b/llvm-runtimes/compiler-rt/compiler-rt-20.1.0_rc3.ebuild @@ -0,0 +1,175 @@ +# Copyright 1999-2025 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=" + llvm-core/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( llvm-core/clang:${LLVM_MAJOR} ) + test? ( + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =llvm-core/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/llvm-runtimes/libcxx/Manifest b/llvm-runtimes/libcxx/Manifest index b2838a2daadf..f3ef4216ad74 100644 --- a/llvm-runtimes/libcxx/Manifest +++ b/llvm-runtimes/libcxx/Manifest @@ -14,6 +14,8 @@ DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818bef DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda DIST llvm-project-20.1.0-rc2.src.tar.xz 147160684 BLAKE2B 6adc1226f022272d78fb0ed361c190d369a2afc53bf868409fe8f4e092d5ffb9894c71870f072bb68162610782f48088468b4a49cdb1bc731d6689c791a5b5e3 SHA512 f303deaec8f25e1b122a7e85df192b6ea10c51472b78a3d14ad9d0b976a533cfbb9164aff0bc99e447e30938cf43363552c5493b4693e1f23291ea7a9b824bbb DIST llvm-project-20.1.0-rc2.src.tar.xz.sig 566 BLAKE2B aa91f7be228e51b0f2234bb5e0df173e3ddc90b6db4350a9008c2f8ba53220da6eef0c69778aecac3caecf918a0c54a0d910177ffe7643ad7fc5624a97262b7f SHA512 e5563a8a79b5e9ef26d62dc6d4385c1c86d12a652b4b1e7fc9ce45a2ea66e5118112746a61b439823bf99d65aea82285eabf5e07714eec77e6e5cd02feab82ce +DIST llvm-project-20.1.0-rc3.src.tar.xz 147194560 BLAKE2B 888764927782b01e968c9ec326315375c6b1050d3852c7ebe7fbd06b3b4052307162f77a76f1e8976879178116ea909c581b8d1ee99dc7a4c5368b01d5597d23 SHA512 9de97104681de9c8039f03e94adc25fe1765280f826342fb4f616266aa0e4afe63db09a8cc3458252d8b2834e4efb2d17ed0226c62c7bb06d948ba8172ee078c +DIST llvm-project-20.1.0-rc3.src.tar.xz.sig 566 BLAKE2B 411ad085c3ab83c1599d110d93a9279206885a01e4748b8ac015a9a94b89fe25c35eab38b213cafb7f733be03826ffc4a01eb52788e2742d44d41a487aff2e26 SHA512 53c5aaa963e883ff06ac7ec9b821dcc4476b79f5be0169667843b18cd8836e8993856a045f2aab23bc77faefc2983fd822cfb1219d5644cec67132d647c877d8 DIST llvm-project-2cd8207b26ea4269630feba661f68554d7ae3c15.tar.gz 227261597 BLAKE2B 51ce992b651fcf08b7fd520420040803b59f1260947953325400c50bec576c418b162d8ae2d2307e70b885b1185c302a97409bcfe48cdb14b8e1384f4e2dfa9e SHA512 a41749943508ea4a18b47c4e947917b5268544e64372c0c3347f9ab8172a2c229d8b1d813d1e842be1b98aedd624524857ed3bb23fe98ad5f36e7a71581abb4b DIST llvm-project-581599096e8a1a89ccd3e053a1209c69a9079083.tar.gz 227830555 BLAKE2B 28a04dd5ce96716d389fe049c4b877f55d6e5cad5c77d8867dd7e3a448213ef413e4f4d7d5f77b0702b26a8eb25f53e08d90e2a5a97eaa3f89245531d9f6626d SHA512 d775aea9bf71d60673e966a689ff6b933afecab2c133a1f64a158551ba9db049221148eab5087bab0ce0ff917456b85fb4ea4d7284886326f54617d167a385a5 DIST llvm-project-c30a7f459452d5766da244564bc1d5888346c364.tar.gz 227560986 BLAKE2B c1c833aa6d488530826d96db81ca8be2fcf842ccf5b10a65ff18269fdfa32fa2742fb0a547eb315c2a9ee383e1b6b6cce4a78136e1740e04d322c79fb6a66a86 SHA512 0b68d3462e5eac89f50cff5e64603758ab74c701ff2de88c8569dd45b7e702b5d13b26c2745615c0c355d46d13765f47e4d43e61cde735240c6f386c0090becb @@ -25,6 +27,7 @@ EBUILD libcxx-18.1.8.ebuild 5447 BLAKE2B 4c284f19f8bb907f2d91e8c98dca9f072e167c8 EBUILD libcxx-19.1.4.ebuild 5181 BLAKE2B 6a1dd56caaa53fd38d9ee3d10baf655f391470a5405d92717fbb20ba4ce52991fed5a535b5ace58745ed976a784e06d6c99d53245066579822ff704337e45dae SHA512 3b8071c5d4c010bac7a8417d0e06c3c1e8051a6512b3e276338dd4f840b6ae95ee36507a0c4d87d08d200ba6b8ec26806cfe66975538e6029528f094a3a310e8 EBUILD libcxx-19.1.7.ebuild 5183 BLAKE2B f201cc8072f7d11c40be236ef04858a3af97421a22e3276b11ee3c495c34ce634e95dbd890ccdeb5903d974b38bf4a624b13a429f29d6e9b3a0cbfa1c5fccfd5 SHA512 a86e074e844554fefffc04b25bd99cc22d4601d0824f96a72f1c3047eeefb19ed2ce59d458fdee177ff3749f604689d4fc17e0449cf15450e51c6e4f2e0e9736 EBUILD libcxx-20.1.0_rc2.ebuild 5363 BLAKE2B 36588297fc0a88b8ae1818b6a79b3c1d369fa7061ecf21820e53d5fec1c979006a47ed01d0b2bebe9434b745960b557e4c3dff3ebc65d1abe248c8a12c6f6793 SHA512 4e61de21e8803f3ae4ca834ccf297ceea653c9a256f6e9cfc526d7ec6c133cd3d9c02b5a28d18e8701b6561117bb27d94704170d251164ac1277450725d37545 +EBUILD libcxx-20.1.0_rc3.ebuild 5363 BLAKE2B 36588297fc0a88b8ae1818b6a79b3c1d369fa7061ecf21820e53d5fec1c979006a47ed01d0b2bebe9434b745960b557e4c3dff3ebc65d1abe248c8a12c6f6793 SHA512 4e61de21e8803f3ae4ca834ccf297ceea653c9a256f6e9cfc526d7ec6c133cd3d9c02b5a28d18e8701b6561117bb27d94704170d251164ac1277450725d37545 EBUILD libcxx-21.0.0.9999.ebuild 5363 BLAKE2B 36588297fc0a88b8ae1818b6a79b3c1d369fa7061ecf21820e53d5fec1c979006a47ed01d0b2bebe9434b745960b557e4c3dff3ebc65d1abe248c8a12c6f6793 SHA512 4e61de21e8803f3ae4ca834ccf297ceea653c9a256f6e9cfc526d7ec6c133cd3d9c02b5a28d18e8701b6561117bb27d94704170d251164ac1277450725d37545 EBUILD libcxx-21.0.0_pre20250211.ebuild 5363 BLAKE2B 36588297fc0a88b8ae1818b6a79b3c1d369fa7061ecf21820e53d5fec1c979006a47ed01d0b2bebe9434b745960b557e4c3dff3ebc65d1abe248c8a12c6f6793 SHA512 4e61de21e8803f3ae4ca834ccf297ceea653c9a256f6e9cfc526d7ec6c133cd3d9c02b5a28d18e8701b6561117bb27d94704170d251164ac1277450725d37545 EBUILD libcxx-21.0.0_pre20250215.ebuild 5363 BLAKE2B 36588297fc0a88b8ae1818b6a79b3c1d369fa7061ecf21820e53d5fec1c979006a47ed01d0b2bebe9434b745960b557e4c3dff3ebc65d1abe248c8a12c6f6793 SHA512 4e61de21e8803f3ae4ca834ccf297ceea653c9a256f6e9cfc526d7ec6c133cd3d9c02b5a28d18e8701b6561117bb27d94704170d251164ac1277450725d37545 diff --git a/llvm-runtimes/libcxx/libcxx-20.1.0_rc3.ebuild b/llvm-runtimes/libcxx/libcxx-20.1.0_rc3.ebuild new file mode 100644 index 000000000000..3bd46e20f1ca --- /dev/null +++ b/llvm-runtimes/libcxx/libcxx-20.1.0_rc3.ebuild @@ -0,0 +1,208 @@ +# Copyright 1999-2025 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? ( + ~llvm-runtimes/libcxxabi-${PV}[static-libs?,${MULTILIB_USEDEP}] + ) + !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] ) +" +DEPEND=" + ${RDEPEND} + llvm-core/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( + llvm-core/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/llvm-runtimes/libcxxabi/Manifest b/llvm-runtimes/libcxxabi/Manifest index 09b70338dcb6..aed149b9c86e 100644 --- a/llvm-runtimes/libcxxabi/Manifest +++ b/llvm-runtimes/libcxxabi/Manifest @@ -12,6 +12,8 @@ DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818bef DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda DIST llvm-project-20.1.0-rc2.src.tar.xz 147160684 BLAKE2B 6adc1226f022272d78fb0ed361c190d369a2afc53bf868409fe8f4e092d5ffb9894c71870f072bb68162610782f48088468b4a49cdb1bc731d6689c791a5b5e3 SHA512 f303deaec8f25e1b122a7e85df192b6ea10c51472b78a3d14ad9d0b976a533cfbb9164aff0bc99e447e30938cf43363552c5493b4693e1f23291ea7a9b824bbb DIST llvm-project-20.1.0-rc2.src.tar.xz.sig 566 BLAKE2B aa91f7be228e51b0f2234bb5e0df173e3ddc90b6db4350a9008c2f8ba53220da6eef0c69778aecac3caecf918a0c54a0d910177ffe7643ad7fc5624a97262b7f SHA512 e5563a8a79b5e9ef26d62dc6d4385c1c86d12a652b4b1e7fc9ce45a2ea66e5118112746a61b439823bf99d65aea82285eabf5e07714eec77e6e5cd02feab82ce +DIST llvm-project-20.1.0-rc3.src.tar.xz 147194560 BLAKE2B 888764927782b01e968c9ec326315375c6b1050d3852c7ebe7fbd06b3b4052307162f77a76f1e8976879178116ea909c581b8d1ee99dc7a4c5368b01d5597d23 SHA512 9de97104681de9c8039f03e94adc25fe1765280f826342fb4f616266aa0e4afe63db09a8cc3458252d8b2834e4efb2d17ed0226c62c7bb06d948ba8172ee078c +DIST llvm-project-20.1.0-rc3.src.tar.xz.sig 566 BLAKE2B 411ad085c3ab83c1599d110d93a9279206885a01e4748b8ac015a9a94b89fe25c35eab38b213cafb7f733be03826ffc4a01eb52788e2742d44d41a487aff2e26 SHA512 53c5aaa963e883ff06ac7ec9b821dcc4476b79f5be0169667843b18cd8836e8993856a045f2aab23bc77faefc2983fd822cfb1219d5644cec67132d647c877d8 DIST llvm-project-2cd8207b26ea4269630feba661f68554d7ae3c15.tar.gz 227261597 BLAKE2B 51ce992b651fcf08b7fd520420040803b59f1260947953325400c50bec576c418b162d8ae2d2307e70b885b1185c302a97409bcfe48cdb14b8e1384f4e2dfa9e SHA512 a41749943508ea4a18b47c4e947917b5268544e64372c0c3347f9ab8172a2c229d8b1d813d1e842be1b98aedd624524857ed3bb23fe98ad5f36e7a71581abb4b DIST llvm-project-581599096e8a1a89ccd3e053a1209c69a9079083.tar.gz 227830555 BLAKE2B 28a04dd5ce96716d389fe049c4b877f55d6e5cad5c77d8867dd7e3a448213ef413e4f4d7d5f77b0702b26a8eb25f53e08d90e2a5a97eaa3f89245531d9f6626d SHA512 d775aea9bf71d60673e966a689ff6b933afecab2c133a1f64a158551ba9db049221148eab5087bab0ce0ff917456b85fb4ea4d7284886326f54617d167a385a5 DIST llvm-project-c30a7f459452d5766da244564bc1d5888346c364.tar.gz 227560986 BLAKE2B c1c833aa6d488530826d96db81ca8be2fcf842ccf5b10a65ff18269fdfa32fa2742fb0a547eb315c2a9ee383e1b6b6cce4a78136e1740e04d322c79fb6a66a86 SHA512 0b68d3462e5eac89f50cff5e64603758ab74c701ff2de88c8569dd45b7e702b5d13b26c2745615c0c355d46d13765f47e4d43e61cde735240c6f386c0090becb @@ -23,6 +25,7 @@ EBUILD libcxxabi-18.1.8.ebuild 2764 BLAKE2B 4875030d23ad0adac8266da8c89b5332733e EBUILD libcxxabi-19.1.4.ebuild 2764 BLAKE2B 2d77ecebc56a9d81fd90fa9e923c0dae7caf33ac8cd7d7fed0efc6ca7413964fe7022104660e77901ee5e199764269ebb6946bda47f009b66de09d287b614278 SHA512 f0c56713ac998302761933deef99e43e6e9a8df0efe86352fda05cb3a73a249b860f10d5c8c4d713c90666f954ac5212a1c7cba20a0d25b61b4d4fe55153072e EBUILD libcxxabi-19.1.7.ebuild 2766 BLAKE2B 6708b4468ee729a4d92f7b03ed7680905dad3335d8f57c2a57142077b0193600285d62a00d19c5859157e639f201c0b4de84f403116bb963abc6aede36000137 SHA512 22e35346f7d33815211fdd3b8f010f334c422c7bc5d48bf7640119e5922f1d40ffda87503cf62d4b365304b45adf51335082dd56e87a4eff77d3c0ceb0c63ece EBUILD libcxxabi-20.1.0_rc2.ebuild 2668 BLAKE2B 8971ce9199694dd4b545281f08feffd0d32794f2c0c1ef5d02020e0ce60813ceba0ff0d6e2734e5ba08137101234054fb398cb8df83ce28d4639f5b083720589 SHA512 fe7e1422ebd3710965dc509562a4222a0356291031fac5510e607f1d0d775a40e7feb86e1ae3dd6469d703433b314fd729e7a02935ebf69dfd8228ad035ff650 +EBUILD libcxxabi-20.1.0_rc3.ebuild 2668 BLAKE2B 8971ce9199694dd4b545281f08feffd0d32794f2c0c1ef5d02020e0ce60813ceba0ff0d6e2734e5ba08137101234054fb398cb8df83ce28d4639f5b083720589 SHA512 fe7e1422ebd3710965dc509562a4222a0356291031fac5510e607f1d0d775a40e7feb86e1ae3dd6469d703433b314fd729e7a02935ebf69dfd8228ad035ff650 EBUILD libcxxabi-21.0.0.9999.ebuild 2668 BLAKE2B 8971ce9199694dd4b545281f08feffd0d32794f2c0c1ef5d02020e0ce60813ceba0ff0d6e2734e5ba08137101234054fb398cb8df83ce28d4639f5b083720589 SHA512 fe7e1422ebd3710965dc509562a4222a0356291031fac5510e607f1d0d775a40e7feb86e1ae3dd6469d703433b314fd729e7a02935ebf69dfd8228ad035ff650 EBUILD libcxxabi-21.0.0_pre20250211.ebuild 2668 BLAKE2B 8971ce9199694dd4b545281f08feffd0d32794f2c0c1ef5d02020e0ce60813ceba0ff0d6e2734e5ba08137101234054fb398cb8df83ce28d4639f5b083720589 SHA512 fe7e1422ebd3710965dc509562a4222a0356291031fac5510e607f1d0d775a40e7feb86e1ae3dd6469d703433b314fd729e7a02935ebf69dfd8228ad035ff650 EBUILD libcxxabi-21.0.0_pre20250215.ebuild 2668 BLAKE2B 8971ce9199694dd4b545281f08feffd0d32794f2c0c1ef5d02020e0ce60813ceba0ff0d6e2734e5ba08137101234054fb398cb8df83ce28d4639f5b083720589 SHA512 fe7e1422ebd3710965dc509562a4222a0356291031fac5510e607f1d0d775a40e7feb86e1ae3dd6469d703433b314fd729e7a02935ebf69dfd8228ad035ff650 diff --git a/llvm-runtimes/libcxxabi/libcxxabi-20.1.0_rc3.ebuild b/llvm-runtimes/libcxxabi/libcxxabi-20.1.0_rc3.ebuild new file mode 100644 index 000000000000..412d927e8b49 --- /dev/null +++ b/llvm-runtimes/libcxxabi/libcxxabi-20.1.0_rc3.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2025 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+=" + !<llvm-runtimes/libcxx-15 +" +DEPEND=" + ${RDEPEND} + llvm-core/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( + llvm-core/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=( libc llvm/utils/llvm-lit ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +multilib_src_configure() { + llvm_prepend_path "${LLVM_MAJOR}" + + 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 + # this is broken with standalone builds, and also meaningless + -DLIBCXXABI_USE_LLVM_UNWINDER=OFF + + -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/llvm-runtimes/libgcc/Manifest b/llvm-runtimes/libgcc/Manifest index cffd7f9ac2d6..ac4764bfdaad 100644 --- a/llvm-runtimes/libgcc/Manifest +++ b/llvm-runtimes/libgcc/Manifest @@ -2,6 +2,8 @@ DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818bef DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda DIST llvm-project-20.1.0-rc2.src.tar.xz 147160684 BLAKE2B 6adc1226f022272d78fb0ed361c190d369a2afc53bf868409fe8f4e092d5ffb9894c71870f072bb68162610782f48088468b4a49cdb1bc731d6689c791a5b5e3 SHA512 f303deaec8f25e1b122a7e85df192b6ea10c51472b78a3d14ad9d0b976a533cfbb9164aff0bc99e447e30938cf43363552c5493b4693e1f23291ea7a9b824bbb DIST llvm-project-20.1.0-rc2.src.tar.xz.sig 566 BLAKE2B aa91f7be228e51b0f2234bb5e0df173e3ddc90b6db4350a9008c2f8ba53220da6eef0c69778aecac3caecf918a0c54a0d910177ffe7643ad7fc5624a97262b7f SHA512 e5563a8a79b5e9ef26d62dc6d4385c1c86d12a652b4b1e7fc9ce45a2ea66e5118112746a61b439823bf99d65aea82285eabf5e07714eec77e6e5cd02feab82ce +DIST llvm-project-20.1.0-rc3.src.tar.xz 147194560 BLAKE2B 888764927782b01e968c9ec326315375c6b1050d3852c7ebe7fbd06b3b4052307162f77a76f1e8976879178116ea909c581b8d1ee99dc7a4c5368b01d5597d23 SHA512 9de97104681de9c8039f03e94adc25fe1765280f826342fb4f616266aa0e4afe63db09a8cc3458252d8b2834e4efb2d17ed0226c62c7bb06d948ba8172ee078c +DIST llvm-project-20.1.0-rc3.src.tar.xz.sig 566 BLAKE2B 411ad085c3ab83c1599d110d93a9279206885a01e4748b8ac015a9a94b89fe25c35eab38b213cafb7f733be03826ffc4a01eb52788e2742d44d41a487aff2e26 SHA512 53c5aaa963e883ff06ac7ec9b821dcc4476b79f5be0169667843b18cd8836e8993856a045f2aab23bc77faefc2983fd822cfb1219d5644cec67132d647c877d8 DIST llvm-project-2cd8207b26ea4269630feba661f68554d7ae3c15.tar.gz 227261597 BLAKE2B 51ce992b651fcf08b7fd520420040803b59f1260947953325400c50bec576c418b162d8ae2d2307e70b885b1185c302a97409bcfe48cdb14b8e1384f4e2dfa9e SHA512 a41749943508ea4a18b47c4e947917b5268544e64372c0c3347f9ab8172a2c229d8b1d813d1e842be1b98aedd624524857ed3bb23fe98ad5f36e7a71581abb4b DIST llvm-project-581599096e8a1a89ccd3e053a1209c69a9079083.tar.gz 227830555 BLAKE2B 28a04dd5ce96716d389fe049c4b877f55d6e5cad5c77d8867dd7e3a448213ef413e4f4d7d5f77b0702b26a8eb25f53e08d90e2a5a97eaa3f89245531d9f6626d SHA512 d775aea9bf71d60673e966a689ff6b933afecab2c133a1f64a158551ba9db049221148eab5087bab0ce0ff917456b85fb4ea4d7284886326f54617d167a385a5 DIST llvm-project-c30a7f459452d5766da244564bc1d5888346c364.tar.gz 227560986 BLAKE2B c1c833aa6d488530826d96db81ca8be2fcf842ccf5b10a65ff18269fdfa32fa2742fb0a547eb315c2a9ee383e1b6b6cce4a78136e1740e04d322c79fb6a66a86 SHA512 0b68d3462e5eac89f50cff5e64603758ab74c701ff2de88c8569dd45b7e702b5d13b26c2745615c0c355d46d13765f47e4d43e61cde735240c6f386c0090becb @@ -9,6 +11,7 @@ DIST llvm-project-d254fa877f419e61e54709f0a6f2e891da893a60.tar.gz 228028122 BLAK EBUILD libgcc-19.1.7-r1.ebuild 4571 BLAKE2B 96646eede20a4ea407f22eafe5e8b26632aad0563293466ffcbdd5752a396fd667dfb200356e221d296681cd22ccf3cc263d275e28122b48338e206875ab161e SHA512 8392e31e1f3bb813b6a2565bd4d695139ff246be10163a7a451b364e1892d2026a25d42a717129b6488589882548d37dce809b340ebbbe7d47cc8404c7a34564 EBUILD libgcc-19.1.7.ebuild 4045 BLAKE2B 0652485ecb35eb096883accd91d8ac571fdc06d32833d979b078139710357a9a8f2fdca2f39277691e116a8da0abeeed554418f403e865cb99387556e3de393a SHA512 d1de13cbc904e156f1e6f50c2afab045d92cc0fc99f943a935f161c9f6a0fc47811b322ec71858866e6767d0a634025cbd81519c34aa78bb5f72737b3790364e EBUILD libgcc-20.1.0_rc2.ebuild 4553 BLAKE2B 48481d0c499838276b0be90366c4ff19c0cf6f97fc2d35bf5eb4f794cd558f90cc8e9c9e1a673353626c40e266cc152c4548349b1636f6c34a0314d541d7349b SHA512 f0ba06884ab14ef4eb9d74a34665369bfcdadd246c050aef06c6a57c38d1bbae8f2b4fe35a11cb1a1711f3118cd965df9e10b77e912f92ab79c1fd071c75359f +EBUILD libgcc-20.1.0_rc3.ebuild 4553 BLAKE2B 48481d0c499838276b0be90366c4ff19c0cf6f97fc2d35bf5eb4f794cd558f90cc8e9c9e1a673353626c40e266cc152c4548349b1636f6c34a0314d541d7349b SHA512 f0ba06884ab14ef4eb9d74a34665369bfcdadd246c050aef06c6a57c38d1bbae8f2b4fe35a11cb1a1711f3118cd965df9e10b77e912f92ab79c1fd071c75359f EBUILD libgcc-21.0.0.9999.ebuild 4553 BLAKE2B 48481d0c499838276b0be90366c4ff19c0cf6f97fc2d35bf5eb4f794cd558f90cc8e9c9e1a673353626c40e266cc152c4548349b1636f6c34a0314d541d7349b SHA512 f0ba06884ab14ef4eb9d74a34665369bfcdadd246c050aef06c6a57c38d1bbae8f2b4fe35a11cb1a1711f3118cd965df9e10b77e912f92ab79c1fd071c75359f EBUILD libgcc-21.0.0_pre20250211.ebuild 4027 BLAKE2B 57ce1132135527807f141f447e5868339d962c06935020d6d74be25845e4641bacfe74fec49fbb31267174b2b57f1b9f698ee64c035faa3b7a81076885604bf2 SHA512 84a21baa57a21bb60261139b68d5a4d615f91aeec5f330a37cd081ade278804e15f60216cef4a723b84f6b2cca6019dfb19ccc687528ccaa7d95351fe4433189 EBUILD libgcc-21.0.0_pre20250215.ebuild 4027 BLAKE2B 57ce1132135527807f141f447e5868339d962c06935020d6d74be25845e4641bacfe74fec49fbb31267174b2b57f1b9f698ee64c035faa3b7a81076885604bf2 SHA512 84a21baa57a21bb60261139b68d5a4d615f91aeec5f330a37cd081ade278804e15f60216cef4a723b84f6b2cca6019dfb19ccc687528ccaa7d95351fe4433189 diff --git a/llvm-runtimes/libgcc/libgcc-20.1.0_rc3.ebuild b/llvm-runtimes/libgcc/libgcc-20.1.0_rc3.ebuild new file mode 100644 index 000000000000..2c2ae9d40376 --- /dev/null +++ b/llvm-runtimes/libgcc/libgcc-20.1.0_rc3.ebuild @@ -0,0 +1,172 @@ +# Copyright 1999-2025 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, compatible with libgcc_s" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0" +IUSE="debug test" + +DEPEND=" + ~llvm-runtimes/libunwind-${PV}[static-libs] +" +RDEPEND=" + ${DEPEND} + !sys-devel/gcc +" +BDEPEND=" + llvm-core/clang:${LLVM_MAJOR} + test? ( + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =llvm-core/clang-${LLVM_VERSION}*:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) +" + +LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake llvm-libgcc ) +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_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 +} + +src_configure() { + # We need to build a separate copy of compiler-rt, because we need to disable the + # COMPILER_RT_BUILTINS_HIDE_SYMBOLS option - compatibility with libgcc requires + # visibility of all symbols. + + llvm_prepend_path "${LLVM_MAJOR}" + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + export CC=${CTARGET}-clang CXX=${CTARGET}-clang++ + strip-unsupported-flags + + local mycmakeargs=( + -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}" + + -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) + -DCOMPILER_RT_BUILD_CRT=OFF + -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 + + -DCOMPILER_RT_BUILTINS_HIDE_SYMBOLS=OFF + + -DPython3_EXECUTABLE="${PYTHON}" + ) + + # disable building non-native runtimes since we don't do multilib + if use amd64; then + mycmakeargs+=( + -DCAN_TARGET_i386=OFF + ) + 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 +} + +# 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 +} + +src_compile() { + cmake_src_compile + + local rtlib=$( + "${CC}" -rtlib=compiler-rt -resource-dir="${BUILD_DIR}" \ + -print-libgcc-file-name || die + ) + + # Use the llvm-libgcc's version script to produce libgcc.{a,so}, which + # combines compiler-rt and libunwind into a libgcc replacement. + # + # What we do here is similar to what upstream does[0], with the following + # differences: + # + # * We build the local copy of compiler-rt manually, to have a full control + # over CMake options. + # * Upstream links the locally built copy of libunwind statically. We link the + # system-wide libunwind dynamically. + # + # [0] https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm-libgcc/CMakeLists.txt#L102-L120 + "${CC}" -E -xc \ + "${WORKDIR}/llvm-libgcc/gcc_s.ver.in" \ + -o gcc_s.ver || die + "${CC}" -nostdlib \ + ${LDFLAGS} \ + -Wl,--version-script,gcc_s.ver \ + -Wl,--undefined-version \ + -Wl,--whole-archive \ + "${rtlib}" \ + -Wl,-soname,libgcc_s.so.1.0 \ + -lc -lunwind -shared \ + -o libgcc_s.so.1.0 || die + # Generate libgcc_s.so ldscript for inclusion of libunwind as a + # dependency so that `clang -lgcc_s` works out of the box. + gen_ldscript libgcc_s.so.1.0 libunwind.so.1.0 > libgcc_s.so || die + cp "${rtlib}" libgcc.a || die +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake_build check-builtins +} + +src_install() { + local libdir=$(get_libdir) + dolib.so libgcc_s.so.1.0 libgcc_s.so + dolib.a libgcc.a + dosym libgcc_s.so.1.0 "/usr/${libdir}/libgcc_s.so.1" + dosym libunwind.a "/usr/${libdir}/libgcc_eh.a" +} diff --git a/llvm-runtimes/libunwind/Manifest b/llvm-runtimes/libunwind/Manifest index e59c207bed2e..909ddfeff102 100644 --- a/llvm-runtimes/libunwind/Manifest +++ b/llvm-runtimes/libunwind/Manifest @@ -12,6 +12,8 @@ DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818bef DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda DIST llvm-project-20.1.0-rc2.src.tar.xz 147160684 BLAKE2B 6adc1226f022272d78fb0ed361c190d369a2afc53bf868409fe8f4e092d5ffb9894c71870f072bb68162610782f48088468b4a49cdb1bc731d6689c791a5b5e3 SHA512 f303deaec8f25e1b122a7e85df192b6ea10c51472b78a3d14ad9d0b976a533cfbb9164aff0bc99e447e30938cf43363552c5493b4693e1f23291ea7a9b824bbb DIST llvm-project-20.1.0-rc2.src.tar.xz.sig 566 BLAKE2B aa91f7be228e51b0f2234bb5e0df173e3ddc90b6db4350a9008c2f8ba53220da6eef0c69778aecac3caecf918a0c54a0d910177ffe7643ad7fc5624a97262b7f SHA512 e5563a8a79b5e9ef26d62dc6d4385c1c86d12a652b4b1e7fc9ce45a2ea66e5118112746a61b439823bf99d65aea82285eabf5e07714eec77e6e5cd02feab82ce +DIST llvm-project-20.1.0-rc3.src.tar.xz 147194560 BLAKE2B 888764927782b01e968c9ec326315375c6b1050d3852c7ebe7fbd06b3b4052307162f77a76f1e8976879178116ea909c581b8d1ee99dc7a4c5368b01d5597d23 SHA512 9de97104681de9c8039f03e94adc25fe1765280f826342fb4f616266aa0e4afe63db09a8cc3458252d8b2834e4efb2d17ed0226c62c7bb06d948ba8172ee078c +DIST llvm-project-20.1.0-rc3.src.tar.xz.sig 566 BLAKE2B 411ad085c3ab83c1599d110d93a9279206885a01e4748b8ac015a9a94b89fe25c35eab38b213cafb7f733be03826ffc4a01eb52788e2742d44d41a487aff2e26 SHA512 53c5aaa963e883ff06ac7ec9b821dcc4476b79f5be0169667843b18cd8836e8993856a045f2aab23bc77faefc2983fd822cfb1219d5644cec67132d647c877d8 DIST llvm-project-2cd8207b26ea4269630feba661f68554d7ae3c15.tar.gz 227261597 BLAKE2B 51ce992b651fcf08b7fd520420040803b59f1260947953325400c50bec576c418b162d8ae2d2307e70b885b1185c302a97409bcfe48cdb14b8e1384f4e2dfa9e SHA512 a41749943508ea4a18b47c4e947917b5268544e64372c0c3347f9ab8172a2c229d8b1d813d1e842be1b98aedd624524857ed3bb23fe98ad5f36e7a71581abb4b DIST llvm-project-581599096e8a1a89ccd3e053a1209c69a9079083.tar.gz 227830555 BLAKE2B 28a04dd5ce96716d389fe049c4b877f55d6e5cad5c77d8867dd7e3a448213ef413e4f4d7d5f77b0702b26a8eb25f53e08d90e2a5a97eaa3f89245531d9f6626d SHA512 d775aea9bf71d60673e966a689ff6b933afecab2c133a1f64a158551ba9db049221148eab5087bab0ce0ff917456b85fb4ea4d7284886326f54617d167a385a5 DIST llvm-project-c30a7f459452d5766da244564bc1d5888346c364.tar.gz 227560986 BLAKE2B c1c833aa6d488530826d96db81ca8be2fcf842ccf5b10a65ff18269fdfa32fa2742fb0a547eb315c2a9ee383e1b6b6cce4a78136e1740e04d322c79fb6a66a86 SHA512 0b68d3462e5eac89f50cff5e64603758ab74c701ff2de88c8569dd45b7e702b5d13b26c2745615c0c355d46d13765f47e4d43e61cde735240c6f386c0090becb @@ -23,6 +25,7 @@ EBUILD libunwind-18.1.8.ebuild 3407 BLAKE2B 40f56d7c9bd204e22a936897c7a5694b25d7 EBUILD libunwind-19.1.4.ebuild 3407 BLAKE2B 3c1a8dcdb1c6c7e1bcc9103ede0994537dc9d7587b37d06425f14d7e6b5c9f26e8b822c85a0d87a3c113753897fb35ce1dee6525a683450ab66aabf040910a54 SHA512 55056789f1ebc3c6e688e6f01d4ce9445523461afcb642b20debf8341cce2fdc1e68b74eb90130428f2d82f1c283814f6fba6c8fd261a8d67e9fe81cd9747e2a EBUILD libunwind-19.1.7.ebuild 3410 BLAKE2B 6f6a8347d02d767c2d4324b83307f83921b0c77bbce205d2c659681b442b4d9e6a118fb0ec010a6bf0175b50c4da6aebdd891d84689eab72e63e2665314fc18c SHA512 5c1a8175a9c469051643cc433a8e8738d3f709277abbfec6d07af4871c505ee2c50977bebe27cf73a4dafce7202924756918fd6842bf4b255cc9ae872b2eed51 EBUILD libunwind-20.1.0_rc2.ebuild 3321 BLAKE2B 94a670819b3cc94bd6707c8340d066d887e166df10b7fa77042d4df60908811367828d145a5a7b7be9d9ca714c30fe6753101f31792b755ffddfe0e0a5e7e2d4 SHA512 29c5c65f079393d408171407b93af3f295c4f26be7a054ca6d49248af50f3a4ebe85c5edebbaa11aecc379a101a994041d53036a5d3776775b33cdcc07569a7e +EBUILD libunwind-20.1.0_rc3.ebuild 3321 BLAKE2B 94a670819b3cc94bd6707c8340d066d887e166df10b7fa77042d4df60908811367828d145a5a7b7be9d9ca714c30fe6753101f31792b755ffddfe0e0a5e7e2d4 SHA512 29c5c65f079393d408171407b93af3f295c4f26be7a054ca6d49248af50f3a4ebe85c5edebbaa11aecc379a101a994041d53036a5d3776775b33cdcc07569a7e EBUILD libunwind-21.0.0.9999.ebuild 3321 BLAKE2B 94a670819b3cc94bd6707c8340d066d887e166df10b7fa77042d4df60908811367828d145a5a7b7be9d9ca714c30fe6753101f31792b755ffddfe0e0a5e7e2d4 SHA512 29c5c65f079393d408171407b93af3f295c4f26be7a054ca6d49248af50f3a4ebe85c5edebbaa11aecc379a101a994041d53036a5d3776775b33cdcc07569a7e EBUILD libunwind-21.0.0_pre20250211.ebuild 3321 BLAKE2B 94a670819b3cc94bd6707c8340d066d887e166df10b7fa77042d4df60908811367828d145a5a7b7be9d9ca714c30fe6753101f31792b755ffddfe0e0a5e7e2d4 SHA512 29c5c65f079393d408171407b93af3f295c4f26be7a054ca6d49248af50f3a4ebe85c5edebbaa11aecc379a101a994041d53036a5d3776775b33cdcc07569a7e EBUILD libunwind-21.0.0_pre20250215.ebuild 3321 BLAKE2B 94a670819b3cc94bd6707c8340d066d887e166df10b7fa77042d4df60908811367828d145a5a7b7be9d9ca714c30fe6753101f31792b755ffddfe0e0a5e7e2d4 SHA512 29c5c65f079393d408171407b93af3f295c4f26be7a054ca6d49248af50f3a4ebe85c5edebbaa11aecc379a101a994041d53036a5d3776775b33cdcc07569a7e diff --git a/llvm-runtimes/libunwind/libunwind-20.1.0_rc3.ebuild b/llvm-runtimes/libunwind/libunwind-20.1.0_rc3.ebuild new file mode 100644 index 000000000000..4a6714b162db --- /dev/null +++ b/llvm-runtimes/libunwind/libunwind-20.1.0_rc3.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2025 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="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" +IUSE="+clang +debug static-libs test" +REQUIRED_USE="test? ( clang )" +RESTRICT="!test? ( test )" + +RDEPEND=" + !sys-libs/libunwind +" +DEPEND=" + llvm-core/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( + llvm-core/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=( libc libcxxabi llvm/utils/llvm-lit ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +multilib_src_configure() { + llvm_prepend_path "${LLVM_MAJOR}" + + 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 + + # Respect upstream build type assumptions (bug #910436) where they do: + # -DLIBUNWIND_ENABLE_ASSERTIONS=ON => + # -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/llvm-runtimes/offload/Manifest b/llvm-runtimes/offload/Manifest index 3f6a6d69d70c..f79eebd159b0 100644 --- a/llvm-runtimes/offload/Manifest +++ b/llvm-runtimes/offload/Manifest @@ -2,12 +2,15 @@ DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818bef DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda DIST llvm-project-20.1.0-rc2.src.tar.xz 147160684 BLAKE2B 6adc1226f022272d78fb0ed361c190d369a2afc53bf868409fe8f4e092d5ffb9894c71870f072bb68162610782f48088468b4a49cdb1bc731d6689c791a5b5e3 SHA512 f303deaec8f25e1b122a7e85df192b6ea10c51472b78a3d14ad9d0b976a533cfbb9164aff0bc99e447e30938cf43363552c5493b4693e1f23291ea7a9b824bbb DIST llvm-project-20.1.0-rc2.src.tar.xz.sig 566 BLAKE2B aa91f7be228e51b0f2234bb5e0df173e3ddc90b6db4350a9008c2f8ba53220da6eef0c69778aecac3caecf918a0c54a0d910177ffe7643ad7fc5624a97262b7f SHA512 e5563a8a79b5e9ef26d62dc6d4385c1c86d12a652b4b1e7fc9ce45a2ea66e5118112746a61b439823bf99d65aea82285eabf5e07714eec77e6e5cd02feab82ce +DIST llvm-project-20.1.0-rc3.src.tar.xz 147194560 BLAKE2B 888764927782b01e968c9ec326315375c6b1050d3852c7ebe7fbd06b3b4052307162f77a76f1e8976879178116ea909c581b8d1ee99dc7a4c5368b01d5597d23 SHA512 9de97104681de9c8039f03e94adc25fe1765280f826342fb4f616266aa0e4afe63db09a8cc3458252d8b2834e4efb2d17ed0226c62c7bb06d948ba8172ee078c +DIST llvm-project-20.1.0-rc3.src.tar.xz.sig 566 BLAKE2B 411ad085c3ab83c1599d110d93a9279206885a01e4748b8ac015a9a94b89fe25c35eab38b213cafb7f733be03826ffc4a01eb52788e2742d44d41a487aff2e26 SHA512 53c5aaa963e883ff06ac7ec9b821dcc4476b79f5be0169667843b18cd8836e8993856a045f2aab23bc77faefc2983fd822cfb1219d5644cec67132d647c877d8 DIST llvm-project-2cd8207b26ea4269630feba661f68554d7ae3c15.tar.gz 227261597 BLAKE2B 51ce992b651fcf08b7fd520420040803b59f1260947953325400c50bec576c418b162d8ae2d2307e70b885b1185c302a97409bcfe48cdb14b8e1384f4e2dfa9e SHA512 a41749943508ea4a18b47c4e947917b5268544e64372c0c3347f9ab8172a2c229d8b1d813d1e842be1b98aedd624524857ed3bb23fe98ad5f36e7a71581abb4b DIST llvm-project-581599096e8a1a89ccd3e053a1209c69a9079083.tar.gz 227830555 BLAKE2B 28a04dd5ce96716d389fe049c4b877f55d6e5cad5c77d8867dd7e3a448213ef413e4f4d7d5f77b0702b26a8eb25f53e08d90e2a5a97eaa3f89245531d9f6626d SHA512 d775aea9bf71d60673e966a689ff6b933afecab2c133a1f64a158551ba9db049221148eab5087bab0ce0ff917456b85fb4ea4d7284886326f54617d167a385a5 DIST llvm-project-c30a7f459452d5766da244564bc1d5888346c364.tar.gz 227560986 BLAKE2B c1c833aa6d488530826d96db81ca8be2fcf842ccf5b10a65ff18269fdfa32fa2742fb0a547eb315c2a9ee383e1b6b6cce4a78136e1740e04d322c79fb6a66a86 SHA512 0b68d3462e5eac89f50cff5e64603758ab74c701ff2de88c8569dd45b7e702b5d13b26c2745615c0c355d46d13765f47e4d43e61cde735240c6f386c0090becb DIST llvm-project-d254fa877f419e61e54709f0a6f2e891da893a60.tar.gz 228028122 BLAKE2B 3321f3b205dfcd672d52122d7ba8e4e737916e01f5041a0dc140722f64359476632e036da0e0692cd366b080a073292cfdb4963e973bf800afabc20d06a2e86b SHA512 135c4864973b682cf41953d43d977eaa219a4a898fceb4b4a8cacbbc6a5dd271d26010b1db6c6c90e761bf3495036f3e7528ab259d48c9c4dc4a064332c0326f EBUILD offload-19.1.7.ebuild 4282 BLAKE2B 270be743903361bb49585f795a23c9c05cfdf4a09b557f178ee842098c4a58aca60508f4cc6f28e29efa5cc027af83fecb73dd7f6d3b14b758220449e8d7b12f SHA512 56805ebf8af58d8aa3d26837de3b995a144a93b698ef25cd1a2c047e7d9a3c29e178a39a506db807d4a274fe475cbd6ca9285bcf395dbd5af98bdd23559196ef EBUILD offload-20.1.0_rc2.ebuild 3814 BLAKE2B 723d81be97e67f60a47c332e659b4dea5ed36d14738817f29e4bab4ed596b744e49d1b3acd71cc8c9d9d604ac985060863a08d96551bbdff41ca234d7ec046ae SHA512 a3a3fda2cb2b2eb3a2aa3e29ab5b3da3d76b58e392cc4f28fdd5c90c40849ca65ff9c9ac180cd495b036a3d57214f2379794bda6c0d2d16fc752576ef09425f0 +EBUILD offload-20.1.0_rc3.ebuild 3814 BLAKE2B 723d81be97e67f60a47c332e659b4dea5ed36d14738817f29e4bab4ed596b744e49d1b3acd71cc8c9d9d604ac985060863a08d96551bbdff41ca234d7ec046ae SHA512 a3a3fda2cb2b2eb3a2aa3e29ab5b3da3d76b58e392cc4f28fdd5c90c40849ca65ff9c9ac180cd495b036a3d57214f2379794bda6c0d2d16fc752576ef09425f0 EBUILD offload-21.0.0.9999.ebuild 3633 BLAKE2B 3b2c5963c4f1549287f43bdf02a35b49f33f7946ca8233a70d3cdd7fa4a1288ecb9e2273220c5e5c8d794b11eea5df76c06bac3713add62332e8826341cbbc53 SHA512 1cccec0d4458497a3d0a2a01cc228e3db4c15e6ca9b809fd4044827a6461002834bef3a000cfc6c528562ac05e11fe27975a56fa6e6d497295424b847dcff84e EBUILD offload-21.0.0_pre20250211.ebuild 3633 BLAKE2B 3b2c5963c4f1549287f43bdf02a35b49f33f7946ca8233a70d3cdd7fa4a1288ecb9e2273220c5e5c8d794b11eea5df76c06bac3713add62332e8826341cbbc53 SHA512 1cccec0d4458497a3d0a2a01cc228e3db4c15e6ca9b809fd4044827a6461002834bef3a000cfc6c528562ac05e11fe27975a56fa6e6d497295424b847dcff84e EBUILD offload-21.0.0_pre20250215.ebuild 3633 BLAKE2B 3b2c5963c4f1549287f43bdf02a35b49f33f7946ca8233a70d3cdd7fa4a1288ecb9e2273220c5e5c8d794b11eea5df76c06bac3713add62332e8826341cbbc53 SHA512 1cccec0d4458497a3d0a2a01cc228e3db4c15e6ca9b809fd4044827a6461002834bef3a000cfc6c528562ac05e11fe27975a56fa6e6d497295424b847dcff84e diff --git a/llvm-runtimes/offload/offload-20.1.0_rc3.ebuild b/llvm-runtimes/offload/offload-20.1.0_rc3.ebuild new file mode 100644 index 000000000000..77e2f9dc1763 --- /dev/null +++ b/llvm-runtimes/offload/offload-20.1.0_rc3.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit cmake flag-o-matic llvm.org python-any-r1 toolchain-funcs + +DESCRIPTION="OpenMP offloading support" +HOMEPAGE="https://openmp.llvm.org" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0/${LLVM_SOABI}" +IUSE="+debug ompt test llvm_targets_AMDGPU llvm_targets_NVPTX" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/libffi:= + ~llvm-core/llvm-${PV} + ~llvm-runtimes/openmp-${PV}[ompt?] + llvm_targets_AMDGPU? ( dev-libs/rocr-runtime:= ) +" +DEPEND=" + ${RDEPEND} +" +# tests: +# - dev-python/lit provides the test runner +# - llvm-core/llvm provide test utils (e.g. FileCheck) +# - llvm-core/clang provides the compiler to run tests +BDEPEND=" + dev-lang/perl + virtual/pkgconfig + llvm_targets_AMDGPU? ( llvm-core/clang[llvm_targets_AMDGPU] ) + llvm_targets_NVPTX? ( llvm-core/clang[llvm_targets_NVPTX] ) + test? ( + $(python_gen_any_dep ' + dev-python/lit[${PYTHON_USEDEP}] + ') + llvm-core/clang + ) +" +# TODO: can it be fixed to compile with gcc? +BDEPEND+=" + llvm-core/clang +" + +LLVM_COMPONENTS=( offload cmake runtimes/cmake libc/shared ) +LLVM_TEST_COMPONENTS=( openmp/cmake ) +llvm.org_set_globals + +pkg_pretend() { + if [[ ${LLVM_ALLOW_GPU_TESTING} ]]; then + ewarn "LLVM_ALLOW_GPU_TESTING set. This package will run tests against your" + ewarn "GPU if it is supported. Note that these tests may be flaky, fail or" + ewarn "hang, or even cause your GPU to crash (requiring a reboot)." + fi +} + +python_check_deps() { + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + if use test; then + python-any-r1_pkg_setup + fi +} + +src_configure() { + # TODO + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + strip-unsupported-flags + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + local libdir="$(get_libdir)" + local ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi) + local ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi) + local plugins="host" + local build_devicertl=FALSE + + if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then + if use llvm_targets_AMDGPU; then + plugins+=";amdgpu" + build_devicertl=TRUE + fi + if use llvm_targets_NVPTX; then + plugins+=";cuda" + build_devicertl=TRUE + fi + fi + + local mycmakeargs=( + -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}" + + -DOFFLOAD_LIBDIR_SUFFIX="${libdir#lib}" + -DLIBOMPTARGET_PLUGINS_TO_BUILD="${plugins}" + -DLIBOMPTARGET_OMPT_SUPPORT="$(usex ompt)" + -DLIBOMPTARGET_BUILD_DEVICERTL_BCLIB="${build_devicertl}" + + # this breaks building static target libs + -DBUILD_SHARED_LIBS=OFF + + -DFFI_INCLUDE_DIR="${ffi_cflags#-I}" + -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}" + ) + + [[ ! ${LLVM_ALLOW_GPU_TESTING} ]] && mycmakeargs+=( + # prevent trying to access the GPU + -DLIBOMPTARGET_AMDGPU_ARCH=LIBOMPTARGET_AMDGPU_ARCH-NOTFOUND + -DLIBOMPTARGET_NVPTX_ARCH=LIBOMPTARGET_NVPTX_ARCH-NOTFOUND + ) + 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++")" + # requires flang + -DOPENMP_TEST_Fortran_COMPILER= + ) + + cmake_src_configure + + if [[ ${build_devicertl} == FALSE ]]; then + # clang requires libomptarget.devicertl.a, but it can be empty + > "${BUILD_DIR}"/libomptarget.devicertl.a || die + fi +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake_build check-offload +} + +src_install() { + cmake_src_install + + if [[ ! -f ${ED}/usr/$(get_libdir)/libomptarget.devicertl.a ]] + then + dolib.a "${BUILD_DIR}"/libomptarget.devicertl.a + fi +} diff --git a/llvm-runtimes/openmp/Manifest b/llvm-runtimes/openmp/Manifest index b66c6fce9b97..32899a5f3f6f 100644 --- a/llvm-runtimes/openmp/Manifest +++ b/llvm-runtimes/openmp/Manifest @@ -13,6 +13,8 @@ DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818bef DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda DIST llvm-project-20.1.0-rc2.src.tar.xz 147160684 BLAKE2B 6adc1226f022272d78fb0ed361c190d369a2afc53bf868409fe8f4e092d5ffb9894c71870f072bb68162610782f48088468b4a49cdb1bc731d6689c791a5b5e3 SHA512 f303deaec8f25e1b122a7e85df192b6ea10c51472b78a3d14ad9d0b976a533cfbb9164aff0bc99e447e30938cf43363552c5493b4693e1f23291ea7a9b824bbb DIST llvm-project-20.1.0-rc2.src.tar.xz.sig 566 BLAKE2B aa91f7be228e51b0f2234bb5e0df173e3ddc90b6db4350a9008c2f8ba53220da6eef0c69778aecac3caecf918a0c54a0d910177ffe7643ad7fc5624a97262b7f SHA512 e5563a8a79b5e9ef26d62dc6d4385c1c86d12a652b4b1e7fc9ce45a2ea66e5118112746a61b439823bf99d65aea82285eabf5e07714eec77e6e5cd02feab82ce +DIST llvm-project-20.1.0-rc3.src.tar.xz 147194560 BLAKE2B 888764927782b01e968c9ec326315375c6b1050d3852c7ebe7fbd06b3b4052307162f77a76f1e8976879178116ea909c581b8d1ee99dc7a4c5368b01d5597d23 SHA512 9de97104681de9c8039f03e94adc25fe1765280f826342fb4f616266aa0e4afe63db09a8cc3458252d8b2834e4efb2d17ed0226c62c7bb06d948ba8172ee078c +DIST llvm-project-20.1.0-rc3.src.tar.xz.sig 566 BLAKE2B 411ad085c3ab83c1599d110d93a9279206885a01e4748b8ac015a9a94b89fe25c35eab38b213cafb7f733be03826ffc4a01eb52788e2742d44d41a487aff2e26 SHA512 53c5aaa963e883ff06ac7ec9b821dcc4476b79f5be0169667843b18cd8836e8993856a045f2aab23bc77faefc2983fd822cfb1219d5644cec67132d647c877d8 DIST llvm-project-2cd8207b26ea4269630feba661f68554d7ae3c15.tar.gz 227261597 BLAKE2B 51ce992b651fcf08b7fd520420040803b59f1260947953325400c50bec576c418b162d8ae2d2307e70b885b1185c302a97409bcfe48cdb14b8e1384f4e2dfa9e SHA512 a41749943508ea4a18b47c4e947917b5268544e64372c0c3347f9ab8172a2c229d8b1d813d1e842be1b98aedd624524857ed3bb23fe98ad5f36e7a71581abb4b DIST llvm-project-581599096e8a1a89ccd3e053a1209c69a9079083.tar.gz 227830555 BLAKE2B 28a04dd5ce96716d389fe049c4b877f55d6e5cad5c77d8867dd7e3a448213ef413e4f4d7d5f77b0702b26a8eb25f53e08d90e2a5a97eaa3f89245531d9f6626d SHA512 d775aea9bf71d60673e966a689ff6b933afecab2c133a1f64a158551ba9db049221148eab5087bab0ce0ff917456b85fb4ea4d7284886326f54617d167a385a5 DIST llvm-project-c30a7f459452d5766da244564bc1d5888346c364.tar.gz 227560986 BLAKE2B c1c833aa6d488530826d96db81ca8be2fcf842ccf5b10a65ff18269fdfa32fa2742fb0a547eb315c2a9ee383e1b6b6cce4a78136e1740e04d322c79fb6a66a86 SHA512 0b68d3462e5eac89f50cff5e64603758ab74c701ff2de88c8569dd45b7e702b5d13b26c2745615c0c355d46d13765f47e4d43e61cde735240c6f386c0090becb @@ -24,6 +26,7 @@ EBUILD openmp-18.1.8.ebuild 4288 BLAKE2B d7f71535a5accad1abd9eca5986824878b0ff25 EBUILD openmp-19.1.4.ebuild 2243 BLAKE2B 9387969f89d1416235a3e5b657167aa9de9f5e85a7ced78d3c6049ea4d2cd02aa8ae64ab27003fe999647d73dbaa684ee56166860aa5863921fcf3d1cdb67d62 SHA512 a552e8ec0b51424ba116a068f4a4de07256b02b5c8ee9e578001c347e09248dfc780b59b1052309f871e82ac168d075af57571a1bff851abf520a0833a05a490 EBUILD openmp-19.1.7.ebuild 2245 BLAKE2B 2760ff704c207099ef27a0efa0cd6db52a84ef9fee28315ca12ee6d8fd26ac4635c545e984103ee495b92b956adf5ebc73b4aba8ec9bfa507961616e3f153cb5 SHA512 f3e51839841d7f727bb4cb8bcb5c23930aa5f1d5f6a44410e10d0bbcaeecad06f4303edbe29fca316a3869660ed9340e1f1b03a15f067341cec1269307b40a32 EBUILD openmp-20.1.0_rc2.ebuild 2163 BLAKE2B 32d4f786dfd0dd01d755dc0b89f3b4d3f05a586c6ca094a8ada24bad3d20bd2f21c4e8c5ff46919ffe51a7d3700e7fcb0dead077fa4e3760e8d384f3a4d3b8d1 SHA512 4c0aabde5394133bd45020cf1ae107ae3f337731d67974f29fb667d340dc356a238ee593558337bf1bce479cc12016bf71a1599102667454c500f77deeb5e68c +EBUILD openmp-20.1.0_rc3.ebuild 2163 BLAKE2B 32d4f786dfd0dd01d755dc0b89f3b4d3f05a586c6ca094a8ada24bad3d20bd2f21c4e8c5ff46919ffe51a7d3700e7fcb0dead077fa4e3760e8d384f3a4d3b8d1 SHA512 4c0aabde5394133bd45020cf1ae107ae3f337731d67974f29fb667d340dc356a238ee593558337bf1bce479cc12016bf71a1599102667454c500f77deeb5e68c EBUILD openmp-21.0.0.9999.ebuild 2163 BLAKE2B 32d4f786dfd0dd01d755dc0b89f3b4d3f05a586c6ca094a8ada24bad3d20bd2f21c4e8c5ff46919ffe51a7d3700e7fcb0dead077fa4e3760e8d384f3a4d3b8d1 SHA512 4c0aabde5394133bd45020cf1ae107ae3f337731d67974f29fb667d340dc356a238ee593558337bf1bce479cc12016bf71a1599102667454c500f77deeb5e68c EBUILD openmp-21.0.0_pre20250211.ebuild 2163 BLAKE2B 32d4f786dfd0dd01d755dc0b89f3b4d3f05a586c6ca094a8ada24bad3d20bd2f21c4e8c5ff46919ffe51a7d3700e7fcb0dead077fa4e3760e8d384f3a4d3b8d1 SHA512 4c0aabde5394133bd45020cf1ae107ae3f337731d67974f29fb667d340dc356a238ee593558337bf1bce479cc12016bf71a1599102667454c500f77deeb5e68c EBUILD openmp-21.0.0_pre20250215.ebuild 2163 BLAKE2B 32d4f786dfd0dd01d755dc0b89f3b4d3f05a586c6ca094a8ada24bad3d20bd2f21c4e8c5ff46919ffe51a7d3700e7fcb0dead077fa4e3760e8d384f3a4d3b8d1 SHA512 4c0aabde5394133bd45020cf1ae107ae3f337731d67974f29fb667d340dc356a238ee593558337bf1bce479cc12016bf71a1599102667454c500f77deeb5e68c diff --git a/llvm-runtimes/openmp/openmp-20.1.0_rc3.ebuild b/llvm-runtimes/openmp/openmp-20.1.0_rc3.ebuild new file mode 100644 index 000000000000..6a485191767b --- /dev/null +++ b/llvm-runtimes/openmp/openmp-20.1.0_rc3.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit flag-o-matic cmake-multilib linux-info llvm.org python-single-r1 + +DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" +HOMEPAGE="https://openmp.llvm.org" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0/${LLVM_SOABI}" +IUSE="+debug gdb-plugin hwloc ompt test" +REQUIRED_USE=" + gdb-plugin? ( ${PYTHON_REQUIRED_USE} ) +" +RESTRICT="!test? ( test )" + +RDEPEND=" + gdb-plugin? ( ${PYTHON_DEPS} ) + hwloc? ( >=sys-apps/hwloc-2.5:0=[${MULTILIB_USEDEP}] ) +" +# tests: +# - dev-python/lit provides the test runner +# - llvm-core/llvm provide test utils (e.g. FileCheck) +# - llvm-core/clang provides the compiler to run tests +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + dev-lang/perl + test? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/lit[${PYTHON_USEDEP}] + ') + llvm-core/clang + ) +" + +LLVM_COMPONENTS=( openmp cmake llvm/include ) +llvm.org_set_globals + +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 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) + + # do not install libgomp.so & libiomp5.so aliases + -DLIBOMP_INSTALL_ALIASES=OFF + # disable unnecessary hack copying stuff back to srcdir + -DLIBOMP_COPY_EXPORTS=OFF + ) + + use 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++")" + ) + cmake_src_configure +} + +multilib_src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake_build check-libomp +} |