diff options
Diffstat (limited to 'sys-libs')
30 files changed, 1004 insertions, 44 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz Binary files differindex ea045754e6ac..366d94fe15a5 100644 --- a/sys-libs/Manifest.gz +++ b/sys-libs/Manifest.gz diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest index c91e5dc44788..8973bbe430db 100644 --- a/sys-libs/compiler-rt-sanitizers/Manifest +++ b/sys-libs/compiler-rt-sanitizers/Manifest @@ -13,6 +13,7 @@ DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b8577 DIST llvm-project-19.1.0-rc3.src.tar.xz 141250388 BLAKE2B 6530bede000d2e4b8ce10b445bfc1f81dc25c2d7121fc953581cd9b6989b3ba197707cd79d3c7b94c055bf2e21b0d07ab3cb401d3f73d22eefba6da4b71dca7b SHA512 3ee4eab848e5e38c396e6f5addf5eb42570d451fc8e7cd77150dc5542f8f710f4a9db51836f7a799996dd1b8194defe4d58efe7c19e5d5e1c5f3dbdda94c0cf3 DIST llvm-project-19.1.0-rc3.src.tar.xz.sig 438 BLAKE2B 86bad4d4fb805340096473bc603d7a3483f030f62b6f52b64d12c33561fbbb999c2ab69cc94857a32747492c846a5ab631a84da200b03475fd401335373bbccf SHA512 ef0fd2e3e7069fbfd410cbcf71294d1b7182456330ff151348058b5cb0f292edaecb9dcbf613ee4fc979214a23bd3bb8077d71e674635359da36b938dc143266 DIST llvm-project-503907dc505db1e439e7061113bf84dd105f2e35.tar.gz 218750576 BLAKE2B 40904dbf62cffe9cb757cc1382a765d5c89791948e86bfa4fbdc5a78ebc11cc82588bc730e6c5c84b6d84922cd32290df0146733a013ffa4e408b8a7c2313a1f SHA512 a121cca2ef49c6b25f137e66d23d332d2f9e3bd0d349b1202b6869f7c85a141aecfe20a6c4d4eff84e32a243216740f20114968589207d39df229daf6443ba0d +DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7 EBUILD compiler-rt-sanitizers-15.0.7.ebuild 6651 BLAKE2B 8526659d0f9764924a66877f35dfd0dd94fe5c88ff4b3e0589f6222cfea9c7dc19e1886f91948f81c19fd16bf0c28517094cd1a75187bd5018bc681cee02bf7e SHA512 64e8fdae19b4d11ebfb03537fc6a8ccb8a9d2b6ba5c8f6c9993ff0343b60f773a3a09ceae3078383b67e4de21e22dd3fe004164c055b659697fb319fb881e526 EBUILD compiler-rt-sanitizers-16.0.6.ebuild 6638 BLAKE2B 5f1960eb622241ba3461f2e8e643d64e7276bac710f460191bb133146d6b611d823de5afb5ab0c18950df87fdc433ef4bf8afb50937b6446ebef938c0fcebe2f SHA512 13187c490d2cd3ce66a89cfd7a4032b64aff9599ce5a18170264411e3e7784f2e8d478373114811e1f8160ff6d0f03256307db6b814dcdf8b6e73774fa190232 EBUILD compiler-rt-sanitizers-17.0.6.ebuild 6470 BLAKE2B d859a3d4480d9bc3ca0d3d0f02bd20b8400b07bc68cb81f237d56c574f677a78da13d3f2277fcdd719cefdcf984fab2367e92ef5991bf32089397632ea3f646d SHA512 1e857236dd6d3166fb81d145ea1278deb012449b4730392142866c8b01bcc91e0e6d02aa928792df29d4c2f90c1663397004a84e604c45c2b9330988bc62e8a7 @@ -20,4 +21,5 @@ EBUILD compiler-rt-sanitizers-18.1.8.ebuild 6376 BLAKE2B b2b92f586c507f0a5570d4d EBUILD compiler-rt-sanitizers-19.1.0_rc3.ebuild 6366 BLAKE2B 4e6459ee51444413b05b661deedbe0f3543f71f6e05349a3a7f4a6352897ee7ea8a62a8ec4a26c5c31a4ba21e68b045b3e37d9e2530ad51519a9f7d2a455342c SHA512 c7ec9377a079c30b3460a7201482b5183ab35755824a7d1c81d90dc2c519a6e2410c0f51fdb4719b8239ee841c162b20ad1cf191068a27a8f13664cad4aa1ca9 EBUILD compiler-rt-sanitizers-20.0.0.9999.ebuild 6366 BLAKE2B 4e6459ee51444413b05b661deedbe0f3543f71f6e05349a3a7f4a6352897ee7ea8a62a8ec4a26c5c31a4ba21e68b045b3e37d9e2530ad51519a9f7d2a455342c SHA512 c7ec9377a079c30b3460a7201482b5183ab35755824a7d1c81d90dc2c519a6e2410c0f51fdb4719b8239ee841c162b20ad1cf191068a27a8f13664cad4aa1ca9 EBUILD compiler-rt-sanitizers-20.0.0_pre20240822.ebuild 6366 BLAKE2B 4e6459ee51444413b05b661deedbe0f3543f71f6e05349a3a7f4a6352897ee7ea8a62a8ec4a26c5c31a4ba21e68b045b3e37d9e2530ad51519a9f7d2a455342c SHA512 c7ec9377a079c30b3460a7201482b5183ab35755824a7d1c81d90dc2c519a6e2410c0f51fdb4719b8239ee841c162b20ad1cf191068a27a8f13664cad4aa1ca9 +EBUILD compiler-rt-sanitizers-20.0.0_pre20240830.ebuild 6366 BLAKE2B 4e6459ee51444413b05b661deedbe0f3543f71f6e05349a3a7f4a6352897ee7ea8a62a8ec4a26c5c31a4ba21e68b045b3e37d9e2530ad51519a9f7d2a455342c SHA512 c7ec9377a079c30b3460a7201482b5183ab35755824a7d1c81d90dc2c519a6e2410c0f51fdb4719b8239ee841c162b20ad1cf191068a27a8f13664cad4aa1ca9 MISC metadata.xml 1475 BLAKE2B f7ea99e3103e42a2c79fe6c86ad174297e56bcffa7b164ac3ab0a239ba5adf2265b7fc458ce8b22c9c3bd647bb03d674abf842443cb32bf8d88c683746650a19 SHA512 8e52479d3b040718a3fdaa811030bc45ef33ce74daae3e365281074cdf6d586ba11ae5f14d87dbb456f00fe4b9ae6057f3bf30eb0973cc16cbdcc3eba01ff9f8 diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20240830.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20240830.ebuild new file mode 100644 index 000000000000..d395b7fd5a11 --- /dev/null +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20240830.ebuild @@ -0,0 +1,220 @@ +# 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 +) +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 ) + elibc_glibc? ( net-libs/libtirpc ) + test? ( + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR} + sys-libs/compiler-rt:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) +" + +LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake ) +LLVM_TEST_COMPONENTS=( + llvm/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 f1723500fbf8..ab596295d84b 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.0-rc3.src.tar.xz 141250388 BLAKE2B 6530bede000d2e4b8ce10b445bfc1f81dc25c2d7121fc953581cd9b6989b3ba197707cd79d3c7b94c055bf2e21b0d07ab3cb401d3f73d22eefba6da4b71dca7b SHA512 3ee4eab848e5e38c396e6f5addf5eb42570d451fc8e7cd77150dc5542f8f710f4a9db51836f7a799996dd1b8194defe4d58efe7c19e5d5e1c5f3dbdda94c0cf3 DIST llvm-project-19.1.0-rc3.src.tar.xz.sig 438 BLAKE2B 86bad4d4fb805340096473bc603d7a3483f030f62b6f52b64d12c33561fbbb999c2ab69cc94857a32747492c846a5ab631a84da200b03475fd401335373bbccf SHA512 ef0fd2e3e7069fbfd410cbcf71294d1b7182456330ff151348058b5cb0f292edaecb9dcbf613ee4fc979214a23bd3bb8077d71e674635359da36b938dc143266 DIST llvm-project-503907dc505db1e439e7061113bf84dd105f2e35.tar.gz 218750576 BLAKE2B 40904dbf62cffe9cb757cc1382a765d5c89791948e86bfa4fbdc5a78ebc11cc82588bc730e6c5c84b6d84922cd32290df0146733a013ffa4e408b8a7c2313a1f SHA512 a121cca2ef49c6b25f137e66d23d332d2f9e3bd0d349b1202b6869f7c85a141aecfe20a6c4d4eff84e32a243216740f20114968589207d39df229daf6443ba0d +DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7 EBUILD compiler-rt-15.0.7.ebuild 4238 BLAKE2B 22d56dbe24c92400bf58942390b06af70fddba89d8fecc9b85162dd7a41c6ee592eaaf883f5ad483f65f74fabccc28f94528688410ee36e2d5279efcc6066de0 SHA512 ca49d23def580d4dcfc4058768eeb9deb6e59ea44575da272d1c142fffe0bf4e3d3c7c9fa6182ab348a3aab11879af116a549cb1a3a03b27b4bf4151cf892aaa EBUILD compiler-rt-16.0.6-r4.ebuild 5221 BLAKE2B 973635914793c11f546dbb2586872f381ab7e2abb302eef99c1d4ca198c5c996ba968df6b1605bca5939810d83aef2768766e3233a3e8756f01c008b983d68b6 SHA512 aa747508cbed62e27a10002a04d3289b79d72b11a5391f916ffd2b88d4bd716a1d2d7db6981798f1c44ff15dbab31b0b8fa125f18a19b5c12b149c6a71064f19 EBUILD compiler-rt-17.0.6.ebuild 5218 BLAKE2B 3f488320228fd2a3d1caed790e8e21c7c363769c4d8b912fd5a964b4e802e1b58b297336c527b451edb74ff42c4bdd236795210c4f225ca98a6980fed95d6771 SHA512 abbe2f679a1af7c012ecae32b57b244f7ad84a5d44151a4b7ad799524061f8b65504bd6aa169a91d1a16b878845f40b47e4a1f0253a3ff9ccbe8dbb736db1fb1 @@ -19,4 +20,5 @@ EBUILD compiler-rt-18.1.8.ebuild 4967 BLAKE2B 7b1751e6d13b24464ca21e32e10edd7ec6 EBUILD compiler-rt-19.1.0_rc3.ebuild 4963 BLAKE2B dc2eab2b95233dc791544f2cfcedf6f812ccfde2f31ce14525f60fa4d4df91ca2f93ab702156c0acdbb07fd03face456a521b7e92572b7997a2358a6e1290c95 SHA512 a0299d32d9e7539ec36740899b697f6afa69ca91528fdebe35ffa39c592a6dace90b080cca233a65ce932d17ce76292e7920fa569a3aa3e37424c9f0112c9b2f EBUILD compiler-rt-20.0.0.9999.ebuild 4963 BLAKE2B dc2eab2b95233dc791544f2cfcedf6f812ccfde2f31ce14525f60fa4d4df91ca2f93ab702156c0acdbb07fd03face456a521b7e92572b7997a2358a6e1290c95 SHA512 a0299d32d9e7539ec36740899b697f6afa69ca91528fdebe35ffa39c592a6dace90b080cca233a65ce932d17ce76292e7920fa569a3aa3e37424c9f0112c9b2f EBUILD compiler-rt-20.0.0_pre20240822.ebuild 4963 BLAKE2B dc2eab2b95233dc791544f2cfcedf6f812ccfde2f31ce14525f60fa4d4df91ca2f93ab702156c0acdbb07fd03face456a521b7e92572b7997a2358a6e1290c95 SHA512 a0299d32d9e7539ec36740899b697f6afa69ca91528fdebe35ffa39c592a6dace90b080cca233a65ce932d17ce76292e7920fa569a3aa3e37424c9f0112c9b2f +EBUILD compiler-rt-20.0.0_pre20240830.ebuild 4963 BLAKE2B dc2eab2b95233dc791544f2cfcedf6f812ccfde2f31ce14525f60fa4d4df91ca2f93ab702156c0acdbb07fd03face456a521b7e92572b7997a2358a6e1290c95 SHA512 a0299d32d9e7539ec36740899b697f6afa69ca91528fdebe35ffa39c592a6dace90b080cca233a65ce932d17ce76292e7920fa569a3aa3e37424c9f0112c9b2f MISC metadata.xml 416 BLAKE2B 79a58249c94b605ba57f346c4e05b43853cf6cfb8bb65a4f4e3c44039cccfdb83dd31bfaaaf398bcbdc393efabdfc7ed186fe775976c46227e74decf2c8f4fb2 SHA512 ce30c79a575e5933effb1fec36f9a4ef02d9f97f312feb39c55a88cbda9a1bae1d7af2ec4ad5f66212cbb2cdbfb26f1a436689f16f410153c9d65eb010264c48 diff --git a/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20240830.ebuild b/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20240830.ebuild new file mode 100644 index 000000000000..ca99f4442636 --- /dev/null +++ b/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20240830.ebuild @@ -0,0 +1,173 @@ +# 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 +clang +debug test" +RESTRICT="!test? ( test ) !clang? ( test )" + +DEPEND=" + sys-devel/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( sys-devel/clang ) + test? ( + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) +" + +LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake ) +LLVM_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_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/glibc/Manifest b/sys-libs/glibc/Manifest index 37d3c18ac6c9..2ebfbf795b00 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -44,18 +44,18 @@ DIST locale-gen-2.00.tar.gz 7738 BLAKE2B cde6de5ba3400aea24d0d5f1b79471f89f09fb7 DIST locale-gen-2.10.tar.gz 7747 BLAKE2B 49f569c5ae5260fca128503bc6f22d6f6f1cda817920c41fdadadf1527bbb4f3eb161f79fa729830666a4673e9092f99f4685ec8fcac8ddea0b8242bca9c1f4f SHA512 e350e60d458d67638e3090711fca05af6fafac06c51b97648244549f8a0621dab7543f09dc7ad4c62392f13bdae8e5875dc6d0b6c3d83efc29d116bc2eef92db DIST locale-gen-2.22.tar.gz 7971 BLAKE2B 2dc66fa69bf51799d0c34459b654fba6998b80a7e322e9b670036c967e269ad921f50195e6e34c4a83c1f0bad191fd5aa3f37defb82271b73acbca07b7e49d08 SHA512 9798b10dbbc792345a7b7a121dec5f4bba9839a8aec010f01a09f3402fd5bf2376f79e03a6a19bc357010db780037a8811c381136ce19be1f1370374906dff38 DIST locale-gen-2.23.tar.gz 7977 BLAKE2B bf2cc1fa05828a9133789133ce2d910662f1b5979269869cd76dac45831c45917700fc81357441fc7691af23196c6a6c3a28bb4440ceb6a5a3b17dbdc55c2bcc SHA512 f6b3daf3e2f10bc2f68626d8e7edc0f27eb0fe16bfe8840904a1b13d8fc76318d9f83277ee7fcb7a6db177413ba8a2cda94493e56d01df3a20ca37fed64e469c -EBUILD glibc-2.19-r3.ebuild 38671 BLAKE2B a8c18c106dcc2569b25f483567c088308fcae40bac9c0988ba36ea3ae1a6174b3d7139dc966de923157ebab891a24a73a2efa4e83c953d0eee9248136adcc40a SHA512 4fd4a820625b7bd2e7627e74e449f1e5028a3dd48e6a8cc474d2528b28777618cc6c7c80043963e0b7c96ef8a1d1da547a4ffe53dd81ac0702bb82366a81f010 -EBUILD glibc-2.31-r7.ebuild 44612 BLAKE2B 57bf608e30337d95d5c8c3002b3dc795052a9fcf0cddd89ca1a6c560d0e120db775ea6d3269b392fc611da77256b36e33f977e3c37dd8ef65c5a1a4c3cf4731f SHA512 d55db06fe7190d592b2fb3c99a194ef0b5da0b64409a9a7d69eeb8942c8d3dfe6af58a9559f4b34c4d0985580ef34347532ecda15a5c8d0b2bed4de7874a17e0 -EBUILD glibc-2.32-r8.ebuild 44970 BLAKE2B d39fb2901adee5b32ef87c09e06f821b06d7bc673315eb37f53b8a0c9cf5dff244c6812f96ead96095634f4605a7345b27507f846c098b3e0f1d2d028a28ce0a SHA512 a3bc29194010f5a2ee766805decc705a3491bd5eed1ac3bc5915f4973851a41288fca0eff7cc9feaa58856c0e9b3299ada711dd979e97a107edac08057eff0a6 -EBUILD glibc-2.33-r14.ebuild 48506 BLAKE2B 1c59cc020ccdf520e08a952868617b0087fb0b9d74c2c06d298bfb919fce68a0eb5fae6d54948c5c6f705cf0dc5350516c35a0e365458a27155c544aa6a36f13 SHA512 0e04638d31e273ffd5c6712f58caedd4e96a9e6d237b0209d38d246f47e17254696f4acf692d6a36b6744baa7fd4171ccf6b0fe6bc4e2812f4f7bf12397b806f -EBUILD glibc-2.34-r14.ebuild 49721 BLAKE2B 9bc0ee7c5192724aa8b7ac8d71b7ffe385aeb8d71e86a06679a777730333d9e646d434bb341bef79eb311df021064b23a54f9ebde7566a45328da54eac6587df SHA512 9757f27bc3b47b9e2c44756a63fbdb70362f26b8f5febe817551addf8ac625fdf6d364e34bf02854e93874b8599cd27ed462a44fe1ec447c0efe0ee4982f9012 -EBUILD glibc-2.35-r11.ebuild 50262 BLAKE2B 562ce109d44d9551c6c645f8ae77c072b3274889221dda8dadbbc770cd229fb1fa7e6000f21f7825be3b1cb4967e1610e63da775a4c9615725ee3c2ada37d4c7 SHA512 31765915f3f15ff1787f531a42bee573c909a4a32ac7fa8eaf7c3d9e1684714fc50551f7ca589d983dfa06c61f4d6caf716ab2acd2113e5ecabe16b631725eda -EBUILD glibc-2.36-r8.ebuild 52540 BLAKE2B 0a255ca8c5d466bbeb58d1863fbfa586d448a2cbc341cafd875a8233f728c9e9333cde8299e4ecfa15f5fa406bace90a6af0fef057dc0d354458338059a658b1 SHA512 9775e390ac3b55ac251d4a7c49c21b718f76795a8c62510fff00017b7c69997fceee2f406e45437364cece146d6fee4d0c2f2fdca1018a461e5d8741540c26fd -EBUILD glibc-2.37-r10.ebuild 53069 BLAKE2B c6cdba8fd225be0d3d235124f51c97a019a682be475bd2d6085efb4921723d1de361db4976c658d682ac96e722bda1f964d23ec69db3ee0fc3004816892a78ca SHA512 365f95593fcff9b0eb783876893c63c4f4c3ba06c8f2146487d5155fc0b6ae63086df8a72ab4a6b292ea9e81b651d058cf27cf6676d6d03d60ba301eec01fb6d -EBUILD glibc-2.38-r13.ebuild 54775 BLAKE2B c3291ddd788036be52f941eab728f344a91c8c7df16ccc9586cf809f1290ac8c4b670e7b75676d12e089ebb455a2692fdf9b075f25793398a676d821deb98968 SHA512 574fe46f49a81ecfdc06518d32d09565f02c0a6eb24b5ba950bfbbf0d513116715a68178afe7fc9f6802e9b70e27ff7f9aecbfe6e662e545be22e4967529b222 -EBUILD glibc-2.39-r6.ebuild 54759 BLAKE2B 5e0fee4d058e73a3d675e389d302adb2097afdcd8661191285e95088250d05d2eecf5d98b551db5e65f3ad48c671470df3ea7e9069074961f4821c753e16b89f SHA512 27b5194381e17be94b1a42eda1081adad443fec51c2dc36ae0ad75e6b730680a181ff8deb4800ae4aba63afc7332f45286a843475373bbef7bb927386c2e0ca4 -EBUILD glibc-2.39-r7.ebuild 54767 BLAKE2B 6626c0110d6ff3eeca21ecb5f0a5c40b29f84827c7bf5fb93a928b959a780d7f5b6eb3de6c3c643e7209c0b81981f464935395a4523cd727a8d3a17a2a2734e5 SHA512 19b1ab909458aafee204aa2b5c24c4438b7ea1f51d69f65968b23ff8f7db2c572467f67ea2c50cdd125725c83c520a813f02c675bc28fcf3e6df7c2d9b6c8c4b -EBUILD glibc-2.39-r9.ebuild 54416 BLAKE2B 78c3f4959e6da9086e67021ce90f44e96581fc0ea44951b2f26869be6ce3c62ecdabd7b642bbdc5ef7a3400353899904ecbf09016eea10d721736badca31e2d1 SHA512 bc274e741e26f8ceab793467b813e2722bfabd7c63295711d957d8c8806adb9d8a2a2a6e33d392af918c3af7a87a8f726b093d1aa8432d733c1cc17145fb441e -EBUILD glibc-2.40.ebuild 54417 BLAKE2B a99f576141195a92f27ce98ff2f0023900b85b1168dc7e5e1e509ee1a5539bd7cdbaf5ee45eb2eb0e59deb80c31e932c04e059411dde1078e79fb01b8ca05f82 SHA512 193c5d4925a0ca7d697667f083ebd8e57b998402cf5f74a33f62cdf85630e0bdc5bcd5a7de43c07c79c7d229853f9f79bb2209438fa5acdfb94be5ad320c2f39 -EBUILD glibc-9999.ebuild 54418 BLAKE2B dfb32246f7219c91ee961fa2a11e8b505a18243fc7ad670560b1b5939e7721d5a74faf8dfdd8c0aacf7aece56bd18de96f1f1398d99f347547c5e0428ea0289a SHA512 a3e007e945b56ce07c72762529be5165bb6b52e2c7851ef1c341c4037e11accaaf985d63f928510a24a5c2e7b562dc010ab191f0fd39d65d2b170dcb72798d14 +EBUILD glibc-2.19-r3.ebuild 38711 BLAKE2B 13388579c9ed797d1c8e009de3eaa87c966b2f5508242b21c0882f585755901ba1e4dc50ab8993ff330b1b97d44704d7fae4c525d71491d754228165710496a6 SHA512 cb2de8f400258d6f493de7fad9d28c3867b2b25ecb6adfc3e2b9d29ac16e039a46453654b82800a88450f4d167fdf9602cedb044521806ce4ff7c0f7ef18eb79 +EBUILD glibc-2.31-r7.ebuild 44652 BLAKE2B c01f15cc593e49c09380e9822b4b6623a2758b3bac2d0de91d4534de0e824819e0ac361074ae104de563a1ca5a2793ba3b7eebda8210ed025b143df0447f9bcd SHA512 5cd10973ec56e3a0b3254e2e791f314ab559255a60e4229d26a4a71383925bfaeb5bbd61f6c29c06bc911e255669ead9236d15f74f9ca2af2f1ea90e898e97b0 +EBUILD glibc-2.32-r8.ebuild 45010 BLAKE2B d1ffdc1aba318686fdc78ac1fa8876ec68a0bfcfaa2b29238cf9d09162f3ca992bf866678b9be6933f69b52d6f52000b3dc766b2f75f2f92de093fc6299e86d5 SHA512 009fe5d4046e4741dde52a7882f6de7e85dd8c11171d598b6172c11dfa3b6bc4bc831ab5e07f666885c479aef24c53070c560518a2cabd2d1c4c2f85bacefb00 +EBUILD glibc-2.33-r14.ebuild 48546 BLAKE2B 3ec4a3aca576af6edf00165f8d04e5ca701e487c68b4bf602fa8d85bda6f7c90f2119ad4175572f9d912533caea761c609106e2adf2a16c4913956866fa1d3e8 SHA512 54a64962366f97116f8103cf584e7755270a5247a37cf8e0b6b96a46adaeb4392dc7a7f73823e30501c36e3ae7370dd33e0e0d7cf205f3fb00644f9d3d1e4878 +EBUILD glibc-2.34-r14.ebuild 49761 BLAKE2B 31546a00caf37e864b8f7f89dd4749fbb4470fd0114229211ba03e53d479ba4ad4eee4a66396e49804c16ed6dc40e004018309650881d0c6bfd0a5b0face5b2f SHA512 89ac02048dd052bb94f0b95a16a3a52a0ff051414297e27b57c9c64e119695abf9b1f908303367266bd20deb6436623ac36a504f5ddf3c1b5cf527b152d13489 +EBUILD glibc-2.35-r11.ebuild 50302 BLAKE2B 65b3a882d9708f708d2e6a775e15c81c3360e608d7f69856c3801277e099a7fd662559c9c68d140e6779f20663f14c9634de35eb985c45d99c8d1489157521ca SHA512 650c0f83a1f5b21242caab331036bcadbe8a645a2d490a58dafebd5781cfa2927bbe23cc0a5add671094d43ff91ba285bfd1ed7005fe3ca0b466f013e8678d2c +EBUILD glibc-2.36-r8.ebuild 52580 BLAKE2B 085709a5101a013b84a15b61ba5de4b6353673441d10847b1d042677c52a29e4d58b17c391004a2c189031a51118be8b05f447c45c23d6bb4db2bbea193ae50f SHA512 5d4844ffa843e400e45f2dafe7967f71b977eecb080f75c6eabcc528eb9d7347e83191ea7f19b815e2887e221a3007166f0bdd58202e32ae090a790223052a5c +EBUILD glibc-2.37-r10.ebuild 53109 BLAKE2B 73c4368137697cee17405fce1631cd648259adcc00d4d4f96e15ecc53d30659da179e87bdbb8ffda9dbc25cd61254608937630c2d14f72d28845a0c138ae5cee SHA512 867f829b832ccbc7a8d7a31ef8a1e72d155338e1c62d754dc51c9b8eb272e156068ce07d429743079f703e6b83005b601195746ef6a764366aea059f331e62ea +EBUILD glibc-2.38-r13.ebuild 54815 BLAKE2B 32332c806324d2fd5d84668d01c373ee193f98184732cac77ba1447f1c447b12b576498baf4e677e4bb8c5fbd7fc37b9d62a766298024008e3d20ff22431c2f7 SHA512 8bcf4d9bb1a52461330c395c5e787588e07c40adcc46de570615e1dc0d40ae551df59bb5ce678afd0a41eefe5d91942895e8aa39d263ca84b0e0a56acc1f8245 +EBUILD glibc-2.39-r6.ebuild 54799 BLAKE2B da211fd736baf44f208731c42073ba196be2aff6dd9245188927bc5fdd28c4cd677ad1ace2067cf5be9fb81623a0c63703630d2fbb79a619ef062cb5d5160752 SHA512 a9baeba4c95ba67bae465dda6a28e25907b9a4da12c18a9b11980ee4f5b226e7c45be032bc8ac8e48a3509ea9ab2e72763a5f77447438eba2ab44401316f86f8 +EBUILD glibc-2.39-r7.ebuild 54807 BLAKE2B ce8158f3308e04e120f68f568ad563d0fb17df709d7ccecb42b553d6e11627c6caef2d238b484b6c8a6347a9f8acbe64a8276994a71358781b797e537440dcb0 SHA512 ea20f8dd0462480237117bacbea17c4230837776a9235ac7eb8a5110ed44fb75e093978e83b4f05d323b709bcd61e0479a025eb4c770f41e7b305df0bee663ca +EBUILD glibc-2.39-r9.ebuild 54456 BLAKE2B 0713b58c78b628a2ce6b26d695464f01c525c7590232f48e9f31721e6c7e4178f66e4e350ce8a9287aaf10c928e4e650cde0386f19c4b16552d4fd82420d25d8 SHA512 7114e7c49547a438d9b25a717822c7b2c203b49d49c3908411ace8156ceed06f01985e101381348b9f5b0e54a39cc905cb17a2a03d574df464afbf86d510916e +EBUILD glibc-2.40.ebuild 54457 BLAKE2B ce063c1255c227abdc4665bc79f77301ffe0714691caf84aee52bc281a21627d02454d7e72233da257cd56cec3a3dbe56505eab9bd96ad0e9415482b1d8fec56 SHA512 777fcc7d4fdc4f452b8829418c18be8f0fe74477b44099de24ff99c86460e473e05ca69cad38fe09ba4e7419552ca2f77809366d1f6ae81f9fb83a2a8f77f7fa +EBUILD glibc-9999.ebuild 54458 BLAKE2B de807bacba050d5336468979ac70178eb56304197e9d1d68502139787a0312e06ba1b3be40aaa2c693f56c7c56cfecfc3c93cdccfb801fb68468f562162ef328 SHA512 a3565202a27a273e3556cfa69f155b910b9211bb9e30f4553bcd1aa943cbb9a42a2e8f75fee6e72ab56c5705bcfe64986e8edbd12f0233df9496497a7fb87b3c MISC metadata.xml 2142 BLAKE2B 765ba540eb10afccd1bade4de56f0c13ce269225500a62d1d17328194de69e7fa15d359a14eac6bfa8a36df45344db3d52f5e1811b174cf1fa2bfb95ad7760a7 SHA512 2f4a148c076a0967663d14e76b85a698ddae7093ff299b0dc95a6c3b00957c9bf73443f2bace9670eb62a45465efbcca892bb52b6aac8577acb2bc5f74a7397c diff --git a/sys-libs/glibc/glibc-2.19-r3.ebuild b/sys-libs/glibc/glibc-2.19-r3.ebuild index 1ebbe700f363..c0f528d06063 100644 --- a/sys-libs/glibc/glibc-2.19-r3.ebuild +++ b/sys-libs/glibc/glibc-2.19-r3.ebuild @@ -741,8 +741,10 @@ src_prepare() { } glibc_do_configure() { - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold + # glibc does not work with non-bfd (for various reasons): + # * gold (bug #269274) + # * mold (bug #860900) + tc-ld-force-bfd # CXX isnt handled by the multilib system, so if we dont unset here # we accumulate crap across abis diff --git a/sys-libs/glibc/glibc-2.31-r7.ebuild b/sys-libs/glibc/glibc-2.31-r7.ebuild index e531ada0b011..872ca6607a3e 100644 --- a/sys-libs/glibc/glibc-2.31-r7.ebuild +++ b/sys-libs/glibc/glibc-2.31-r7.ebuild @@ -789,8 +789,10 @@ src_prepare() { } glibc_do_configure() { - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold + # glibc does not work with non-bfd (for various reasons): + # * gold (bug #269274) + # * mold (bug #860900) + tc-ld-force-bfd # CXX isnt handled by the multilib system, so if we dont unset here # we accumulate crap across abis diff --git a/sys-libs/glibc/glibc-2.32-r8.ebuild b/sys-libs/glibc/glibc-2.32-r8.ebuild index 65aa84f364aa..c212d3cdad29 100644 --- a/sys-libs/glibc/glibc-2.32-r8.ebuild +++ b/sys-libs/glibc/glibc-2.32-r8.ebuild @@ -813,8 +813,10 @@ src_prepare() { } glibc_do_configure() { - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold + # glibc does not work with non-bfd (for various reasons): + # * gold (bug #269274) + # * mold (bug #860900) + tc-ld-force-bfd # CXX isnt handled by the multilib system, so if we dont unset here # we accumulate crap across abis diff --git a/sys-libs/glibc/glibc-2.33-r14.ebuild b/sys-libs/glibc/glibc-2.33-r14.ebuild index 9119534902f5..9747f319bb27 100644 --- a/sys-libs/glibc/glibc-2.33-r14.ebuild +++ b/sys-libs/glibc/glibc-2.33-r14.ebuild @@ -492,8 +492,10 @@ setup_env() { return 0 fi - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold + # glibc does not work with non-bfd (for various reasons): + # * gold (bug #269274) + # * mold (bug #860900) + tc-ld-force-bfd if use doc ; then export MAKEINFO=makeinfo diff --git a/sys-libs/glibc/glibc-2.34-r14.ebuild b/sys-libs/glibc/glibc-2.34-r14.ebuild index 1affa01b9a4d..08086a0295b4 100644 --- a/sys-libs/glibc/glibc-2.34-r14.ebuild +++ b/sys-libs/glibc/glibc-2.34-r14.ebuild @@ -499,8 +499,10 @@ setup_env() { return 0 fi - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold + # glibc does not work with non-bfd (for various reasons): + # * gold (bug #269274) + # * mold (bug #860900) + tc-ld-force-bfd if use doc ; then export MAKEINFO=makeinfo diff --git a/sys-libs/glibc/glibc-2.35-r11.ebuild b/sys-libs/glibc/glibc-2.35-r11.ebuild index 0c63dac54d10..1cabb7910e7b 100644 --- a/sys-libs/glibc/glibc-2.35-r11.ebuild +++ b/sys-libs/glibc/glibc-2.35-r11.ebuild @@ -512,8 +512,10 @@ setup_env() { return 0 fi - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold + # glibc does not work with non-bfd (for various reasons): + # * gold (bug #269274) + # * mold (bug #860900) + tc-ld-force-bfd if use doc ; then export MAKEINFO=makeinfo diff --git a/sys-libs/glibc/glibc-2.36-r8.ebuild b/sys-libs/glibc/glibc-2.36-r8.ebuild index b8bf8d174f36..1267125bf98f 100644 --- a/sys-libs/glibc/glibc-2.36-r8.ebuild +++ b/sys-libs/glibc/glibc-2.36-r8.ebuild @@ -543,8 +543,10 @@ setup_env() { return 0 fi - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold + # glibc does not work with non-bfd (for various reasons): + # * gold (bug #269274) + # * mold (bug #860900) + tc-ld-force-bfd if use doc ; then export MAKEINFO=makeinfo diff --git a/sys-libs/glibc/glibc-2.37-r10.ebuild b/sys-libs/glibc/glibc-2.37-r10.ebuild index 84368cf8f50f..0cd04e2c8648 100644 --- a/sys-libs/glibc/glibc-2.37-r10.ebuild +++ b/sys-libs/glibc/glibc-2.37-r10.ebuild @@ -559,8 +559,10 @@ setup_env() { return 0 fi - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold + # glibc does not work with non-bfd (for various reasons): + # * gold (bug #269274) + # * mold (bug #860900) + tc-ld-force-bfd if use doc ; then export MAKEINFO=makeinfo diff --git a/sys-libs/glibc/glibc-2.38-r13.ebuild b/sys-libs/glibc/glibc-2.38-r13.ebuild index 3ff40e502358..4e9a53c699bf 100644 --- a/sys-libs/glibc/glibc-2.38-r13.ebuild +++ b/sys-libs/glibc/glibc-2.38-r13.ebuild @@ -564,8 +564,10 @@ setup_env() { return 0 fi - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold + # glibc does not work with non-bfd (for various reasons): + # * gold (bug #269274) + # * mold (bug #860900) + tc-ld-force-bfd if use doc ; then export MAKEINFO=makeinfo diff --git a/sys-libs/glibc/glibc-2.39-r6.ebuild b/sys-libs/glibc/glibc-2.39-r6.ebuild index e7ae15692d7a..b090b47f8075 100644 --- a/sys-libs/glibc/glibc-2.39-r6.ebuild +++ b/sys-libs/glibc/glibc-2.39-r6.ebuild @@ -589,8 +589,10 @@ setup_env() { return 0 fi - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold + # glibc does not work with non-bfd (for various reasons): + # * gold (bug #269274) + # * mold (bug #860900) + tc-ld-force-bfd if use doc ; then export MAKEINFO=makeinfo diff --git a/sys-libs/glibc/glibc-2.39-r7.ebuild b/sys-libs/glibc/glibc-2.39-r7.ebuild index 3e175b82b580..822a623dbddd 100644 --- a/sys-libs/glibc/glibc-2.39-r7.ebuild +++ b/sys-libs/glibc/glibc-2.39-r7.ebuild @@ -589,8 +589,10 @@ setup_env() { return 0 fi - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold + # glibc does not work with non-bfd (for various reasons): + # * gold (bug #269274) + # * mold (bug #860900) + tc-ld-force-bfd if use doc ; then export MAKEINFO=makeinfo diff --git a/sys-libs/glibc/glibc-2.39-r9.ebuild b/sys-libs/glibc/glibc-2.39-r9.ebuild index b73cd8b325eb..746401d90985 100644 --- a/sys-libs/glibc/glibc-2.39-r9.ebuild +++ b/sys-libs/glibc/glibc-2.39-r9.ebuild @@ -585,8 +585,10 @@ setup_env() { return 0 fi - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold + # glibc does not work with non-bfd (for various reasons): + # * gold (bug #269274) + # * mold (bug #860900) + tc-ld-force-bfd if use doc ; then export MAKEINFO=makeinfo diff --git a/sys-libs/glibc/glibc-2.40.ebuild b/sys-libs/glibc/glibc-2.40.ebuild index 1e2debc4ab65..102da1118a39 100644 --- a/sys-libs/glibc/glibc-2.40.ebuild +++ b/sys-libs/glibc/glibc-2.40.ebuild @@ -585,8 +585,10 @@ setup_env() { return 0 fi - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold + # glibc does not work with non-bfd (for various reasons): + # * gold (bug #269274) + # * mold (bug #860900) + tc-ld-force-bfd if use doc ; then export MAKEINFO=makeinfo diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild index a509c476c930..26a50c00fd1e 100644 --- a/sys-libs/glibc/glibc-9999.ebuild +++ b/sys-libs/glibc/glibc-9999.ebuild @@ -585,8 +585,10 @@ setup_env() { return 0 fi - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold + # glibc does not work with non-bfd (for various reasons): + # * gold (bug #269274) + # * mold (bug #860900) + tc-ld-force-bfd if use doc ; then export MAKEINFO=makeinfo diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest index 65384a27d742..8b2c1bf5782a 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.0-rc3.src.tar.xz 141250388 BLAKE2B 6530bede000d2e4b8ce10b445bfc1f81dc25c2d7121fc953581cd9b6989b3ba197707cd79d3c7b94c055bf2e21b0d07ab3cb401d3f73d22eefba6da4b71dca7b SHA512 3ee4eab848e5e38c396e6f5addf5eb42570d451fc8e7cd77150dc5542f8f710f4a9db51836f7a799996dd1b8194defe4d58efe7c19e5d5e1c5f3dbdda94c0cf3 DIST llvm-project-19.1.0-rc3.src.tar.xz.sig 438 BLAKE2B 86bad4d4fb805340096473bc603d7a3483f030f62b6f52b64d12c33561fbbb999c2ab69cc94857a32747492c846a5ab631a84da200b03475fd401335373bbccf SHA512 ef0fd2e3e7069fbfd410cbcf71294d1b7182456330ff151348058b5cb0f292edaecb9dcbf613ee4fc979214a23bd3bb8077d71e674635359da36b938dc143266 DIST llvm-project-503907dc505db1e439e7061113bf84dd105f2e35.tar.gz 218750576 BLAKE2B 40904dbf62cffe9cb757cc1382a765d5c89791948e86bfa4fbdc5a78ebc11cc82588bc730e6c5c84b6d84922cd32290df0146733a013ffa4e408b8a7c2313a1f SHA512 a121cca2ef49c6b25f137e66d23d332d2f9e3bd0d349b1202b6869f7c85a141aecfe20a6c4d4eff84e32a243216740f20114968589207d39df229daf6443ba0d +DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7 EBUILD libcxx-15.0.7-r1.ebuild 5283 BLAKE2B 4380fc5b851054a5ec226ee4c92a2b79511d73ac9b3f8bccc977211601eca36113fc0ae605854da53898507021f24a8b319197605c556244d84253bede7b84f4 SHA512 0a5859269422e794deb43ed960651a1dea830af28b5e395f32e28de8e67a1f399507340230af1c84248853f554e751709a60a9a78aeb0eb42804cb41907dbfce EBUILD libcxx-16.0.6.ebuild 5300 BLAKE2B 4714e22ad2fdcb07c62ead4cfa47fb4734e45dc055700b63a0f24cd6e93dde960c638fa16f55f4c04c6130fc2a7fa5729814c4aee12e9953f603ea5ccb706cc1 SHA512 3eab779107b5c737d971abe29b7bd9f44a73570957bd7d54d6aaa98ec78a6045d7d69272d611f7f09c60e1aa30bbad46b4bd1358b0b2c69e5bc686ab21444857 EBUILD libcxx-17.0.6.ebuild 5280 BLAKE2B a882313471af07942a0772efa642800ba85545227f7dfe281cd7fcdc686ecda82692d273550b28cca2de47b1b9fda87717c98c52ffafdf1155d5269a3733f48a SHA512 d9a2932d7b9e26dea0e62dfd3aeac08ad0206a242d3d42d83e55b93cc767195a67bc0eb3da38cb8d51930175f94bac6496184d6d4be516014e0208c3f852d427 @@ -18,4 +19,5 @@ EBUILD libcxx-18.1.8.ebuild 5442 BLAKE2B 0bafe813a25b0bf38606bc5def482fa9e354005 EBUILD libcxx-19.1.0_rc3.ebuild 5101 BLAKE2B 4fb27fae1b4b3230de9b645416cba17ceb584260faf4c640d743b482cf333116ee00138ce206a62fbdb2811cd6e59dba2d8463949a17545a74f50837c274f355 SHA512 b88b738fad3d0f2aba6736ef9361250165a25a9f6011c8a8f61f035475d84f7bc8d9f3da95ab549d3eebeee338301dd734eed3c85365015134765ef003daa341 EBUILD libcxx-20.0.0.9999.ebuild 5101 BLAKE2B 4fb27fae1b4b3230de9b645416cba17ceb584260faf4c640d743b482cf333116ee00138ce206a62fbdb2811cd6e59dba2d8463949a17545a74f50837c274f355 SHA512 b88b738fad3d0f2aba6736ef9361250165a25a9f6011c8a8f61f035475d84f7bc8d9f3da95ab549d3eebeee338301dd734eed3c85365015134765ef003daa341 EBUILD libcxx-20.0.0_pre20240822.ebuild 5101 BLAKE2B 4fb27fae1b4b3230de9b645416cba17ceb584260faf4c640d743b482cf333116ee00138ce206a62fbdb2811cd6e59dba2d8463949a17545a74f50837c274f355 SHA512 b88b738fad3d0f2aba6736ef9361250165a25a9f6011c8a8f61f035475d84f7bc8d9f3da95ab549d3eebeee338301dd734eed3c85365015134765ef003daa341 +EBUILD libcxx-20.0.0_pre20240830.ebuild 5101 BLAKE2B 4fb27fae1b4b3230de9b645416cba17ceb584260faf4c640d743b482cf333116ee00138ce206a62fbdb2811cd6e59dba2d8463949a17545a74f50837c274f355 SHA512 b88b738fad3d0f2aba6736ef9361250165a25a9f6011c8a8f61f035475d84f7bc8d9f3da95ab549d3eebeee338301dd734eed3c85365015134765ef003daa341 MISC metadata.xml 598 BLAKE2B b7a60449e0d8e4e7605ec203dfaa45b17a265b024e21a3bcfe05a3aeb6c3d19a1d2a218cb1f9ac9ed52296f0d6e723fed251f364341fb70cbd91b747962db580 SHA512 a23f912efff52c4687767023da826ace8c6e5dcd5e69ece86aabbea99da89e48ba81cdc292f03193e2e8a05743e62ebf4d4735d038e0cc4b42714fa277569335 diff --git a/sys-libs/libcxx/libcxx-20.0.0_pre20240830.ebuild b/sys-libs/libcxx/libcxx-20.0.0_pre20240830.ebuild new file mode 100644 index 000000000000..a0d07e1507f4 --- /dev/null +++ b/sys-libs/libcxx/libcxx-20.0.0_pre20240830.ebuild @@ -0,0 +1,201 @@ +# 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} 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 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 afb2e5e9a48a..c1c387927661 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.0-rc3.src.tar.xz 141250388 BLAKE2B 6530bede000d2e4b8ce10b445bfc1f81dc25c2d7121fc953581cd9b6989b3ba197707cd79d3c7b94c055bf2e21b0d07ab3cb401d3f73d22eefba6da4b71dca7b SHA512 3ee4eab848e5e38c396e6f5addf5eb42570d451fc8e7cd77150dc5542f8f710f4a9db51836f7a799996dd1b8194defe4d58efe7c19e5d5e1c5f3dbdda94c0cf3 DIST llvm-project-19.1.0-rc3.src.tar.xz.sig 438 BLAKE2B 86bad4d4fb805340096473bc603d7a3483f030f62b6f52b64d12c33561fbbb999c2ab69cc94857a32747492c846a5ab631a84da200b03475fd401335373bbccf SHA512 ef0fd2e3e7069fbfd410cbcf71294d1b7182456330ff151348058b5cb0f292edaecb9dcbf613ee4fc979214a23bd3bb8077d71e674635359da36b938dc143266 DIST llvm-project-503907dc505db1e439e7061113bf84dd105f2e35.tar.gz 218750576 BLAKE2B 40904dbf62cffe9cb757cc1382a765d5c89791948e86bfa4fbdc5a78ebc11cc82588bc730e6c5c84b6d84922cd32290df0146733a013ffa4e408b8a7c2313a1f SHA512 a121cca2ef49c6b25f137e66d23d332d2f9e3bd0d349b1202b6869f7c85a141aecfe20a6c4d4eff84e32a243216740f20114968589207d39df229daf6443ba0d +DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7 EBUILD libcxxabi-15.0.7.ebuild 2911 BLAKE2B 5f2004d2f68fe4eddb0b22be82d28fcca7954d0e3ad9a5510744adc4d0dfd7a1ab9fd928404adcd3eeecc58703f51117d0a80e5895b53e0ae7b71621ad5a435c SHA512 5b8e2c6abdec785649aa41b7f05ab86ecab30ff0631d6078c9b1052b406c320c5847b8f16ffa6d9e62ba4a6bca5959b18770810924d6e6da264fb08d6ff738d0 EBUILD libcxxabi-16.0.6.ebuild 2932 BLAKE2B 837ab88ee88d5497b8bddb9f001d4b4ddd44ed982ef47114c965174135ed136abd0e3a6f3848a4aba53d0ca3748c54674cb28de8d46fda3bb7a90f326d41c7c6 SHA512 e4ebf7f35d2cad3bf3ba02754c85fee1cd1c4e52887770698ebaa3ef2fe66873f468677d307ea2d6956c2f6d3ac9b61943461193a5315f1e8a2846f2463b0581 EBUILD libcxxabi-17.0.6.ebuild 2932 BLAKE2B 837ab88ee88d5497b8bddb9f001d4b4ddd44ed982ef47114c965174135ed136abd0e3a6f3848a4aba53d0ca3748c54674cb28de8d46fda3bb7a90f326d41c7c6 SHA512 e4ebf7f35d2cad3bf3ba02754c85fee1cd1c4e52887770698ebaa3ef2fe66873f468677d307ea2d6956c2f6d3ac9b61943461193a5315f1e8a2846f2463b0581 @@ -16,4 +17,5 @@ EBUILD libcxxabi-18.1.8.ebuild 2759 BLAKE2B 1d4ac3db2b24ed4c598f2e5c4021e68a95b3 EBUILD libcxxabi-19.1.0_rc3.ebuild 2684 BLAKE2B db3cdfc7962bc9b9a40f6783b813bb64a26a2d9cff7bcab99fb2b8ff6221789a8799c077837492280b543cd32bf6853638e0a9b3f07b36d0f9683e7b41601c8b SHA512 b0eb6cbd9ff0ccb5f08fefeb7c00e2eb08574137a0f38b52e4df9ea462b2c1c521d4fa8628f407bcbb26aedb77406b4eabbe1ef9c7939fed2b9be5fc0ce1ca34 EBUILD libcxxabi-20.0.0.9999.ebuild 2684 BLAKE2B db3cdfc7962bc9b9a40f6783b813bb64a26a2d9cff7bcab99fb2b8ff6221789a8799c077837492280b543cd32bf6853638e0a9b3f07b36d0f9683e7b41601c8b SHA512 b0eb6cbd9ff0ccb5f08fefeb7c00e2eb08574137a0f38b52e4df9ea462b2c1c521d4fa8628f407bcbb26aedb77406b4eabbe1ef9c7939fed2b9be5fc0ce1ca34 EBUILD libcxxabi-20.0.0_pre20240822.ebuild 2684 BLAKE2B db3cdfc7962bc9b9a40f6783b813bb64a26a2d9cff7bcab99fb2b8ff6221789a8799c077837492280b543cd32bf6853638e0a9b3f07b36d0f9683e7b41601c8b SHA512 b0eb6cbd9ff0ccb5f08fefeb7c00e2eb08574137a0f38b52e4df9ea462b2c1c521d4fa8628f407bcbb26aedb77406b4eabbe1ef9c7939fed2b9be5fc0ce1ca34 +EBUILD libcxxabi-20.0.0_pre20240830.ebuild 2684 BLAKE2B db3cdfc7962bc9b9a40f6783b813bb64a26a2d9cff7bcab99fb2b8ff6221789a8799c077837492280b543cd32bf6853638e0a9b3f07b36d0f9683e7b41601c8b SHA512 b0eb6cbd9ff0ccb5f08fefeb7c00e2eb08574137a0f38b52e4df9ea462b2c1c521d4fa8628f407bcbb26aedb77406b4eabbe1ef9c7939fed2b9be5fc0ce1ca34 MISC metadata.xml 438 BLAKE2B 0a830a06a53a6cdaf138ad7620fe366fae05c1c1451267d6a58caf7da5ce8f5a26d302fab53b9460920074ab5a65991d3bd24fde087809e8dc12188dd94c7676 SHA512 d53e13c497569636fb453a159c5ca5ddfabf8e5debd5f92e5149c52d54c876753842ab73293d6d08e2d9b279363b4f0c743eed3a5027a61246c6b60496be8e87 diff --git a/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20240830.ebuild b/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20240830.ebuild new file mode 100644 index 000000000000..903f8e866cb6 --- /dev/null +++ b/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20240830.ebuild @@ -0,0 +1,110 @@ +# 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+=" + !<sys-libs/libcxx-15 +" +DEPEND=" + ${RDEPEND} + sys-devel/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( + sys-devel/clang:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) + test? ( + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( runtimes libcxx{abi,} llvm/cmake cmake ) +LLVM_TEST_COMPONENTS=( llvm/utils/llvm-lit ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +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_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=OFF + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_BENCHMARKS=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + ) + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DPython3_EXECUTABLE="${PYTHON}" + ) + fi + cmake_src_configure +} + +multilib_src_compile() { + cmake_build cxxabi +} + +multilib_src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-cxxabi +} + +multilib_src_install() { + DESTDIR="${D}" cmake_build install-cxxabi +} diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest index e46ce016fccb..40f478d75cea 100644 --- a/sys-libs/libomp/Manifest +++ b/sys-libs/libomp/Manifest @@ -10,6 +10,7 @@ DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b8577 DIST llvm-project-19.1.0-rc3.src.tar.xz 141250388 BLAKE2B 6530bede000d2e4b8ce10b445bfc1f81dc25c2d7121fc953581cd9b6989b3ba197707cd79d3c7b94c055bf2e21b0d07ab3cb401d3f73d22eefba6da4b71dca7b SHA512 3ee4eab848e5e38c396e6f5addf5eb42570d451fc8e7cd77150dc5542f8f710f4a9db51836f7a799996dd1b8194defe4d58efe7c19e5d5e1c5f3dbdda94c0cf3 DIST llvm-project-19.1.0-rc3.src.tar.xz.sig 438 BLAKE2B 86bad4d4fb805340096473bc603d7a3483f030f62b6f52b64d12c33561fbbb999c2ab69cc94857a32747492c846a5ab631a84da200b03475fd401335373bbccf SHA512 ef0fd2e3e7069fbfd410cbcf71294d1b7182456330ff151348058b5cb0f292edaecb9dcbf613ee4fc979214a23bd3bb8077d71e674635359da36b938dc143266 DIST llvm-project-503907dc505db1e439e7061113bf84dd105f2e35.tar.gz 218750576 BLAKE2B 40904dbf62cffe9cb757cc1382a765d5c89791948e86bfa4fbdc5a78ebc11cc82588bc730e6c5c84b6d84922cd32290df0146733a013ffa4e408b8a7c2313a1f SHA512 a121cca2ef49c6b25f137e66d23d332d2f9e3bd0d349b1202b6869f7c85a141aecfe20a6c4d4eff84e32a243216740f20114968589207d39df229daf6443ba0d +DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7 EBUILD libomp-15.0.7-r6.ebuild 3470 BLAKE2B 9f76ca5b080ccf01617d7dcbfe3eb424c525adbcf72f2b5f09dc7bead1e28df1a0ffdf5ef47bcc7f8cac130f1d22e804e29938cda6df0ee58359ac5ff88aea86 SHA512 1a0a4b10f9a67634ea265e6df3c3f9993ed5ee3818eba2cbb6b65d8f5c3a0d2d266134f3e276985e87eca18b47a44d6de61e4c9c3496fd36c6c338dcf79b9850 EBUILD libomp-16.0.6.ebuild 3984 BLAKE2B 8302d2776c0d8c50dcc7cac2dde8523f1abdf391d48594fdd26ebe17a089efdfee93825bdec07569878d06873b571e469411f108564df6c7eb50dc425615c255 SHA512 714da170fba4b62f3267e2530a82c583d299e8dc6c6f4037417c216c1239cc0fadc1aebf823608df37a932a7722144e67a148b58079e50560450b94c93f3e415 EBUILD libomp-17.0.6.ebuild 4052 BLAKE2B 8a05a46719120eac5495417fb6ea54b7a6a3d93aa7cc0917ca9e8f3cb2238f23348ecaefebd4c2064eac4adfbd4ef7f86b70c051cbcc009692ec790159d8883d SHA512 80b48f5a3af351ee14296aa76ba28b964eb85d84a1827af8acd35076895342a5dd743362c988e042c57f11dc9e8bbca1a9003a6752562758249062e460c73247 @@ -17,4 +18,5 @@ EBUILD libomp-18.1.8.ebuild 4282 BLAKE2B c3f5e8965cffb2a59cbc757e2570fa21b4b2ab4 EBUILD libomp-19.1.0_rc3.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea EBUILD libomp-20.0.0.9999.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea EBUILD libomp-20.0.0_pre20240822.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea +EBUILD libomp-20.0.0_pre20240830.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea MISC metadata.xml 883 BLAKE2B 127e896b82a49633a6866b33ca776ebe2dd149a5d04da4484a53186f219a85db0ab9d826bc1cc61d4df9fa54c9bcc546be070a0b28985174925fd947aa09cca2 SHA512 dc32cae01401feb93eede6506b3955c766ff19b44976fcc67277559b23ac151993377daeed9ba83b2dd71dbdeea330cd1208dcb0c9c5f56be270883b31f9b15f diff --git a/sys-libs/libomp/libomp-20.0.0_pre20240830.ebuild b/sys-libs/libomp/libomp-20.0.0_pre20240830.ebuild new file mode 100644 index 000000000000..32b91b3699c4 --- /dev/null +++ b/sys-libs/libomp/libomp-20.0.0_pre20240830.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2024 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 +# - sys-devel/llvm provide test utils (e.g. FileCheck) +# - sys-devel/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}] + ') + sys-devel/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 +} diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest index 0df0181b4d10..bdb3d649c5a5 100644 --- a/sys-libs/llvm-libunwind/Manifest +++ b/sys-libs/llvm-libunwind/Manifest @@ -9,6 +9,7 @@ DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b8577 DIST llvm-project-19.1.0-rc3.src.tar.xz 141250388 BLAKE2B 6530bede000d2e4b8ce10b445bfc1f81dc25c2d7121fc953581cd9b6989b3ba197707cd79d3c7b94c055bf2e21b0d07ab3cb401d3f73d22eefba6da4b71dca7b SHA512 3ee4eab848e5e38c396e6f5addf5eb42570d451fc8e7cd77150dc5542f8f710f4a9db51836f7a799996dd1b8194defe4d58efe7c19e5d5e1c5f3dbdda94c0cf3 DIST llvm-project-19.1.0-rc3.src.tar.xz.sig 438 BLAKE2B 86bad4d4fb805340096473bc603d7a3483f030f62b6f52b64d12c33561fbbb999c2ab69cc94857a32747492c846a5ab631a84da200b03475fd401335373bbccf SHA512 ef0fd2e3e7069fbfd410cbcf71294d1b7182456330ff151348058b5cb0f292edaecb9dcbf613ee4fc979214a23bd3bb8077d71e674635359da36b938dc143266 DIST llvm-project-503907dc505db1e439e7061113bf84dd105f2e35.tar.gz 218750576 BLAKE2B 40904dbf62cffe9cb757cc1382a765d5c89791948e86bfa4fbdc5a78ebc11cc82588bc730e6c5c84b6d84922cd32290df0146733a013ffa4e408b8a7c2313a1f SHA512 a121cca2ef49c6b25f137e66d23d332d2f9e3bd0d349b1202b6869f7c85a141aecfe20a6c4d4eff84e32a243216740f20114968589207d39df229daf6443ba0d +DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7 EBUILD llvm-libunwind-15.0.7.ebuild 3032 BLAKE2B 9b47e894db1a764f3eca3135f4caba68261953f4433af017b7bb53181e345ad26c570733f997022c53c9ef49a0a3b823188d92cfcc16a2113825d767b1ffab2a SHA512 0b68480fb2a8e5a351574e81fbcff824cd324754ed40378f06fec12fedbba94a921043d72db6ecc37f8b0680b7f518bbbd8d63f69ce8d84f86ca522653d293fb EBUILD llvm-libunwind-16.0.6-r1.ebuild 3440 BLAKE2B eafe21a3de172043ca0039ba27c80c64d32b02cc86bdb5a6d108ded35770e0352216337cbf24ee4fde43b699a68a85c8145be2d17510d525452bfd5a02674998 SHA512 164fdc1c62405e02c035af7997b8522b51f5b9337d2bb66d7fc9b1f45df74ec70d31b26dc5324c59792d32c543fe18abf74ed3b07a64c131e3c1bb4f9f733c5d EBUILD llvm-libunwind-17.0.6.ebuild 3440 BLAKE2B eafe21a3de172043ca0039ba27c80c64d32b02cc86bdb5a6d108ded35770e0352216337cbf24ee4fde43b699a68a85c8145be2d17510d525452bfd5a02674998 SHA512 164fdc1c62405e02c035af7997b8522b51f5b9337d2bb66d7fc9b1f45df74ec70d31b26dc5324c59792d32c543fe18abf74ed3b07a64c131e3c1bb4f9f733c5d @@ -16,4 +17,5 @@ EBUILD llvm-libunwind-18.1.8.ebuild 3407 BLAKE2B 1f0f6be6cd671b42d97bfa5ffc5fbf0 EBUILD llvm-libunwind-19.1.0_rc3.ebuild 3316 BLAKE2B bd35bebb24f85df1df172da2753279735077353c2a2b06df35700ad58b32fecdb29f6045be9d3c51316e764bda2a75295fb879fd635da71747ad0ab11dc5649d SHA512 8211878d4fde53625702b27cce8bf7a09cf97238c52e1078f6895b58675f76c78aa60f8a886a2f25d0cf71becdcefd94e8666b9c8915fecbe5b47accdc9b988a EBUILD llvm-libunwind-20.0.0.9999.ebuild 3316 BLAKE2B bd35bebb24f85df1df172da2753279735077353c2a2b06df35700ad58b32fecdb29f6045be9d3c51316e764bda2a75295fb879fd635da71747ad0ab11dc5649d SHA512 8211878d4fde53625702b27cce8bf7a09cf97238c52e1078f6895b58675f76c78aa60f8a886a2f25d0cf71becdcefd94e8666b9c8915fecbe5b47accdc9b988a EBUILD llvm-libunwind-20.0.0_pre20240822.ebuild 3316 BLAKE2B bd35bebb24f85df1df172da2753279735077353c2a2b06df35700ad58b32fecdb29f6045be9d3c51316e764bda2a75295fb879fd635da71747ad0ab11dc5649d SHA512 8211878d4fde53625702b27cce8bf7a09cf97238c52e1078f6895b58675f76c78aa60f8a886a2f25d0cf71becdcefd94e8666b9c8915fecbe5b47accdc9b988a +EBUILD llvm-libunwind-20.0.0_pre20240830.ebuild 3316 BLAKE2B bd35bebb24f85df1df172da2753279735077353c2a2b06df35700ad58b32fecdb29f6045be9d3c51316e764bda2a75295fb879fd635da71747ad0ab11dc5649d SHA512 8211878d4fde53625702b27cce8bf7a09cf97238c52e1078f6895b58675f76c78aa60f8a886a2f25d0cf71becdcefd94e8666b9c8915fecbe5b47accdc9b988a MISC metadata.xml 438 BLAKE2B 2a36fbbc59e137056029c62aef6d167d9c82531c2582d7bad5cb13cc36e5c4c9518ffe8c56d06bbcfd97ad22eda71a8b776f3984195f53d06cf45659b438dc00 SHA512 4f18b054072d00e5440faa31a59f9ef587d035b5f25e30913f0b1449debee967fa794fae2548e87db3fb2177ce853ab075e1f11f3cc763f5d7fdf06147108845 diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20240830.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20240830.ebuild new file mode 100644 index 000000000000..e4c76c15ebc8 --- /dev/null +++ b/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20240830.ebuild @@ -0,0 +1,128 @@ +# 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="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=" + sys-devel/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( + sys-devel/clang:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) + test? ( + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( runtimes libunwind libcxx llvm/cmake cmake ) +LLVM_TEST_COMPONENTS=( libcxxabi llvm/utils/llvm-lit ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +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/sys-libs/readline/Manifest b/sys-libs/readline/Manifest index d1eec832d732..156db8d8dbb6 100644 --- a/sys-libs/readline/Manifest +++ b/sys-libs/readline/Manifest @@ -41,7 +41,7 @@ DIST readline82-012.sig 95 BLAKE2B c9d69070ebff6b1996cfb5d1559dfdaa56d2e34770f14 DIST readline82-013 5757 BLAKE2B 5af309dc331cdc2fc9c47f8a53c78731885cf70ba22c135929a30c3ab0c6c0a786d1a58b607a7aca9a6522e70aa0e9dc182ad21854d87299e48bf207ee9b02e2 SHA512 9a768946c91e4af31e872fb856b017662cdd5a12ed432d84ba13013fbac327673b655a034dbcfab52da2ff9e45eb1fdb562c3e26c224a5f4e86bff23df25175e DIST readline82-013.sig 95 BLAKE2B 388b707e863c6047fdc92bb29e2c172292b497f53926f6e2534016e5cdb621fd7feb9418c6edd4a693869ea61c16cb64815bf2159d6af0bb3eec5d5dc666e525 SHA512 85bd30dc816d62a2e339c95bf9f243a60a960264e14bc396b34f586afdded2cc43ecc307a7f1a2c03c7eba2d11d2f3a0028107a59c4b2bc8d6dbe77fe9fb81cd EBUILD readline-8.1_p2-r2.ebuild 6981 BLAKE2B 1319d23bff9c63e8c53f87f5767dc24d479a70bedc1cf82d21cba0b508b052eb3cc334ae491cde913fdfb264ae6570a5f160bb7d16ae906d48f38debe9d466d5 SHA512 067c55be2dc6cb4c3e627ebefff753301e2ad1bd9c86cc5165d8dda78b6363d24d92d8001a164a1b1f1fd94a7702e8d90c9891a5e3b8e40d32e91ee3f9863d5c -EBUILD readline-8.2_p10.ebuild 7560 BLAKE2B 3dd23f93b3dc03909a81dbe3836efc7d010f1711465007569cc0f2d118f5498db418c307e952a1296585a9651c8e9abee00244eb36ce66bc17d266337383bda8 SHA512 32c78ea2851a83f3e7ef6b4b46ae03033379701acd3c344cd08f8bafbc5eec97680e41cb082113ad6605e99ece6682b6039e19839b8bd6acda6942184e72e5cc +EBUILD readline-8.2_p10.ebuild 7559 BLAKE2B 2d6197d21ca3c24d0ba151c088f017171bf84ec19eace2440a14645818f49b1569677bf72fc89c3f89abac2de9351ca65ddc392bcf5d20f32115890c2ff1beed SHA512 4509c5c27b35d9f1b1cefda5103f474f35119560d7bd084e59f39823b383b81cb8ffd25b7d47317fb2fdfaaea8b56c121e0c017643dd50ca64ff3c3d02f0e628 EBUILD readline-8.2_p13.ebuild 7567 BLAKE2B 2838875de046727fe3f1a8872f2babfca9e86d9d246420d1587acaa7f3c71f3db743e656238432de133dcf733f2be322bb626c4d81a3a24d285b66462d69eeeb SHA512 4c2a539ab5837478120641180dbe949494ea41bdef652966dac9441ec946dc3188496d0bc718982a820ce56d9b12183ebf74152cda57171922a0395a895ea95c EBUILD readline-8.3_alpha.ebuild 7670 BLAKE2B 1c3fc1be062ccd1cf22e08b02b13e6554c519796d73159fe3edc5b0292fb995bfb91f57d42565abf0811ede55498e37f9c214e1422016fdb0ebbf637af96bc04 SHA512 68c2e6de889899f691fcca1cc4e6160d6c4d7e1eff5d3987eb5d63516ee8aa601de0197fbf8a74cdd5a5cb0db60980e85423ce8b526fa2c20de78d56454224fd EBUILD readline-9999.ebuild 7391 BLAKE2B 76655c11c0145a954ed33867afad49c0fc294f3e86465147f497f380692ba21c7e161206c8446e8388c4d89885b858365512c68d9dd5874ed61684b829cabdf1 SHA512 2f13c81903a92966ae816ff55299189c15631775cc51dea9680d6138c7c195c61610e2d4dc3d8ba13b19416b0cf78808db640135fe7198dd1232a880d64f5449 diff --git a/sys-libs/readline/readline-8.2_p10.ebuild b/sys-libs/readline/readline-8.2_p10.ebuild index 348c7a0b9f1a..32ee5b8f5d86 100644 --- a/sys-libs/readline/readline-8.2_p10.ebuild +++ b/sys-libs/readline/readline-8.2_p10.ebuild @@ -83,7 +83,7 @@ fi LICENSE="GPL-3+" SLOT="0/8" # subslot matches SONAME major if is_release ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi IUSE="static-libs +unicode utils" |